This is the problem with gmail - it hides the text. When *I* read my own
comment, I didn't like it! Here's what meant: Robert had a number of
options for the LatticeQuotient class, one of which was

"   -- Inherit from AbelianGroup?"

To *that*, I vote  -1 because infinite AbelianGroup instances are not
completely implemented. If the plan is to fix AbelianGroup first, then
I vote +1.

On Mon, Apr 28, 2008 at 2:29 PM, John Cremona <[EMAIL PROTECTED]> wrote:
>
>  David, I don't think you understood my suggestion.   We are talking
>  about groups A which are finitely-generated and torsion-free, so
>  abstractly isomorphic to Z^n, together with a suitable blinear
>  function on AxA taking values in Z or Q, and I wish to include R
>  -valued forms.
>
>  John
>
>  2008/4/28 David Joyner <[EMAIL PROTECTED]>:
>
>
> >
>  >
>  >  On Mon, Apr 28, 2008 at 2:02 PM, Robert Miller <[EMAIL PROTECTED]> wrote:
>  >  >
>  >  >  SEP
>  >  >
>  >  >  Implement Lattices over ZZ, with pairings into QQ or ZZ
>  >  >
>  >  >  0. (Maybe) Implement a FreeModule_ZZ_quotient class. This would also
>  >  >  allow for constructing abelian groups in the sort of canonical way
>  >  >  (something people have been asking for...)
>  >  >
>  >  >  1. Implement a LatticeModule class, which will inherit from
>  >  >  FreeModule_generic_pid: instances of LatticeModule will inherit an
>  >  >  underlying free ZZ module and make use of the optional
>  >  >  inner_product_matrix property.
>  >  >
>  >  >  This shouldn't just be a free ZZ module with inner product matrix,
>  >  >  since we want specific functions for computing the dual lattice, etc.
>  >  >  which are more appropriate in a Lattice class.
>  >  >   a. Attributes will include
>  >  >     - is_euclidean (whether the inner product matrix is symmetric,
>  >  >  rather than skew-symmetric)
>  >  >     - is_integral (whether the image of the pairing is in ZZ or QQ)
>  >  >     - discriminant (the determinant of the matrix [<a_i,a_j>], where
>  >  >  {a_i} is a basis for the module).  A lattice is nondegenerate if its
>  >  >  discriminant is nonvanishing.
>  >  >   b.  Euclidean lattices also have the attributes:
>  >  >     - signature
>  >  >     - even/odd (whether <a,a> \in 2 ZZ for all a)
>  >  >   c. Use L.<a,b> for the pairing induced on module elements by the
>  >  >  inner product matrix.
>  >  >
>  >  >  2. Implement a SubLatticeModule class, which will inherit from
>  >  >  FreeModule_submodule_with_basis_pid and from Lattice, but override
>  >  >  L.<a,b> for the inner product.
>  >  >    a.  Function is_primitive (a sublattice M of a lattice L is
>  >  >  primitive if L/M is a free ZZ-module)
>  >  >    b.  Functions to get parent lattice and sublattice as LatticeModule
>  >  >  objects.
>  >  >
>  >  >  3. Implement a LatticeQuotient class (for now, just full sublattices,
>  >  >  i.e., finite quotients).
>  >  >   -- Inherit from FreeModule_ZZ_quotient?
>  >  >   -- Inherit from AbelianGroup?
>  >
>  >  -1 is my vote on this. Infinite AbelianGroup instances are not
>  >  completely implemented.
>  >
>  >
>  >
>  >  >   -- 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? )
>  >  >    a.  Attributes will include a quadratic_form_matrix with entries
>  >  >  defined over QQ/ZZ or QQ/2ZZ
>  >  >
>  >  >  4. Create a dual_lattice function for integral euclidean lattices,
>  >  >  with optional "embedding" argument
>  >  >
>  >  >  5. Implement a dual_quotient function for integral euclidean lattices
>  >  >  which returns a LatticeQuotient.
>  >  >
>  >  >  6. Implement isomorphism tests for indefinite integral euclidean
>  >  >  lattices.
>  >  >
>  >  >  -- Robert Miller, Andrey Novoseltsev, Ursula Whitcher
>  >  >
>  >  >  >
>  >  >
>  >
>  >  >
>  >
>
>  >
>

--~--~---------~--~----~------------~-------~--~----~
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