application: fan

This application deals with polyhedral fans. You can define a fan, e.g. via its RAYS and MAXIMAL_CONES and compute several properties like HASSE_DIAGRAM and F_VECTOR.

imports from: common, graph, polytope
uses: group, ideal, topaz

Objects

User Functions

  •  

    These clients provide consistency checks, e.g. whether a given list of rays and cones defines a polyhedral fan.

  •  

    These clients provide standard constructions for PolyhedralFan objects, e.g. from polytopes (face_fan or normal_fan) or from other fans (via projection, refinement or product).

  •  

    These clients provide constructions for PolyhedralComplex objects.

    •  
      mixed_subdivision (P_0, P_1, VIF, t_0, t_1) → PolyhedralComplex

      Create a weighted mixed subdivision of the Minkowski sum of two polytopes, using the Cayley trick. The polytopes must have the same dimension, at least one of them must be pointed. The vertices of the first polytope P_0 are weighted with t_0, and the vertices of the second polytope P_1 with t_1.

      Default values are t_0=t_1=1.

      The option relabel creates an additional section VERTEX_LABELS.

      Parameters
      PolytopeP_0
      the first polytope
      PolytopeP_1
      the second polytope
      Array<Set>VIF
      the indices of the vertices of the mixed cells
      Scalart_0
      the weight for the vertices of P_0; default 1
      Scalart_1
      the weight for the vertices of P_1; default 1
      Options
      Boolrelabel
      Returns
      PolyhedralComplex
    •  
      mixed_subdivision (m, C, a) → PolyhedralComplex

      Create a weighted mixed subdivision of a Cayley embedding of a sequence of polytopes. Each vertex v of the i-th polytope is weighted with t_i, the i-th entry of the optional array t.

      The option relabel creates an additional section VERTEX_LABELS.

      Parameters
      Intm
      the number of polytopes giving rise to the Cayley embedding
      PolytopeC
      the Cayley embedding of the input polytopes
      Array<Set>a
      triangulation of C
      Options
      Vector<Scalar>t
      scaling for the Cayley embedding; defaults to the all-1 vector
      Boolrelabel
      Returns
      PolyhedralComplex
    •  
      mixed_subdivision (A) → PolyhedralComplex

      Create a weighted mixed subdivision of a sequence (P1,...,Pm) of polytopes, using the Cayley trick. All polytopes must have the same dimension, at least one of them must be pointed. Each vertex v of the i-th polytope is weighted with t_i, the i-th entry of the optional array t.

      The option relabel creates an additional section VERTEX_LABELS.

      Parameters
      Array<Polytope>A
      the input polytopes
      Options
      Vector<Scalar>t
      scaling for the Cayley embedding; defaults to the all-1 vector
      Boolrelabel
      Returns
      PolyhedralComplex
    •  
      tiling_quotient <Coord> (P, Q) → PolyhedralComplex

      Calculates the quotient of P by Q+L, where Q+L is a lattice tiling. The result is a polytopal complex inside Q.

      Type Parameters
      Coord
      Parameters
      PolytopeP
      a polytope
      PolytopeQ
      a polytope that tiles space
      Returns
      PolyhedralComplex