Abstract base classes for classes in geometry

class sage.geometry.abc.ConvexRationalPolyhedralCone[source]

Bases: object

Abstract base class for ConvexRationalPolyhedralCone

This class is defined for the purpose of isinstance tests. It should not be instantiated.

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
True
>>> from sage.all import *
>>> import sage.geometry.abc
>>> C = cones.nonnegative_orthant(Integer(2))                                          # needs sage.geometry.polyhedron
>>> isinstance(C, sage.geometry.abc.ConvexRationalPolyhedralCone)             # needs sage.geometry.polyhedron
True

By design, there is a unique direct subclass:

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

sage: len(sage.geometry.abc.Polyhedron.__subclasses__()) <= 1
True
>>> from sage.all import *
>>> sage.geometry.abc.ConvexRationalPolyhedralCone.__subclasses__()           # needs sage.geometry.polyhedron
[<class 'sage.geometry.cone.ConvexRationalPolyhedralCone'>]

>>> len(sage.geometry.abc.Polyhedron.__subclasses__()) <= Integer(1)
True
class sage.geometry.abc.LatticePolytope[source]

Bases: object

Abstract base class for LatticePolytopeClass

This class is defined for the purpose of isinstance tests. It should not be instantiated.

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
True
>>> from sage.all import *
>>> import sage.geometry.abc
>>> P = LatticePolytope([(Integer(1),Integer(2),Integer(3)), (Integer(4),Integer(5),Integer(6))])                                   # needs sage.geometry.polyhedron
>>> isinstance(P, sage.geometry.abc.LatticePolytope)                          # needs sage.geometry.polyhedron
True

By design, there is a unique direct subclass:

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

sage: len(sage.geometry.abc.Polyhedron.__subclasses__()) <= 1
True
>>> from sage.all import *
>>> sage.geometry.abc.LatticePolytope.__subclasses__()                        # needs sage.geometry.polyhedron
[<class 'sage.geometry.lattice_polytope.LatticePolytopeClass'>]

>>> len(sage.geometry.abc.Polyhedron.__subclasses__()) <= Integer(1)
True
class sage.geometry.abc.Polyhedron[source]

Bases: object

Abstract base class for Polyhedron_base

This class is defined for the purpose of isinstance tests. It should not be instantiated.

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
True
>>> from sage.all import *
>>> import sage.geometry.abc
>>> P = polytopes.cube()                                                      # needs sage.geometry.polyhedron
>>> isinstance(P, sage.geometry.abc.Polyhedron)                               # needs sage.geometry.polyhedron
True

By design, there is a unique direct subclass:

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

sage: len(sage.geometry.abc.Polyhedron.__subclasses__()) <= 1
True
>>> from sage.all import *
>>> sage.geometry.abc.Polyhedron.__subclasses__()                             # needs sage.geometry.polyhedron
[<class 'sage.geometry.polyhedron.base0.Polyhedron_base0'>]

>>> len(sage.geometry.abc.Polyhedron.__subclasses__()) <= Integer(1)
True