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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-support?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.