linbox
|
This is Iliopoulos' algorithm to diagonalize. More...
#include <smith-form-iliopoulos.h>
Static Protected Member Functions | |
template<class Matrix , class Ring > | |
static Matrix & | eliminationRow (Matrix &A, const Ring &r) |
eliminationRow will make the first row (*, 0, ..., 0) by col operations. More... | |
template<class Matrix , class Ring > | |
static Matrix & | eliminationCol (Matrix &A, const Ring &r) |
eliminationCol will make the first col (*, 0, ..., 0) by elementary row operation. More... | |
template<class Matrix , class Ring > | |
static Matrix & | diagonalizationIn (Matrix &A, const Ring &r) |
Diagonalize the matrix A. | |
This is Iliopoulos' algorithm to diagonalize.
Compute Smith Form by elimination modulo m, for m = S(n), the last invariant factor. The elimination method is originally described in
eliminationRow will make the first row (*, 0, ..., 0) by col operations.
It is the implementation of Iliopoulos algorithm. A Ring has basic ring functions plus gcd, xgcd, isDivisor, isUnit, normalIn
eliminationCol will make the first col (*, 0, ..., 0) by elementary row operation.
It is the implementation of Iliopoulos algorithm