Matrix

The entire project contains matrices holding the coefficients of (in)equality-systems or affine functions.

All matrices have the following structure:

<coeff. of indices> | <coeff. of structure-par.> | <coeff. of pseudo-par.> | <offset>

Therefore the following line of a matrix

1 5 -1 3 7 2

describes the expression

1 * i + 5 * j -1 * k + 3 * m + 7 * loopo_lambda_dep1 + 2

assuming that (i,j,k) is the vector of all indices, m is a structure parameter and loopo_lambda_dep1 is a pseudo-parameter introduced by this tool. (The appearance of pseudo parameters is optional and depends on the context, and it is explained at the place where they appear.)

In order to denote matrices with rational coefficients, we prefix the matrix with a global denominator, i.e., all matrix entries must be divided by this denominator.

If an (in)equality system is described the implicit meaning is:
expression <op> 0, where <op> evaluates to ">=" for inequalities or "=" for equations.

Format for matrices:

global denominator
the coefficient matrix (row-wise)
The size of the coefficient matrix is determined by some previously given numbers (usually placed directly before); the precise meaning of these values is given in the documentation of the context in which the matrix appears.


Harald Keimer, 22.04.1998, Martin Griebl, 12.12.2001