CAPD DynSys Library
5.2.0
|
Matrix algorithms: Gauss elimination, orthonormalization, QR decomposition etc. More...
Classes | |
struct | _CreateSmithForm_ |
struct | _CreateSmithForm_< Matrix< Scalar, 0, 0 > > |
struct | CAPDIntMatrixAlgorithms |
class | CAPDSmithForm |
class | Gershgorin |
class | Gershgorin< MatrixType, false > |
Specialization for non-rigorous types. More... | |
class | Gershgorin< MatrixType, true > |
Specialization for rigorous (interval) types. More... | |
struct | GetExpRemainder |
struct | GetExpRemainder< T, false > |
struct | GetExpRemainder< T, true > |
struct | GetPARISmithFormTraits |
struct | IInvert |
struct | IntMatrixAlgorithmsFactory |
class | Invert |
class | PARIInterface |
struct | PARIIntMatrixAlgorithms |
class | PARISmithForm |
class | QuotientBaseMatrix |
class | SmithForm |
class | SmithFormFactory |
struct | SmithFormTraits |
class | SolveLinearEquation |
Typedefs | |
typedef CAPDIntMatrixAlgorithms | DefaultIntMatrixAlgorithms |
typedef long long | llong |
Functions | |
template<typename MatrixType , typename ResultType > | |
void | gauss (MatrixType a, ResultType b, ResultType &result) |
template<typename MatrixType , typename VectorType > | |
VectorType | gauss (const MatrixType &A, const VectorType &b) |
Gauss elimination. More... | |
template<typename MatrixType > | |
void | orthonormalize (MatrixType &Q) |
template<typename MatrixType > | |
void | orthonormalize (MatrixType &Q, const typename MatrixType::RowVectorType &v) |
template<typename MatrixType > | |
void | orthonormalize (MatrixType &Q, const MatrixType &R) |
template<typename MatrixType > | |
void | QR_decompose (const MatrixType &A, MatrixType &Q, MatrixType &R) |
template<typename MatrixType > | |
int | symMatrixDiagonalize (const MatrixType &A, MatrixType &D, typename MatrixType::ScalarType diagonalizingRelTolerance=capd::TypeTraits< typename MatrixType::ScalarType >::epsilon()) |
template<typename MatrixType > | |
MatrixType::ScalarType | spectralRadiusOfSymMatrix (const MatrixType &A, typename MatrixType::ScalarType diagonalizingRelTolerance=capd::TypeTraits< typename MatrixType::ScalarType >::epsilon()) |
this function computes bound for spectral radius of a symmetric matrix first it computes matrix which has the same eigenvalues and which is close to diagonal, next bound is computed from Gerschgorin theorem More... | |
template<typename MatrixType > | |
MatrixType::ScalarType | maxEigenValueOfSymMatrix (const MatrixType &A, typename MatrixType::ScalarType diagonalizingRelTolerance=capd::TypeTraits< typename MatrixType::ScalarType >::epsilon()) |
this function computes bound for maximal eigenvalue of a symmetric matrix first it computes matrix which has the same eigenvalues and which is close to diagonal, next bound is computed from Gerschgorin theorem More... | |
template<typename MatrixType > | |
MatrixType | matrixExp (const MatrixType &M, typename MatrixType::ScalarType tolerance=capd::TypeTraits< typename MatrixType::ScalarType >::epsilon()) |
template<typename MatrixType > | |
void | croutDecomposition (const MatrixType &A, MatrixType &D, MatrixType &G) |
Crout Decomposition of a matrix As a result matrix D is a lower triangle and G is an upper triangle with 1 on diagonal. More... | |
template<typename MatrixType > | |
MatrixType | invLowerTriangleMatrix (const MatrixType &A) |
template<typename MatrixType > | |
MatrixType | invUpperTriangleMatrix (const MatrixType &A) |
template<typename MatrixType > | |
MatrixType | inverseMatrix (const MatrixType &A) |
template<typename MatrixType > | |
MatrixType | gaussInverseMatrix (const MatrixType &A) |
template<typename MatrixType > | |
MatrixType::ScalarType | det (MatrixType A) |
Computes determinant of a matrix A by LU decomposition. More... | |
template<typename MatrixType , typename VectorType , typename IntVectorType > | |
void | computeSortingPermutation (const MatrixType &Q, const VectorType &v, IntVectorType &permutation) |
computes sorting permutation according to sizes of the set in the direction of the base vectors More... | |
template<typename MatrixType , typename IntVectorType > | |
void | QRdecomposeWithPivoting (const MatrixType &A, const typename MatrixType::RowVectorType &v, MatrixType &Q, MatrixType &R, typename MatrixType::RowVectorType &sizes, IntVectorType &p) |
template<class matrix > | |
void | kernelImage (matrix &B, matrix &kernel, matrix &image) |
template<class matrix , class sqMatrix1 , class sqMatrix2 > | |
void | smithForm (matrix &B, sqMatrix1 &Q, sqMatrix1 &Qinv, sqMatrix2 &R, sqMatrix2 &Rinv, int &s, int &t) |
template<class matrix , class vector , class colVector > | |
bool | solveLinearEquation (const matrix &A, const colVector &b, vector &x) |
template<class matrix > | |
bool | invert (const matrix &A, matrix &Ainv) |
template<class matrix , class IntVector > | |
void | quotientBaseMatrix (const matrix &A_W, const matrix &A_V, matrix &A_U, IntVector &A_orders) |
template<class matrix > | |
void | copy (const matrix &A, matrix &result, int row, int col) |
template<class matrix > | |
void | spaceIntersection (const matrix &A, const matrix &B, matrix &C) |
template<typename intType > | |
bool | isDivisible (intType a, intType b) |
bool | isDivisible (double, double) |
template<typename intType > | |
bool | isInvertible (intType a) |
template<typename intType > | |
intType | inverse (intType a) |
template<typename matrix > | |
capd::vectalg::Matrix< typename matrix::ScalarType, 0, 0 > | emptyMatrix () |
template<class matrix > | |
void | rowExchange (matrix &A, int i, int j) |
template<class matrix > | |
void | rowMultiply (matrix &A, int i, typename matrix::ScalarType s) |
template<class matrix > | |
void | rowAdd (matrix &A, int i, int j, typename matrix::ScalarType s) |
template<class matrix > | |
void | columnExchange (matrix &A, int i, int j) |
template<class matrix > | |
void | columnMultiply (matrix &A, int j, typename matrix::ScalarType s) |
template<class matrix > | |
void | columnAdd (matrix &A, int i, int j, typename matrix::ScalarType s) |
template<class matrix , class sqMatrix > | |
void | rowAdd (matrix &B, sqMatrix &Q, int i, int j, typename matrix::ScalarType q) |
template<class matrix , class sqMatrix > | |
void | columnExchange (matrix &B, sqMatrix &R, int i, int j) |
template<class matrix , class sqMatrix > | |
void | columnMultiply (matrix &B, sqMatrix &R, int i, typename matrix::ScalarType q) |
template<class matrix , class sqMatrix > | |
void | columnAdd (matrix &B, sqMatrix &R, int i, int j, typename matrix::ScalarType q) |
template<class matrix , class sqMatrix > | |
void | rowExchange (matrix &B, sqMatrix &Q, sqMatrix &Qinv, int i, int j) |
template<class matrix , class sqMatrix > | |
void | rowMultiply (matrix &B, sqMatrix &Q, sqMatrix &Qinv, int i, typename matrix::ScalarType q) |
template<class matrix , class sqMatrix > | |
void | rowAdd (matrix &B, sqMatrix &Q, sqMatrix &Qinv, int i, int j, typename matrix::ScalarType q) |
template<class matrix , class sqMatrix > | |
void | columnExchange (matrix &B, sqMatrix &R, sqMatrix &Rinv, int i, int j) |
template<class matrix , class sqMatrix > | |
void | columnMultiply (matrix &B, sqMatrix &R, sqMatrix &Rinv, int i, typename matrix::ScalarType q) |
template<class matrix , class sqMatrix > | |
void | columnAdd (matrix &B, sqMatrix &R, sqMatrix &Rinv, int i, int j, typename matrix::ScalarType q) |
template<class matrix , class sqMatrix > | |
void | partRowReduce (matrix &B, sqMatrix &Q, sqMatrix &Qinv, int k, int l) |
template<class matrix , class sqMatrix > | |
void | partColumnReduce (matrix &B, sqMatrix &R, sqMatrix &Rinv, int k, int l) |
template<class matrix > | |
void | smallestNonZero (const matrix &A, typename matrix::ScalarType &s, int &iOpt, int &jOpt) |
template<class matrix > | |
bool | nonZero (const matrix &A) |
template<class matrix , class sqMatrix > | |
void | rowPrepare (matrix &B, sqMatrix &Q, sqMatrix &Qinv, int k, int l) |
template<class matrix , class sqMatrix > | |
void | rowReduce (matrix &B, sqMatrix &Q, sqMatrix &Qinv, int k, int l) |
template<class matrix , class sqMatrix > | |
void | rowEchelon (matrix &B, sqMatrix &Q, sqMatrix &Qinv, int &k) |
template<class matrix , class sqMatrix > | |
void | columnPrepare (matrix &B, sqMatrix &R, sqMatrix &Rinv, int k, int l) |
template<class matrix , class sqMatrix > | |
void | columnReduce (matrix &B, sqMatrix &R, sqMatrix &Rinv, int k, int l) |
template<class matrix , class sqMatrix > | |
void | columnEchelon (matrix &B, sqMatrix &R, sqMatrix &Rinv, int &l) |
template<class MatrixType > | |
void | krawczykCorrection (const MatrixType &A, MatrixType &invA) |
template<class MatrixType > | |
MatrixType | krawczykInverse (const MatrixType &A) |
template void | rowExchange< capd::vectalg::Matrix< int, 0, 0 > > (capd::vectalg::Matrix< int, 0, 0 > &A, int i, int j) |
template void | rowMultiply< capd::vectalg::Matrix< int, 0, 0 > > (capd::vectalg::Matrix< int, 0, 0 > &A, int i, capd::vectalg::Matrix< int, 0, 0 >::ScalarType s) |
template void | rowAdd< capd::vectalg::Matrix< int, 0, 0 > > (capd::vectalg::Matrix< int, 0, 0 > &A, int i, int j, capd::vectalg::Matrix< int, 0, 0 >::ScalarType s) |
template void | columnExchange< capd::vectalg::Matrix< int, 0, 0 > > (capd::vectalg::Matrix< int, 0, 0 > &A, int i, int j) |
template void | columnMultiply< capd::vectalg::Matrix< int, 0, 0 > > (capd::vectalg::Matrix< int, 0, 0 > &A, int j, capd::vectalg::Matrix< int, 0, 0 >::ScalarType s) |
template void | columnAdd< capd::vectalg::Matrix< int, 0, 0 > > (capd::vectalg::Matrix< int, 0, 0 > &A, int i, int j, capd::vectalg::Matrix< int, 0, 0 >::ScalarType s) |
template void | smallestNonZero< capd::vectalg::Matrix< int, 0, 0 > > (const capd::vectalg::Matrix< int, 0, 0 > &A, capd::vectalg::Matrix< int, 0, 0 >::ScalarType &s, int &iOpt, int &jOpt) |
template bool | nonZero< capd::vectalg::Matrix< int, 0, 0 > > (const capd::vectalg::Matrix< int, 0, 0 > &A) |
PARI_SMITH_FORM (short) | |
PARI_SMITH_FORM (int) | |
PARI_SMITH_FORM (long) | |
PARI_SMITH_FORM (llong) | |
INSTANCE_DEF (short) | |
INSTANCE_DEF (int) | |
INSTANCE_DEF (long) | |
INSTANCE_DEF (llong) | |
INSTANCE_DEF (Zp) | |
INSTANCE_DEF (Z2) | |
CREATE_SMITH_FORM (short) | |
CREATE_SMITH_FORM (int) | |
CREATE_SMITH_FORM (long) | |
CREATE_SMITH_FORM (llong) | |
template vectalg::Matrix< capd::DInterval, CAPD_DEFAULT_DIMENSION, CAPD_DEFAULT_DIMENSION > | krawczykInverse< vectalg::Matrix< capd::DInterval, CAPD_DEFAULT_DIMENSION, CAPD_DEFAULT_DIMENSION > > (const vectalg::Matrix< capd::DInterval, CAPD_DEFAULT_DIMENSION, CAPD_DEFAULT_DIMENSION > &) |
PARI_SMITH_FORM (MpInt) | |
INSTANCE_DEF (MpInt) | |
Matrix algorithms: Gauss elimination, orthonormalization, QR decomposition etc.
typedef long long capd::matrixAlgorithms::llong |
void capd::matrixAlgorithms::columnAdd | ( | matrix & | A, |
int | i, | ||
int | j, | ||
typename matrix::ScalarType | s | ||
) |
void capd::matrixAlgorithms::columnAdd | ( | matrix & | B, |
sqMatrix & | R, | ||
int | i, | ||
int | j, | ||
typename matrix::ScalarType | q | ||
) |
void capd::matrixAlgorithms::columnAdd | ( | matrix & | B, |
sqMatrix & | R, | ||
sqMatrix & | Rinv, | ||
int | i, | ||
int | j, | ||
typename matrix::ScalarType | q | ||
) |
template void capd::matrixAlgorithms::columnAdd< capd::vectalg::Matrix< int, 0, 0 > > | ( | capd::vectalg::Matrix< int, 0, 0 > & | A, |
int | i, | ||
int | j, | ||
capd::vectalg::Matrix< int, 0, 0 >::ScalarType | s | ||
) |
void capd::matrixAlgorithms::columnEchelon | ( | matrix & | B, |
sqMatrix & | R, | ||
sqMatrix & | Rinv, | ||
int & | l | ||
) |
void capd::matrixAlgorithms::columnExchange | ( | matrix & | B, |
sqMatrix & | R, | ||
int | i, | ||
int | j | ||
) |
void capd::matrixAlgorithms::columnExchange | ( | matrix & | B, |
sqMatrix & | R, | ||
sqMatrix & | Rinv, | ||
int | i, | ||
int | j | ||
) |
template void capd::matrixAlgorithms::columnExchange< capd::vectalg::Matrix< int, 0, 0 > > | ( | capd::vectalg::Matrix< int, 0, 0 > & | A, |
int | i, | ||
int | j | ||
) |
void capd::matrixAlgorithms::columnMultiply | ( | matrix & | A, |
int | j, | ||
typename matrix::ScalarType | s | ||
) |
void capd::matrixAlgorithms::columnMultiply | ( | matrix & | B, |
sqMatrix & | R, | ||
int | i, | ||
typename matrix::ScalarType | q | ||
) |
void capd::matrixAlgorithms::columnMultiply | ( | matrix & | B, |
sqMatrix & | R, | ||
sqMatrix & | Rinv, | ||
int | i, | ||
typename matrix::ScalarType | q | ||
) |
template void capd::matrixAlgorithms::columnMultiply< capd::vectalg::Matrix< int, 0, 0 > > | ( | capd::vectalg::Matrix< int, 0, 0 > & | A, |
int | j, | ||
capd::vectalg::Matrix< int, 0, 0 >::ScalarType | s | ||
) |
void capd::matrixAlgorithms::columnPrepare | ( | matrix & | B, |
sqMatrix & | R, | ||
sqMatrix & | Rinv, | ||
int | k, | ||
int | l | ||
) |
void capd::matrixAlgorithms::columnReduce | ( | matrix & | B, |
sqMatrix & | R, | ||
sqMatrix & | Rinv, | ||
int | k, | ||
int | l | ||
) |
void capd::matrixAlgorithms::computeSortingPermutation | ( | const MatrixType & | Q, |
const VectorType & | v, | ||
IntVectorType & | permutation | ||
) |
computes sorting permutation according to sizes of the set in the direction of the base vectors
Q | ||
Q | matrix of base vectors (in columns) | |
v | ||
v | set in given coordinates | |
permutation | ||
[out] | permutation |
void capd::matrixAlgorithms::copy | ( | const matrix & | A, |
matrix & | result, | ||
int | row, | ||
int | col | ||
) |
capd::matrixAlgorithms::CREATE_SMITH_FORM | ( | int | ) |
capd::matrixAlgorithms::CREATE_SMITH_FORM | ( | llong | ) |
capd::matrixAlgorithms::CREATE_SMITH_FORM | ( | long | ) |
capd::matrixAlgorithms::CREATE_SMITH_FORM | ( | short | ) |
void capd::matrixAlgorithms::croutDecomposition | ( | const MatrixType & | A, |
MatrixType & | D, | ||
MatrixType & | G | ||
) |
Crout Decomposition of a matrix As a result matrix D is a lower triangle and G is an upper triangle with 1 on diagonal.
Crout Decomposition of a positive definite matrix As a result matrix D is a lower triangle and G is an upper triangle with 1 on diagonal.
MatrixType::ScalarType capd::matrixAlgorithms::det | ( | MatrixType | A | ) |
Computes determinant of a matrix A by LU decomposition.
A | given matrix |
capd::vectalg::Matrix<typename matrix::ScalarType, 0, 0> capd::matrixAlgorithms::emptyMatrix | ( | ) |
VectorType capd::matrixAlgorithms::gauss | ( | const MatrixType & | A, |
const VectorType & | b | ||
) |
Gauss elimination.
this function solves equaiton A*x=b for x where A is nonsingular matrix
void capd::matrixAlgorithms::gauss | ( | MatrixType | a, |
ResultType | b, | ||
ResultType & | result | ||
) |
MatrixType capd::matrixAlgorithms::gaussInverseMatrix | ( | const MatrixType & | A | ) |
capd::matrixAlgorithms::INSTANCE_DEF | ( | int | ) |
capd::matrixAlgorithms::INSTANCE_DEF | ( | llong | ) |
capd::matrixAlgorithms::INSTANCE_DEF | ( | long | ) |
capd::matrixAlgorithms::INSTANCE_DEF | ( | MpInt | ) |
capd::matrixAlgorithms::INSTANCE_DEF | ( | short | ) |
capd::matrixAlgorithms::INSTANCE_DEF | ( | Z2 | ) |
capd::matrixAlgorithms::INSTANCE_DEF | ( | Zp | ) |
|
inline |
MatrixType capd::matrixAlgorithms::inverseMatrix | ( | const MatrixType & | A | ) |
bool capd::matrixAlgorithms::invert | ( | const matrix & | A, |
matrix & | Ainv | ||
) |
MatrixType capd::matrixAlgorithms::invLowerTriangleMatrix | ( | const MatrixType & | A | ) |
MatrixType capd::matrixAlgorithms::invUpperTriangleMatrix | ( | const MatrixType & | A | ) |
|
inline |
|
inline |
void capd::matrixAlgorithms::kernelImage | ( | matrix & | B, |
matrix & | kernel, | ||
matrix & | image | ||
) |
void capd::matrixAlgorithms::krawczykCorrection | ( | const MatrixType & | A, |
MatrixType & | invA | ||
) |
MatrixType capd::matrixAlgorithms::krawczykInverse | ( | const MatrixType & | A | ) |
MatrixType capd::matrixAlgorithms::matrixExp | ( | const MatrixType & | M, |
typename MatrixType::ScalarType | tolerance = capd::TypeTraits<typename MatrixType::ScalarType>::epsilon() |
||
) |
MatrixType::ScalarType capd::matrixAlgorithms::maxEigenValueOfSymMatrix | ( | const MatrixType & | A, |
typename MatrixType::ScalarType | diagonalizingRelTolerance = capd::TypeTraits<typename MatrixType::ScalarType>::epsilon() |
||
) |
this function computes bound for maximal eigenvalue of a symmetric matrix first it computes matrix which has the same eigenvalues and which is close to diagonal, next bound is computed from Gerschgorin theorem
this function computes upper bound for maximal eigenvalue of a symmetric matrix first it computes matrix which has the same eigenvalues and which is close to diagonal, next upper bound is computed from Gerschgorin theorem
bool capd::matrixAlgorithms::nonZero | ( | const matrix & | A | ) |
template bool capd::matrixAlgorithms::nonZero< capd::vectalg::Matrix< int, 0, 0 > > | ( | const capd::vectalg::Matrix< int, 0, 0 > & | A | ) |
void capd::matrixAlgorithms::orthonormalize | ( | MatrixType & | Q | ) |
void capd::matrixAlgorithms::orthonormalize | ( | MatrixType & | Q, |
const MatrixType & | R | ||
) |
TODO: check and replace with the above
TODO: check and replace with the above
void capd::matrixAlgorithms::orthonormalize | ( | MatrixType & | Q, |
const typename MatrixType::RowVectorType & | v | ||
) |
capd::matrixAlgorithms::PARI_SMITH_FORM | ( | int | ) |
capd::matrixAlgorithms::PARI_SMITH_FORM | ( | llong | ) |
capd::matrixAlgorithms::PARI_SMITH_FORM | ( | long | ) |
capd::matrixAlgorithms::PARI_SMITH_FORM | ( | MpInt | ) |
capd::matrixAlgorithms::PARI_SMITH_FORM | ( | short | ) |
void capd::matrixAlgorithms::partColumnReduce | ( | matrix & | B, |
sqMatrix & | R, | ||
sqMatrix & | Rinv, | ||
int | k, | ||
int | l | ||
) |
void capd::matrixAlgorithms::partRowReduce | ( | matrix & | B, |
sqMatrix & | Q, | ||
sqMatrix & | Qinv, | ||
int | k, | ||
int | l | ||
) |
void capd::matrixAlgorithms::QR_decompose | ( | const MatrixType & | A, |
MatrixType & | Q, | ||
MatrixType & | R | ||
) |
void capd::matrixAlgorithms::QRdecomposeWithPivoting | ( | const MatrixType & | A, |
const typename MatrixType::RowVectorType & | v, | ||
MatrixType & | Q, | ||
MatrixType & | R, | ||
typename MatrixType::RowVectorType & | sizes, | ||
IntVectorType & | p | ||
) |
void capd::matrixAlgorithms::quotientBaseMatrix | ( | const matrix & | A_W, |
const matrix & | A_V, | ||
matrix & | A_U, | ||
IntVector & | A_orders | ||
) |
void capd::matrixAlgorithms::rowAdd | ( | matrix & | A, |
int | i, | ||
int | j, | ||
typename matrix::ScalarType | s | ||
) |
void capd::matrixAlgorithms::rowAdd | ( | matrix & | B, |
sqMatrix & | Q, | ||
int | i, | ||
int | j, | ||
typename matrix::ScalarType | q | ||
) |
void capd::matrixAlgorithms::rowAdd | ( | matrix & | B, |
sqMatrix & | Q, | ||
sqMatrix & | Qinv, | ||
int | i, | ||
int | j, | ||
typename matrix::ScalarType | q | ||
) |
template void capd::matrixAlgorithms::rowAdd< capd::vectalg::Matrix< int, 0, 0 > > | ( | capd::vectalg::Matrix< int, 0, 0 > & | A, |
int | i, | ||
int | j, | ||
capd::vectalg::Matrix< int, 0, 0 >::ScalarType | s | ||
) |
void capd::matrixAlgorithms::rowEchelon | ( | matrix & | B, |
sqMatrix & | Q, | ||
sqMatrix & | Qinv, | ||
int & | k | ||
) |
void capd::matrixAlgorithms::rowExchange | ( | matrix & | B, |
sqMatrix & | Q, | ||
sqMatrix & | Qinv, | ||
int | i, | ||
int | j | ||
) |
template void capd::matrixAlgorithms::rowExchange< capd::vectalg::Matrix< int, 0, 0 > > | ( | capd::vectalg::Matrix< int, 0, 0 > & | A, |
int | i, | ||
int | j | ||
) |
void capd::matrixAlgorithms::rowMultiply | ( | matrix & | A, |
int | i, | ||
typename matrix::ScalarType | s | ||
) |
void capd::matrixAlgorithms::rowMultiply | ( | matrix & | B, |
sqMatrix & | Q, | ||
sqMatrix & | Qinv, | ||
int | i, | ||
typename matrix::ScalarType | q | ||
) |
template void capd::matrixAlgorithms::rowMultiply< capd::vectalg::Matrix< int, 0, 0 > > | ( | capd::vectalg::Matrix< int, 0, 0 > & | A, |
int | i, | ||
capd::vectalg::Matrix< int, 0, 0 >::ScalarType | s | ||
) |
void capd::matrixAlgorithms::rowPrepare | ( | matrix & | B, |
sqMatrix & | Q, | ||
sqMatrix & | Qinv, | ||
int | k, | ||
int | l | ||
) |
void capd::matrixAlgorithms::rowReduce | ( | matrix & | B, |
sqMatrix & | Q, | ||
sqMatrix & | Qinv, | ||
int | k, | ||
int | l | ||
) |
void capd::matrixAlgorithms::smallestNonZero | ( | const matrix & | A, |
typename matrix::ScalarType & | s, | ||
int & | iOpt, | ||
int & | jOpt | ||
) |
template void capd::matrixAlgorithms::smallestNonZero< capd::vectalg::Matrix< int, 0, 0 > > | ( | const capd::vectalg::Matrix< int, 0, 0 > & | A, |
capd::vectalg::Matrix< int, 0, 0 >::ScalarType & | s, | ||
int & | iOpt, | ||
int & | jOpt | ||
) |
void capd::matrixAlgorithms::smithForm | ( | matrix & | B, |
sqMatrix1 & | Q, | ||
sqMatrix1 & | Qinv, | ||
sqMatrix2 & | R, | ||
sqMatrix2 & | Rinv, | ||
int & | s, | ||
int & | t | ||
) |
bool capd::matrixAlgorithms::solveLinearEquation | ( | const matrix & | A, |
const colVector & | b, | ||
vector & | x | ||
) |
void capd::matrixAlgorithms::spaceIntersection | ( | const matrix & | A, |
const matrix & | B, | ||
matrix & | C | ||
) |
MatrixType::ScalarType capd::matrixAlgorithms::spectralRadiusOfSymMatrix | ( | const MatrixType & | A, |
typename MatrixType::ScalarType | diagonalizingRelTolerance = capd::TypeTraits<typename MatrixType::ScalarType>::epsilon() |
||
) |
this function computes bound for spectral radius of a symmetric matrix first it computes matrix which has the same eigenvalues and which is close to diagonal, next bound is computed from Gerschgorin theorem
int capd::matrixAlgorithms::symMatrixDiagonalize | ( | const MatrixType & | A, |
MatrixType & | D, | ||
typename MatrixType::ScalarType | diagonalizingRelTolerance = capd::TypeTraits<typename MatrixType::ScalarType>::epsilon() |
||
) |