SharedMeatAxe
1.0
|
Functions | |
Poly_t * | CharPolFactor (const Matrix_t *mat) |
Characteristic Polynomial. More... | |
FPoly_t * | CharPol (const Matrix_t *mat) |
Characteristic Polynomial. More... | |
Poly_t * | MinPolFactor (Matrix_t *mat) |
Minimal Polynomial. More... | |
FPoly_t * | MinPol (Matrix_t *mat) |
Minimal polynomial. More... | |
Variables | |
long | CharPolSeed = 0 |
Seed for Characteristic Polynomial. More... | |
Characteristic Polynomial.
This function calculates the characteristic polynomial of a matrix in factored form. The return value is a pointer to a FPoly_t structure containing the irreducible factors of the characteristic polynomial.
mat | Pointer to the matrix. |
Characteristic Polynomial.
This function returns one factor of the characteristic polynomial of a given matrix. Further calls with a 0 argument return more factors or 0, if there are no more factors. Note that the factors obtained in this way are in general not irreducible.
Here is how CharPolFactor() works: If mat is different from 0, CharPolFactor() initializes its internal data and starts computing one cyclic subspace. The choice of starting vector for this first subspace depends on the global variable CharPolSeed. Usually, this variable has a value of 0, corresponding to the vector (1,0,...,0). Then, the polynomial of the matrix restricted to that cyclic subspace is constructed and returned to the caller.
If mat is 0 on the next call, CharPolFactor() resumes at the point where it returned the last time, calculates the next cyclic subspace and so on, until the complete space is exhausted.
mat | Pointer to the matrix. |
Minimal polynomial.
This function calculates the minimal polynomial of a matrix in factored form. The return value is a pointer to a FPoly_t structure containing the irreducible factors of the minimal polynomial.
mat | Pointer to the matrix. |
Minimal Polynomial.
This function returns one factor of the minimal polynomial of a given matrix. Further calls with a 0 argument return more factors or 0, if there are no more factors. Note that the factors obtained in this way are in general not irreducible.
If mat is different from 0, MinPolFactor() initializes its internal data and starts computing one cyclic subspace. Then, the polynomial of the matrix restricted to that cyclic subspace is constructed and returned to the caller.
If mat is 0 on the next call, MinPolFactor() resumes at the point where it returned the last time, calculates the next cyclic subspace and so on, until the complete space is exhausted.
mat | Pointer to the matrix, or 0. |
long CharPolSeed = 0 |
Seed for Characteristic Polynomial.
This variable is used by CharPolFactor() to select the first seed vector. By default, CharPolSeed has the value 0, i.e., the first seed vector is (1,0,...,0). Assigning the value 1 selects the start vector (0,1,...,0) in all subsequent calls to CharPolFactor(). If CharPolSeed is out of bounds, CharPolFactor() will reset it to 0.