CAPD DynSys Library  5.2.0
capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT > Class Template Referenceabstract

#include <capd/matrixAlgorithms/SmithForm.h>

Public Types

typedef TraitsT Traits
 
typedef Traits::Matrix Matrix
 
typedef Traits::MatrixQ MatrixQ
 
typedef Traits::MatrixR MatrixR
 

Public Member Functions

 SmithForm (Matrix &B, bool computeQ, bool computeQinv, bool computeR, bool computeRinv)
 
const MatrixQgetQ () const
 
const MatrixQgetQinv () const
 
const MatrixRgetR () const
 
const MatrixRgetRinv () const
 
const intgetT () const
 
const intgetS () const
 
virtual void operator() ()=0
 
virtual ~SmithForm ()
 

Protected Attributes

MatrixT & _B
 
int _m
 
int _n
 
MatrixQ _Q
 
MatrixQ _Qinv
 
MatrixR _R
 
MatrixR _Rinv
 
int _s
 
int _t
 

Member Typedef Documentation

◆ Matrix

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
typedef Traits::Matrix capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::Matrix

◆ MatrixQ

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
typedef Traits::MatrixQ capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::MatrixQ

◆ MatrixR

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
typedef Traits::MatrixR capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::MatrixR

◆ Traits

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
typedef TraitsT capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::Traits

Constructor & Destructor Documentation

◆ SmithForm()

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::SmithForm ( Matrix B,
bool  computeQ,
bool  computeQinv,
bool  computeR,
bool  computeRinv 
)
inline

◆ ~SmithForm()

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
virtual capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::~SmithForm ( )
inlinevirtual

Member Function Documentation

◆ getQ()

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
const MatrixQ& capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::getQ ( ) const
inline

◆ getQinv()

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
const MatrixQ& capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::getQinv ( ) const
inline

◆ getR()

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
const MatrixR& capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::getR ( ) const
inline

◆ getRinv()

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
const MatrixR& capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::getRinv ( ) const
inline

◆ getS()

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
const int& capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::getS ( ) const
inline

◆ getT()

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
const int& capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::getT ( ) const
inline

◆ operator()()

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
virtual void capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::operator() ( )
pure virtual

Member Data Documentation

◆ _B

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
MatrixT& capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::_B
protected

◆ _m

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
int capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::_m
protected

◆ _n

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
int capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::_n
protected

◆ _Q

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
MatrixQ capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::_Q
protected

◆ _Qinv

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
MatrixQ capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::_Qinv
protected

◆ _R

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
MatrixR capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::_R
protected

◆ _Rinv

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
MatrixR capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::_Rinv
protected

◆ _s

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
int capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::_s
protected

◆ _t

template<class MatrixT , typename TraitsT = SmithFormTraits<MatrixT>>
int capd::matrixAlgorithms::SmithForm< MatrixT, TraitsT >::_t
protected