SOFA API  c76874b7
Open source framework for multi-physics simuation
sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc Class Reference

#include <BTDLinearSolver.h>

Inheritance diagram for sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc:

Public Member Functions

Index Nrows () const
 
Index Ncols () const
 
void resize (Index, Index)
 
const T & element (Index i, Index j) const
 
void set (Index i, Index j, const T &v)
 
void add (Index i, Index j, const T &v)
 
void operator= (const defaulttype::Mat< BSIZE, BSIZE, Real > &v)
 
defaulttype::Mat< BSIZE, BSIZE, Realoperator- () const
 
defaulttype::Mat< BSIZE, BSIZE, Realoperator- (const defaulttype::Mat< BSIZE, BSIZE, Real > &m) const
 
defaulttype::Vec< BSIZE, Realoperator* (const defaulttype::Vec< BSIZE, Real > &v)
 
defaulttype::Mat< BSIZE, BSIZE, Realoperator* (const defaulttype::Mat< BSIZE, BSIZE, Real > &m)
 
defaulttype::Mat< BSIZE, BSIZE, Realoperator* (const Bloc &m)
 
defaulttype::Mat< BSIZE, BSIZE, Realoperator* (const TransposedBloc &mt)
 
TransposedBloc t () const
 
Bloc i () const
 
- Public Member Functions inherited from sofa::defaulttype::Mat< BSIZE, BSIZE, 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...
 
 Mat (const Mat< L, C, real2 > &m)
 Constructor from another matrix. More...
 
 Mat (const Mat< L2, C2, real2 > &m)
 Constructor from another matrix with different size (with null default entries and ignoring outside entries) More...
 
 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...
 
void operator= (const Mat< L, C, real2 > &m)
 Assignment from another matrix. More...
 
void operator= (const Mat< L2, C2, Real > &m)
 Assignment from a matrix of different size. More...
 
void getsub (int L0, int C0, Mat< L2, C2, Real > &m) const
 
void setsub (int L0, int C0, const Mat< L2, C2, Real > &m)
 
void setsub (int L0, int C0, const Vec< L2, Real > &v)
 
void clear ()
 Sets each element to 0. More...
 
void fill (Realr)
 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...
 
Realoperator() (int i, int j)
 Write access to element (i,j). More...
 
const Realoperator() (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 Realptr () const
 Cast into a standard C array of elements (stored per line) (read-only). More...
 
Realptr ()
 Cast into a standard C array of elements (stored per line). More...
 
Linex ()
 Special access to first line. More...
 
const Linex () const
 Special access to first line (read-only). More...
 
Liney ()
 Special access to second line. More...
 
const Liney () const
 Special access to second line (read-only). More...
 
Linez ()
 Special access to third line. More...
 
const Linez () const
 Special access to thrid line (read-only). More...
 
Linew ()
 Special access to fourth line. 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...
 
void transpose ()
 Transpose the square matrix. More...
 
Mat< C, L, Realtransposed () const
 Return the transpose of m. More...
 
Mat< L, P, Realoperator* (const Mat< C, P, Real > &m) const
 Matrix multiplication operator. More...
 
Col operator* (const Line &v) const
 Multiplication operator Matrix * Line. More...
 
Mat< L, C, Realoperator* (Realf) const
 Scalar multiplication operator. More...
 
Mat< L, C, Realoperator+ (const Mat< L, C, Real > &m) const
 Matrix addition operator. More...
 
Mat< L, C, Realoperator- (const Mat< L, C, Real > &m) const
 Matrix subtraction operator. More...
 
Mat< L, C, Realoperator- () const
 Matrix negation operator. More...
 
Mat< L, C, RealmultDiagonal (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...
 
Mat< C, P, RealmultTranspose (const Mat< L, P, Real > &m) const
 Transposed Matrix multiplication operator. More...
 
Mat< L, P, RealmultTransposed (const Mat< P, C, Real > &m) const
 Multiplication with the transposed of the given matrix operator. More...
 
Mat< L, C, RealplusTransposed (const Mat< C, L, Real > &m) const
 Addition with the transposed of the given matrix operator. More...
 
Mat< L, C, RealminusTransposed (const Mat< C, L, Real > &m) const
 Substraction with the transposed of the given matrix operator. More...
 
Mat< L, C, Realoperator/ (Realf) const
 Scalar division operator. More...
 
void operator*= (Realr)
 Scalar multiplication assignment operator. More...
 
void operator/= (Realr)
 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, Realinverted () const
 invert this More...
 
bool invert (const Mat< L, C, Real > &m)
 Invert square matrix m. More...
 
bool isTransform () const
 
Vec< C-1, Realtransform (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
 

Additional Inherited Members

- Public Attributes inherited from sofa::helper::fixed_array< VecNoInit< C, Real >, L >
VecNoInit< C, Realelems [N]
 
- Static Public Attributes inherited from sofa::defaulttype::Mat< BSIZE, BSIZE, Real >
static const int nbLines
 
static const int nbCols
 
static Mat< L, L, Reals_identity
 precomputed identity matrix of size (L,L) More...
 
- Static Public Member Functions inherited from sofa::defaulttype::Mat< BSIZE, BSIZE, Real >
static Mat< L, L, RealIdentity ()
 Returns the identity matrix. More...
 
static bool canSelfTranspose (const Mat< S, S, Real > &lhs, const Mat< S, S, Real > &rhs)
 
static bool canSelfTranspose (const Mat< I, J, Real > &, const Mat< J, I, Real > &)
 
static Mat< L, C, RealtransformTranslation (const Vec< C-1, Real > &t)
 
static Mat< L, C, RealtransformScale (Reals)
 
static Mat< L, C, RealtransformScale (const Vec< C-1, Real > &s)
 
static Mat< L, C, RealtransformRotation (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 ()
 

Function details

template<int N, typename T >
void sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::add ( Index  i,
Index  j,
const T &  v 
)
template<int N, typename T >
const T & sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::element ( Index  i,
Index  j 
) const
template<int N, typename T >
BlocFullMatrix< N, T >::Bloc sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::i ( ) const
template<int N, typename T >
BlocFullMatrix< N, T >::Index sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::Ncols ( ) const
template<int N, typename T >
BlocFullMatrix< N, T >::Index sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::Nrows ( ) const
template<int N, typename T >
defaulttype::Vec<BSIZE,Real> sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::operator* ( const defaulttype::Vec< BSIZE, Real > &  v)
inline
template<int N, typename T >
defaulttype::Mat<BSIZE,BSIZE,Real> sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::operator* ( const defaulttype::Mat< BSIZE, BSIZE, Real > &  m)
inline
template<int N, typename T >
defaulttype::Mat<BSIZE,BSIZE,Real> sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::operator* ( const Bloc m)
inline
template<int N, typename T >
defaulttype::Mat<BSIZE,BSIZE,Real> sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::operator* ( const TransposedBloc mt)
inline
template<int N, typename T >
defaulttype::Mat<BSIZE,BSIZE,Real> sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::operator- ( ) const
inline
template<int N, typename T >
defaulttype::Mat<BSIZE,BSIZE,Real> sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::operator- ( const defaulttype::Mat< BSIZE, BSIZE, Real > &  m) const
inline
template<int N, typename T >
void sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::operator= ( const defaulttype::Mat< BSIZE, BSIZE, Real > &  v)
inline
template<int N, typename T >
void sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::resize ( Index  ,
Index   
)
template<int N, typename T >
void sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::set ( Index  i,
Index  j,
const T &  v 
)
template<int N, typename T >
BlocFullMatrix< N, T >::TransposedBloc sofa::component::linearsolver::BlocFullMatrix< N, T >::Bloc::t ( ) const