Go to the documentation of this file. 1 #ifndef SimTK_LINEAR_ALGEBRA_H_
2 #define SimTK_LINEAR_ALGEBRA_H_
62 class FactorLURepBase;
98 class FactorLURepBase *
rep;
103 class FactorQTZRepBase;
141 class FactorQTZRepBase *
rep;
231 class FactorSVDRepBase *
rep;
237 #endif //SimTK_LINEAR_ALGEBRA_H_
void solve(const Matrix_< ELT > &b, Matrix_< ELT > &x)
solve for a set of x vectors given multiple right hand side vectors using the singular value decompos...
void solve(const Vector_< ELT > &b, Vector_< ELT > &x) const
solves a single right hand side using a factorization
FactorLU(const Matrix_< ELT > &m)
void factor(const Matrix_< ELT > &m)
supply matrix which eigen values will be computed for
Eigen(const Matrix_< ELT > &m)
create a default eigen class
void solve(const Vector_< ELT > &b, Vector_< ELT > &x) const
solves a single right hand side
void factor(const Matrix_< ELT > &m, double rcond)
do QTZ factorization of a matrix for a given reciprocal condition number
void getFewEigenVectors(Matrix_< T > &vectors, typename CNT< T >::TReal rlow, typename CNT< T >::TReal rhi)
get a few eigen vectors of a symmetric matrix which are within a range of eigen values
double getRCondEstimate() const
returns the actual reciprocal condition number at this rank
void getFewEigenValuesAndVectors(Vector_< VAL > &values, Matrix_< VEC > &vectors, typename CNT< VAL >::TReal rlow, typename CNT< VAL >::TReal rhi)
get a few eigen values and eigen vectors of a symmetric matrix which are within a range of eigen valu...
void solve(const Matrix_< ELT > &b, Matrix_< ELT > &x) const
solve for an array of vectors given multiple right hand sides
void factor(const Matrix_< ELT > &m, float rcond)
supply the matrix to do a singular value decomposition using the specified reciprocal of the conditio...
#define SimTK_SIMMATH_EXPORT
Definition: SimTKmath/include/simmath/internal/common.h:64
This is a System that represents the dynamics of a particle moving along a smooth surface.
Definition: Assembler.h:37
void solve(const Vector_< ELT > &b, Vector_< ELT > &x)
solve for x given a right hand side vector using the singular value decomposition
void getSingularValuesAndVectors(Vector_< typename CNT< T >::TReal > &values, Matrix_< T > &leftVectors, Matrix_< T > &rightVectors)
get the singular values and singular vectors of the matrix
void getFewEigenVectors(Matrix_< T > &vectors, int ilow, int ihi)
get a few eigen vectors of a symmetric matrix which are within a range of indices
void factor(const Matrix_< ELT > &m)
supply the matrix to do a singular value decomposition
FactorQTZ(const FactorQTZ &c)
FactorLU(const FactorLU &c)
Factor(Matrix_< ELT > m)
creates an factorization of a matrix
void factor(const Matrix_< ELT > &m, double rcond)
supply the matrix to do a singular value decomposition using the specified reciprocal of the conditio...
FactorSVD(const Matrix_< ELT > &m, double rcond)
singular value decomposition of a matrix using the specified reciprocal of the condition number rcond
Class to compute Eigen values and Eigen vectors of a matrix.
Definition: LinearAlgebra.h:146
void factor(const Matrix_< ELT > &m, float rcond)
do QTZ factorization of a matrix for a given reciprocal condition number
Base class for the various matrix factorizations.
Definition: LinearAlgebra.h:49
FactorLU & operator=(const FactorLU &rhs)
void inverse(Matrix_< ELT > &m)
get inverse of the matrix using singular value decomposition (sometimes called the pseudo inverse)
Class for performing LU matrix factorizations.
Definition: LinearAlgebra.h:67
FactorSVD()
default constructor
FactorQTZ(const Matrix_< ELT > &m)
do QTZ factorization of a matrix
void factor(const Matrix_< ELT > &m)
do QTZ factorization of a matrix
void getAllEigenValuesAndVectors(Vector_< VAL > &values, Matrix_< VEC > &vectors)
get all the eigen values and eigen vectors of a matrix
void getAllEigenValues(Vector_< T > &values)
get all the eigen values of a matrix
FactorQTZ & operator=(const FactorQTZ &rhs)
int getSingularIndex() const
returns the first diagonal which was found to be singular
FactorSVD(const Matrix_< ELT > &m)
constructor
void getU(Matrix_< ELT > &u) const
returns the upper triangle of an LU factorization
FactorQTZ(const Matrix_< ELT > &m, double rcond)
do QTZ factorization of a matrix for a given reciprocal condition number
void getL(Matrix_< ELT > &l) const
returns the lower triangle of an LU factorization
bool isSingular() const
returns true if matrix was singular
void solve(const Matrix_< ELT > &b, Matrix_< ELT > &x) const
solves multiple right hand sides
class FactorQTZRepBase * rep
Definition: LinearAlgebra.h:141
Class to perform a QTZ (linear least squares) factorization.
Definition: LinearAlgebra.h:107
void getSingularValues(Vector_< T > &values)
get just the singular values of the matrix
FactorSVD(const FactorSVD &c)
copy constructor
Factor()
Definition: LinearAlgebra.h:52
static const double DefaultRecpCondition
Definition: LinearAlgebra.h:44
int getRank() const
returns the rank of the matrix
FactorSVD(const Matrix_< ELT > &m, float rcond)
singular value decomposition of a matrix using the specified reciprocal of the condition number rcond
This is the vector class intended to appear in user code for large, variable size column vectors.
Definition: BigMatrix.h:171
void getFewEigenValuesAndVectors(Vector_< VAL > &values, Matrix_< VEC > &vectors, int ilow, int ihi)
get a few eigen values and eigen vectors of a symmetric matrix which are within a range of indices
void solve(const Matrix_< ELT > &b, Matrix_< ELT > &x) const
solves multiple right hand sides using a factorization
void getFewEigenValues(Vector_< T > &values, typename CNT< T >::TReal rlow, typename CNT< T >::TReal rhi)
get a few eigen values of a symmetric matrix which are within a range of eigen values
void getFewEigenValues(Vector_< T > &values, int ilow, int ihi)
get a few eigen values of a symmetric matrix which are within a range of indices
void factor(const Matrix_< ELT > &m)
factors a matrix
FactorQTZ(const Matrix_< ELT > &m, float rcond)
do QTZ factorization of a matrix for a given reciprocal condition number
int getRank()
get rank of the matrix
K::TReal TReal
Definition: CompositeNumericalTypes.h:141
void inverse(Matrix_< ELT > &m) const
Eigen & operator=(const Eigen &rhs)
void inverse(Matrix_< ELT > &m) const
returns the inverse of a matrix using an LU factorization
class EigenRepBase * rep
Definition: LinearAlgebra.h:180
FactorSVD & operator=(const FactorSVD &rhs)
copy assign
This is the matrix class intended to appear in user code for large, variable size matrices.
Definition: BigMatrix.h:168
Class to compute a singular value decomposition of a matrix.
Definition: LinearAlgebra.h:186
void solve(const Vector_< ELT > &b, Vector_< ELT > &x) const
solve for a vector x given a right hand side vector b
class FactorSVDRepBase * rep
Definition: LinearAlgebra.h:231
class FactorLURepBase * rep
Definition: LinearAlgebra.h:98