This is not sso different from the situation with (say) finite abelian
groups, where the user might start with 2 generators of orders 2 and 3
and internally you work with one generator of order 6.  Now th object
has .use_defined_gens() and some sort of .canonical_gens().

For lattices, one could agree never to change the basis returned by
L.basis(), but store other bases (with respective transformations)
which would be accessed by L.LLL_basis() etc.  After all, LLL is not a
"lattice reduction algorithm" -- it does not change the lattice! --
but it as "lattice basis reduction" algorithm.

It hardy seems necessary to have a separate class for lattice bases though.

John

On 4 April 2014 11:36, Volker Braun <vbraun.n...@gmail.com> wrote:
> On Friday, April 4, 2014 11:19:11 AM UTC+1, Martin Albrecht wrote:
>>
>> existing one. However, in my case it would seem natural to improve the
>> basis
>> during the lifetime of an object.
>
>
> IMHO that is always going to cause tears later on as the end-user isn't
> going to be aware that this modified all references to the lattice. The only
> downside of returning new objects is memory, and I'm pretty sure your
> problem runs of CPU before RAM. If you don't like that your lattice has a
> built-in basis then you could return new BasisOfLattice (say) objects.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to