Hello Santanu,
I don't know if this helps you, but pari's lll-implementation works
with floating point matrices. You can use it from sage like this:
sage: M=Matrix(2,2,[1.2,1.4,pi,5.7])
sage: p=pari(M)
sage: p.qflll()
[-2, -3; 1, 2]
sage: L=p.qflll()
sage: matrix(2,2, L.python() )
[-2 -3]
[ 1 2]
Here is, what pari's documentations says about qflll:
sage: gp.console()
....
? ??qflll
qflll(x,{flag = 0}):
LLL algorithm applied to the columns of the matrix x. The columns
of x must
be linearly independent, unless specified otherwise below. The
result is a
unimodular transformation matrix T such that x.T is an LLL-reduced
basis of the
lattice generated by the column vectors of x.
If flag = 0 (default), the computations are done with
floating point
numbers, using Householder matrices for orthogonalization. If x has
integral
entries, then computations are nonetheless approximate, with
precision varying
as needed (Lehmer's trick, as generalized by Schnorr).
.....
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---