====== BigObject PolyhedralFan ====== //from application [[..:fan|fan]]//\\ \\ A polyhedral fan. The current restriction is that each cone in the fan has to be pointed. This will be relaxed later. If a fan is specified via ''[[..:fan:PolyhedralFan#INPUT_RAYS |INPUT_RAYS]]'' and ''[[..:fan:PolyhedralFan#INPUT_CONES |INPUT_CONES]]'' each input cone must list all the input rays incident. Once non-trivial linealities are allowed the following will apply: The ''[[..:fan:PolyhedralFan#RAYS |RAYS]]'' always lie in a linear subspace which is complementary to the ''[[..:fan:PolyhedralFan#LINEALITY_SPACE |LINEALITY_SPACE]]''. ? Type Parameters: :: ''Scalar'': numeric data type used for the coordinates, must be an ordered field ? Specializations: :: ''PolyhedralFan'': Unnamed full specialization of PolyhedralFan ? Example: :: A typical example is the normal fan of a convex polytope. :: > $f=normal_fan(polytope::cube(3)); > print $f->F_VECTOR; 6 12 8 ? Permutations: : ? ConesPerm: :: permuting the ''[[..:fan:PolyhedralFan#MAXIMAL_CONES |MAXIMAL_CONES]]'' ? RaysPerm: :: permuting the ''[[..:fan:PolyhedralFan#RAYS |RAYS]]'' ===== Properties ===== ==== Input property ==== These properties are for input only. They allow redundant information. ---- {{anchor:input_cones:}} ? **''INPUT_CONES''** :: Maybe redundant list of not necessarily maximal cones. Indices refer to ''[[..:fan:PolyhedralFan#INPUT_RAYS |INPUT_RAYS]]''. Each cone must list all rays of ''[[..:fan:PolyhedralFan#INPUT_RAYS |INPUT_RAYS]]'' it contains. The cones are allowed to contain lineality. Cones which do not have any rays correspond to the trivial cone (contains only the origin). An empty fan does not have any cones. Input section only. Ask for ''[[..:fan:PolyhedralFan#MAXIMAL_CONES |MAXIMAL_CONES]]'' if you want to know the maximal cones (indexed by ''[[..:fan:PolyhedralFan#RAYS |RAYS]]''). ? Type: :''[[..:common#IncidenceMatrix |IncidenceMatrix]]<[[..:common#NonSymmetric |NonSymmetric]]>'' ---- {{anchor:input_cones_reps:}} ? **''INPUT_CONES_REPS''** :: Maybe redundant list of not necessarily maximal cones, one from each orbit. All vectors in the input must be non-zero. Indices refer to ''[[..:fan:PolyhedralFan#INPUT_RAYS |INPUT_RAYS]]''. ? Type: :''[[..:common#IncidenceMatrix |IncidenceMatrix]]<[[..:common#NonSymmetric |NonSymmetric]]>'' ---- {{anchor:input_lineality:}} ? **''INPUT_LINEALITY''** :: Vectors whose linear span defines a subset of the lineality space of the fan; redundancies are allowed. Input section only. Ask for ''[[..:fan:PolyhedralFan#LINEALITY_SPACE |LINEALITY_SPACE]]'' if you want to know the lineality space. ? Type: :''[[..:common#Matrix |Matrix]]'' ---- {{anchor:input_rays:}} ? **''INPUT_RAYS''** :: Rays from which the cones are formed. May be redundant. All vectors in the input must be non-zero. You also need to provide ''[[..:fan:PolyhedralFan#INPUT_CONES |INPUT_CONES]]'' to define a fan completely. Input section only. Ask for ''[[..:fan:PolyhedralFan#RAYS |RAYS]]'' if you want a list of non-redundant rays. ? Type: :''[[..:common#Matrix |Matrix]]'' ---- {{anchor:input_rays_reps:}} ? **''INPUT_RAYS_REPS''** :: One Ray from each orbit. May be redundant. ? Type: :''[[..:common#Matrix |Matrix]]'' ---- ==== Combinatorics ==== These properties capture combinatorial information of the object. Combinatorial properties only depend on combinatorial data of the object like, e.g., the face lattice. ---- {{anchor:combinatorial_dim:}} ? **''COMBINATORIAL_DIM''** :: Combinatorial dimension. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:complete:}} ? **''COMPLETE''** :: The polyhedral fan is __complete__ if its suport is the whole space. Due to undecidability issues this is checked heuristically only. See the remarks on [[..:topaz:SimplicialComplex#SPHERE |SPHERE]] for details. Note that in the case of a polyhedral complex, this refers to the underlying fan, so should always be false. ? Type: :''[[..:common#Bool |Bool]]'' ---- {{anchor:cones:}} ? **''CONES''** :: List of all cones of the fan of each dimension. Indices refer to ''[[..:fan:PolyhedralFan#RAYS |RAYS]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#IncidenceMatrix |IncidenceMatrix]]<[[..:common#NonSymmetric |NonSymmetric]]%%>>%%'' ---- {{anchor:cones_combinatorial_dims:}} ? **''CONES_COMBINATORIAL_DIMS''** :: The combinatorial dimensions of the [[..:fan:PolyhedralFan#CONES |cones]]. ? Type: :''[[..:common#Array |Array]]<[[..:common#Int |Int]]>'' ---- {{anchor:dual_graph:}} ? **''DUAL_GRAPH''** :: The graph whose nodes are the maximal cones which are connected if they share a common facet. Only defined if ''[[..:fan:PolyhedralFan#PURE |PURE]]'' ? Type: :''[[..:graph:Graph |Graph]]<[[..:common#Undirected |Undirected]]>'' ---- {{anchor:f2_vector:}} ? **''F2_VECTOR''** :: fik is the number of incident pairs of i-dimensional cones and k-dimensional cones; the main diagonal contains the ''[[..:fan:PolyhedralFan#F_VECTOR |F_VECTOR]]''. ? Type: :''[[..:common#Matrix |Matrix]]<[[..:common#Integer |Integer]],[[..:common#NonSymmetric |NonSymmetric]]>'' ---- {{anchor:f_vector:}} ? **''F_VECTOR''** :: fk is the number of k-dimensional cones starting from dimension k=1. ? Type: :''[[..:common#Vector |Vector]]<[[..:common#Integer |Integer]]>'' ---- {{anchor:graph:}} ? **''GRAPH''** :: The graph of the fan intersected with a sphere, that is, the vertices are the rays which are connected if they are contained in a common two-dimensional cone. ? Type: :''[[..:graph:Graph |Graph]]<[[..:common#Undirected |Undirected]]>'' ---- {{anchor:hasse_diagram:}} ? **''HASSE_DIAGRAM''** :: ? Type: :''[[..:graph:Lattice |Lattice]]<[[..:graph#BasicDecoration |BasicDecoration]],[[..:graph#Nonsequential |Nonsequential]]>'' ? Methods of HASSE_DIAGRAM: : ? **''dim()''** :: ? Returns: :''[[..:common#Int |Int]]'' ? **''nodes_of_dim([[..:common#Int |Int]] d)''** :: ? Parameters: :: ''[[..:common#Int |Int]]'' ''d'': dimension ? Returns: :''[[..:common#Set |Set]]<[[..:common#Int |Int]]>'' ? **''nodes_of_dim_range([[..:common#Int |Int]] d1, [[..:common#Int |Int]] d1)''** :: ? Parameters: :: ''[[..:common#Int |Int]]'' ''d1'': lower dimension :: ''[[..:common#Int |Int]]'' ''d1'': upper dimension ? Returns: :''[[..:common#Set |Set]]<[[..:common#Int |Int]]>'' ---- {{anchor:maximal_cones:}} ? **''MAXIMAL_CONES''** :: Non redundant list of maximal cones. Indices refer to ''[[..:fan:PolyhedralFan#RAYS |RAYS]]''. Cones which do not have any rays correspond to the trivial cone (contains only the origin). An empty fan does not have any cones. ? Type: :''[[..:common#IncidenceMatrix |IncidenceMatrix]]<[[..:common#NonSymmetric |NonSymmetric]]>'' ---- {{anchor:maximal_cones_combinatorial_dims:}} ? **''MAXIMAL_CONES_COMBINATORIAL_DIMS''** :: The combinatorial dimensions of the [[..:fan:PolyhedralFan#MAXIMAL_CONES |maximal cones]]. ? Type: :''[[..:common#Array |Array]]<[[..:common#Int |Int]]>'' ---- {{anchor:maximal_cones_incidences:}} ? **''MAXIMAL_CONES_INCIDENCES''** :: Array of incidence matrices of all [[..:fan:PolyhedralFan#MAXIMAL_CONES |maximal cones]]. ? Type: :''[[..:common#Array |Array]]<[[..:common#IncidenceMatrix |IncidenceMatrix]]<[[..:common#NonSymmetric |NonSymmetric]]%%>>%%'' ---- {{anchor:maximal_cones_thru_rays:}} ? **''MAXIMAL_CONES_THRU_RAYS''** :: Transposed to ''[[..:fan:PolyhedralFan#MAXIMAL_CONES |MAXIMAL_CONES]]''. Notice that this is a temporary property; it will not be stored in any file. ? Type: :''[[..:common#IncidenceMatrix |IncidenceMatrix]]<[[..:common#NonSymmetric |NonSymmetric]]>'' ---- {{anchor:n_cones:}} ? **''N_CONES''** :: Number of ''[[..:fan:PolyhedralFan#CONES |CONES]]''. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:n_maximal_cones:}} ? **''N_MAXIMAL_CONES''** :: Number of ''[[..:fan:PolyhedralFan#MAXIMAL_CONES |MAXIMAL_CONES]]''. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:pure:}} ? **''PURE''** :: The polyhedral fan is __pure__ if all [[..:fan:PolyhedralFan#MAXIMAL_CONES |maximal cones]] are of the same dimension. ? Type: :''[[..:common#Bool |Bool]]'' ---- {{anchor:simplicial:}} ? **''SIMPLICIAL''** :: The polyhedral fan is __simplicial__ if all [[..:fan:PolyhedralFan#MAXIMAL_CONES |maximal cones]] are [[..:polytope:Cone#SIMPLICIAL |simplicial]]. ? Type: :''[[..:common#Bool |Bool]]'' ---- ==== Geometry ==== These properties capture geometric information of the object. Geometric properties depend on geometric information of the object, like, e.g., vertices or facets. ---- {{anchor:facet_normals:}} ? **''FACET_NORMALS''** :: The possible facet normals of all maximal cones. ? Type: :''[[..:common#Matrix |Matrix]]'' ---- {{anchor:fan_ambient_dim:}} ? **''FAN_AMBIENT_DIM''** :: Dimension of the space which contains the polyhedral fan. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:fan_dim:}} ? **''FAN_DIM''** :: Dimension of the polyhedral fan. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:full_dim:}} ? **''FULL_DIM''** :: True if ''[[..:fan:PolyhedralFan#FAN_DIM |FAN_DIM]]'' and ''[[..:fan:PolyhedralFan#FAN_AMBIENT_DIM |FAN_AMBIENT_DIM]]'' coincide. ? Type: :''[[..:common#Bool |Bool]]'' ---- {{anchor:lineality_dim:}} ? **''LINEALITY_DIM''** :: Dimension of ''[[..:fan:PolyhedralFan#LINEALITY_SPACE |LINEALITY_SPACE]]''. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:lineality_space:}} ? **''LINEALITY_SPACE''** :: Since we do not require our cones to be pointed: a basis of the lineality space of the fan. Co-exists with ''[[..:fan:PolyhedralFan#RAYS |RAYS]]''. ? Type: :''[[..:common#Matrix |Matrix]]'' ---- {{anchor:linear_span_normals:}} ? **''LINEAR_SPAN_NORMALS''** :: The possible linear span normals of all maximal cones. ? Type: :''[[..:common#Matrix |Matrix]]'' ---- {{anchor:maximal_cones_facets:}} ? **''MAXIMAL_CONES_FACETS''** :: Tells for each maximal cone what are its facets. A negative number means that the corresponding row of ''[[..:fan:PolyhedralFan#FACET_NORMALS |FACET_NORMALS]]'' has to be negated. ? Type: :''[[..:common#SparseMatrix |SparseMatrix]]<[[..:common#Int |Int]],[[..:common#NonSymmetric |NonSymmetric]]>'' ---- {{anchor:maximal_cones_linear_span_normals:}} ? **''MAXIMAL_CONES_LINEAR_SPAN_NORMALS''** :: Tells for each maximal cone what is its linear span. Indices refer to ''[[..:fan:PolyhedralFan#LINEAR_SPAN_NORMALS |LINEAR_SPAN_NORMALS]]''. Rows correspond to ''[[..:fan:PolyhedralFan#MAXIMAL_CONES_FACETS |MAXIMAL_CONES_FACETS]]''. ? Type: :''[[..:common#IncidenceMatrix |IncidenceMatrix]]<[[..:common#NonSymmetric |NonSymmetric]]>'' ---- {{anchor:n_facet_normals:}} ? **''N_FACET_NORMALS''** :: The number of possible facet normals of all maximal cones. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:n_input_rays:}} ? **''N_INPUT_RAYS''** :: Number of ''[[..:fan:PolyhedralFan#INPUT_RAYS |INPUT_RAYS]]''. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:n_rays:}} ? **''N_RAYS''** :: Number of ''[[..:fan:PolyhedralFan#RAYS |RAYS]]''. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:orth_lineality_space:}} ? **''ORTH_LINEALITY_SPACE''** :: A basis of the orthogonal complement to ''[[..:fan:PolyhedralFan#LINEALITY_SPACE |LINEALITY_SPACE]]''. ? Type: :''[[..:common#Matrix |Matrix]]'' ---- {{anchor:pointed:}} ? **''POINTED''** :: True if ''[[..:fan:PolyhedralFan#LINEALITY_SPACE |LINEALITY_SPACE]]'' is trivial. ? Type: :''[[..:common#Bool |Bool]]'' ---- {{anchor:pseudo_regular:}} ? **''PSEUDO_REGULAR''** :: True if the fan is a subfan of a ''[[..:fan:PolyhedralFan#REGULAR |REGULAR]]'' fan ? Type: :''[[..:common#Bool |Bool]]'' ---- {{anchor:rays:}} ? **''RAYS''** :: Rays from which the cones are formed. Non-redundant. Co-exists with ''[[..:fan:PolyhedralFan#LINEALITY_SPACE |LINEALITY_SPACE]]''. ? Type: :''[[..:common#Matrix |Matrix]]'' ---- {{anchor:regular:}} ? **''REGULAR''** :: True if the fan is the [[..:fan#normal_fan |normal fan]] of a [[..:polytope:Polytope#BOUNDED |bounded]] polytope. ? Type: :''[[..:common#Bool |Bool]]'' ---- ==== Symmetry ==== These properties capture information of the object that is concerned with the action of permutation groups. ---- {{anchor:cones_orbit_sizes:}} ? **''CONES_ORBIT_SIZES''** :: Number of ''[[..:fan:PolyhedralFan#CONES_REPS |CONES_REPS]]'' in each orbit. ? Type: :''[[..:common#Array |Array]]<[[..:common#Array |Array]]<[[..:common#Int |Int]]%%>>%%'' ---- {{anchor:cones_reps:}} ? **''CONES_REPS''** :: List of all cones of all dimensions of the fan, one from each orbit. Indices refer to ''[[..:fan:PolyhedralFan#RAYS |RAYS]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#Array |Array]]<[[..:common#Set |Set]]<[[..:common#Int |Int]]%%>>%%>'' ---- {{anchor:group:}} ? **''GROUP''** :: ? Type: :''[[..:group:Group |Group]]'' ? Methods of GROUP: : ? **''REPRESENTATIVE_INPUT_CONES''** :: explicit representatives of equivalence classes of ''[[..:fan:PolyhedralFan#INPUT_CONES |INPUT_CONES]]'' under a group action ? **''REPRESENTATIVE_INPUT_RAYS''** :: explicit representatives of equivalence classes of ''[[..:fan:PolyhedralFan#INPUT_RAYS |INPUT_RAYS]]'' under a group action ? Properties of GROUP: : ? **''MATRIX_ACTION''** :: ? Type: :''[[..:group:MatrixActionOnVectors |MatrixActionOnVectors]]'' ? **''MAXIMAL_CONES_ACTION''** :: ? derived from: : ''[[..:group:PermutationAction |PermutationAction]]'' ? Type: :''[[..:group:PermutationAction |PermutationAction]]<[[..:common#Int |Int]],[[..:common#Rational |Rational]]>'' ? Properties of MAXIMAL_CONES_ACTION: : ? **''REPRESENTATIVE_COMBINATORIAL_DIMS''** :: dimensions of representatives of maximal cones ? Type: :''[[..:common#Array |Array]]<[[..:common#Int |Int]]>'' ? **''REPRESENTATIVE_F_VECTOR''** :: counts how many representatives of maximal cones there are in each dimension ? Type: :''[[..:common#Array |Array]]<[[..:common#Int |Int]]>'' ? **''REPRESENTATIVE_CONES''** :: ? Type: :''[[..:common#IncidenceMatrix |IncidenceMatrix]]<[[..:common#NonSymmetric |NonSymmetric]]>'' ? **''REPRESENTATIVE_MAXIMAL_CONES''** :: ? Type: :''[[..:common#IncidenceMatrix |IncidenceMatrix]]<[[..:common#NonSymmetric |NonSymmetric]]>'' ? **''REPRESENTATIVE_RAYS''** :: ? Type: :''[[..:common#Matrix |Matrix]]'' ---- {{anchor:maximal_cones_in_orbits:}} ? **''MAXIMAL_CONES_IN_ORBITS''** :: Tells which maximal cone is in the orbit of which representative, indices refers to rows of ''[[..:fan:PolyhedralFan#MAXIMAL_CONES |MAXIMAL_CONES]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#Set |Set]]<[[..:common#Int |Int]]%%>>%%'' ---- {{anchor:maximal_cones_orbit_sizes:}} ? **''MAXIMAL_CONES_ORBIT_SIZES''** :: Number of ''[[..:fan:PolyhedralFan#MAXIMAL_CONES_REPS |MAXIMAL_CONES_REPS]]'' in each orbit. ? Type: :''[[..:common#Array |Array]]<[[..:common#Int |Int]]>'' ---- {{anchor:maximal_cones_reps:}} ? **''MAXIMAL_CONES_REPS''** :: Non redundant list of maximal cones, one from each orbit. Indices refer to ''[[..:fan:PolyhedralFan#RAYS |RAYS]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#Set |Set]]<[[..:common#Int |Int]]%%>>%%'' ---- {{anchor:maximal_cones_reps_dims:}} ? **''MAXIMAL_CONES_REPS_DIMS''** :: The dimensions of ''[[..:fan:PolyhedralFan#MAXIMAL_CONES_REPS |MAXIMAL_CONES_REPS]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#Int |Int]]>'' ---- {{anchor:maximal_cones_reps_facets:}} ? **''MAXIMAL_CONES_REPS_FACETS''** :: Tells for each maximal cone representative what are its facets. A negative number means that the corresponding row of ''[[..:fan:PolyhedralFan#REPS_FACET_NORMALS |REPS_FACET_NORMALS]]'' has to be negated. ? Type: :''[[..:common#SparseMatrix |SparseMatrix]]<[[..:common#Int |Int]],[[..:common#NonSymmetric |NonSymmetric]]>'' ---- {{anchor:maximal_cones_reps_linear_span_normals:}} ? **''MAXIMAL_CONES_REPS_LINEAR_SPAN_NORMALS''** :: Tells for each maximal cone representative what is its linear span. Indices refer to ''[[..:fan:PolyhedralFan#REPS_LINEAR_SPAN_NORMALS |REPS_LINEAR_SPAN_NORMALS]]''. Rows correspond to ''[[..:fan:PolyhedralFan#MAXIMAL_CONES_REPS_FACETS |MAXIMAL_CONES_REPS_FACETS]]'' ? Type: :''[[..:common#IncidenceMatrix |IncidenceMatrix]]<[[..:common#NonSymmetric |NonSymmetric]]>'' ---- {{anchor:n_maximal_cone_orbits:}} ? **''N_MAXIMAL_CONE_ORBITS''** :: Number of orbits of ''[[..:fan:PolyhedralFan#MAXIMAL_CONES |MAXIMAL_CONES]]''. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:n_ray_orbits:}} ? **''N_RAY_ORBITS''** :: Number of orbits of ''[[..:fan:PolyhedralFan#RAYS |RAYS]]''. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:n_symmetries:}} ? **''N_SYMMETRIES''** :: Number of elements of the symmetry group. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:orbits_f_vector:}} ? **''ORBITS_F_VECTOR''** :: fk is the number of k-dimensional cones up to symmetry. ? Type: :''[[..:common#Vector |Vector]]<[[..:common#Integer |Integer]]>'' ---- {{anchor:rays_images:}} ? **''RAYS_IMAGES''** :: Each row contains the image of all ''[[..:fan:PolyhedralFan#RAYS |RAYS]]'' under one element of the symmetry group. ? Type: :''[[..:common#Array |Array]]<[[..:common#Array |Array]]<[[..:common#Int |Int]]%%>>%%'' ---- {{anchor:rays_in_orbits:}} ? **''RAYS_IN_ORBITS''** :: Tells which ray is in the orbit of which representative, indices refers to rows of ''[[..:fan:PolyhedralFan#RAYS |RAYS]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#Set |Set]]<[[..:common#Int |Int]]%%>>%%'' ---- {{anchor:rays_orbit_sizes:}} ? **''RAYS_ORBIT_SIZES''** :: Number of elements of each orbit of ''[[..:fan:PolyhedralFan#RAYS |RAYS]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#Int |Int]]>'' ---- {{anchor:rays_reps:}} ? **''RAYS_REPS''** :: One ray from each orbit. Non-redundant. ? Type: :''[[..:common#Matrix |Matrix]]'' ---- {{anchor:rays_reps_labels:}} ? **''RAYS_REPS_LABELS''** :: Unique names assigned to the ''[[..:fan:PolyhedralFan#RAYS_REPS |RAYS_REPS]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#String |String]]>'' ---- {{anchor:reps_facet_normals:}} ? **''REPS_FACET_NORMALS''** :: The possible facet normals of all maximal cone representatives. ? Type: :''[[..:common#Matrix |Matrix]]'' ---- {{anchor:reps_linear_span_normals:}} ? **''REPS_LINEAR_SPAN_NORMALS''** :: The possible linear span normals of all maximal cone representatives. ? Type: :''[[..:common#Matrix |Matrix]]'' ---- {{anchor:symmetry_generators:}} ? **''SYMMETRY_GENERATORS''** :: Each element of the array is a generator of the subgroup of the symmetric group acting on the coordinates. Each generator is represented by an Array whose i-th entry is the image of the i-th coordinate. ? Type: :''[[..:common#Array |Array]]<[[..:common#Array |Array]]<[[..:common#Int |Int]]%%>>%%'' ---- {{anchor:symmetry_group:}} ? **''SYMMETRY_GROUP''** :: Each element of the array is an element of the symmetry group. ? Type: :''[[..:common#Array |Array]]<[[..:common#Array |Array]]<[[..:common#Int |Int]]%%>>%%'' ---- ==== Topology ==== The following properties are topological invariants. ---- {{anchor:homology:}} ? **''HOMOLOGY''** :: The homology of the intersection of the fan with the unit sphere. ? Type: :''[[..:common#Array |Array]]<[[..:topaz#HomologyGroup |HomologyGroup]]<[[..:common#Integer |Integer]]%%>>%%'' ---- {{anchor:intersection_complex:}} ? **''INTERSECTION_COMPLEX''** :: If the fan is ''[[..:fan:PolyhedralFan#SIMPLICIAL |SIMPLICIAL]]'' the simplicial complex obtained by intersection the fan with the unit sphere. If the fan is not ''[[..:fan:PolyhedralFan#SIMPLICIAL |SIMPLICIAL]]'' the crosscut complex of the intersection. ? Type: :''[[..:topaz:SimplicialComplex |SimplicialComplex]]'' ---- ==== Toric Varieties ==== Properties coming from associated toric varieties ---- {{anchor:gorenstein:}} ? **''GORENSTEIN''** :: A fan is __Gorenstein__ if it is ''[[..:fan:PolyhedralFan#Q_GORENSTEIN |Q_GORENSTEIN]]'' with ''[[..:fan:PolyhedralFan#Q_GORENSTEIN_INDEX |Q_GORENSTEIN_INDEX]]'' equal to one. ? Type: :''[[..:common#Bool |Bool]]'' ---- {{anchor:q_gorenstein:}} ? **''Q_GORENSTEIN''** :: A fan is __Q-GORENSTEIN__ if each maximal cone is [[..:polytope:Cone#Q_GORENSTEIN_CONE |Q_Gorenstein]]. ? Type: :''[[..:common#Bool |Bool]]'' ---- {{anchor:q_gorenstein_index:}} ? **''Q_GORENSTEIN_INDEX''** :: If a fan is ''[[..:fan:PolyhedralFan#Q_GORENSTEIN |Q_GORENSTEIN]]'', then its __Q-Gorenstein index__ is the least common multiple of the [[..:polytope:Cone#Q_GORENSTEIN_CONE_INDEX |Q-Gorenstein indices]] of its maximal cones. Otherwise Q_GORENSTEIN_INDEX is undefined. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:smooth_fan:}} ? **''SMOOTH_FAN''** :: A fan is __smooth__ if all cones of the fan are [[..:polytope:Cone#SMOOTH_CONE |smooth]]. ? Type: :''[[..:common#Bool |Bool]]'' ---- ==== Visualization ==== These properties are for visualization. ---- {{anchor:input_ray_labels:}} ? **''INPUT_RAY_LABELS''** :: Unique names assigned to the ''[[..:fan:PolyhedralFan#INPUT_RAYS |INPUT_RAYS]]''. Similar to ''[[..:fan:PolyhedralFan#RAY_LABELS |RAY_LABELS]]'' for ''[[..:fan:PolyhedralFan#RAYS |RAYS]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#String |String]]>'' ---- {{anchor:maximal_cone_labels:}} ? **''MAXIMAL_CONE_LABELS''** :: Unique names assigned to the ''[[..:fan:PolyhedralFan#MAXIMAL_CONES |MAXIMAL_CONES]]''. Similar to ''[[..:fan:PolyhedralFan#RAY_LABELS |RAY_LABELS]]'' for ''[[..:fan:PolyhedralFan#RAYS |RAYS]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#String |String]]>'' ---- {{anchor:ray_labels:}} ? **''RAY_LABELS''** :: Unique names assigned to the ''[[..:fan:PolyhedralFan#RAYS |RAYS]]''. If specified, they are shown by visualization tools instead of vertex indices. For a polyhedral fan built from scratch, you should create this property by yourself, either manually in a text editor, or with a client program. ? Type: :''[[..:common#Array |Array]]<[[..:common#String |String]]>'' ---- ===== Methods ===== ==== Combinatorics ==== These methods capture combinatorial information of the object. Combinatorial properties only depend on combinatorial data of the object like, e.g., the face lattice. ---- {{anchor:cones_dims:}} ? **''CONES_DIMS()''** :: The dimensions of the [[..:fan:PolyhedralFan#CONES |cones]]. ? Returns: :''[[..:common#Array |Array]]<[[..:common#Int |Int]]>'' ---- {{anchor:cone:}} ? **''cone([[..:common#Int |Int]] i)''** :: Returns the //i//-th maximal cone. ? Parameters: :: ''[[..:common#Int |Int]]'' ''i'' ? Returns: :''[[..:polytope:Cone |Cone]]'' ---- ==== Geometry ==== These methods capture geometric information of the object. Geometric properties depend on geometric information of the object, like, e.g., vertices or facets. ---- {{anchor:ambient_dim:}} ? **''AMBIENT_DIM()''** :: Returns the dimension of the ambient space. ? Returns: :''[[..:common#Int |Int]]'' ---- {{anchor:dim:}} ? **''DIM()''** :: Returns the dimension of the linear space spanned by the fan. ? Returns: :''[[..:common#Int |Int]]'' ---- ==== Symmetry ==== These methods capture information of the object that is concerned with the action of permutation groups. ---- {{anchor:cone_representative:}} ? **''cone_representative([[..:common#Int |Int]] i)''** :: Returns the //i//-th maximal cone representative. ? Parameters: :: ''[[..:common#Int |Int]]'' ''i'' ? Returns: :''[[..:polytope:Cone |Cone]]'' ---- ==== Visualization ==== These methods are for visualization. ---- {{anchor:visual:}} ? **''VISUAL()''** :: Visualizes the fan, intersected with the unit ball. ? Options: : option list ''[[..:common#geometric_options_linear |geometric_options_linear]]'' ? Returns: :''[[..:fan:Visual_PolyhedralFan |Visual::PolyhedralFan]]'' ----