# affineImage(Matrix,Cone,Matrix) -- computes the affine image of a cone

## Synopsis

• Function: affineImage
• Usage:
C1 = affineImage(A,C,b)
C1 = affineImage(A,C)
C1 = affineImage(C,b)
• Inputs:
• A, , with entries in ZZ or QQ
• b, , with entries in ZZ or QQ and only one column representing a vector
• Outputs:

## 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 = coneFromVData matrix {{1,2,3},{3,1,2},{2,3,1}} o1 = C 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 = C1 o3 : Cone i4 : rays C1 o4 = | 1 0 0 | | 0 1 0 | | 0 0 1 | 3 3 o4 : Matrix ZZ <--- ZZ