SharedMeatAxe
1.0
|
A set of matrices. More...
#include <meataxe.h>
A set of matrices.
A Set of Matrices.
The MatrixSet_t structure represents a sequence of linearly independent matrices over a finite field. All matrices in the set have the same number of rows and columns. To assure that the matrices are linearly independent, the sequence is kept in echelon form. This means, each matrix in the set has a nonzero mark, and all matrices after this matrix have a zero at the corresponding position. Note that the individual matrices within the set are not in echelon form.
There is only one way to create a matrix set: the application first allocates a MatrixSet_t structure, and then adds matrices to the set with MsCleanAndAppend(). The latter function guarantees that the matrix set remains linearly independent — it will not add a matrix which is already in the span of the set. A second function, MsClean(), can be used to determine if a matrix is in the span of a matrix set without modifying the set.
Once a matrix has been added to a matrix set, the set takes the ownership of that matrix. The application must not modify of free a matrix after it has een added to a matrix set. When the matrix set is freed with MsFree(), all matrices in the set are freed, too.