Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
model::SmithDecomposition< N > Class Template Reference

#include <SmithDecomposition.h>

Collaboration diagram for model::SmithDecomposition< N >:

Public Member Functions

 SmithDecomposition (const MatrixNi &A)
const MatrixNi & matrixU () const
const MatrixNi & matrixD () const
const MatrixNi & matrixV () const
const MatrixNi & matrixX () const
const MatrixNi & matrixY () const

Detailed Description

template<int N>
class model::SmithDecomposition< N >

Class template which computes the Smith normal (or canonical) form of a square matrix of integers A.

The decomposition is: A=X*D*Y where X and Y are unimodular integers matrices D is a diagonal ingeter matrix such that D(k,k) divides D(k+1,k+1) The class also computes the matrices U and V such that D=U*A*V where U=inv(X) and V=inv(Y) are also unimodular integer matrices.

Definition at line 30 of file SmithDecomposition.h.

Constructor & Destructor Documentation

◆ SmithDecomposition()

template<int N>
model::SmithDecomposition< N >::SmithDecomposition ( const MatrixNi & A)
inline

The algorithm follows section 2 in GEORGE HAVAS AND BOHDAN S. MAJEWSKI, Integer Matrix Diagonalization, J. Symbolic Computation (1997) 24, 399–408.

Definition at line 227 of file SmithDecomposition.h.

Member Function Documentation

◆ matrixD()

template<int N>
const MatrixNi & model::SmithDecomposition< N >::matrixD ( ) const
inline

Definition at line 323 of file SmithDecomposition.h.

◆ matrixU()

template<int N>
const MatrixNi & model::SmithDecomposition< N >::matrixU ( ) const
inline

Definition at line 317 of file SmithDecomposition.h.

◆ matrixV()

template<int N>
const MatrixNi & model::SmithDecomposition< N >::matrixV ( ) const
inline

Definition at line 329 of file SmithDecomposition.h.

◆ matrixX()

template<int N>
const MatrixNi & model::SmithDecomposition< N >::matrixX ( ) const
inline

Definition at line 335 of file SmithDecomposition.h.

◆ matrixY()

template<int N>
const MatrixNi & model::SmithDecomposition< N >::matrixY ( ) const
inline

Definition at line 341 of file SmithDecomposition.h.


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