#13189: fan isomorphism check
----------------------------------+-----------------------------------------
Reporter: vbraun | Owner: AlexGhitza
Type: enhancement | Status: new
Priority: major | Milestone: sage-5.2
Component: algebraic geometry | Keywords:
Work issues: | Report Upstream: N/A
Reviewers: | Authors: Volker Braun
Merged in: | Dependencies:
Stopgaps: |
----------------------------------+-----------------------------------------
This patch implements testing for isomorphism (equivalence up to
`GL(n,ZZ)` rotation) of fans
{{{
sage: m1 = matrix([(1, 0), (0, -5), (-3, 4)])
sage: m2 = matrix([(3, 0), (1, 0), (-2, 1)])
sage: m1.elementary_divisors() == m2.elementary_divisors() == [1,1,0]
True
sage: fan1 = Fan([Cone([m1*vector([23, 14]), m1*vector([ 3,100])]),
... Cone([m1*vector([-1,-14]), m1*vector([-100, -5])])])
sage: fan2 = Fan([Cone([m2*vector([23, 14]), m2*vector([ 3,100])]),
... Cone([m2*vector([-1,-14]), m2*vector([-100, -5])])])
sage: fan1.is_isomorphic(fan2)
True
sage: fan1.isomorphism(fan2)
Fan morphism defined by the matrix
[18 1 -5]
[ 4 0 -1]
[ 5 0 -1]
Domain fan: Rational polyhedral fan in 3-d lattice N
Codomain fan: Rational polyhedral fan in 3-d lattice N
}}}
This is implemented by first computing the isomorphisms of auxiliary
labelled graphs, and then trying to lift those to actual fan morphisms.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13189>
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.