I support John's view that real-valued lattice need also to be taken
into account.  Minkowski lattices of number fields and Mordell-Weil
groups are prime examples.

Some people also like to embed lattices in R^n equipped with the
standard Euclidean inner product.  As such the coordinates are
non-rational even though the module L is (isomorphic to) Z^n (or
Z^m for m < n).

These could be handled better than Magma, in which the problem
of recognizing a vector from R^n in L is not handled well.

There need to be good constructors for elements of L both from
approximations in R^n and in terms of an integer coordinates
relative to the basis of L.

I think the proposed definition of is_euclidean is not obviously
the natural one.  I would expect this to return True iff the inner
product was symmetric and positive definite, i.e. is embeddable
in Euclidean space R^n (with the standard inner product).
The syntax is_symmetric should return True if the inner product
is symmetric.

I also support the extension (relative to Magma) to (symmetric)
lattices with isotropic elements and arbitrary signature.

The treatment of skew-symmetric or general non-symmetric inner
products might be handled by a different class.

The need for a separate LatticeModule class is not completely
obvious.  Shouldn't the dual of a free module ever return anything
but the dual with respect to the inner product, embedded in
L \otimes_Z R?   Probably the lattice label should apply only
to symmetric inner products, and there should be subclasses
for positive definite lattices.

Note that even this dual constructor, for non real-valued inner
products, requires that we have Z-modules embedded in an
ambient space with respect to non-rational coordinates.

There was also the previously raised issue of Hermitian modules,
but these are yet another beast, which need to be defined with
respect to a ring with fixed involution.   Again there should be
exact versions (e.g. over the Gaussian or Eisenstein integers,
a cyclotomic ring/field, or a number ring/field) and inexact
versions over the complex numbers.

For real-valued lattices or non-exact Hermitian lattices, it becomes
clear that the ambient vector space places an important role and
should be a fixed attribute.

I don't think that there should be a sublattice class.  I think there
should be an ambient vector space, and if two lattices lie in the
same ambient space they can be added or intersected to get new
lattices, and tested for inclusion.

Note that the terminology QuadraticModule (for LatticeModule)
and QuadraticSpace (for the ambient space) are also possible.
These classes should interact well with Jon Hanke's classes
for quadratic forms.

--David

--~--~---------~--~----~------------~-------~--~----~
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-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to