On Jun 5, 5:31 am, Jan Pöschko <[email protected]> wrote: > Maybe my conception of a free module is different then: In the sense > ofhttp://en.wikipedia.org/wiki/Free_module, I want an R-module M with > basis E ⊆ M, where R = ZZ and E is a set of vectors in RR^n. R is what I > refer to as "coefficient ring" (or "scalar ring"), and it makes a big > difference whether this is integers (which results in a classic point > lattice) or real numbers (which results in a subspace).
If the fact that your ZZ-module is a discrete submodule of RR^n is important to you, you are probably interested in ZZ-modules equipped with a positive definite symmetric inner product (being the standard inner product that RR^n induces on its submodules). You don't have to store your coordinate vectors as floats. You can simply keep track of a Gram matrix instead. The is what most number theoretic packages do too. Furthermore, most LLL-implementations allow you to find an LLL- reduced basis via conjugating the Gram matrix rather than explicitly changing a float-valued basis. I don't know if Sage already has a class for "inner product" free ZZ- modules (many number-theory text reserve the term lattice for *those* and call the other ones simply free ZZ-modules), but it should have since that is the natural place to interface with LLL implementations. -- To post to this group, send an email to [email protected] To unsubscribe from this group, send an email to [email protected] For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
