linbox
Static Protected Member Functions
SmithFormIliopoulos Class Reference

This is Iliopoulos' algorithm do diagonalize. More...

#include <smith-form-iliopoulos.h>

Static Protected Member Functions

template<class Matrix , class Ring >
static MatrixeliminationRow (Matrix &A, const Ring &r)
 eliminationRow will make the first row (*, 0, ..., 0) by col operations.
template<class Matrix , class Ring >
static MatrixeliminationCol (Matrix &A, const Ring &r)
 eliminationCol will make the first col (*, 0, ..., 0) by elementary row operation.
template<class Matrix , class Ring >
static MatrixdiagonalizationIn (Matrix &A, const Ring &r)
 Diagonalize the matrix A.

Detailed Description

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

Bibliography:
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.

Member Function Documentation

static Matrix& eliminationRow ( Matrix A,
const Ring &  r 
) [inline, static, protected]

eliminationRow will make the first row (*, 0, ..., 0) by col operations.

It is the implementation of Iliopoulos algorithm

static Matrix& eliminationCol ( Matrix A,
const Ring &  r 
) [inline, static, protected]

eliminationCol will make the first col (*, 0, ..., 0) by elementary row operation.

It is the implementation of Iliopoulos algorithm


The documentation for this class was generated from the following file: