====== BigObject PointConfiguration ====== //from application [[..:polytope|polytope]]//\\ \\ The ''[[..:polytope:PointConfiguration#POINTS |POINTS]]'' of an object of type PointConfiguration encode a not necessarily convex finite point set. The difference to a parent ''[[..:polytope:VectorConfiguration |VectorConfiguration]]'' is that the points have homogeneous coordinates, i.e. they will be normalized to have first coordinate 1 without warning. ? Type Parameters: :: ''Scalar'': default: ''[[..:common#Rational |Rational]]'' ? derived from: : ''[[..:polytope:VectorConfiguration |VectorConfiguration]]'' ? Specializations: :: ''PointConfiguration::ExactCoord'': A point configuration with an exact coordinate type, like Rational. ===== Properties ===== ==== Input property ==== These properties are for input only. They allow redundant information. ---- {{anchor:points:}} ? **''POINTS''** :: The points of the configuration. Multiples allowed. Alias for property ''[[..:polytope:VectorConfiguration#VECTORS |VECTORS]]''. ? 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:cocircuit_equations:}} ? **''COCIRCUIT_EQUATIONS''** :: Tells the cocircuit equations that hold for the configuration, one for each interior ridge ? Type: :''[[..:common#SparseMatrix |SparseMatrix]]<[[..:common#Rational |Rational]],[[..:common#NonSymmetric |NonSymmetric]]>'' ---- {{anchor:graph:}} ? **''GRAPH''** :: Graph of the point configuration. Two points are adjacent if they are neigbours in a edge of the ''[[..:polytope:PointConfiguration#CONVEX_HULL |CONVEX_HULL]]''. ? Type: :''[[..:graph:Graph |Graph]]<[[..:common#Undirected |Undirected]]>'' ---- {{anchor:interior_ridge_simplices:}} ? **''INTERIOR_RIDGE_SIMPLICES''** :: Tells the number of codimension 1 simplices that are not on the boundary ? Type: :''[[..:common#Array |Array]]<[[..:common#Set |Set]]<[[..:common#Int |Int]]%%>>%%'' ---- {{anchor:max_boundary_simplices:}} ? **''MAX_BOUNDARY_SIMPLICES''** :: Tells the full-dimensional simplices on the boundary that contain no points except for the vertices. ? Type: :''[[..:common#Array |Array]]<[[..:common#Set |Set]]<[[..:common#Int |Int]]%%>>%%'' ---- {{anchor:max_interior_simplices:}} ? **''MAX_INTERIOR_SIMPLICES''** :: Tells the full-dimensional simplices that contain no points except for the vertices. ? Type: :''[[..:common#Array |Array]]<[[..:common#Set |Set]]<[[..:common#Int |Int]]%%>>%%'' ---- {{anchor:n_max_boundary_simplices:}} ? **''N_MAX_BOUNDARY_SIMPLICES''** :: Tells the number of MAX_BOUNDARY_SIMPLICES ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:n_max_interior_simplices:}} ? **''N_MAX_INTERIOR_SIMPLICES''** :: Tells the number of MAX_INTERIOR_SIMPLICES ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:simplexity_lower_bound:}} ? **''SIMPLEXITY_LOWER_BOUND''** :: A lower bound for the minimal number of simplices in a triangulation ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:splits:}} ? **''SPLITS''** :: The splits of the point configuration, i.e., hyperplanes cutting the configuration in two parts such that we have a regular subdivision. ? Type: :''[[..:common#Matrix |Matrix]]'' ---- {{anchor:split_compatibility_graph:}} ? **''SPLIT_COMPATIBILITY_GRAPH''** :: Two ''[[..:polytope:PointConfiguration#SPLITS |SPLITS]]'' are compatible if the defining hyperplanes do not intersect in the interior of the point configuration. This defines a graph. ? Type: :''[[..:graph:Graph |Graph]]<[[..:common#Undirected |Undirected]]>'' ---- ==== 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:affine_hull:}} ? **''AFFINE_HULL''** :: Dual basis of the affine hull of the point configuration ? Type: :''[[..:common#Matrix |Matrix]]'' ---- {{anchor:barycenter:}} ? **''BARYCENTER''** :: The center of gravity of the point configuration. ? Type: :''[[..:common#Vector |Vector]]'' ---- {{anchor:bounded:}} ? **''BOUNDED''** :: True if the point configuration is bounded. ? Type: :''[[..:common#Bool |Bool]]'' ---- {{anchor:centered:}} ? **''CENTERED''** :: True if (1, 0, 0, ...) is in the relative interior. ? Type: :''[[..:common#Bool |Bool]]'' ---- {{anchor:convex:}} ? **''CONVEX''** :: True if the ''[[..:polytope:PointConfiguration#POINTS |POINTS]]'' are in convex position. ? Type: :''[[..:common#Bool |Bool]]'' ---- {{anchor:convex_hull:}} ? **''CONVEX_HULL''** :: ? Type: :''[[..:polytope:Polytope |Polytope]]'' ? Properties of CONVEX_HULL: : ? **''VERTEX_POINT_MAP''** :: Indices of ''[[..:polytope:Polytope#VERTICES |VERTICES]]'' of the ''[[..:polytope:PointConfiguration#CONVEX_HULL |CONVEX_HULL]]'' as ''[[..:polytope:Polytope#POINTS |POINTS]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#Int |Int]]>'' ---- {{anchor:far_points:}} ? **''FAR_POINTS''** :: Indices of ''[[..:polytope:PointConfiguration#POINTS |POINTS]]'' that are rays. ? Type: :''[[..:common#Set |Set]]<[[..:common#Int |Int]]>'' ---- {{anchor:multiple_points:}} ? **''MULTIPLE_POINTS''** :: Tells if multiple points exist. Alias for property ''[[..:polytope:VectorConfiguration#MULTIPLE_VECTORS |MULTIPLE_VECTORS]]''. ? Type: :''[[..:common#Bool |Bool]]'' ---- {{anchor:non_vertices:}} ? **''NON_VERTICES''** :: ''[[..:polytope:PointConfiguration#POINTS |POINTS]]'' that are not ''[[..:polytope:Polytope#VERTICES |VERTICES]]'' of the ''[[..:polytope:PointConfiguration#CONVEX_HULL |CONVEX_HULL]]'' ? Type: :''[[..:common#Set |Set]]<[[..:common#Int |Int]]>'' ---- {{anchor:n_points:}} ? **''N_POINTS''** :: Number of ''[[..:polytope:PointConfiguration#POINTS |POINTS]]''. Alias for property ''[[..:polytope:VectorConfiguration#N_VECTORS |N_VECTORS]]''. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:vertex_point_map:}} ? **''VERTEX_POINT_MAP''** :: Indices of ''[[..:polytope:Polytope#VERTICES |VERTICES]]'' of the ''[[..:polytope:PointConfiguration#CONVEX_HULL |CONVEX_HULL]]'' as ''[[..:polytope:PointConfiguration#POINTS |POINTS]]'' ? Type: :''[[..:common#Array |Array]]<[[..:common#Int |Int]]>'' ---- ==== Symmetry ==== These properties capture information of the object that is concerned with the action of permutation groups. ---- {{anchor:group:}} ? **''GROUP''** :: ? derived from: : ''[[..:polytope:VectorConfiguration#GROUP |GROUP]]'' ? Type: :''[[..:group:Group |Group]]'' ? Properties of GROUP: : ? **''MATRIX_ACTION''** :: ? Type: :''[[..:group:MatrixActionOnVectors |MatrixActionOnVectors]]'' ? Properties of MATRIX_ACTION: : ? **''POINTS_ORBITS''** :: Alias for property ''[[..:group:MatrixActionOnVectors#VECTORS_ORBITS |VECTORS_ORBITS]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#Set |Set]]<[[..:common#Int |Int]]%%>>%%'' ? **''POINTS_ACTION''** :: ? Type: :''[[..:group:PermutationAction |PermutationAction]]<[[..:common#Int |Int]],[[..:common#Rational |Rational]]>'' ? Properties of POINTS_ACTION: : ? **''SYMMETRIZED_COCIRCUIT_EQUATIONS''** :: The cocircuit equations, projected to a certain direct sum of isotypic components ? Type: :''[[..:polytope:SymmetrizedCocircuitEquations |SymmetrizedCocircuitEquations]]'' ? **''REPRESENTATIVE_BOUNDARY_RIDGE_SIMPLICES''** :: One representative for each orbit of boundary ridge simplices ? Type: :''[[..:common#Array |Array]]<[[..:common#Bitset |Bitset]]<[[..:common#Int |Int]]%%>>%%'' ? **''REPRESENTATIVE_INTERIOR_RIDGE_SIMPLICES''** :: One representative for each orbit of interior ridge simplices ? Type: :''[[..:common#Array |Array]]<[[..:common#Bitset |Bitset]]<[[..:common#Int |Int]]%%>>%%'' ? **''REPRESENTATIVE_MAX_BOUNDARY_SIMPLICES''** :: One representative for each orbit of maximal-dimensional boundary simplices ? Type: :''[[..:common#Array |Array]]<[[..:common#Bitset |Bitset]]<[[..:common#Int |Int]]%%>>%%'' ? **''REPRESENTATIVE_MAX_INTERIOR_SIMPLICES''** :: One representative for each orbit of maximal-dimensional interior simplices ? Type: :''[[..:common#Array |Array]]<[[..:common#Bitset |Bitset]]<[[..:common#Int |Int]]%%>>%%'' ---- ==== Triangulation and volume ==== These properties collect information about triangulations of the object and properties usually computed from such, as the volume. ---- {{anchor:polytopal_subdivision:}} ? **''POLYTOPAL_SUBDIVISION''** :: ? Type: :''[[..:fan:SubdivisionOfPoints |SubdivisionOfPoints]]'' ? Properties of POLYTOPAL_SUBDIVISION: : ? **''REFINED_SPLITS''** :: The splits that are coarsenings of the subdivision. If the subdivision is regular these form the unique split decomposition of the corresponding weight function. ? Type: :''[[..:common#Set |Set]]<[[..:common#Int |Int]]>'' ---- {{anchor:triangulation:}} ? **''TRIANGULATION''** :: ? Type: :''[[..:topaz:GeometricSimplicialComplex |GeometricSimplicialComplex]]'' ? Properties of TRIANGULATION: : ? **''BOUNDARY''** :: ? derived from: : ''[[..:topaz:GeometricSimplicialComplex |GeometricSimplicialComplex]]'' ? Type: :''[[..:topaz:GeometricSimplicialComplex |GeometricSimplicialComplex]]'' ? Properties of BOUNDARY: : ? **''FACET_TRIANGULATIONS''** :: DOC_FIXME: Incomprehensible description! For each facet the set of simplex indices of BOUNDARY that triangulate it. ? Type: :''[[..:common#Array |Array]]<[[..:common#Set |Set]]<[[..:common#Int |Int]]%%>>%%'' ? **''GKZ_VECTOR''** :: GKZ-vector > See Chapter 7 in Gelfand, Kapranov, and Zelevinsky: > Discriminants, Resultants and Multidimensional Determinants, Birkhäuser 1994 ? Type: :''[[..:common#Vector |Vector]]'' ? **''MASSIVE_GKZ_VECTOR''** :: Calculate the massive GKZ vectors of the triangulations of a integral PointConfiguration //A//. For a definition see Chapter 11 of Gelfand, Kapranov, and Zelevinsky: Discriminants, Resultants and Multidimensional Determinants, Birkhäuser 1994. ? Type: :''[[..:common#Vector |Vector]]'' ? Example: :: To calculate the massive GKZ vector of a triangulation of a point configuration. This example is from the book mentioned above (p. 369, top right example). :: > $A=new PointConfiguration(POINTS=>[[1,0,0],[1,1,0],[1,2,0],[1,3,0],[1,0,1],[1,1,1],[1,0,2]]); > $A->add("TRIANGULATION", WEIGHTS=>[0,1,0,1,1,1,0]); > print $A->TRIANGULATION->MASSIVE_GKZ_VECTOR; 1 0 3 1 0 0 4 ? **''REFINED_SPLITS''** :: The splits that are coarsenings of the current ''[[..:polytope:PointConfiguration#TRIANGULATION |TRIANGULATION]]''. If the triangulation is regular these form the unique split decomposition of the corresponding weight function. ? Type: :''[[..:common#Set |Set]]<[[..:common#Int |Int]]>'' ? **''WEIGHTS''** :: Weight vector to construct a regular ''[[..:polytope:PointConfiguration#TRIANGULATION |TRIANGULATION]]''. Must be generic. ? Type: :''[[..:common#Vector |Vector]]'' ---- ==== Visualization ==== These properties are for visualization. ---- {{anchor:pif_cyclic_normal:}} ? **''PIF_CYCLIC_NORMAL''** :: ''[[..:polytope:Polytope#VIF_CYCLIC_NORMAL |VIF_CYCLIC_NORMAL]]'' of the ''[[..:polytope:PointConfiguration#CONVEX_HULL |CONVEX_HULL]]'', but with the indices form ''[[..:polytope:PointConfiguration#POINTS |POINTS]]'' instead of ''[[..:polytope:Polytope#VERTICES |VERTICES]]'' ? Type: :''[[..:common#Array |Array]]<[[..:common#Array |Array]]<[[..:common#Int |Int]]%%>>%%'' ---- {{anchor:point_labels:}} ? **''POINT_LABELS''** :: Unique names assigned to the ''[[..:polytope:PointConfiguration#POINTS |POINTS]]''. Alias for property ''[[..:polytope:VectorConfiguration#LABELS |LABELS]]''. ? 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:faces_of_dim:}} ? **''faces_of_dim([[..:polytope:PointConfiguration |PointConfiguration]] p)''** :: Output the faces of a given dimension ? Parameters: :: ''[[..:polytope:PointConfiguration |PointConfiguration]]'' ''p'': the input point configuration ? Returns: :''[[..:common#Array |Array]]<[[..:common#Set |Set]]<[[..:common#Int |Int]]%%>>%%'' ---- ==== 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()''** :: Ambient dimension of the point configuration (without the homogenization coordinate). Similar to ''[[..:polytope:Polytope#AMBIENT_DIM |AMBIENT_DIM]]''. ? Returns: :''[[..:common#Int |Int]]'' ---- {{anchor:dim:}} ? **''DIM()''** :: Affine dimension of the point configuration. Similar to ''[[..:polytope:Polytope#DIM |DIM]]''. ? Returns: :''[[..:common#Int |Int]]'' ---- ==== Visualization ==== These methods are for visualization. ---- {{anchor:visual:}} ? **''VISUAL()''** :: Visualize a point configuration. ? Options: : option list ''[[..:common#Visual_Polygons_decorations |Visual::Polygons::decorations]]'' : option list ''[[..:common#geometric_options |geometric_options]]'' ? Returns: :''[[..:polytope:Visual_PointConfiguration |Visual::PointConfiguration]]'' ---- {{anchor:visual_points:}} ? **''VISUAL_POINTS()''** :: Visualize the ''[[..:polytope:PointConfiguration#POINTS |POINTS]]'' of a point configuration. ? Options: : option list ''[[..:common#Visual_Polygons_decorations |Visual::Polygons::decorations]]'' : option list ''[[..:common#geometric_options |geometric_options]]'' ? Returns: :''[[..:common:Visual_Object |Visual::Object]]'' ----