linbox
1
|
This is Iliopoulos' algorithm do 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. It is the implementation of Iliopoulos algorithm | |
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. It is the implementation of Iliopoulos algorithm | |
template<class Matrix , class Ring > | |
static Matrix & | diagonalizationIn (Matrix &A, const Ring &r) |
Diagonalize the matrix A. |
This is Iliopoulos' algorithm do diagonalize.
Compute Smith Form by elimination modulo m, for some modulus m such as S(n), the last invariant factor. The elimination method is originally described in "Worst Case Complexity Bounds on Algorithms for computing the Canonical Structure of Finite Abelian Groups and the Hermite and Smith Normal Forms of an Integer Matrix", by Costas Iliopoulos.