SOFA API  59c939c2
Open source framework for multi-physics simuation
sofa::component::linearsolver::TNewMatMatrix< Mat > Class Template Reference

#include <NewMatMatrix.h>

Inheritance diagram for sofa::component::linearsolver::TNewMatMatrix< Mat >:

Public Attributes

Index bandWidth
 
- Public Attributes inherited from sofa::helper::fixed_array< VecNoInit< C, real >, L >
VecNoInit< C, real > elems [N]
 

Public Member Functions

 TNewMatMatrix (Index defaultBandWidth=11)
 
void resize (Index nbRow, Index nbCol) override
 
Index rowSize (void) const override
 Number of rows. More...
 
Index colSize (void) const override
 Number of columns. More...
 
SReal element (Index i, Index j) const override
 
void set (Index i, Index j, double v) override
 
void add (Index i, Index j, double v) override
 
void clear (Index i, Index j) override
 
void clearRow (Index i) override
 
void clearCol (Index j) override
 
void clearRowCol (Index i) override
 
NEWMAT::GetSubMatrix sub (Index i, Index j, Index nrow, Index ncol)
 
template<class T >
void getSubMatrix (Index i, Index j, Index nrow, Index ncol, T &m)
 
template<class T >
void setSubMatrix (Index i, Index j, Index nrow, Index ncol, const T &m)
 
NEWMAT::GetSubMatrix asub (Index bi, Index bj, Index nrow, Index ncol)
 
template<class T >
void getAlignedSubMatrix (Index bi, Index bj, Index nrow, Index ncol, T &m)
 
template<class T >
void setAlignedSubMatrix (Index bi, Index bj, Index nrow, Index ncol, const T &m)
 
void solve (NewMatVector *rv, NewMatVector *ov)
 
virtual void solve (defaulttype::BaseVector *op, defaulttype::BaseVector *res)
 
LUSolvermakeLUSolver ()
 
void solve (NewMatVector *rv, NewMatVector *ov, LUSolver *solver)
 
template<class T >
void operator= (const T &m)
 
void clear () override
 Reset all values to 0. More...
 
template<>
const char * Name ()
 
template<>
const char * Name ()
 
template<>
const char * Name ()
 
template<>
const char * Name ()
 
template<>
void resize (Index nbRow, Index nbCol)
 
template<>
void resize (Index nbRow, Index nbCol)
 
template<>
void resize (Index nbRow, Index nbCol)
 
template<>
void set (Index i, Index j, double v)
 
template<>
void add (Index i, Index j, double v)
 
template<>
SReal element (Index i, Index j) const
 
template<>
void set (Index i, Index j, double v)
 
template<>
void add (Index i, Index j, double v)
 
template<>
SReal element (Index i, Index j) const
 
template<>
void set (Index i, Index j, double v)
 
template<>
void add (Index i, Index j, double v)
 
- Public Member Functions inherited from sofa::defaulttype::Mat< L, C, real >
 Mat ()
 
 Mat (NoInit)
 
 Mat (Line r1, Line r2)
 Specific constructor with 2 lines. More...
 
 Mat (Line r1, Line r2, Line r3)
 Specific constructor with 3 lines. More...
 
 Mat (Line r1, Line r2, Line r3, Line r4)
 Specific constructor with 4 lines. More...
 
 Mat (const real &v)
 Constructor from an element. More...
 
template<typename real2 >
 Mat (const Mat< L, C, real2 > &m)
 Constructor from another matrix. More...
 
template<int L2, int C2, typename real2 >
 Mat (const Mat< L2, C2, real2 > &m)
 Constructor from another matrix with different size (with null default entries and ignoring outside entries) More...
 
template<typename real2 >
 Mat (const real2 *p)
 Constructor from an array of elements (stored per line). More...
 
int getNbLines () const
 number of lines More...
 
int getNbCols () const
 number of colums More...
 
void operator= (const real *p)
 Assignment from an array of elements (stored per line). More...
 
template<typename real2 >
void operator= (const Mat< L, C, real2 > &m)
 Assignment from another matrix. More...
 
template<int L2, int C2>
void operator= (const Mat< L2, C2, real > &m)
 Assignment from a matrix of different size. More...
 
template<int L2, int C2>
void getsub (int L0, int C0, Mat< L2, C2, real > &m) const
 
template<int L2, int C2>
void setsub (int L0, int C0, const Mat< L2, C2, real > &m)
 
template<int L2>
void setsub (int L0, int C0, const Vec< L2, real > &v)
 
void clear ()
 Sets each element to 0. More...
 
void fill (real r)
 Sets each element to r. More...
 
const Lineline (int i) const
 Read-only access to line i. More...
 
Col col (int j) const
 Copy of column j. More...
 
LineNoInitoperator[] (int i)
 Write acess to line i. More...
 
const LineNoInitoperator[] (int i) const
 Read-only access to line i. More...
 
LineNoInitoperator() (int i)
 Write acess to line i. More...
 
const LineNoInitoperator() (int i) const
 Read-only access to line i. More...
 
real & operator() (int i, int j)
 Write access to element (i,j). More...
 
const real & operator() (int i, int j) const
 Read-only access to element (i,j). More...
 
const Linelptr () const
 Cast into a standard C array of lines (read-only). More...
 
Linelptr ()
 Cast into a standard C array of lines. More...
 
const real * ptr () const
 Cast into a standard C array of elements (stored per line) (read-only). More...
 
real * ptr ()
 Cast into a standard C array of elements (stored per line). More...
 
Linex ()
 Special access to first line. More...
 
Liney ()
 Special access to second line. More...
 
Linez ()
 Special access to third line. More...
 
Linew ()
 Special access to fourth line. More...
 
const Linex () const
 Special access to first line (read-only). More...
 
const Liney () const
 Special access to second line (read-only). More...
 
const Linez () const
 Special access to thrid line (read-only). More...
 
const Linew () const
 Special access to fourth line (read-only). More...
 
void identity ()
 Set matrix to identity. More...
 
void transpose (const Mat< C, L, real > &m)
 Set matrix as the transpose of m. More...
 
Mat< C, L, real > transposed () const
 Return the transpose of m. More...
 
void transpose ()
 Transpose the square matrix. More...
 
template<int P>
Mat< L, P, real > operator* (const Mat< C, P, real > &m) const
 Matrix multiplication operator. More...
 
Mat< L, C, real > operator+ (const Mat< L, C, real > &m) const
 Matrix addition operator. More...
 
Mat< L, C, real > operator- (const Mat< L, C, real > &m) const
 Matrix subtraction operator. More...
 
Mat< L, C, real > operator- () const
 Matrix negation operator. More...
 
Col operator* (const Line &v) const
 Multiplication operator Matrix * Line. More...
 
Mat< L, C, real > multDiagonal (const Line &d) const
 Multiplication with a diagonal Matrix CxC represented as a vector of size C. More...
 
Line multTranspose (const Col &v) const
 Multiplication of the transposed Matrix * Column. More...
 
template<int P>
Mat< C, P, real > multTranspose (const Mat< L, P, real > &m) const
 Transposed Matrix multiplication operator. More...
 
template<int P>
Mat< L, P, real > multTransposed (const Mat< P, C, real > &m) const
 Multiplication with the transposed of the given matrix operator. More...
 
Mat< L, C, real > plusTransposed (const Mat< C, L, real > &m) const
 Addition with the transposed of the given matrix operator. More...
 
Mat< L, C, real > minusTransposed (const Mat< C, L, real > &m) const
 Substraction with the transposed of the given matrix operator. More...
 
Mat< L, C, real > operator* (real f) const
 Scalar multiplication operator. More...
 
Mat< L, C, real > operator/ (real f) const
 Scalar division operator. More...
 
void operator*= (real r)
 Scalar multiplication assignment operator. More...
 
void operator/= (real r)
 Scalar division assignment operator. More...
 
void operator+= (const Mat< L, C, real > &m)
 Addition assignment operator. More...
 
void addTransposed (const Mat< C, L, real > &m)
 Addition of the transposed of m. More...
 
void subTransposed (const Mat< C, L, real > &m)
 Substraction of the transposed of m. More...
 
void operator-= (const Mat< L, C, real > &m)
 Substraction assignment operator. More...
 
Mat< L, C, real > inverted () const
 invert this More...
 
bool invert (const Mat< L, C, real > &m)
 Invert square matrix m. More...
 
bool isTransform () const
 
Vec< C-1, real > transform (const Vec< C-1, real > &v) const
 Multiplication operator Matrix * Vector considering the matrix as a transformation. More...
 
bool transformInvert (const Mat< L, C, real > &m)
 Invert transformation matrix m. More...
 
void symmetrize ()
 
bool operator== (const Mat< L, C, real > &b) const
 
bool operator!= (const Mat< L, C, real > &b) const
 
bool isSymmetric () const
 
bool isDiagonal () const
 
- Public Member Functions inherited from sofa::helper::fixed_array< VecNoInit< C, real >, L >
 fixed_array ()
 
 fixed_array (value_type r1)
 Specific constructor for 1-element vectors. More...
 
 fixed_array (value_type r1, value_type r2)
 Specific constructor for 2-elements vectors. More...
 
 fixed_array (value_type r1, value_type r2, value_type r3)
 Specific constructor for 3-elements vectors. More...
 
 fixed_array (value_type r1, value_type r2, value_type r3, value_type r4)
 Specific constructor for 4-elements vectors. More...
 
 fixed_array (value_type r1, value_type r2, value_type r3, value_type r4, value_type r5)
 Specific constructor for 5-elements vectors. More...
 
 fixed_array (value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6)
 Specific constructor for 6-elements vectors. More...
 
 fixed_array (value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6, value_type r7)
 Specific constructor for 7-elements vectors. More...
 
 fixed_array (value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6, value_type r7, value_type r8)
 Specific constructor for 8-elements vectors. More...
 
 fixed_array (value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6, value_type r7, value_type r8, value_type r9)
 Specific constructor for 9-elements vectors. More...
 
 fixed_array (value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6, value_type r7, value_type r8, value_type r9, value_type r10)
 Specific constructor for 10-elements vectors. More...
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reference operator[] (size_type i)
 
const_reference operator[] (size_type i) const
 
reference at (size_type i)
 
const_reference at (size_type i) const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
void swap (fixed_array< VecNoInit< C, real >, N > &y)
 
const VecNoInit< C, real > * data () const
 
const Arrayarray () const
 direct access to array More...
 
Arrayarray ()
 direct access to array More...
 
fixed_array< VecNoInit< C, real >, N > & operator= (const fixed_array< T2, N > &rhs)
 
void assign (const VecNoInit< C, real > &value)
 
bool operator< (const fixed_array &v) const
 
- Public Member Functions inherited from sofa::defaulttype::BaseMatrix
 BaseMatrix ()
 
virtual ~BaseMatrix ()
 
Index rows (void) const
 Number of rows (Eigen-compatible API) More...
 
Index cols (void) const
 Number of columns (Eigen-compatible API) More...
 
virtual SReal element (Index i, Index j) const =0
 Read the value of the element at row i, column j (using 0-based indices) More...
 
SReal operator() (Index i, Index j) const
 Read the value of the element at row i, column j (using 0-based indices). Eigen-compatible API. More...
 
virtual void resize (Index nbRow, Index nbCol)=0
 Resize the matrix and reset all values to 0. More...
 
virtual void set (Index i, Index j, double v)=0
 Write the value of the element at row i, column j (using 0-based indices) More...
 
virtual void add (Index i, Index j, double v)=0
 Add v to the existing value of the element at row i, column j (using 0-based indices) More...
 
virtual void add (Index _i, Index _j, const defaulttype::Mat3x3d &_M)
 Adding values from a 3x3d matrix this function may be overload to obtain better performances. More...
 
virtual void add (Index _i, Index _j, const defaulttype::Mat3x3f &_M)
 Adding values from a 3x3f matrix this function may be overload to obtain better performances. More...
 
virtual void add (Index _i, Index _j, const defaulttype::Mat2x2d &_M)
 Adding values from a 2x2d matrix this function may be overload to obtain better performances. More...
 
virtual void add (Index _i, Index _j, const defaulttype::Mat2x2f &_M)
 Adding values from a 2x2f matrix this function may be overload to obtain better performances. More...
 
virtual void clear (Index i, Index j)
 
virtual void clearRow (Index i)
 Reset all the values in row i to 0. More...
 
virtual void clearRows (Index imin, Index imax)
 Clears the value of rows imin to imax-1. More...
 
virtual void clearCol (Index j)
 Reset the all values in column j to 0. More...
 
virtual void clearCols (Index imin, Index imax)
 Clears all the values in columns imin to imax-1. More...
 
virtual void clearRowCol (Index i)
 Reset the value of both row and column i to 0. More...
 
virtual void clearRowsCols (Index imin, Index imax)
 Clears all the values in rows imin to imax-1 and columns imin to imax-1. More...
 
virtual void compress ()
 
virtual void opMulV (defaulttype::BaseVector *result, const defaulttype::BaseVector *v) const
 Multiply the matrix by vector v and put the result in vector result. More...
 
virtual void opMulV (float *result, const float *v) const
 Multiply the matrix by float vector v and put the result in vector result. More...
 
virtual void opMulV (double *result, const double *v) const
 Multiply the matrix by double vector v and put the result in vector result. More...
 
virtual void opPMulV (defaulttype::BaseVector *result, const defaulttype::BaseVector *v) const
 Multiply the matrix by vector v and add the result in vector result. More...
 
virtual void opPMulV (float *result, const float *v) const
 Multiply the matrix by float vector v and add the result in vector result. More...
 
virtual void opPMulV (double *result, const double *v) const
 Multiply the matrix by double vector v and add the result in vector result. More...
 
virtual void opMulTV (defaulttype::BaseVector *result, const defaulttype::BaseVector *v) const
 Multiply the transposed matrix by vector v and put the result in vector result. More...
 
virtual void opMulTV (float *result, const float *v) const
 Multiply the transposed matrix by float vector v and put the result in vector result. More...
 
virtual void opMulTV (double *result, const double *v) const
 Multiply the transposed matrix by double vector v and put the result in vector result. More...
 
virtual void opPMulTV (defaulttype::BaseVector *result, const defaulttype::BaseVector *v) const
 Multiply the transposed matrix by vector v and add the result in vector result. More...
 
virtual void opPMulTV (float *result, const float *v) const
 Multiply the transposed matrix by float vector v and add the result in vector result. More...
 
virtual void opPMulTV (double *result, const double *v) const
 Multiply the transposed matrix by double vector v and add the result in vector result. More...
 
virtual void opMulTM (BaseMatrix *result, BaseMatrix *m) const
 Multiply the transposed matrix by matrix m and store the result in matrix result. More...
 
virtual void opAddM (defaulttype::BaseMatrix *m, double fact) const
 Subtract the matrix to the m matrix and strore the result in m. More...
 
virtual void opAddMT (defaulttype::BaseMatrix *m, double fact) const
 Subtract the transposed matrix to the m matrix and strore the result in m. More...
 
virtual ElementType getElementType () const
 
virtual std::size_t getElementSize () const
 
virtual MatrixCategory getCategory () const
 
virtual Index getBlockRows () const
 
virtual Index getBlockCols () const
 
virtual Index bRowSize () const
 
virtual Index bColSize () const
 
virtual Index getBandWidth () const
 
bool isDiagonal () const
 
bool isBlockDiagonal () const
 
bool isBand () const
 
bool isSparse () const
 
virtual BlockConstAccessor blocGet (Index i, Index j) const
 Get read access to a bloc. More...
 
virtual BlockAccessor blocGetW (Index i, Index j)
 Get write access to a bloc. More...
 
virtual BlockAccessor blocCreate (Index i, Index j)
 Get write access to a bloc, possibly creating it. More...
 
template<class T >
const T * blocElements (Index i, Index j, T *buffer) const
 Shortcut for blocGet(i,j).elements(buffer) More...
 
template<class T >
void blocSet (Index i, Index j, const T *buffer)
 Shortcut for blocCreate(i,j).set(buffer) More...
 
template<class T >
void blocAdd (Index i, Index j, const T *buffer)
 Shortcut for blocCreate(i,j).add(buffer) More...
 
virtual ColBlockConstIterator bRowBegin (Index ib) const
 Get the iterator corresponding to the beginning of the given row of blocks. More...
 
virtual ColBlockConstIterator bRowEnd (Index ib) const
 Get the iterator corresponding to the end of the given row of blocks. More...
 
virtual std::pair< ColBlockConstIterator, ColBlockConstIteratorbRowRange (Index ib) const
 Get the iterators corresponding to the beginning and end of the given row of blocks. More...
 
virtual RowBlockConstIterator bRowsBegin () const
 Get the iterator corresponding to the beginning of the rows of blocks. More...
 
virtual RowBlockConstIterator bRowsEnd () const
 Get the iterator corresponding to the end of the rows of blocks. More...
 
virtual std::pair< RowBlockConstIterator, RowBlockConstIteratorbRowsRange () const
 Get the iterators corresponding to the beginning and end of the given row of blocks. More...
 

Static Public Member Functions

static Index getSubMatrixDim (Index n)
 
static const char * Name ()
 
- Static Public Member Functions inherited from sofa::defaulttype::Mat< L, C, real >
static Mat< L, L, real > Identity ()
 Returns the identity matrix. More...
 
template<int S>
static bool canSelfTranspose (const Mat< S, S, real > &lhs, const Mat< S, S, real > &rhs)
 
template<int I, int J>
static bool canSelfTranspose (const Mat< I, J, real > &, const Mat< J, I, real > &)
 
static Mat< L, C, real > transformTranslation (const Vec< C-1, real > &t)
 
static Mat< L, C, real > transformScale (real s)
 
static Mat< L, C, real > transformScale (const Vec< C-1, real > &s)
 
template<class Quat >
static Mat< L, C, real > transformRotation (const Quat &q)
 
- Static Public Member Functions inherited from sofa::helper::fixed_array< VecNoInit< C, real >, L >
static size_type size ()
 
static bool empty ()
 
static size_type max_size ()
 

Friends

std::ostream & operator<< (std::ostream &out, const TNewMatMatrix &v)
 

Additional Inherited Members

- Static Public Attributes inherited from sofa::defaulttype::Mat< L, C, real >
static const int nbLines = L
 
static const int nbCols = C
 
static Mat< L, L, real > s_identity = Mat<L,L,real>::Identity()
 precomputed identity matrix of size (L,L) More...
 
- Protected Member Functions inherited from sofa::defaulttype::BaseMatrix
virtual void bAccessorDelete (const InternalBlockAccessor *) const
 
virtual void bAccessorCopy (InternalBlockAccessor *) const
 
virtual SReal bAccessorElement (const InternalBlockAccessor *b, Index i, Index j) const
 
virtual void bAccessorSet (InternalBlockAccessor *b, Index i, Index j, double v)
 
virtual void bAccessorAdd (InternalBlockAccessor *b, Index i, Index j, double v)
 
template<class T >
const T * bAccessorElementsDefaultImpl (const InternalBlockAccessor *b, T *buffer) const
 
virtual const floatbAccessorElements (const InternalBlockAccessor *b, float *buffer) const
 
virtual const doublebAccessorElements (const InternalBlockAccessor *b, double *buffer) const
 
virtual const intbAccessorElements (const InternalBlockAccessor *b, int *buffer) const
 
template<class T >
void bAccessorSetDefaultImpl (InternalBlockAccessor *b, const T *buffer)
 
virtual void bAccessorSet (InternalBlockAccessor *b, const float *buffer)
 
virtual void bAccessorSet (InternalBlockAccessor *b, const double *buffer)
 
virtual void bAccessorSet (InternalBlockAccessor *b, const int *buffer)
 
template<class T >
void bAccessorAddDefaultImpl (InternalBlockAccessor *b, const T *buffer)
 
virtual void bAccessorAdd (InternalBlockAccessor *b, const float *buffer)
 
virtual void bAccessorAdd (InternalBlockAccessor *b, const double *buffer)
 
virtual void bAccessorAdd (InternalBlockAccessor *b, const int *buffer)
 
template<class T >
T * bAccessorPrepareAddDefaultImpl (InternalBlockAccessor *, T *buffer)
 
virtual floatbAccessorPrepareAdd (InternalBlockAccessor *b, float *buffer)
 
virtual doublebAccessorPrepareAdd (InternalBlockAccessor *b, double *buffer)
 
virtual intbAccessorPrepareAdd (InternalBlockAccessor *b, int *buffer)
 
virtual void bAccessorFinishAdd (InternalBlockAccessor *b, const float *buffer)
 
virtual void bAccessorFinishAdd (InternalBlockAccessor *b, const double *buffer)
 
virtual void bAccessorFinishAdd (InternalBlockAccessor *b, const int *buffer)
 
BlockAccessor createBlockAccessor (Index row, Index col, void *internalPtr=nullptr)
 
BlockAccessor createBlockAccessor (Index row, Index col, Index internalData)
 
BlockConstAccessor createBlockConstAccessor (Index row, Index col, void *internalPtr=nullptr) const
 
BlockConstAccessor createBlockConstAccessor (Index row, Index col, Index internalData) const
 
void setMatrix (BlockAccessor *b)
 
void setMatrix (BlockConstAccessor *b) const
 
virtual void itCopyColBlock (InternalColBlockIterator *) const
 
virtual void itDeleteColBlock (const InternalColBlockIterator *) const
 
virtual void itAccessColBlock (InternalColBlockIterator *it, BlockConstAccessor *b) const
 
virtual void itIncColBlock (InternalColBlockIterator *it) const
 
virtual void itDecColBlock (InternalColBlockIterator *it) const
 
virtual bool itEqColBlock (const InternalColBlockIterator *it, const InternalColBlockIterator *it2) const
 
virtual bool itLessColBlock (const InternalColBlockIterator *it, const InternalColBlockIterator *it2) const
 
ColBlockConstIterator createColBlockConstIterator (Index row, void *internalPtr) const
 
ColBlockConstIterator createColBlockConstIterator (Index row, Index internalData) const
 
virtual void itCopyRowBlock (InternalRowBlockIterator *) const
 
virtual void itDeleteRowBlock (const InternalRowBlockIterator *) const
 
virtual Index itAccessRowBlock (InternalRowBlockIterator *it) const
 
virtual ColBlockConstIterator itBeginRowBlock (InternalRowBlockIterator *it) const
 
virtual ColBlockConstIterator itEndRowBlock (InternalRowBlockIterator *it) const
 
virtual std::pair< ColBlockConstIterator, ColBlockConstIteratoritRangeRowBlock (InternalRowBlockIterator *it) const
 
virtual void itIncRowBlock (InternalRowBlockIterator *it) const
 
virtual void itDecRowBlock (InternalRowBlockIterator *it) const
 
virtual bool itEqRowBlock (const InternalRowBlockIterator *it, const InternalRowBlockIterator *it2) const
 
virtual bool itLessRowBlock (const InternalRowBlockIterator *it, const InternalRowBlockIterator *it2) const
 
RowBlockConstIterator createRowBlockConstIterator (void *internalPtr) const
 
RowBlockConstIterator createRowBlockConstIterator (Index internalData0, Index internalData1) const
 
- Static Protected Member Functions inherited from sofa::defaulttype::BaseMatrix
static InternalBlockAccessorgetInternal (BlockConstAccessor *b)
 
static const InternalBlockAccessorgetInternal (const BlockConstAccessor *b)
 
static InternalBlockAccessorgetInternal (BlockAccessor *b)
 
static const InternalBlockAccessorgetInternal (const BlockAccessor *b)
 
static InternalColBlockIteratorgetInternal (ColBlockConstIterator *b)
 
static const InternalColBlockIteratorgetInternal (const ColBlockConstIterator *b)
 
static InternalRowBlockIteratorgetInternal (RowBlockConstIterator *b)
 
static const InternalRowBlockIteratorgetInternal (const RowBlockConstIterator *b)
 

Attribute details

template<class Mat >
Index sofa::component::linearsolver::TNewMatMatrix< Mat >::bandWidth

Constructor details

template<class Mat >
sofa::component::linearsolver::TNewMatMatrix< Mat >::TNewMatMatrix ( Index  defaultBandWidth = 11)
inlineexplicit

Function details

template<class Mat >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::add ( Index  i,
Index  j,
double  v 
)
inlineoverride
template<>
void sofa::component::linearsolver::TNewMatMatrix< NEWMAT::SymmetricMatrix >::add ( Index  i,
Index  j,
double  v 
)
inline
template<>
void sofa::component::linearsolver::TNewMatMatrix< NEWMAT::BandMatrix >::add ( Index  i,
Index  j,
double  v 
)
inline
template<>
void sofa::component::linearsolver::TNewMatMatrix< NEWMAT::SymmetricBandMatrix >::add ( Index  i,
Index  j,
double  v 
)
inline
template<class Mat >
NEWMAT::GetSubMatrix sofa::component::linearsolver::TNewMatMatrix< Mat >::asub ( Index  bi,
Index  bj,
Index  nrow,
Index  ncol 
)
inline
template<class Mat >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::clear ( Index  i,
Index  j 
)
inlineoverride
template<class Mat >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::clear ( )
inlineoverridevirtual

Reset all values to 0.

Implements sofa::defaulttype::BaseMatrix.

template<class Mat >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::clearCol ( Index  j)
inlineoverride
template<class Mat >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::clearRow ( Index  i)
inlineoverride
template<class Mat >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::clearRowCol ( Index  i)
inlineoverride
template<class Mat >
Index sofa::component::linearsolver::TNewMatMatrix< Mat >::colSize ( void  ) const
inlineoverridevirtual

Number of columns.

Implements sofa::defaulttype::BaseMatrix.

template<class Mat >
SReal sofa::component::linearsolver::TNewMatMatrix< Mat >::element ( Index  i,
Index  j 
) const
inlineoverride
template<>
SReal sofa::component::linearsolver::TNewMatMatrix< NEWMAT::BandMatrix >::element ( Index  i,
Index  j 
) const
inline
template<>
SReal sofa::component::linearsolver::TNewMatMatrix< NEWMAT::SymmetricBandMatrix >::element ( Index  i,
Index  j 
) const
inline
template<class Mat >
template<class T >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::getAlignedSubMatrix ( Index  bi,
Index  bj,
Index  nrow,
Index  ncol,
T &  m 
)
inline
template<class Mat >
template<class T >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::getSubMatrix ( Index  i,
Index  j,
Index  nrow,
Index  ncol,
T &  m 
)
inline
template<class Mat >
static Index sofa::component::linearsolver::TNewMatMatrix< Mat >::getSubMatrixDim ( Index  n)
inlinestatic
template<class Mat >
LUSolver* sofa::component::linearsolver::TNewMatMatrix< Mat >::makeLUSolver ( )
inline
template<class Mat >
static const char* sofa::component::linearsolver::TNewMatMatrix< Mat >::Name ( )
static
template<>
const char * sofa::component::linearsolver::TNewMatMatrix< NEWMAT::Matrix >::Name ( )
inline
template<>
const char * sofa::component::linearsolver::TNewMatMatrix< NEWMAT::SymmetricMatrix >::Name ( )
inline
template<>
const char * sofa::component::linearsolver::TNewMatMatrix< NEWMAT::BandMatrix >::Name ( )
inline
template<>
const char * sofa::component::linearsolver::TNewMatMatrix< NEWMAT::SymmetricBandMatrix >::Name ( )
inline
template<class Mat >
template<class T >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::operator= ( const T &  m)
inline
template<class Mat >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::resize ( Index  nbRow,
Index  nbCol 
)
inlineoverride
template<>
void sofa::component::linearsolver::TNewMatMatrix< NEWMAT::SymmetricMatrix >::resize ( Index  nbRow,
Index  nbCol 
)
inline
template<>
void sofa::component::linearsolver::TNewMatMatrix< NEWMAT::BandMatrix >::resize ( Index  nbRow,
Index  nbCol 
)
inline
template<>
void sofa::component::linearsolver::TNewMatMatrix< NEWMAT::SymmetricBandMatrix >::resize ( Index  nbRow,
Index  nbCol 
)
inline
template<class Mat >
Index sofa::component::linearsolver::TNewMatMatrix< Mat >::rowSize ( void  ) const
inlineoverridevirtual

Number of rows.

Implements sofa::defaulttype::BaseMatrix.

template<class Mat >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::set ( Index  i,
Index  j,
double  v 
)
inlineoverride
template<>
void sofa::component::linearsolver::TNewMatMatrix< NEWMAT::SymmetricMatrix >::set ( Index  i,
Index  j,
double  v 
)
inline
template<>
void sofa::component::linearsolver::TNewMatMatrix< NEWMAT::BandMatrix >::set ( Index  i,
Index  j,
double  v 
)
inline
template<>
void sofa::component::linearsolver::TNewMatMatrix< NEWMAT::SymmetricBandMatrix >::set ( Index  i,
Index  j,
double  v 
)
inline
template<class Mat >
template<class T >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::setAlignedSubMatrix ( Index  bi,
Index  bj,
Index  nrow,
Index  ncol,
const T &  m 
)
inline
template<class Mat >
template<class T >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::setSubMatrix ( Index  i,
Index  j,
Index  nrow,
Index  ncol,
const T &  m 
)
inline
template<class Mat >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::solve ( NewMatVector rv,
NewMatVector ov 
)
inline
template<class Mat >
virtual void sofa::component::linearsolver::TNewMatMatrix< Mat >::solve ( defaulttype::BaseVector op,
defaulttype::BaseVector res 
)
inlinevirtual
template<class Mat >
void sofa::component::linearsolver::TNewMatMatrix< Mat >::solve ( NewMatVector rv,
NewMatVector ov,
LUSolver solver 
)
inline
template<class Mat >
NEWMAT::GetSubMatrix sofa::component::linearsolver::TNewMatMatrix< Mat >::sub ( Index  i,
Index  j,
Index  nrow,
Index  ncol 
)
inline

Related details

template<class Mat >
std::ostream& operator<< ( std::ostream &  out,
const TNewMatMatrix< Mat > &  v 
)
friend