#19405: Add lyapunov_rank() method for polyhedral cones
-------------------------------------+-------------------------------------
Reporter: mjo | Owner:
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-6.10
Component: geometry | Resolution:
Keywords: | Merged in:
Authors: Michael Orlitzky | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/mjo/ticket/19405 | a193b815d8c6cfac86cbf3104f0eedbcb5d1f5bc
Dependencies: #19368 | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by mjo):
Replying to [comment:9 novoselt]:
> Well, to start with, we should realize that it is NOT a quotient! And
that's one of those cases when all the fuss about distinct lattices M and
N is handy. If our cone lives in N, then `orthogonal_sublattice` is in M
and there is no way to quotient N by it.
So that I don't make the same mistake again, I have a few disorganized
questions:
1. What exactly is the problem with the quotient? Is it that `M` and `N`
are different, so we don't think of the thing in `M` as being a subthing
of the thing in `N`? (This makes sense to me, I just didn't expect a
"sublattice" method to give me something in another lattice.)
2. I borrowed the quotient terminology from `strict_quotient` where we go
through the back door of `linear_subspace()` -- why isn't that cheating
too, since it drops down to vector spaces?
3. Sage will let me take the lattice quotient of `N` and a sublattice `M`.
Isn't it supposed to stop me? The docstring says it checks for a valid
sublattice. Here's an example:
{{{
sage: K = Cone([(1,0,0),(0,1,0)])
sage: K.lattice()
3-d lattice N
sage: K.orthogonal_sublattice()
Sublattice <M(0, 0, 1)>
sage: K.lattice().quotient(K.orthogonal_sublattice())
2-d lattice, quotient of 3-d lattice N by Free module of degree 3 and rank
1 over Integer Ring
Echelon basis matrix:
[0 0 1]
}}}
4. If the only problem is the `M`/`N` distinction, can I use
`sublattice_complement()` instead of `orthogonal_complement()`? I think
this gives me the correct subthing:
{{{
sage: K.sublattice_complement()
Sublattice <N(0, 0, 0, 1), N(0, 0, 1, 0)>
}}}
Could I now consider `K.lattice().quotient(K.sublattice_complement())` a
true quotient?
I'd like to stick to things that make sense in your framework but I may
need some hints. I'd hate to use an internal function because then we'd
lose the doctests.
--
Ticket URL: <http://trac.sagemath.org/ticket/19405#comment:13>
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 unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.