# Convex Polytopes and Polyhedra

- [Introduction and First Examples](introduction.md)

  - [`Example: Polytope Example`](introduction.md#example-ex-422724)

  - [`Example`](introduction.md#example-ex-bab5a6)

- [Polytopes, Cones and Polyhedra](polytopes-cones-polyhedra.md)

  - [Polytopes](polytopes-cones-polyhedra.md#polytopes)

    - [`Polytope(Q): SeqEnum → TorPol`](polytopes-cones-polyhedra.md#function-polytope-seqenum)

    - [`PolyhedronWithInequalities(A,c): SeqEnum, [RngIntElt] → TorPol`](polytopes-cones-polyhedra.md#function-polyhedronwithinequalities-seqenum-rngintelt)

    - [`PolyhedronWithInequalities(A,c): [TorLatElt], [RngIntElt] → TorPol`](polytopes-cones-polyhedra.md#function-polyhedronwithinequalities-torlatelt-rngintelt)

    - [`RandomPolytope(L,n,k): TorLat, RngIntElt, RngIntElt → TorPol`](polytopes-cones-polyhedra.md#function-randompolytope-torlat-rngintelt-rngintelt)

    - [`RandomPolytope(d,n,k): RngIntElt, RngIntElt, RngIntElt → TorPol`](polytopes-cones-polyhedra.md#function-randompolytope-rngintelt-rngintelt-rngintelt)

    - [`BoundingBox(P): TorPol → TorPol, TorLatElt, TorLatElt`](polytopes-cones-polyhedra.md#function-boundingbox-torpol)

    - [`Polar(P): TorPol → TorPol`](polytopes-cones-polyhedra.md#function-polar-torpol)

    - [`CrossPolytope(L): TorLat → TorPol`](polytopes-cones-polyhedra.md#function-crosspolytope-torlat)

    - [`CrossPolytope(d): RngIntElt → TorPol`](polytopes-cones-polyhedra.md#function-crosspolytope-rngintelt)

    - [`StandardSimplex(L): TorLat → TorPol`](polytopes-cones-polyhedra.md#function-standardsimplex-torlat)

    - [`StandardSimplex(d): RngIntElt → TorPol`](polytopes-cones-polyhedra.md#function-standardsimplex-rngintelt)

    - [`CyclicPolytope(L,n): TorLat, RngIntElt → TorPol`](polytopes-cones-polyhedra.md#function-cyclicpolytope-torlat-rngintelt)

    - [`CyclicPolytope(d,n): RngIntElt, RngIntElt → TorPol`](polytopes-cones-polyhedra.md#function-cyclicpolytope-rngintelt-rngintelt)

    - [`PolytopeOfProjectiveSpace(d): RngIntElt → TorPol`](polytopes-cones-polyhedra.md#function-polytopeofprojectivespace-rngintelt)

    - [`PolytopeOfProjectiveSpace(L): TorLat → TorPol`](polytopes-cones-polyhedra.md#function-polytopeofprojectivespace-torlat)

    - [`PolytopeOfWPS(d): RngIntElt → TorPol`](polytopes-cones-polyhedra.md#function-polytopeofwps-rngintelt)

    - [`PolytopeOfWPS(W): [RngIntElt] → TorPol`](polytopes-cones-polyhedra.md#function-polytopeofwps-rngintelt-2)

    - [`PolytopeOfWPS(L,W): [RngIntElt] → TorPol`](polytopes-cones-polyhedra.md#function-polytopeofwps-rngintelt-3)

  - [Cones](polytopes-cones-polyhedra.md#cones)

    - [`Cone(A): Seq → TorCon`](polytopes-cones-polyhedra.md#function-cone-seq)

    - [`Cone(v): TorLatElt → TorCon`](polytopes-cones-polyhedra.md#function-cone-torlatelt)

    - [`ConeWithInequalities(B): Set → TorCon`](polytopes-cones-polyhedra.md#function-conewithinequalities-set)

    - [`FullCone(L): TorLat → TorCon`](polytopes-cones-polyhedra.md#function-fullcone-torlat)

    - [`FullCone(n): RngIntElt → TorCon`](polytopes-cones-polyhedra.md#function-fullcone-rngintelt)

    - [`PositiveQuadrant(L): TorLat → TorCon`](polytopes-cones-polyhedra.md#function-positivequadrant-torlat)

    - [`PositiveQuadrant(n): RngIntElt → TorCon`](polytopes-cones-polyhedra.md#function-positivequadrant-rngintelt)

    - [`ZeroCone(L): TorLat → TorCon`](polytopes-cones-polyhedra.md#function-zerocone-torlat)

    - [`ZeroCone(n): RngIntElt → TorCon`](polytopes-cones-polyhedra.md#function-zerocone-rngintelt)

    - [`RandomCone(d,n,k): RngIntElt, RngIntElt, RngIntElt → TorCon`](polytopes-cones-polyhedra.md#function-randomcone-rngintelt-rngintelt-rngintelt)

    - [`RandomCone(L,n,k): TorLat, RngIntElt, RngIntElt → TorCon`](polytopes-cones-polyhedra.md#function-randomcone-torlat-rngintelt-rngintelt)

    - [`RandomPositiveCone(d,n,k): RngIntElt, RngIntElt, RngIntElt → TorCon`](polytopes-cones-polyhedra.md#function-randompositivecone-rngintelt-rngintelt-rngintelt)

    - [`RandomPositiveCone(L,n,k): TorLat, RngIntElt, RngIntElt → TorCon`](polytopes-cones-polyhedra.md#function-randompositivecone-torlat-rngintelt-rngintelt)

    - [`Dual(C): TorCon → TorCon`](polytopes-cones-polyhedra.md#function-dual-torcon)

    - [`NormalisedCone(P): TorPol → TorCon`](polytopes-cones-polyhedra.md#function-normalisedcone-torpol)

    - [`ConeInSublattice(C): TorCon → TorCon, Map`](polytopes-cones-polyhedra.md#function-coneinsublattice-torcon)

    - [`ConeQuotientByLinearSubspace(C): TorCon → TorCon, Map, Map`](polytopes-cones-polyhedra.md#function-conequotientbylinearsubspace-torcon)

    - [`SimplicialSubcone(C): TorCon → TorCon`](polytopes-cones-polyhedra.md#function-simplicialsubcone-torcon)

    - [`LatticeBasisInCone(C): TorCon → [TorLatElt]`](polytopes-cones-polyhedra.md#function-latticebasisincone-torcon)

  - [Polyhedra](polytopes-cones-polyhedra.md#polyhedra)

    - [`Polyhedron(C,H,h): TorCon, TorLatElt, FldRatElt → TorPol`](polytopes-cones-polyhedra.md#function-polyhedron-torcon-torlatelt-fldratelt)

    - [`Polyhedron(C,H,h): TorCon, TorLatElt, RngIntElt → TorPol`](polytopes-cones-polyhedra.md#function-polyhedron-torcon-torlatelt-rngintelt)

    - [`Polyhedron(C): TorCon → TorPol`](polytopes-cones-polyhedra.md#function-polyhedron-torcon)

    - [`HalfspaceToPolyhedron(v,h): TorLatElt, FldRatElt → TorPol`](polytopes-cones-polyhedra.md#function-halfspacetopolyhedron-torlatelt-fldratelt)

    - [`HalfspaceToPolyhedron(Q,h): [FldRatElt], FldRatElt → TorPol`](polytopes-cones-polyhedra.md#function-halfspacetopolyhedron-fldratelt-fldratelt)

    - [`HyperplaneToPolyhedron(v,h): TorLatElt, FldRatElt → TorPol`](polytopes-cones-polyhedra.md#function-hyperplanetopolyhedron-torlatelt-fldratelt)

    - [`HyperplaneToPolyhedron(Q,h): [FldRatElt], FldRatElt → TorPol`](polytopes-cones-polyhedra.md#function-hyperplanetopolyhedron-fldratelt-fldratelt)

    - [`Polyhedron(C,f,v): TorCon, Map, TorLatElt → TorPol`](polytopes-cones-polyhedra.md#function-polyhedron-torcon-map-torlatelt)

    - [`EmptyPolyhedron(L): TorLat → TorPol`](polytopes-cones-polyhedra.md#function-emptypolyhedron-torlat)

    - [`ConeToPolyhedron(C): TorCon → TorPol`](polytopes-cones-polyhedra.md#function-conetopolyhedron-torcon)

    - [`PolyhedronInSublattice(P): TorPol → TorPol, Map, TorLatElt`](polytopes-cones-polyhedra.md#function-polyhedroninsublattice-torpol)

    - [`FixedSubspaceToPolyhedron(G): GrpMat → TorPol`](polytopes-cones-polyhedra.md#function-fixedsubspacetopolyhedron-grpmat)

    - [`FixedSubspaceToPolyhedron(L,G): TorLat, GrpMat → TorPol`](polytopes-cones-polyhedra.md#function-fixedsubspacetopolyhedron-torlat-grpmat)

    - [`Example: Toric Polyhedron Example`](polytopes-cones-polyhedra.md#example-ex-d6dc93)

  - [Arithmetic Operations on Polyhedra](polytopes-cones-polyhedra.md#arithmetic-operations-on-polyhedra)

    - [`C eq D: TorCon, TorCon → BoolElt`](polytopes-cones-polyhedra.md#operation-op-eq-torcon-torcon)

    - [`P eq Q: TorPol, TorPol → BoolElt`](polytopes-cones-polyhedra.md#operation-op-eq-torpol-torpol)

    - [`C meet D: TorCon, TorCon → TorCon`](polytopes-cones-polyhedra.md#operation-op-meet-torcon-torcon)

    - [`P meet Q: TorPol, TorPol → TorPol`](polytopes-cones-polyhedra.md#operation-op-meet-torpol-torpol)

    - [`P subset Q: TorPol, TorPol → BoolElt`](polytopes-cones-polyhedra.md#operation-op-subset-torpol-torpol)

    - [`C + D: TorCon, TorCon → TorCon`](polytopes-cones-polyhedra.md#operation-op-plus-torcon-torcon)

    - [`P + Q: TorPol, TorPol → TorPol`](polytopes-cones-polyhedra.md#operation-op-plus-torpol-torpol)

    - [`P + C: TorPol, TorCon → TorPol`](polytopes-cones-polyhedra.md#operation-op-plus-torpol-torcon)

    - [`C + P: TorCon, TorPol → TorPol`](polytopes-cones-polyhedra.md#operation-op-plus-torcon-torpol)

    - [`P * Q: TorPol, TorPol → TorPol`](polytopes-cones-polyhedra.md#operation-op-times-torpol-torpol)

    - [`k * P: FldRatElt, TorPol → TorPol`](polytopes-cones-polyhedra.md#operation-op-times-fldratelt-torpol)

    - [`- P: TorPol → TorPol`](polytopes-cones-polyhedra.md#operation-operation-torpol-torpol)

- [Basic Combinatorics of Polytopes and Polyhedra](basic-combinatorics.md)

  - [Vertices and Inequalities](basic-combinatorics.md#vertices-and-inequalities)

    - [`Vertices(P): TorPol → SeqEnum[TorLatElt]`](basic-combinatorics.md#function-vertices-torpol)

    - [`NumberOfVertices(P): TorPol → RngIntElt`](basic-combinatorics.md#function-numberofvertices-torpol)

    - [`Rays(C): TorCon → SeqEnum`](basic-combinatorics.md#function-rays-torcon)

    - [`Ray(C,i): TorCon, RngIntElt → TorLatElt`](basic-combinatorics.md#function-ray-torcon-rngintelt)

    - [`LinearSpanEquations(C): TorCon → SeqEnum`](basic-combinatorics.md#function-linearspanequations-torcon)

    - [`LinearSpanEquations(Q): [TorLatElt] → SeqEnum`](basic-combinatorics.md#function-linearspanequations-torlatelt)

    - [`LinearSpanGenerators(C): TorCon → SeqEnum`](basic-combinatorics.md#function-linearspangenerators-torcon)

    - [`LinearSpanGenerators(Q): [TorLatElt] → SeqEnum`](basic-combinatorics.md#function-linearspangenerators-torlatelt)

    - [`LinearSubspaceGenerators(C): TorCon → SeqEnum`](basic-combinatorics.md#function-linearsubspacegenerators-torcon)

    - [`Inequalities(C): TorCon → SeqEnum`](basic-combinatorics.md#function-inequalities-torcon)

    - [`Inequalities(P): TorPol → SeqEnum, RngIntElt`](basic-combinatorics.md#function-inequalities-torpol)

    - [`MinimalInequalities(C): TorCon → SeqEnum`](basic-combinatorics.md#function-minimalinequalities-torcon)

    - [`MatrixOfInequalities(R,C): Rng, TorCon → ModMatRngElt`](basic-combinatorics.md#function-matrixofinequalities-rng-torcon)

    - [`MatrixOfInequalities(C): TorCon → ModMatRngElt`](basic-combinatorics.md#function-matrixofinequalities-torcon)

    - [`Example: Toric Polytope Inequalities Example`](basic-combinatorics.md#example-ex-b4cdf2)

    - [`NormalCone(P,F): TorPol, TorPol → TorCon`](basic-combinatorics.md#function-normalcone-torpol-torpol)

    - [`NormalEdgeCones(P): TorPol → [TorCon]`](basic-combinatorics.md#function-normaledgecones-torpol)

    - [`InnerNormal(C): TorCon → TorLatElt`](basic-combinatorics.md#function-innernormal-torcon)

    - [`OuterNormal(C): TorCon → TorLatElt`](basic-combinatorics.md#function-outernormal-torcon)

  - [Facets and Faces](basic-combinatorics.md#facets-and-faces)

    - [`fVector(C): TorCon → SeqEnum[RngIntElt]`](basic-combinatorics.md#function-fvector-torcon)

    - [`fVector(P): TorPol → SeqEnum[RngIntElt]`](basic-combinatorics.md#function-fvector-torpol)

    - [`hVector(C): TorCon → SeqEnum[RngIntElt]`](basic-combinatorics.md#function-hvector-torcon)

    - [`hVector(P): TorPol → SeqEnum[RngIntElt]`](basic-combinatorics.md#function-hvector-torpol)

    - [`Facets(C): TorCon → SeqEnum`](basic-combinatorics.md#function-facets-torcon)

    - [`Facets(P): TorPol → SeqEnum`](basic-combinatorics.md#function-facets-torpol)

    - [`FacetIndices(P): TorPol → SeqEnum`](basic-combinatorics.md#function-facetindices-torpol)

    - [`NumberOfFacets(P): TorPol → RngIntElt`](basic-combinatorics.md#function-numberoffacets-torpol)

    - [`Faces(C): TorCon → SeqEnum`](basic-combinatorics.md#function-faces-torcon)

    - [`Faces(P): TorPol → SeqEnum`](basic-combinatorics.md#function-faces-torpol)

    - [`Faces(C,i): TorCon, RngIntElt → SeqEnum`](basic-combinatorics.md#function-faces-torcon-rngintelt)

    - [`Faces(P,i): TorPol, RngIntElt → SeqEnum`](basic-combinatorics.md#function-faces-torpol-rngintelt)

    - [`FaceIndices(P,i): TorPol, RngIntElt → SeqEnum`](basic-combinatorics.md#function-faceindices-torpol-rngintelt)

    - [`NumberOfFaces(P,i): TorPol, RngIntElt → RngIntElt`](basic-combinatorics.md#function-numberoffaces-torpol-rngintelt)

    - [`Edges(P): TorPol → SeqEnum`](basic-combinatorics.md#function-edges-torpol)

    - [`EdgeIndices(P): TorPol → SeqEnum`](basic-combinatorics.md#function-edgeindices-torpol)

    - [`NumberOfEdges(P): TorPol → RngIntElt`](basic-combinatorics.md#function-numberofedges-torpol)

    - [`Graph(P): TorPol → GrphUnd`](basic-combinatorics.md#function-graph-torpol)

    - [`FaceSupportedBy(C,H): TorCon, TorLatElt → TorCon`](basic-combinatorics.md#function-facesupportedby-torcon-torlatelt)

    - [`IsSupportingHyperplane(v,h,P): TorLatElt, FldRatElt, TorPol → BoolElt, RngIntElt`](basic-combinatorics.md#function-issupportinghyperplane-torlatelt-fldratelt-torpol)

    - [`SupportingCone(P,v): TorPol, TorLatElt → TorCon`](basic-combinatorics.md#function-supportingcone-torpol-torlatelt)

    - [`IsFace(C,F): TorCon, TorCon → BoolElt`](basic-combinatorics.md#function-isface-torcon-torcon)

    - [`IsFace(P,F): TorPol, TorPol → BoolElt`](basic-combinatorics.md#function-isface-torpol-torpol)

- [The Combinatorics of Polytopes](combinatorics.md)

  - [Points in Polytopes and Polyhedra](combinatorics.md#points-in-polytopes-and-polyhedra)

    - [`v in C: TorLatElt, TorCon → BoolElt`](combinatorics.md#operation-op-in-torlatelt-torcon)

    - [`v in P: TorLatElt, TorPol → BoolElt`](combinatorics.md#operation-op-in-torlatelt-torpol)

    - [`IsInInterior(v,C): TorLatElt, TorCon → BoolElt`](combinatorics.md#function-isininterior-torlatelt-torcon)

    - [`IsInInterior(v,P): TorLatElt, TorPol → BoolElt`](combinatorics.md#function-isininterior-torlatelt-torpol)

    - [`IsOnBoundary(v,C): TorLatElt, TorCon → BoolElt`](combinatorics.md#function-isonboundary-torlatelt-torcon)

    - [`IsOnBoundary(v,P): TorLatElt, TorPol → BoolElt`](combinatorics.md#function-isonboundary-torlatelt-torpol)

    - [`HasIntegralPoint(P): TorPol → BoolElt`](combinatorics.md#function-hasintegralpoint-torpol)

    - [`Points(P): TorPol → SeqEnum[TorLatElt]`](combinatorics.md#function-points-torpol)

    - [`InteriorPoints(P): TorPol → SeqEnum[TorLatElt]`](combinatorics.md#function-interiorpoints-torpol)

    - [`BoundaryPoints(P): TorPol → SeqEnum[TorLatElt]`](combinatorics.md#function-boundarypoints-torpol)

    - [`NumberOfPoints(P): TorPol → RngIntElt`](combinatorics.md#function-numberofpoints-torpol)

    - [`NumberOfInteriorPoints(P): TorPol → RngIntElt`](combinatorics.md#function-numberofinteriorpoints-torpol)

    - [`NumberOfBoundaryPoints(P): TorPol → RngIntElt`](combinatorics.md#function-numberofboundarypoints-torpol)

    - [`Volume(P): TorPol → FldRatElt`](combinatorics.md#function-volume-torpol)

    - [`VolumeOfBoundary(P): TorPol → FldRatElt`](combinatorics.md#function-volumeofboundary-torpol)

  - [Ehrhart Theory of Polytopes](combinatorics.md#ehrhart-theory-of-polytopes)

    - [`EhrhartSeries(P): TorPol → FldFunRatUElt`](combinatorics.md#function-ehrhartseries-torpol)

    - [`EhrhartDeltaVector(P): TorPol → SeqEnum`](combinatorics.md#function-ehrhartdeltavector-torpol)

    - [`EhrhartPolynomial(P): TorPol → [RngUPolElt]`](combinatorics.md#function-ehrhartpolynomial-torpol)

    - [`EhrhartCoefficients(P,l): TorPol, RngIntElt → [RngIntElt]`](combinatorics.md#function-ehrhartcoefficients-torpol-rngintelt)

    - [`EhrhartCoefficient(P,k): TorPol, RngIntElt → RngIntElt`](combinatorics.md#function-ehrhartcoefficient-torpol-rngintelt)

  - [Isomorphism Testing and Normal Forms for Polytopes](combinatorics.md#isomorphism-testing-and-normal-forms-for-polytopes)

    - [`IsIsomorphic(P,Q): TorPol, TorPol → BoolElt, Map`](combinatorics.md#function-isisomorphic-torpol-torpol)

    - [`Example: Polytope Isomorphism Example`](combinatorics.md#example-ex-66ee55)

    - [`IsEquivalent(P,Q): TorPol, TorPol → BoolElt, Map, TorLatElt`](combinatorics.md#function-isequivalent-torpol-torpol)

    - [`NormalForm(P): TorPol → SeqEnum, GrpPermElt`](combinatorics.md#function-normalform-torpol)

    - [`PALPNormalForm(P): TorPol → SeqEnum, GrpPermElt`](combinatorics.md#function-palpnormalform-torpol)

    - [`Example: Polytope Normal Form Example`](combinatorics.md#example-ex-3bf045)

    - [`AffineNormalForm(P): TorPol → SeqEnum, GrpPermElt`](combinatorics.md#function-affinenormalform-torpol)

    - [`Example: Polytope Affine Normal Form Example`](combinatorics.md#example-ex-7e87a2)

    - [`MaximalVertexFacetHeightMatrix(P): TorPol → AlgMatElt`](combinatorics.md#function-maximalvertexfacetheightmatrix-torpol)

  - [Automorphisms of a Polytope](combinatorics.md#automorphisms-of-a-polytope)

    - [`AutomorphismGroup(P): TorPol → GrpMat`](combinatorics.md#function-automorphismgroup-torpol)

    - [`Example: Polytope Automorphism Example`](combinatorics.md#example-ex-49a1bb)

  - [Operations on Polytopes](combinatorics.md#operations-on-polytopes)

    - [`Triangulation(P): TorPol → SetEnum`](combinatorics.md#function-triangulation-torpol)

    - [`TriangulationOfBoundary(P): TorPol → SetEnum`](combinatorics.md#function-triangulationofboundary-torpol)

- [Cones and Polyhedra](cones-polyhedra.md)

  - [Generators of Cones](cones-polyhedra.md#generators-of-cones)

    - [`BoxElements(C): TorCon → SetEnum`](cones-polyhedra.md#function-boxelements-torcon)

    - [`Example: Toric Cone Boxelements Example`](cones-polyhedra.md#example-ex-6a5b6c)

    - [`HilbertBasis(C): TorCon → SeqEnum`](cones-polyhedra.md#function-hilbertbasis-torcon)

    - [`ZGenerators(C): TorCon → SeqEnum`](cones-polyhedra.md#function-zgenerators-torcon)

    - [`RGenerators(C): TorCon → SeqEnum`](cones-polyhedra.md#function-rgenerators-torcon)

    - [`MinimalRGenerators(C): TorCon → SeqEnum`](cones-polyhedra.md#function-minimalrgenerators-torcon)

    - [`Points(C,H,h): TorCon, TorLatElt, FldRatElt → SetEnum`](cones-polyhedra.md#function-points-torcon-torlatelt-fldratelt)

    - [`Example: Toric Cone Sublattice Example`](cones-polyhedra.md#example-ex-7976dc)

    - [`QuotientGenerators(C): TorCon → SetEnum`](cones-polyhedra.md#function-quotientgenerators-torcon)

    - [`Example: Toric Cone Quotient Generators Example`](cones-polyhedra.md#example-ex-badd91)

  - [Properties of Polyhedra](cones-polyhedra.md#properties-of-polyhedra)

    - [`CompactPart(P): TorPol → TorPol`](cones-polyhedra.md#function-compactpart-torpol)

    - [`IntegralPart(P): TorPol → TorPol`](cones-polyhedra.md#function-integralpart-torpol)

    - [`InfinitePart(P): TorPol → TorCon`](cones-polyhedra.md#function-infinitepart-torpol)

    - [`IsEmpty(P): TorPol → BoolElt`](cones-polyhedra.md#function-isempty-torpol)

    - [`Example: Toric Polar Cone Example`](cones-polyhedra.md#example-ex-a585a6)

    - [`Example: Toric Polyhedron Example`](cones-polyhedra.md#example-ex-d24d32)

    - [`IsMaximumDimensional(C): TorCon → BoolElt`](cones-polyhedra.md#function-ismaximumdimensional-torcon)

    - [`IsMaximumDimensional(P): TorPol → BoolElt`](cones-polyhedra.md#function-ismaximumdimensional-torpol)

    - [`IsStrictlyConvex(C): TorCon → BoolElt`](cones-polyhedra.md#function-isstrictlyconvex-torcon)

    - [`IsLinearSpace(C): TorCon → BoolElt`](cones-polyhedra.md#function-islinearspace-torcon)

    - [`IsLinearSpace(P): TorPol → BoolElt`](cones-polyhedra.md#function-islinearspace-torpol)

    - [`IsSimplicial(C): TorCon → BoolElt`](cones-polyhedra.md#function-issimplicial-torcon)

    - [`IsSimplicial(P): TorPol → BoolElt`](cones-polyhedra.md#function-issimplicial-torpol)

    - [`IsSimplex(P): TorPol → BoolElt`](cones-polyhedra.md#function-issimplex-torpol)

    - [`IsSimple(P): TorPol → BoolElt`](cones-polyhedra.md#function-issimple-torpol)

    - [`IsAffineLinear(P): TorPol → BoolElt`](cones-polyhedra.md#function-isaffinelinear-torpol)

    - [`IsZero(C): TorCon → BoolElt`](cones-polyhedra.md#function-iszero-torcon)

    - [`ContainsZero(P): TorPol → BoolElt`](cones-polyhedra.md#function-containszero-torpol)

    - [`IsPointed(P): TorPol → BoolElt`](cones-polyhedra.md#function-ispointed-torpol)

    - [`IsFlag(P): TorPol → BoolElt`](cones-polyhedra.md#function-isflag-torpol)

    - [`IsPerfectlyCentered(P): TorPol → BoolElt`](cones-polyhedra.md#function-isperfectlycentered-torpol)

    - [`IsIntegrallyClosed(P): TorPol → BoolElt`](cones-polyhedra.md#function-isintegrallyclosed-torpol)

  - [Attributes of Polyhedra](cones-polyhedra.md#attributes-of-polyhedra)

    - [`IsPolytope(P): TorPol → BoolElt`](cones-polyhedra.md#function-ispolytope-torpol)

    - [`Dimension(C): TorCon → RngIntElt`](cones-polyhedra.md#function-dimension-torcon)

    - [`Dimension(P): TorPol → RngIntElt`](cones-polyhedra.md#function-dimension-torpol)

    - [`Degree(P): TorPol → RngIntElt`](cones-polyhedra.md#function-degree-torpol)

    - [`Codegree(P): TorPol → RngIntElt`](cones-polyhedra.md#function-codegree-torpol)

    - [`Index(C): TorCon → RngIntElt`](cones-polyhedra.md#function-index-torcon)

    - [`Width(P): TorPol → FldRatElt, SetEnum`](cones-polyhedra.md#function-width-torpol)

    - [`Width(P,u): TorPol, TorLatElt → FldRatElt`](cones-polyhedra.md#function-width-torpol-torlatelt)

    - [`Example: Toric Width Example`](cones-polyhedra.md#example-ex-d2ed42)

    - [`IsPyramid(P): TorPol → BoolElt, TorLatElt, TorPol, Map, TorLatElt`](cones-polyhedra.md#function-ispyramid-torpol)

    - [`Pyramid(P): TorPol → TorPol, Map, Map, Map, Map`](cones-polyhedra.md#function-pyramid-torpol)

    - [`Example: Toric Pyramid Example`](cones-polyhedra.md#example-ex-0b2d83)

    - [`VertexEdgeIncidenceMatrix(P): TorPol → ModMatRngElt`](cones-polyhedra.md#function-vertexedgeincidencematrix-torpol)

    - [`VertexFacetIncidenceMatrix(P): TorPol → ModMatRngElt`](cones-polyhedra.md#function-vertexfacetincidencematrix-torpol)

    - [`VertexFacetHeightMatrix(P): TorPol → AlgMatElt`](cones-polyhedra.md#function-vertexfacetheightmatrix-torpol)

    - [`EdgeFacetIncidenceMatrix(P): TorPol → ModMatRngElt`](cones-polyhedra.md#function-edgefacetincidencematrix-torpol)

  - [Combinatorics of Polyhedral Complexes](cones-polyhedra.md#combinatorics-of-polyhedral-complexes)

    - [`Ambient(C): TorCon → TorLat`](cones-polyhedra.md#function-ambient-torcon)

    - [`Ambient(P): TorPol → TorLat`](cones-polyhedra.md#function-ambient-torpol)

    - [`ChangeAmbient(C,L): TorCon, TorLat → TorCon`](cones-polyhedra.md#function-changeambient-torcon-torlat)

    - [`ChangeAmbient(P,L): TorPol, TorLat → TorPol`](cones-polyhedra.md#function-changeambient-torpol-torlat)

- [Toric Lattices](toric-lattices.md)

  - [Toric Lattices](toric-lattices.md#id1)

    - [`ToricLattice(n): RngIntElt → TorLat`](toric-lattices.md#function-toriclattice-rngintelt)

    - [`ScalarLattice() → TorLat`](toric-lattices.md#function-scalarlattice)

    - [`Example: Empty Toric Lattice Sequence`](toric-lattices.md#example-ex-baeb7b)

    - [`Dual(L): TorLat → TorLat`](toric-lattices.md#function-dual-torlat)

    - [`Example: Dual Toric Lattice`](toric-lattices.md#example-ex-81a499)

    - [`L + M: TorLat, TorLat → TorLat, TorLatMap, TorLatMap, TorLatMap, TorLatMap`](toric-lattices.md#operation-op-plus-torlat-torlat)

    - [`DirectSum(L,M): TorLat, TorLat → TorLat, TorLatMap, TorLatMap, TorLatMap, TorLatMap`](toric-lattices.md#function-directsum-torlat-torlat)

    - [`DirectSum(Q): SeqEnum → TorLat, TorLatMap, TorLatMap, TorLatMap, TorLatMap`](toric-lattices.md#function-directsum-seqenum)

    - [`L ^ n: TorLat, RngIntElt → TorLat, SeqEnum, SeqEnum`](toric-lattices.md#operation-op-pow-torlat-rngintelt)

    - [`Dimension(L): TorLat → RngIntElt`](toric-lattices.md#function-dimension-torlat)

  - [Points of Toric Lattices](toric-lattices.md#points-of-toric-lattices)

    - [`L ! [a,b,...]: TorLat, [RngIntElt] → TorLatElt`](toric-lattices.md#operation-op-torlat-rngintelt)

    - [`LatticeVector(L,Q): TorLat, [RngIntElt] → TorLatElt`](toric-lattices.md#function-latticevector-torlat-rngintelt)

    - [`LatticeVector(Q): [RngIntElt] → TorLatElt`](toric-lattices.md#function-latticevector-rngintelt)

    - [`L . i: TorLat, RngIntElt → TorLatElt`](toric-lattices.md#operation-operation-torlat-rngintelt-torlatelt)

    - [`Basis(L,i): TorLat, RngIntElt → TorLatElt`](toric-lattices.md#function-basis-torlat-rngintelt)

    - [`Basis(L): TorLat → TorLatElt`](toric-lattices.md#function-basis-torlat)

    - [`Form(L,Q): TorLat, [RngIntElt] → TorLatElt`](toric-lattices.md#function-form-torlat-rngintelt)

    - [`Zero(L): TorLat → TorLatElt`](toric-lattices.md#function-zero-torlat)

    - [`P + Q: TorLatElt, TorLatElt → TorLatElt`](toric-lattices.md#operation-op-plus-torlatelt-torlatelt)

    - [`P - Q: TorLatElt, TorLatElt → TorLatElt`](toric-lattices.md#operation-op-minus-torlatelt-torlatelt)

    - [`n * P: FldRatElt, TorLatElt → TorLatElt`](toric-lattices.md#operation-op-times-fldratelt-torlatelt)

    - [`P / n: TorLatElt, FldRatElt → TorLatElt`](toric-lattices.md#operation-op-div-torlatelt-fldratelt)

    - [`P eq Q: TorLatElt, TorLatElt → BoolElt`](toric-lattices.md#operation-op-eq-torlatelt-torlatelt)

    - [`AreProportional(P,Q): TorLatElt, TorLatElt → BoolElt, FldRatElt`](toric-lattices.md#function-areproportional-torlatelt-torlatelt)

    - [`P / Q: TorLatElt, TorLatElt → FldRatElt`](toric-lattices.md#operation-op-div-torlatelt-torlatelt)

    - [`Example: Toric Example Pt`](toric-lattices.md#example-ex-817cf9)

    - [`v in L: TorLatElt, TorLat → BoolElt`](toric-lattices.md#operation-op-in-torlatelt-torlat)

    - [`Matrix(R,S): Rng, [TorLatElt] → ModMatRngElt`](toric-lattices.md#function-matrix-rng-torlatelt)

    - [`Matrix(S): [TorLatElt] → ModMatRngElt`](toric-lattices.md#function-matrix-torlatelt)

    - [`Vector(v): TorLatElt → ModTupFldElt`](toric-lattices.md#function-vector-torlatelt)

    - [`IsZero(v): TorLatElt → BoolElt`](toric-lattices.md#function-iszero-torlatelt)

    - [`IsIntegral(v): TorLatElt → BoolElt`](toric-lattices.md#function-isintegral-torlatelt)

    - [`IsPrimitive(v): TorLatElt → BoolElt`](toric-lattices.md#function-isprimitive-torlatelt)

    - [`PrimitiveLatticeVector(v): TorLatElt → TorLatElt`](toric-lattices.md#function-primitivelatticevector-torlatelt)

    - [`Example: Toric Primitive Pt`](toric-lattices.md#example-ex-db5829)

  - [Operations on Toric Lattices](toric-lattices.md#operations-on-toric-lattices)

    - [`L eq K: TorLat, TorLat → BoolElt`](toric-lattices.md#operation-op-eq-torlat-torlat)

    - [`Sublattice(Q): [TorLatElt] → TorLat, TorLatMap`](toric-lattices.md#function-sublattice-torlatelt)

    - [`ToricLattice(Q): [[RngIntElt]] → TorLat, TorLatMap`](toric-lattices.md#function-toriclattice-rngintelt-2)

    - [`Quotient(C): TorCon → TorLat, TorLatMap`](toric-lattices.md#function-quotient-torcon)

    - [`Quotient(Q): [TorLatElt] → TorLat, TorLatMap`](toric-lattices.md#function-quotient-torlatelt)

    - [`Quotient(v): TorLatElt → TorLat, TorLatMap`](toric-lattices.md#function-quotient-torlatelt-2)

    - [`AddVectorToLattice(v): TorLatElt → TorLat, TorLatMap`](toric-lattices.md#function-addvectortolattice-torlatelt)

    - [`AddVectorToLattice(Q): [TorLatElt] → TorLat, TorLatMap`](toric-lattices.md#function-addvectortolattice-torlatelt-2)

    - [`AreGenerators(S): SetEnum → BoolElt`](toric-lattices.md#function-aregenerators-setenum)

    - [`IsSublattice(L): TorLat → BoolElt`](toric-lattices.md#function-issublattice-torlat)

    - [`IsSuperlattice(L): TorLat → BoolElt`](toric-lattices.md#function-issuperlattice-torlat)

    - [`IsDirectSum(L): TorLat → BoolElt`](toric-lattices.md#function-isdirectsum-torlat)

    - [`IsQuotient(L): TorLat → BoolElt`](toric-lattices.md#function-isquotient-torlat)

    - [`Sublattice(L): TorLat → TorLat, TorLatMap`](toric-lattices.md#function-sublattice-torlat)

    - [`Superlattice(L): TorLat → TorLat, TorLatMap`](toric-lattices.md#function-superlattice-torlat)

    - [`Summands(L): TorLat → SeqEnum, SeqEnum, SeqEnum`](toric-lattices.md#function-summands-torlat)

    - [`Example: Toric Example Pt`](toric-lattices.md#example-ex-2fbe11)

  - [Maps of Toric Lattices](toric-lattices.md#maps-of-toric-lattices)

    - [`ZeroMap(L,K): TorLat, TorLat → TorLatMap`](toric-lattices.md#function-zeromap-torlat-torlat)

    - [`IdentityMap(L): TorLat → TorLatMap`](toric-lattices.md#function-identitymap-torlat)

    - [`hom< L -> K | M >: TorLat, TorLat, Mtrx → TorLatMap`](toric-lattices.md#constructor-constructor-hom-torlat-torlat-mtrx-torlatmap)

    - [`LatticeMap(L,K,M): TorLat, TorLat, Mtrx → TorLatMap`](toric-lattices.md#function-latticemap-torlat-torlat-mtrx)

    - [`LatticeMap(L,Q): TorLat, [TorLatElt] → TorLatMap`](toric-lattices.md#function-latticemap-torlat-torlatelt)

    - [`DefiningMatrix(f): TorLatMap → ModMatRngElt`](toric-lattices.md#function-definingmatrix-torlatmap)

    - [`Image(f,C): TorLatMap, TorCon → TorCon`](toric-lattices.md#function-image-torlatmap-torcon)

    - [`Image(f,P): TorLatMap, TorPol → TorPol`](toric-lattices.md#function-image-torlatmap-torpol)

    - [`Image(f,v): TorLatMap, TorLatElt → TorLatElt`](toric-lattices.md#function-image-torlatmap-torlatelt)

    - [`Preimage(f,C): TorLatMap, TorCon → TorCon`](toric-lattices.md#function-preimage-torlatmap-torcon)

    - [`Preimage(f,P): TorLatMap, TorPol → TorPol`](toric-lattices.md#function-preimage-torlatmap-torpol)

    - [`Preimage(f,v): TorLatMap, TorLatElt → TorLatElt`](toric-lattices.md#function-preimage-torlatmap-torlatelt)

    - [`KernelEmbedding(f): TorLatMap → Map`](toric-lattices.md#function-kernelembedding-torlatmap)

    - [`KernelEmbedding(v): TorLatElt → Map`](toric-lattices.md#function-kernelembedding-torlatelt)

    - [`KernelBasis(f): TorLatMap → SeqEnum`](toric-lattices.md#function-kernelbasis-torlatmap)

    - [`KernelBasis(v): TorLatElt → SeqEnum`](toric-lattices.md#function-kernelbasis-torlatelt)

    - [`ImageBasis(f): TorLatMap → SeqEnum`](toric-lattices.md#function-imagebasis-torlatmap)

    - [`IsCokernelTorsionFree(f): TorLatMap → BoolElt`](toric-lattices.md#function-iscokerneltorsionfree-torlatmap)

    - [`ChangeBasis(v): TorLatElt → Map`](toric-lattices.md#function-changebasis-torlatelt)

    - [`Example: Toric Change Basis Example`](toric-lattices.md#example-ex-03b562)
