Thanks Dima and John, In the meantime, since I have Magma available to me I tried to use magma's functions. What I'm really interested is getting the unimodular (when it makes sense to use that term) transition matrix needed to put a matrix in reduced form. It looks like, but correct me if I'm wrong, that the only sage function which returns this is LLL_gram. I looked at the Magma documentation, and saw the the LLL function in Magma returns 3 things: the reduced matrix, the transition matrix, and the rank. However, when I do that I get a traceback from sage, plus at the end
TypeError: Error evaluating Magma code: IN:_sage[1]:=[_a : _a in _sage[2]]; OUT: >> _sage_[1]:=[_a : _a in _sage[2]]; ^ Runtime error in for: Iteration is not possible over this object When I look at the returned value of magma.LLL it only has the reduced matrix. Is there a way of getting the entire tuple of returned values from magma? Victor B,U,rk = magma.LLL(A) I get a message from sage (it's pretty obscure) saying that it On Tuesday, March 19, 2013 2:38:02 PM UTC-4, Victor Miller wrote: > > Suppose that A is an m by n integer matrix. Its Gram matrix is G = > A*A^t. If A is not full rank, then G has some eigenvalues of 0. If I do > G.LLL_gram() I get a somewhat uniformative error message like: > > Value Error: ma matrix from Full MatrixSpace of 10 by 2 dense matrices > over Integer Ring cannot be converted to a matrix in Full MatrixSpace of 10 > by 10 dense matrices over Integer Ring! > > I understand that pari (which is what I understand, actually computes > LLL_gram) doesn't like non-definite matrices. But, in this case it looks > like it returned something to SAGE of lower dimension (what?) and SAGE > didn't know what to do with it. Can the error message at least be changed > to something more informative. > > I've found a work around for some of my matrices: Let N be some big > integer, and let G'= N*G + identity_matrix(G.nrows()). This perturbs G a > little so that the 0 eigenvalues go away. > > Victor > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To post to this group, send email to sage-support@googlegroups.com. Visit this group at http://groups.google.com/group/sage-support?hl=en. For more options, visit https://groups.google.com/groups/opt_out.