# 3.5 Operations for Transformations

`tr1 * tr2`

The operator `*` evaluates to the product of the two transformations tr1 and tr2.

`tr * perm`
`perm * tr`

The operator `*` evaluates to the product of the transformation tr and the permutation perm in the given order if the degree of perm is less than or equal to the degree of tr.

`list * tr`
`tr * list`

The operator `*` evaluates to the list of products of the elements in list with the transformation tr. That means that the value is a new list new such that `new[i] = list[i] * tr` or ```new[i] = tr * list[i]```, respectively.

`i ^ tr`

The operator `^` evaluates to the image <i>^<tr> of the positive integer i under the transformation tr if i is less than the degree of tr.

`tr ^ 0`

The operator `^` evaluates to the identity transformation on n points if tr is a transformation on n points (see IdentityTransformation).

`tr ^ i`

For a positive integer i the operator `^` evaluates to the i-th power of the transformation tr.

`tr ^ -1`

The operator `^` evaluates to the inverse mapping of the transformation Binary Relations).

Version 2.4 (May 1998)