PolyhedralSets[PolyhedralCones]
DualCone
returns the dual cone of a polyhedral cone with the origin as vertex
Calling Sequence
Parameters
Description
Examples
Compatibility
DualCone(pc)
pc
-
PolyhedralCone
The command DualCone(pc) returns, as a polyhedral cone, the dual cone of the polyhedral cone pc, provided that pc has the origin as vertex, otherwise an error is raised.
Assumptions
The polyhedral cone pc is assumed to have the origin as vertex.
Terminology
A polyhedral cone in dimension d is the solution set of a system of homogeneous linear non-strict inequalities in d variables. Equivalently, this is the conical hull of finitely many vectors with d coordinates. Here, the base field is that of the real numbers.
Suppose that C is the conical hull of k vectors with d coordinates. Then C is given by the matrix V with k columns and d columns, whose columns are the k vectors. The dual cone of C is the polyhedral set in dimension d which is the solution set of the system of homogeneous linear inequalities, whose matrix is the transpose of the matrix V.
The polyhedral cone C in dimension d is called simplicial if it is generated by d linearly independent vectors. A simplicial decomposition of C is a finite set of simplicial cones so that the union of their interiors (in the Euclidean topology) is equal to the interior of C.
Note that a polyhedral cone C, as a polyhedral set, has a single vertex which is the origin. In practice, it is convenient to use the term polyhedral cone for the translation of a polyhedral cone in the formal sense defined above. With this abuse of terminology, a polyhedral cone is given by a point (its apex, or vertex) and a number of vectors (its generating rays, or simply rays).
with⁡PolyhedralSets:with⁡PolyhedralCones:
Define a polyhedral set
ps≔PolyhedralSet⁡−x1−x2−x3≤0,−x1+x2+x3≤0,x1−x2+x3≤0;PolyhedralSets:-Plot⁡ps
ps≔{Coordinates:x1,x2,x3Relations:−x1−x2−x3≤0,−x1+x2+x3≤0,x1−x2+x3≤0
Define a polyhedral cone from the above polyhedral set
pc≔PolyhedralCone⁡ps
pc≔polyhedral cone with vertex 0,0,0 and rays 11010−101−1
Compute its dual cone
DualCone⁡pc
polyhedral cone with vertex 0,0,0 and rays 1−11−111−1−1−1
Define another polyhedral set
ps≔PolyhedralSet⁡0,0,0,1,−1,1,−1,1,1,−1,−1,1,1,1,11;PolyhedralSets:-Plot⁡ps
ps≔{Coordinates:x1,x2,x3Relations:−x2−x3≤0,−x1−x3≤0,x1+5⁢x26−x36≤0,x1+6⁢x25−x35≤0
pc≔polyhedral cone with vertex 0,0,0 and rays 1−11−1−111111111−111
polyhedral cone with vertex 0,0,0 and rays 0−1−1−10−1156−16561−16
Define a polyhedral cone from its vertex and rays
pc≔PolyhedralCone⁡1,1,0,1,1,0
pc≔polyhedral cone with vertex 1,1 and rays 0110
Its dual is not well-defined, because the vertex is not the origin.
Error, (in PolyhedralSets:-PolyhedralCones:-PolyhedralCone:-DualCone) the input polyhedral cone must have the origin as its vertex
The PolyhedralSets[PolyhedralCones][DualCone] command was introduced in Maple 2025.
For more information on Maple 2025 changes, see Updates in Maple 2025.
See Also
PolyhedralSets[PolyhedralCones][PolyhedralCone]
PolyhedralSets[PolyhedralCones][Rays]
PolyhedralSets[PolyhedralCones][SimplicialDecomposition]
PolyhedralSets[PolyhedralCones][Vertex]
Download Help Document