|
Index
C++ Code Documentation
template <class A, uint N> math::MatrixX
File: BASE/math/MatrixX.H
Template matrix container class.
public:
- MatrixX();
| void constructor | |
- MatrixX( MatrixX<A,N> const & );
| copy constructor | |
- MatrixX( A const *a );
| constructor | |
- ~MatrixX();
| destructor | |
- MatrixX<A,N> & operator=( MatrixX<A,N> const & );
| assignment operators | |
- MatrixX<A,N> & operator=( A const *a );
- A * operator[]( uint );
| reference to entry | |
- A const * operator[]( uint ) const;
| reference to entry | |
- void zero();
| set all entries of *this to 0 | |
- void clear();
| set all entries of *this to 0 | |
- void set( A const & );
| set all entries of *this to a | |
- void identity();
| *this := identity MatrixX | |
- void getrow( VectorX<A, N> &, uint ) const;
| copy nth row of *this into a | |
- void getcol( VectorX<A, N> &, uint ) const;
| copy nth column of *this into a | |
- void putrow( VectorX<A, N> const &, uint );
| copy a into nth row of *this | |
- void putcol( VectorX<A, N> const &, uint );
| copy a into nth column of *this | |
- void neg();
| negation: *this := - *this | |
- void neg( MatrixX<A,N> const & );
| negation *this := -a | |
- void add( MatrixX<A,N> const &, MatrixX<A,N> const &b );
| *this := a + b | |
- void add( MatrixX<A,N> const &a );
| *this += a | |
- void operator+=( MatrixX<A,N> const &a );
| *this += a | |
- void sub( MatrixX<A,N> const &, MatrixX<A,N> const & );
| *this := a - b | |
- void sub( MatrixX<A,N> const &a );
| *this -= a | |
- void operator-=( MatrixX<A,N> const &a );
| *this -= a | |
- void operator*=( A const & );
| *this *= a | |
- void operator*=( MatrixX<A,N> const & );
| *this *= a | |
- void mul( A const &, MatrixX<A,N> const &b );
| scalar multiplication: *this := a * b | |
- void mul( MatrixX<A,N> const &, A const &b );
| scalar multiplication: *this := a * b | |
- void mul( A const &b );
| scalar multiplication: *this *= a | |
- void mul( VectorX<A,N> &v ) const;
| vector multiplication v := (*this) * v | |
- void mulleft( VectorX<A,N> &v ) const;
| vector multiplication v := v * (*this) | |
- void mul( MatrixX<A,N> const &, MatrixX<A,N> const &b );
| matrix multiplication: *this := a * b | |
- void mul( MatrixX<A,N> const &a );
| matrix multiplication: *this *= a | |
- void mulleft( MatrixX<A,N> const &a );
| matrix multiplication: *this *= a | |
- void operator/=( A const & );
| *this /= a | |
- void div( MatrixX<A,N> const &, A const &b );
| *this := a / b | |
- A trace() const;
| return trace( *this ) | |
- void transpose();
| *this := transpose( *this ) | |
- void transpose( MatrixX<A,N> const & );
| *this := transpose( a ) | |
- friend std::ostream & operator<< NULL_TMPL_ARGS ( std::ostream &o, MatrixX<A,N> const & );
| write a to stream o | |
- int linear_solve( VectorX<A,N> &B );
| solves the linear system A.X=B. A: n-by-n matrix of A's (already allocated) (input and output) n: size of a (input) B: right-hand-side and and solution (input and output) A is replaced by its LU-decomposition | |
- int inv();
| computes the inverse of a matrix. A_inv: inverse of A (already allocated) (output) A: n-by-n matrix of A's (already allocated) (input) n: size of a (input) | |
- int inv( MatrixX<A,N> const & );
- A det() const;
- int LU_decomposition(VectorX<uint,N> &indx, int &d);
| replaces a by LU-decomposition. With pivoting. a: n-by-n matrix of A's (already allocated) (input and output) n: size of a (input) indx: row permutation index (already allocated) (output) d: +1 or -1 according as permuation is even/odd (output) a and a_inv must be distinct | |
- int LU_back_substitution( VectorX<uint,N> const &indx, VectorX<A,N> &b );
| LU_back_substitution. a: n-by-n matrix of A's in LU form (input) n: size of a (input) indx: row permutation index (already allocated) (input) b: right-hand-side (array of n A's) (input and output) | |
- A *data();
protected:
- A _data[N][N];
| The elements x[][] sit in memory in the order x[0][0],..., x[0][N-1], x[1][0],.... | |
private:
|