SOFA API  ca70b0f0
Open source framework for multi-physics simuation
sofa::linearalgebra Namespace Reference

Namespaces

 sparsematrixproduct
 
 testing
 

Classes

class  matrix_bloc_traits< defaulttype::RigidDeriv< N, T >, IndexType >
 
struct  BaseMatrixLinearOpMV_BlockDiagonal
 
struct  BaseMatrixLinearOpMV_BlockDiagonal< Real, 1, 1, add, transpose, M, V1, V2 >
 
struct  BaseMatrixLinearOpMV_BlockSparse
 
class  BaseMatrixLinearOpMV
 
class  BaseMatrixLinearOpMulV
 
class  BaseMatrixLinearOpPMulV
 
class  BaseMatrixLinearOpMulTV
 
class  BaseMatrixLinearOpPMulTV
 
struct  BaseMatrixLinearOpAM_BlockSparse
 
struct  BaseMatrixLinearOpAMS_BlockSparse
 
struct  BaseMatrixLinearOpAM1_BlockSparse
 
class  BaseMatrixLinearOpAM
 
class  BaseMatrixLinearOpAddM
 
class  BaseMatrixLinearOpAddMT
 
class  BaseMatrix
 
class  BaseVector
 
class  BlockDiagonalMatrix
 Simple full matrix container. More...
 
class  BlockFullMatrix
 Simple block full matrix container (used for InvMatrixType) More...
 
class  BlockVector
 
class  BTDMatrix
 Simple BTD matrix container. More...
 
class  CRSConstraintPolicy
 
class  CompressedRowSparseMatrixConstraint
 
struct  CompressedRowSparseMatrixToEigenSparse
 
struct  CompressedRowSparseMatrixToEigenSparseVec
 
class  CompressedRowSparseMatrixToEigenSparse< sofa::type::Vec< N, Real > >
 
struct  EigenSparseToCompressedRowSparseMatrix
 
struct  EigenSparseToCompressedRowSparseMatrixVec
 
class  EigenSparseToCompressedRowSparseMatrix< sofa::type::Vec< N, Real > >
 
class  EigenSparseToCompressedRowSparseMatrix< sofa::defaulttype::RigidDeriv< N, Real > >
 
struct  CRSBlockTraits
 Traits class which defines the containers to use for a given type of block. More...
 
struct  CRSDefaultPolicy
 
class  CompressedRowSparseMatrixGeneric
 
class  CRSMechanicalPolicy
 
class  CompressedRowSparseMatrixMechanical
 
class  DiagonalMatrix
 Simple full matrix container. More...
 
class  MatrixProductOp< DiagonalMatrix< R1 >, M2 >
 
class  MatrixProductOp< M1, DiagonalMatrix< R2 > >
 
class  MatrixProductOp< DiagonalMatrix< R1 >, DiagonalMatrix< R2 > >
 
class  MatrixInvertOp< DiagonalMatrix< R1 > >
 
class  EigenBaseSparseMatrix
 
class  EigenSparseMatrix
 
class  EigenVector
 
class  FullMatrix
 Simple full matrix container. More...
 
class  LPtrFullMatrix
 Simple full matrix container, with an additionnal pointer per line, to be able do get a T** pointer and use [i][j] directly. More...
 
class  FullVector
 
struct  CleanupCheck
 
class  bloc_index_func
 
class  matrix_bloc_traits
 
class  matrix_bloc_traits< type::Mat< L, C, real >, IndexType >
 
class  matrix_bloc_traits< sofa::type::Vec< N, T >, IndexType >
 
class  matrix_bloc_traits< float, IndexType >
 
class  matrix_bloc_traits< double, IndexType >
 
class  matrix_bloc_traits< int, IndexType >
 
class  MatrixProduct
 
class  MatrixAddition
 
class  MatrixSubstraction
 
class  MatrixTranspose
 
class  MatrixNegative
 
class  MatrixScale
 
class  MatrixExpr
 
class  DefaultMatrixProductOp
 
class  MatrixProductOp
 
class  DefaultMatrixProductOp< 0, 0, M1, M2 >
 
class  DefaultMatrixProductOp< 1, 0, M1, M2 >
 
class  DefaultMatrixProductOp< 0, 1, M1, M2 >
 
class  DefaultMatrixInvertOp
 
class  MatrixInvertOp
 
class  DefaultMatrixInvertOp< 0, M1 >
 
class  type_selector
 
class  type_selector< 0, T0, T1 >
 
class  type_selector< 1, T0, T1 >
 
class  MatrixInverse
 
class  SparseMatrix
 
class  RotationMatrix
 3x3 block-diagonal matrix where each block is considered as a rotation. More...
 
class  MatrixProductOp< SparseMatrix< R1 >, SparseMatrix< R2 > >
 
class  SparseMatrixProduct
 
struct  EigenOptions
 
struct  EigenOptions< Eigen::Map< T, Options, StrideType > >
 
struct  EigenOptions< const Eigen::Map< T, Options, StrideType > >
 
struct  EigenOptions< Eigen::Transpose< T > >
 
struct  EigenOptions< const Eigen::Transpose< T > >
 
class  SparseMatrixStorageOrder
 

Typedefs

typedef BlockDiagonalMatrix< 3 > BlockDiagonalMatrix3
 
typedef BlockDiagonalMatrix< 6 > BlockDiagonalMatrix6
 
typedef BlockDiagonalMatrix< 9 > BlockDiagonalMatrix9
 
typedef BlockDiagonalMatrix< 12 > BlockDiagonalMatrix12
 
template<typename TBlock , typename TVecBlock = type::vector<TBlock>, typename TVecIndex = type::vector<sofa::Index>>
using CompressedRowSparseMatrix = CompressedRowSparseMatrixMechanical< TBlock, CRSMechanicalPolicy >
 

Enumerations

enum  MatrixCategory {
  MATRIX_IDENTITY = 0 , MATRIX_DIAGONAL , MATRIX_BAND , MATRIX_SPARSE ,
  MATRIX_FULL
}
 

Functions

template<sofa::Size L, sofa::Size C, class real >
void matrixAdd (BaseMatrix *self, const Index row, const Index col, const sofa::type::Mat< L, C, real > &M)
 
std::ostream & operator<< (std::ostream &out, const sofa::linearalgebra::BaseMatrix &m)
 Declare that the operator >> exists but is defined in a BaseMatrix.cpp. More...
 
std::istream & operator>> (std::istream &in, sofa::linearalgebra::BaseMatrix &m)
 Declare that the operator >> exists but is defined in a BaseMatrix.cpp. More...
 
std::ostream & operator<< (std::ostream &out, const BaseVector &v)
 Declare that the operator << exists but is defined in BaseVector.cpp. More...
 
template<class RowType , class VecDeriv , typename Real = typename VecDeriv::value_type::Real>
Real CompressedRowSparseMatrixVecDerivMult (const RowType row, const VecDeriv &vec)
 
template<class RowType , class VecDeriv >
void convertCompressedRowSparseMatrixRowToVecDeriv (const RowType row, VecDeriv &out)
 
template<typename LhsMatrixDeriv , typename RhsMatrixDeriv , typename Real >
void addMultTransposeEigen (LhsMatrixDeriv &lhs, const Eigen::SparseMatrix< Real, Eigen::RowMajor > &jacobian, const RhsMatrixDeriv &rhs)
 Computes lhs += jacobian^T * rhs. More...
 
template<class TMatrix , class TBlockMatrix >
void addBlockMat (TMatrix &self, Index row, Index col, const TBlockMatrix &_M)
 
template<typename Real >
void solveDiagonalSystem (const sofa::Size systemSize, const Real *rightHandSideVector, Real *solution, const Real *const D_values)
 
template<typename Real >
void solveDiagonalSystemUsingInvertedValues (const sofa::Size systemSize, const Real *rightHandSideVector, Real *solution, const Real *const Dinv_values)
 
std::ostream & operator<< (std::ostream &out, const FullMatrix< double > &v)
 
std::ostream & operator<< (std::ostream &out, const FullMatrix< float > &v)
 
std::ostream & operator<< (std::ostream &out, const LPtrFullMatrix< double > &v)
 
std::ostream & operator<< (std::ostream &out, const LPtrFullMatrix< float > &v)
 
template<typename Real >
std::ostream & readFromStream (std::ostream &out, const FullMatrix< Real > &v)
 
std::ostream & operator<< (std::ostream &out, const FullVector< float > &v)
 
std::ostream & operator<< (std::ostream &out, const FullVector< double > &v)
 
template<typename Real >
std::ostream & readFromStream (std::ostream &out, const FullVector< Real > &v)
 
SOFA_LINEARALGEBRA_API void init ()
 Initialize the Sofa.LinearAlgebra library, as well as its dependencies: Sofa.Type, SofaHelper. More...
 
SOFA_LINEARALGEBRA_API bool isInitialized ()
 Return true if and only if the Sofa.LinearAlgebra library has been initialized. More...
 
SOFA_LINEARALGEBRA_API void cleanup ()
 Clean up the resources used by the Sofa.LinearAlgebra library, as well as its dependencies: Sofa.Type, SofaHelper. More...
 
SOFA_LINEARALGEBRA_API bool isCleanedUp ()
 Return true if and only if the Sofa.LinearAlgebra library has been cleaned up. More...
 
template<class Real >
std::ostream & operator<< (std::ostream &out, const RotationMatrix< Real > &v)
 
template SOFA_LINEARALGEBRA_API std::ostream & operator<< (std::ostream &out, const RotationMatrix< float > &v)
 
template SOFA_LINEARALGEBRA_API std::ostream & operator<< (std::ostream &out, const RotationMatrix< double > &v)
 
template<typename _Scalar , int _Options, typename _StorageIndex >
void flagValueIndices (Eigen::SparseMatrix< sparsematrixproduct::IndexedValue< _Scalar >, _Options, _StorageIndex > &matrix)
 
template<class TMatrix >
void transpose (const TMatrix &self, type::vector< typename TMatrix::Index > &outer, type::vector< typename TMatrix::Index > &inner, type::vector< typename TMatrix::Index > &perm)
 
template<typename Real , typename Integer >
void solveLowerUnitriangularSystemCSR (const sofa::Size systemSize, const Real *rightHandSideVector, Real *solutionVector, const Integer *const CSR_rows, const Integer *const CSR_columns, const Real *const CSR_values)
 
template<typename Real , typename Integer >
void solveUpperUnitriangularSystemCSR (const sofa::Size systemSize, const Real *rightHandSideVector, Real *solutionVector, const Integer *const CSR_rows, const Integer *const CSR_columns, const Real *const CSR_values)
 
void computeRowColumnCoordinateFromIndexInLowerTriangularMatrix (const sofa::Index flatIndex, sofa::Index &row, sofa::Index &col)
 

Variables

template class SOFA_LINEARALGEBRA_API BlockDiagonalMatrix< 3, SReal >
 
template class SOFA_LINEARALGEBRA_API BlockFullMatrix< 6, SReal >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixGeneric< double >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixGeneric< float >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< float >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< Mat1x1f >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< Mat2x2f >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< Mat3x3f >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< Mat4x4f >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< Mat< 6, 6, float > >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< Mat< 8, 8, float > >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< double >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< Mat1x1d >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< Mat2x2d >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< Mat3x3d >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< Mat4x4d >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< Mat< 6, 6, double > >
 
template class SOFA_LINEARALGEBRA_API CompressedRowSparseMatrixMechanical< Mat< 8, 8, double > >
 
template class SOFA_LINEARALGEBRA_API FullMatrix< double >
 
template class SOFA_LINEARALGEBRA_API FullMatrix< float >
 
template class SOFA_LINEARALGEBRA_API LPtrFullMatrix< double >
 
template class SOFA_LINEARALGEBRA_API LPtrFullMatrix< float >
 
template class SOFA_LINEARALGEBRA_API FullVector< float >
 
template class SOFA_LINEARALGEBRA_API FullVector< double >
 
template class SOFA_LINEARALGEBRA_API RotationMatrix< float >
 
template class SOFA_LINEARALGEBRA_API RotationMatrix< double >
 

Typedef Documentation

◆ BlockDiagonalMatrix12

◆ BlockDiagonalMatrix3

◆ BlockDiagonalMatrix6

◆ BlockDiagonalMatrix9

◆ CompressedRowSparseMatrix

template<typename TBlock , typename TVecBlock = type::vector<TBlock>, typename TVecIndex = type::vector<sofa::Index>>
using sofa::linearalgebra::CompressedRowSparseMatrix = typedef CompressedRowSparseMatrixMechanical<TBlock, CRSMechanicalPolicy>

Enumeration Type Documentation

◆ MatrixCategory

Enumerator
MATRIX_IDENTITY 
MATRIX_DIAGONAL 
MATRIX_BAND 
MATRIX_SPARSE 
MATRIX_FULL 

Function Documentation

◆ addBlockMat()

template<class TMatrix , class TBlockMatrix >
void sofa::linearalgebra::addBlockMat ( TMatrix &  self,
Index  row,
Index  col,
const TBlockMatrix &  _M 
)

◆ addMultTransposeEigen()

template<typename LhsMatrixDeriv , typename RhsMatrixDeriv , typename Real >
void sofa::linearalgebra::addMultTransposeEigen ( LhsMatrixDeriv &  lhs,
const Eigen::SparseMatrix< Real, Eigen::RowMajor > &  jacobian,
const RhsMatrixDeriv &  rhs 
)

Computes lhs += jacobian^T * rhs.

◆ cleanup()

SOFA_LINEARALGEBRA_API void sofa::linearalgebra::cleanup ( )

Clean up the resources used by the Sofa.LinearAlgebra library, as well as its dependencies: Sofa.Type, SofaHelper.

◆ CompressedRowSparseMatrixVecDerivMult()

template<class RowType , class VecDeriv , typename Real = typename VecDeriv::value_type::Real>
Real sofa::linearalgebra::CompressedRowSparseMatrixVecDerivMult ( const RowType  row,
const VecDeriv &  vec 
)

◆ computeRowColumnCoordinateFromIndexInLowerTriangularMatrix()

void sofa::linearalgebra::computeRowColumnCoordinateFromIndexInLowerTriangularMatrix ( const sofa::Index  flatIndex,
sofa::Index &  row,
sofa::Index &  col 
)
inline

A lower triangular matrix can be stored as a linear array. This function converts the index in this linear array to 2d coordinates (row and column) of an element in the matrix.

Example of a 6x6 lower triangular matrix: [ 0 ] [ 1 2 ] [ 3 4 5 ] [ 6 7 8 9 ] [10 11 12 13 14 ] [15 16 17 18 19 20]

0 => (0, 0) 7 => (3, 1) 18 => (5, 3)

◆ convertCompressedRowSparseMatrixRowToVecDeriv()

template<class RowType , class VecDeriv >
void sofa::linearalgebra::convertCompressedRowSparseMatrixRowToVecDeriv ( const RowType  row,
VecDeriv &  out 
)

◆ flagValueIndices()

template<typename _Scalar , int _Options, typename _StorageIndex >
void sofa::linearalgebra::flagValueIndices ( Eigen::SparseMatrix< sparsematrixproduct::IndexedValue< _Scalar >, _Options, _StorageIndex > &  matrix)

◆ init()

SOFA_LINEARALGEBRA_API void sofa::linearalgebra::init ( )

Initialize the Sofa.LinearAlgebra library, as well as its dependencies: Sofa.Type, SofaHelper.

◆ isCleanedUp()

SOFA_LINEARALGEBRA_API bool sofa::linearalgebra::isCleanedUp ( )

Return true if and only if the Sofa.LinearAlgebra library has been cleaned up.

◆ isInitialized()

SOFA_LINEARALGEBRA_API bool sofa::linearalgebra::isInitialized ( )

Return true if and only if the Sofa.LinearAlgebra library has been initialized.

◆ matrixAdd()

template<sofa::Size L, sofa::Size C, class real >
void sofa::linearalgebra::matrixAdd ( BaseMatrix self,
const Index  row,
const Index  col,
const sofa::type::Mat< L, C, real > &  M 
)

◆ operator<<() [1/11]

SOFA_LINEARALGEBRA_API std::ostream & sofa::linearalgebra::operator<< ( std::ostream &  out,
const BaseVector v 
)

Declare that the operator << exists but is defined in BaseVector.cpp.

◆ operator<<() [2/11]

SOFA_LINEARALGEBRA_API std::ostream & sofa::linearalgebra::operator<< ( std::ostream &  out,
const FullMatrix< double > &  v 
)

◆ operator<<() [3/11]

SOFA_LINEARALGEBRA_API std::ostream & sofa::linearalgebra::operator<< ( std::ostream &  out,
const FullMatrix< float > &  v 
)

◆ operator<<() [4/11]

SOFA_LINEARALGEBRA_API std::ostream & sofa::linearalgebra::operator<< ( std::ostream &  out,
const FullVector< double > &  v 
)

◆ operator<<() [5/11]

SOFA_LINEARALGEBRA_API std::ostream & sofa::linearalgebra::operator<< ( std::ostream &  out,
const FullVector< float > &  v 
)

◆ operator<<() [6/11]

SOFA_LINEARALGEBRA_API std::ostream & sofa::linearalgebra::operator<< ( std::ostream &  out,
const LPtrFullMatrix< double > &  v 
)

◆ operator<<() [7/11]

SOFA_LINEARALGEBRA_API std::ostream & sofa::linearalgebra::operator<< ( std::ostream &  out,
const LPtrFullMatrix< float > &  v 
)

◆ operator<<() [8/11]

template SOFA_LINEARALGEBRA_API std::ostream & sofa::linearalgebra::operator<< ( std::ostream &  out,
const RotationMatrix< double > &  v 
)

◆ operator<<() [9/11]

template SOFA_LINEARALGEBRA_API std::ostream & sofa::linearalgebra::operator<< ( std::ostream &  out,
const RotationMatrix< float > &  v 
)

◆ operator<<() [10/11]

template<class Real >
std::ostream & sofa::linearalgebra::operator<< ( std::ostream &  out,
const RotationMatrix< Real > &  v 
)

◆ operator<<() [11/11]

SOFA_LINEARALGEBRA_API std::ostream & sofa::linearalgebra::operator<< ( std::ostream &  out,
const sofa::linearalgebra::BaseMatrix m 
)

Declare that the operator >> exists but is defined in a BaseMatrix.cpp.

Declare that the operator << is friend so they can use private data.

◆ operator>>()

SOFA_LINEARALGEBRA_API std::istream & sofa::linearalgebra::operator>> ( std::istream &  in,
sofa::linearalgebra::BaseMatrix m 
)

Declare that the operator >> exists but is defined in a BaseMatrix.cpp.

Declare that the operator >> is friend so they can use private data.

◆ readFromStream() [1/2]

template<typename Real >
std::ostream& sofa::linearalgebra::readFromStream ( std::ostream &  out,
const FullMatrix< Real > &  v 
)

◆ readFromStream() [2/2]

template<typename Real >
std::ostream& sofa::linearalgebra::readFromStream ( std::ostream &  out,
const FullVector< Real > &  v 
)

◆ solveDiagonalSystem()

template<typename Real >
void sofa::linearalgebra::solveDiagonalSystem ( const sofa::Size  systemSize,
const Real *  rightHandSideVector,
Real *  solution,
const Real *const  D_values 
)

Solves a linear system D*x = b, where: D is a diagonal matrix x is the solution vector b is the right-hand side vector The diagonal matrix is stored as the list of entries in the diagonal

◆ solveDiagonalSystemUsingInvertedValues()

template<typename Real >
void sofa::linearalgebra::solveDiagonalSystemUsingInvertedValues ( const sofa::Size  systemSize,
const Real *  rightHandSideVector,
Real *  solution,
const Real *const  Dinv_values 
)

Solves a linear system D*x = b, where: D is a diagonal matrix x is the solution vector b is the right-hand side vector The diagonal matrix is stored as the list of the inverse of the entries in the diagonal

◆ solveLowerUnitriangularSystemCSR()

template<typename Real , typename Integer >
void sofa::linearalgebra::solveLowerUnitriangularSystemCSR ( const sofa::Size  systemSize,
const Real *  rightHandSideVector,
Real *  solutionVector,
const Integer *const  CSR_rows,
const Integer *const  CSR_columns,
const Real *const  CSR_values 
)

Solves a lower unitriangular system where the matrix is represented in CSR format

Forward substitution is used to solve a linear system L*x = b, where: L is a lower unitriangular matrix x is the solution vector b is the right-hand side vector The lower unitriangular matrix must be provided in compressed sparse row (CSR) format

Parameters
systemSizeThe size of the system. All other parameters must comply with this size
rightHandSideVectorThe right-hand side vector
solutionVectorThe solution vector
CSR_rowsThe array storing the starting index of each row in the data array.
CSR_columnsThe array storing the column indices of the nonzero values in the data array.
CSR_valuesThe array containing the nonzero values of the matrix

◆ solveUpperUnitriangularSystemCSR()

template<typename Real , typename Integer >
void sofa::linearalgebra::solveUpperUnitriangularSystemCSR ( const sofa::Size  systemSize,
const Real *  rightHandSideVector,
Real *  solutionVector,
const Integer *const  CSR_rows,
const Integer *const  CSR_columns,
const Real *const  CSR_values 
)

Solves a upper unitriangular system where the matrix is represented in CSR format

Backward substitution is used to solve a linear system U*x = b, where: U is a upper unitriangular matrix x is the solution vector b is the right-hand side vector The upper unitriangular matrix must be provided in compressed sparse row (CSR) format

Parameters
systemSizeThe size of the system. All other parameters must comply with this size
rightHandSideVectorThe right-hand side vector
solutionVectorThe solution vector
CSR_rowsThe array storing the starting index of each row in the data array.
CSR_columnsThe array storing the column indices of the nonzero values in the data array.
CSR_valuesThe array containing the nonzero values of the matrix

◆ transpose()

template<class TMatrix >
void sofa::linearalgebra::transpose ( const TMatrix &  self,
type::vector< typename TMatrix::Index > &  outer,
type::vector< typename TMatrix::Index > &  inner,
type::vector< typename TMatrix::Index > &  perm 
)

Variable Documentation

◆ BlockDiagonalMatrix< 3, SReal >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::BlockDiagonalMatrix< 3, SReal >
extern

◆ BlockFullMatrix< 6, SReal >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::BlockFullMatrix< 6, SReal >
extern

◆ CompressedRowSparseMatrixGeneric< double >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixGeneric< double >

◆ CompressedRowSparseMatrixGeneric< float >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixGeneric< float >

◆ CompressedRowSparseMatrixMechanical< double >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< double >

◆ CompressedRowSparseMatrixMechanical< float >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< float >

◆ CompressedRowSparseMatrixMechanical< Mat1x1d >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< Mat1x1d >

◆ CompressedRowSparseMatrixMechanical< Mat1x1f >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< Mat1x1f >

◆ CompressedRowSparseMatrixMechanical< Mat2x2d >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< Mat2x2d >

◆ CompressedRowSparseMatrixMechanical< Mat2x2f >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< Mat2x2f >

◆ CompressedRowSparseMatrixMechanical< Mat3x3d >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< Mat3x3d >

◆ CompressedRowSparseMatrixMechanical< Mat3x3f >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< Mat3x3f >

◆ CompressedRowSparseMatrixMechanical< Mat4x4d >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< Mat4x4d >

◆ CompressedRowSparseMatrixMechanical< Mat4x4f >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< Mat4x4f >

◆ CompressedRowSparseMatrixMechanical< Mat< 6, 6, double > >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< Mat< 6, 6, double > >

◆ CompressedRowSparseMatrixMechanical< Mat< 6, 6, float > >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< Mat< 6, 6, float > >

◆ CompressedRowSparseMatrixMechanical< Mat< 8, 8, double > >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< Mat< 8, 8, double > >

◆ CompressedRowSparseMatrixMechanical< Mat< 8, 8, float > >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::CompressedRowSparseMatrixMechanical< Mat< 8, 8, float > >

◆ FullMatrix< double >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::FullMatrix< double >
extern

◆ FullMatrix< float >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::FullMatrix< float >
extern

◆ FullVector< double >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::FullVector< double >

◆ FullVector< float >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::FullVector< float >

◆ LPtrFullMatrix< double >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::LPtrFullMatrix< double >
extern

◆ LPtrFullMatrix< float >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::LPtrFullMatrix< float >
extern

◆ RotationMatrix< double >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::RotationMatrix< double >

◆ RotationMatrix< float >

template class SOFA_LINEARALGEBRA_API sofa::linearalgebra::RotationMatrix< float >