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
