linbox

This is Iliopoulos' algorithm to diagonalize. More...
#include <smithformiliopoulos.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
eliminationCol will make the first col (*, 0, ..., 0) by elementary row operation.
It is the implementation of Iliopoulos algorithm