Description
A must be a matrix from the ambient space of the cone
C to some other target space and
b must be a vector in that target space, i.e. the number of columns of
A must equal the ambient dimension of
C and
A and
b must have the same number of rows. Then
affineImage computes the polyhedron
{(A*c)+b | c in C} and the cone
{A*c | c in C} if
b is 0 or omitted. If
A is omitted then it is set to identity.
For example, consider the following three dimensional cone.
i1 : C = posHull matrix {{1,2,3},{3,1,2},{2,3,1}}
o1 = {ambient dimension => 3 }
dimension of lineality space => 0
dimension of the cone => 3
number of facets => 3
number of rays => 3
o1 : Cone
|
This Cone can be mapped to the positive orthant:
i2 : A = matrix {{-5,7,1},{1,-5,7},{7,1,-5}}
o2 = | -5 7 1 |
| 1 -5 7 |
| 7 1 -5 |
3 3
o2 : Matrix ZZ <-- ZZ
|
i3 : C1 = affineImage(A,C)
o3 = {ambient dimension => 3 }
dimension of lineality space => 0
dimension of the cone => 3
number of facets => 3
number of rays => 3
o3 : Cone
|
i4 : rays C1
o4 = | 1 0 0 |
| 0 1 0 |
| 0 0 1 |
3 3
o4 : Matrix ZZ <-- ZZ
|