On 4/28/08, Robert Miller <[EMAIL PROTECTED]> wrote:
>  3. Implement a LatticeQuotient class (for now, just full sublattices,
>  i.e., finite quotients).
>   -- Inherit from FreeModule_ZZ_quotient?
>   -- Inherit from AbelianGroup?
>   -- Inherit from nothing?
>  ( The question here is what the underlying structure for a
>  LatticeQuotient should actually be. The important thing is how will
>  someone want to access elements of a LatticeQuotient? )

An example of use (a recurring one):

L a lattice, M a sublattice of (noncyclic) index p^2. One wants to
take the quotient L/M, and  iterate (one by one or maybe using some
structure), over all nontrivial subgroups (of order p), lift
generators of those subgroups to obtain sublattices M + v\ZZ (all
proper sublattices between L and M. This happens all the time, e.g. in
working with quaternion algebra ideals/orders to construct modular
forms (we use quite a lot of this for level p^2 constructions).
Sometimes all you want is ONE element of L/M of order p (i.e. just a
nontrivial element).

A sensible way to represent a LatticeQuotient is by SNF --- that's one
of the suggested ways to represent finitely generated abelian groups.
Maybe that's handled by FreeModule_ZZ_quotient?

Also, a special case is when M is the radical (or a submodule) ---
i.e. the quadratic form is identically 0 in M, which means that L/M is
actually a quadratic lattice itself.

One important (for me) example: a quaternion algebra (order) together
with the discriminant form D(x) = T(x)^2 - 4 N(x), which has the
scalar part as radical, and the quotient as a ternary quadratic space
(lattice).

>    a.  Attributes will include a quadratic_form_matrix with entries
>  defined over QQ/ZZ or QQ/2ZZ

Mmm... what is special about 2? Suppose <a,a> \in p ZZ for all a in M,
then the quadratic form on L/M has values in QQ/p ZZ. And if <a,a>=0
for all a in M, then the values are on QQ (this is just what I said
above about quotients by the radical).

Gonzalo

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to