Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions src/sage/geometry/abc.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ class LatticePolytope:
EXAMPLES::

sage: import sage.geometry.abc
sage: P = LatticePolytope([(1,2,3), (4,5,6)]) # needs sage.geometry.polyhedron
sage: isinstance(P, sage.geometry.abc.LatticePolytope) # needs sage.geometry.polyhedron
sage: P = LatticePolytope([(1,2,3), (4,5,6)])
sage: isinstance(P, sage.geometry.abc.LatticePolytope)
True

By design, there is a unique direct subclass::

sage: sage.geometry.abc.LatticePolytope.__subclasses__() # needs sage.geometry.polyhedron
sage: sage.geometry.abc.LatticePolytope.__subclasses__()
[<class 'sage.geometry.lattice_polytope.LatticePolytopeClass'>]

sage: len(sage.geometry.abc.Polyhedron.__subclasses__()) <= 1
Expand All @@ -39,13 +39,13 @@ class ConvexRationalPolyhedralCone:
EXAMPLES::

sage: import sage.geometry.abc
sage: C = cones.nonnegative_orthant(2) # needs sage.geometry.polyhedron
sage: isinstance(C, sage.geometry.abc.ConvexRationalPolyhedralCone) # needs sage.geometry.polyhedron
sage: C = cones.nonnegative_orthant(2)
sage: isinstance(C, sage.geometry.abc.ConvexRationalPolyhedralCone)
True

By design, there is a unique direct subclass::

sage: sage.geometry.abc.ConvexRationalPolyhedralCone.__subclasses__() # needs sage.geometry.polyhedron
sage: sage.geometry.abc.ConvexRationalPolyhedralCone.__subclasses__()
[<class 'sage.geometry.cone.ConvexRationalPolyhedralCone'>]

sage: len(sage.geometry.abc.Polyhedron.__subclasses__()) <= 1
Expand All @@ -65,13 +65,13 @@ class Polyhedron:
EXAMPLES::

sage: import sage.geometry.abc
sage: P = polytopes.cube() # needs sage.geometry.polyhedron
sage: isinstance(P, sage.geometry.abc.Polyhedron) # needs sage.geometry.polyhedron
sage: P = polytopes.cube()
sage: isinstance(P, sage.geometry.abc.Polyhedron)
True

By design, there is a unique direct subclass::

sage: sage.geometry.abc.Polyhedron.__subclasses__() # needs sage.geometry.polyhedron
sage: sage.geometry.abc.Polyhedron.__subclasses__()
[<class 'sage.geometry.polyhedron.base0.Polyhedron_base0'>]

sage: len(sage.geometry.abc.Polyhedron.__subclasses__()) <= 1
Expand Down
116 changes: 58 additions & 58 deletions src/sage/geometry/cone.py

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions src/sage/geometry/cone_catalog.py
Original file line number Diff line number Diff line change
Expand Up @@ -600,8 +600,8 @@ def rearrangement(p, ambient_dim=None, lattice=None):
sage: ambient_dim = ZZ.random_element(2,10).abs()
sage: p = ZZ.random_element(1, ambient_dim)
sage: K = cones.rearrangement(p, ambient_dim)
sage: P = SymmetricGroup(ambient_dim).random_element().matrix() # needs sage.groups
sage: all(K.contains(P*r) for r in K) # needs sage.groups
sage: P = SymmetricGroup(ambient_dim).random_element().matrix()
sage: all(K.contains(P*r) for r in K)
True

The smallest ``p`` components of every element of the rearrangement
Expand Down
15 changes: 7 additions & 8 deletions src/sage/geometry/fan.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# sage.doctest: needs sage.graphs sage.combinat
r"""
Rational polyhedral fans

Expand Down Expand Up @@ -478,7 +477,7 @@ def Fan(cones, rays=None, lattice=None, check=True, normalize=True,
sage: fan = Fan([c1, c2], allow_arrangement=True)
sage: fan.n_generating_cones()
7
sage: fan.plot() # needs sage.plot
sage: fan.plot()
Graphics3d Object

Cones of different dimension::
Expand All @@ -498,7 +497,7 @@ def Fan(cones, rays=None, lattice=None, check=True, normalize=True,
sage: c3 = Cone([[0, 1, 1], [1, 0, 1], [0, -1, 1], [-1, 0, 1]])
sage: c1 = Cone([[0, 0, 1]])
sage: fan1 = Fan([c1, c3], allow_arrangement=True)
sage: fan1.plot() # needs sage.plot
sage: fan1.plot()
Graphics3d Object

A 3-d cone and two 2-d cones::
Expand Down Expand Up @@ -1604,9 +1603,9 @@ def support_contains(self, *args):
False
sage: f.support_contains(0) # 0 converts to the origin in the lattice
True
sage: f.support_contains(1/2, sqrt(3)) # needs sage.symbolic
sage: f.support_contains(1/2, sqrt(3))
True
sage: f.support_contains(-1/2, sqrt(3)) # needs sage.symbolic
sage: f.support_contains(-1/2, sqrt(3))
False
"""
if len(args) == 1:
Expand Down Expand Up @@ -2560,9 +2559,9 @@ def vertex_graph(self):
[(1, 0), (1, 0), (1, 0), (1, 0)]

sage: g = toric_varieties.Cube_deformation(10).fan().vertex_graph()
sage: g.automorphism_group().order() # needs sage.groups
sage: g.automorphism_group().order()
48
sage: g.automorphism_group(edge_labels=True).order() # needs sage.groups
sage: g.automorphism_group(edge_labels=True).order()
4
"""
from sage.geometry.cone import classify_cone_2d
Expand Down Expand Up @@ -3009,7 +3008,7 @@ def plot(self, **options):
EXAMPLES::

sage: fan = toric_varieties.dP6().fan() # needs palp
sage: fan.plot() # needs palp sage.plot
sage: fan.plot() # needs palp
Graphics object consisting of 31 graphics primitives
"""
tp = ToricPlotter(options, self.lattice().degree(), self.rays())
Expand Down
42 changes: 21 additions & 21 deletions src/sage/geometry/fan_isomorphism.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ def fan_isomorphic_necessary_conditions(fan1, fan2):

EXAMPLES::

sage: fan1 = toric_varieties.P2().fan() # needs palp sage.graphs
sage: fan2 = toric_varieties.dP8().fan() # needs palp sage.graphs
sage: fan1 = toric_varieties.P2().fan() # needs palp
sage: fan2 = toric_varieties.dP8().fan() # needs palp
sage: from sage.geometry.fan_isomorphism import fan_isomorphic_necessary_conditions
sage: fan_isomorphic_necessary_conditions(fan1, fan2) # needs palp sage.graphs
sage: fan_isomorphic_necessary_conditions(fan1, fan2) # needs palp
False
"""
if fan1.lattice_dim() != fan2.lattice_dim():
Expand Down Expand Up @@ -72,9 +72,9 @@ def fan_isomorphism_generator(fan1, fan2):

EXAMPLES::

sage: fan = toric_varieties.P2().fan() # needs palp sage.graphs
sage: fan = toric_varieties.P2().fan() # needs palp
sage: from sage.geometry.fan_isomorphism import fan_isomorphism_generator
sage: sorted(fan_isomorphism_generator(fan, fan)) # needs palp sage.graphs
sage: sorted(fan_isomorphism_generator(fan, fan)) # needs palp
[
[-1 -1] [-1 -1] [ 0 1] [0 1] [ 1 0] [1 0]
[ 0 1], [ 1 0], [-1 -1], [1 0], [-1 -1], [0 1]
Expand All @@ -87,7 +87,7 @@ def fan_isomorphism_generator(fan1, fan2):
....: 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: sorted(fan_isomorphism_generator(fan1, fan2)) # needs sage.graphs
sage: sorted(fan_isomorphism_generator(fan1, fan2))
[
[-12 1 -5]
[ -4 0 -1]
Expand All @@ -105,24 +105,24 @@ def fan_isomorphism_generator(fan1, fan2):
....: Cone([m1*vector([1,1]), m1*vector([0,1])])])
sage: fan2 = Fan([Cone([m2*vector([1,0]), m2*vector([1,1])]),
....: Cone([m2*vector([1,1]), m2*vector([0,1])])])
sage: sorted(fan_isomorphism_generator(fan0, fan0)) # needs sage.graphs
sage: sorted(fan_isomorphism_generator(fan0, fan0))
[
[0 1] [1 0]
[1 0], [0 1]
]
sage: sorted(fan_isomorphism_generator(fan1, fan1)) # needs sage.graphs
sage: sorted(fan_isomorphism_generator(fan1, fan1))
[
[ -3 -20 28] [1 0 0]
[ -1 -4 7] [0 1 0]
[ -1 -5 8], [0 0 1]
]
sage: sorted(fan_isomorphism_generator(fan1, fan2)) # needs sage.graphs
sage: sorted(fan_isomorphism_generator(fan1, fan2))
[
[-24 -3 7] [-12 1 -5]
[ -7 -1 2] [ -4 0 -1]
[ -8 -1 2], [ -5 0 -1]
]
sage: sorted(fan_isomorphism_generator(fan2, fan1)) # needs sage.graphs
sage: sorted(fan_isomorphism_generator(fan2, fan1))
[
[ 0 1 -1] [ 0 1 -1]
[ 1 -13 8] [ 2 -8 1]
Expand Down Expand Up @@ -210,14 +210,14 @@ def find_isomorphism(fan1, fan2, check=False):
sage: fan2 = Fan(cones, [vector(r)*m for r in rays])

sage: from sage.geometry.fan_isomorphism import find_isomorphism
sage: find_isomorphism(fan1, fan2, check=True) # needs sage.graphs
sage: find_isomorphism(fan1, fan2, check=True)
Fan morphism defined by the matrix
[-2 3]
[ 1 -1]
Domain fan: Rational polyhedral fan in 2-d lattice N
Codomain fan: Rational polyhedral fan in 2-d lattice N

sage: find_isomorphism(fan1, toric_varieties.P2().fan()) # needs palp sage.graphs
sage: find_isomorphism(fan1, toric_varieties.P2().fan()) # needs palp
Traceback (most recent call last):
...
FanNotIsomorphicError
Expand All @@ -226,7 +226,7 @@ def find_isomorphism(fan1, fan2, check=False):
....: rays=[(-1,-1,0),(-1,-1,3),(-1,1,-1),(-1,3,-1),(0,2,-1),(1,-1,1)])
sage: fan2 = Fan(cones=[[0,2,3,5],[0,1,4,5],[0,1,2],[3,4,5]],
....: rays=[(-1,-1,-1),(-1,-1,0),(-1,1,-1),(0,2,-1),(1,-1,1),(3,-1,-1)])
sage: fan1.is_isomorphic(fan2) # needs sage.graphs
sage: fan1.is_isomorphic(fan2)
True
"""
generator = fan_isomorphism_generator(fan1, fan2)
Expand Down Expand Up @@ -305,14 +305,14 @@ def fan_2d_echelon_forms(fan):

EXAMPLES::

sage: fan = toric_varieties.P2().fan() # needs palp sage.graphs
sage: fan = toric_varieties.P2().fan() # needs palp
sage: from sage.geometry.fan_isomorphism import fan_2d_echelon_forms
sage: fan_2d_echelon_forms(fan) # needs palp sage.graphs
sage: fan_2d_echelon_forms(fan) # needs palp
frozenset({[ 1 0 -1]
[ 0 1 -1]})

sage: fan = toric_varieties.dP7().fan() # needs palp sage.graphs
sage: sorted(fan_2d_echelon_forms(fan)) # needs palp sage.graphs
sage: fan = toric_varieties.dP7().fan() # needs palp
sage: sorted(fan_2d_echelon_forms(fan)) # needs palp
[
[ 1 0 -1 -1 0] [ 1 0 -1 -1 0] [ 1 0 -1 -1 1] [ 1 0 -1 0 1]
[ 0 1 0 -1 -1], [ 0 1 1 0 -1], [ 0 1 1 0 -1], [ 0 1 0 -1 -1],
Expand All @@ -328,10 +328,10 @@ def fan_2d_echelon_forms(fan):
sage: fan1 = Fan(cones, rays)
sage: from sage.geometry.fan_isomorphism import fan_2d_echelon_form, fan_2d_echelon_forms
sage: echelon_forms = fan_2d_echelon_forms(fan1)
sage: S4 = CyclicPermutationGroup(4) # needs sage.groups
sage: S4 = CyclicPermutationGroup(4)
sage: rays.reverse()
sage: cones = [(3,1), (1,2), (2,0), (0,3)]
sage: for i in range(100): # needs sage.groups
sage: for i in range(100):
....: m = random_matrix(ZZ,2,2)
....: if abs(det(m)) != 1: continue
....: perm = S4.random_element()
Expand Down Expand Up @@ -376,9 +376,9 @@ def fan_2d_echelon_form(fan):

EXAMPLES::

sage: fan = toric_varieties.P2().fan() # needs palp sage.graphs
sage: fan = toric_varieties.P2().fan() # needs palp
sage: from sage.geometry.fan_isomorphism import fan_2d_echelon_form
sage: fan_2d_echelon_form(fan) # needs palp sage.graphs
sage: fan_2d_echelon_form(fan) # needs palp
[ 1 0 -1]
[ 0 1 -1]
"""
Expand Down
1 change: 0 additions & 1 deletion src/sage/geometry/fan_morphism.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# sage.doctest: needs sage.combinat sage.graphs
r"""
Morphisms between toric lattices compatible with fans

Expand Down
4 changes: 2 additions & 2 deletions src/sage/geometry/hasse_diagram.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,9 @@ def lattice_from_incidences(atom_to_coatoms, coatom_to_atoms,
and we can compute the lattice as ::

sage: from sage.geometry.cone import lattice_from_incidences
sage: L = lattice_from_incidences(atom_to_coatoms, coatom_to_atoms); L # needs sage.graphs
sage: L = lattice_from_incidences(atom_to_coatoms, coatom_to_atoms); L
Finite lattice containing 8 elements with distinguished linear extension
sage: for level in L.level_sets(): print(level) # needs sage.graphs
sage: for level in L.level_sets(): print(level)
[((), (0, 1, 2))]
[((0,), (0, 1)), ((1,), (0, 2)), ((2,), (1, 2))]
[((0, 1), (0,)), ((0, 2), (1,)), ((1, 2), (2,))]
Expand Down
Loading
Loading