#9504: Add support for toric sublattices
----------------------------------+-----------------------------------------
Reporter: novoselt | Owner: mhampton
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-4.5.2
Component: geometry | Keywords:
Author: Andrey Novoseltsev | Upstream: N/A
Reviewer: | Merged:
Work_issues: quotient lattices |
----------------------------------+-----------------------------------------
Comment(by vbraun):
I've looked at the code for quotients in Sage, which is `FGP_Module_class`
and `FGP_Element`. The elements of `Q=N/Ns` already carry a dual
representation, both their quotient (in an arbitrary but fixed basis for
`Q`) as well as their representative in `N` is stored.
We could derive from FGP_Module_class/FGP_Element to print
{{{
sage: N.submodule_with_basis([N(1,2,3),N(3,2,1)]) /
N.submodule_with_basis([N(1,2,3)])
The quotient lattice <N(1,2,3),N(3,2,1)>/<N(1,2,3)>
}}}
I agree that `Q(1,2) * M(3,0,-1)` looks a bit odd, so i think we should
force the user to make the lifts explicit: `Q(1,2).lift() * M(3,0,-1)`.
This also prevents surprises if `M(3,0,-1)` were not in the dual of the
quotient, in which case the product does depend on the chosen lift.
The way `FGP_Module_class` randomly picks a basis for the quotient is
fine, I think. I don't foresee any need to specify the quotient basis.
Andrey, did you make any further changes? I can implement the above if you
want.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9504#comment:8>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
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-trac?hl=en.