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;
 
Includes internal headers providing declarations for the basic SimTK Core classes,...
 
This is the header file that every Simmath compilation unit should include first.
 
#define SimTK_SIMMATH_EXPORT
Definition: SimTKmath/include/simmath/internal/common.h:64
 
K::TReal TReal
Definition: CompositeNumericalTypes.h:141
 
Class to compute Eigen values and Eigen vectors of a matrix.
Definition: LinearAlgebra.h:146
 
Eigen & operator=(const Eigen &rhs)
 
void getAllEigenValues(Vector_< T > &values)
get all the eigen values of a 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
 
class EigenRepBase * rep
Definition: LinearAlgebra.h:180
 
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 factor(const Matrix_< ELT > &m)
supply matrix which eigen values will be computed for
 
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
 
Eigen(const Matrix_< ELT > &m)
create a default eigen class
 
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 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
 
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 getAllEigenValuesAndVectors(Vector_< VAL > &values, Matrix_< VEC > &vectors)
get all the eigen values and eigen vectors of a matrix
 
Class for performing LU matrix factorizations.
Definition: LinearAlgebra.h:67
 
class FactorLURepBase * rep
Definition: LinearAlgebra.h:98
 
void getL(Matrix_< ELT > &l) const
returns the lower triangle of an LU factorization
 
int getSingularIndex() const
returns the first diagonal which was found to be singular
 
bool isSingular() const
returns true if matrix was singular
 
FactorLU(const Matrix_< ELT > &m)
 
FactorLU & operator=(const FactorLU &rhs)
 
void getU(Matrix_< ELT > &u) const
returns the upper triangle of an LU factorization
 
void inverse(Matrix_< ELT > &m) const
returns the inverse of a matrix using an LU factorization
 
FactorLU(const FactorLU &c)
 
void factor(const Matrix_< ELT > &m)
factors a matrix
 
void solve(const Vector_< ELT > &b, Vector_< ELT > &x) const
solves a single right hand side
 
void solve(const Matrix_< ELT > &b, Matrix_< ELT > &x) const
solves multiple right hand sides
 
Class to perform a QTZ (linear least squares) factorization.
Definition: LinearAlgebra.h:107
 
void solve(const Vector_< ELT > &b, Vector_< ELT > &x) const
solve for a vector x given a right hand side vector b
 
void factor(const Matrix_< ELT > &m, double rcond)
do QTZ factorization of a matrix for a given reciprocal condition number
 
FactorQTZ(const Matrix_< ELT > &m)
do QTZ factorization of a matrix
 
class FactorQTZRepBase * rep
Definition: LinearAlgebra.h:141
 
FactorQTZ & operator=(const FactorQTZ &rhs)
 
void factor(const Matrix_< ELT > &m, float rcond)
do QTZ factorization of a matrix for a given reciprocal condition number
 
FactorQTZ(const Matrix_< ELT > &m, double rcond)
do QTZ factorization of a matrix for a given reciprocal condition number
 
double getRCondEstimate() const
returns the actual reciprocal condition number at this rank
 
void factor(const Matrix_< ELT > &m)
do QTZ factorization of a matrix
 
FactorQTZ(const Matrix_< ELT > &m, float rcond)
do QTZ factorization of a matrix for a given reciprocal condition number
 
FactorQTZ(const FactorQTZ &c)
 
void inverse(Matrix_< ELT > &m) const
 
void solve(const Matrix_< ELT > &b, Matrix_< ELT > &x) const
solve for an array of vectors given multiple right hand sides
 
int getRank() const
returns the rank of the matrix
 
Class to compute a singular value decomposition of a matrix.
Definition: LinearAlgebra.h:186
 
void getSingularValues(Vector_< T > &values)
get just the singular values of the matrix
 
class FactorSVDRepBase * rep
Definition: LinearAlgebra.h:231
 
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...
 
FactorSVD(const Matrix_< ELT > &m, float rcond)
singular value decomposition of a matrix using the specified reciprocal of the condition number rcond
 
int getRank()
get rank of the matrix
 
FactorSVD(const Matrix_< ELT > &m)
constructor
 
FactorSVD(const Matrix_< ELT > &m, double rcond)
singular value decomposition of a matrix using the specified reciprocal of the condition number rcond
 
FactorSVD(const FactorSVD &c)
copy constructor
 
void factor(const Matrix_< ELT > &m)
supply the matrix to do a singular value decomposition
 
FactorSVD & operator=(const FactorSVD &rhs)
copy assign
 
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 inverse(Matrix_< ELT > &m)
get inverse of the matrix using singular value decomposition (sometimes called the pseudo inverse)
 
FactorSVD()
default constructor
 
void factor(const Matrix_< ELT > &m, double rcond)
supply the matrix to do a singular value decomposition using the specified reciprocal of the conditio...
 
void factor(const Matrix_< ELT > &m, float rcond)
supply the matrix to do a singular value decomposition using the specified reciprocal of the conditio...
 
void solve(const Vector_< ELT > &b, Vector_< ELT > &x)
solve for x given a right hand side vector using the singular value decomposition
 
Base class for the various matrix factorizations.
Definition: LinearAlgebra.h:49
 
void solve(const Vector_< ELT > &b, Vector_< ELT > &x) const
solves a single right hand side using a factorization
 
Factor()
Definition: LinearAlgebra.h:52
 
void solve(const Matrix_< ELT > &b, Matrix_< ELT > &x) const
solves multiple right hand sides using a factorization
 
Factor(Matrix_< ELT > m)
creates an factorization of a matrix
 
This is the matrix class intended to appear in user code for large, variable size matrices.
Definition: Matrix_.h:51
 
This is the vector class intended to appear in user code for large, variable size column vectors.
Definition: Vector_.h:50
 
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
 
static const double DefaultRecpCondition
Definition: LinearAlgebra.h:44