|
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:
|