2019-03-02 06:59:23 -0500 received badge ● Notable Question (source) 2016-11-21 04:47:39 -0500 received badge ● Notable Question (source) 2016-03-21 08:38:48 -0500 received badge ● Popular Question (source) 2015-10-02 23:50:10 -0500 received badge ● Popular Question (source) 2013-11-16 09:07:58 -0500 asked a question Why do messages "// ** redefining ..." show up when computing the dimension of an ideal? I was receiving these weird messages when running the following Sage code - but not every time: When I executed it again, it just went through without any messages. S. =PolynomialRing(GF(2),11) dims=Set([]) s=0 for j in newdivs: s=s+1 if mod(s,10)==0: print(s) aux=j sdivs=[] for k in aux: if k((0,0,0,0,0,0,0,0))==0: sdivs.append(k) sdivs.append(f1) sdivs.append(f2) sdivs.append(1+x9*(1+x3)) sdivs.append(1+x10*(1+x6)) sdivs.append(1+x11*(1+x4*x5)) IS=S.ideal(sdivs) di=IS.dimension() if di>4: print di dims=dims.union(Set([di]))  (To understand the code: f1 and f2 are two very long polynomials in S, and newdivs contains 500 of the factors of the 2x2-minors of the Jacobian matrix of f1 and f2...) The first time I run it, I got this output: // ** redefining # ** // ** redefining P ** // ** redefining i ** // ** redefining method ** // ** redefining Method ** // ** redefining k ** // ** redefining Minpoly ** // ** redefining was_minpoly ** // ** redefining Qideal ** // ** redefining was_qring ** // ** redefining BRlist ** // ** redefining ord_P ** // ** redefining ordstr_P ** // ** redefining nvars_P ** // ** redefining npars_P ** // ** redefining w ** // ** redefining neg ** // ** redefining opt ** // ** redefining s_opt ** // ** redefining p_opt ** // ** redefining algorithm ** // ** redefining conversion ** // ** redefining partovar ** // ** redefining order ** // ** redefining direct ** 10 20 ...  The second time, the messages with "// ** redefining" didn't show up anymore. But maybe it is important to not ignore those messages, so what do they mean? Thanks in advance! 2013-09-02 05:30:40 -0500 answered a question Why does jordan_form not work over inexact rings? Yes, it's the "right" result, so [ d0 1 0 0] [ 0 d0 1 0] [ 0 0 d0 1] [ 0 0 0 d0]  @nbruin: So you are saying that in general there shouldn't be a problem in my case? 2013-08-29 06:37:31 -0500 answered a question Why does jordan_form not work over inexact rings? Thanks for the answer. I want to compute [the transformation matrix to] the Jordan normal forms of block matrices whose blocks are of the form [ d0 d1 d2 d3] [ 0 d0 d1 d2] [ 0 0 d0 d1] [ 0 0 0 d0]  (i.e. an upper triangular Toeplitz matrix whose entries are variables or 0). 2013-08-28 23:44:04 -0500 received badge ● Editor (source) 2013-08-28 23:43:36 -0500 asked a question Why does jordan_form not work over inexact rings? Hi, Given a matrix M with entries (variables) in SR, I needed to compute the transformation matrix to a jordan form of M. I ended up copying the code in "jordan_form" and "_jordan_form_vector_in_difference" from "matrix2.pyx", deleting the "if (base_ring is None and not self.base_ring().is_exact()) ..." and replacing "evals = A.charpoly().roots()" by  eigenvects=A.eigenvectors_right() evals=[(eigenvect[0],eigenvect[2]) for eigenvect in eigenvects]  So far it seems to work. Can this go wrong? Or could one just change the original code in matrix2.pyx, and allow inexact rings? Thanks for your help!