Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

ixion::matrix Class Template Reference

#include <ixlib_matrix.hh>

List of all members.

Public Types

typedef Traits traits_type
typedef traits_type::number_type entry_type
typedef traits_type::scalar_type scalar_type
typedef T * iterator
typedef T const * const_iterator
enum  TMatrixNorm { NORM_TOTAL, NORM_ROW_SUM, NORM_COLUMN_SUM, NORM_SCHUR }

Public Methods

 matrix (TSize height=0, TSize width=0)
template<class InputIterator>  matrix (TSize height, TSize width, InputIterator first)
 matrix (matrix const &src)
matrix & operator= (matrix const &src)
matrix & operator+= (matrix const &op2)
matrix & operator-= (matrix const &op2)
matrix & operator *= (matrix const &op2)
matrix & operator *= (scalar_type scalar)
matrix operator- () const
matrix operator+ (matrix const &op2) const
matrix operator- (matrix const &op2) const
matrix operator * (matrix const &op2) const
matrix operator() (TIndex row) const
entry_typeoperator() (TIndex row, TIndex col)
entry_type operator() (TIndex row, TIndex col) const
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
TSize width () const
TSize height () const
matrix extract (TIndex row, TIndex col, TSize height, TSize width) const
matrix extractRow (TIndex row) const
matrix extractColumn (TIndex col) const
matrix & set (TIndex row, TIndex col, matrix const &src)
matrix & setRow (TIndex row, matrix const &src)
matrix & setColumn (TIndex col, matrix const &src)
matrix & add (TIndex row, TIndex col, matrix const &src, entry_type factor=1)
matrix & addRow (TIndex row, matrix &src, entry_type factor=1)
matrix & addColumn (TIndex col, matrix &src, entry_type factor=1)
matrix & addRowSelf (TIndex to, TIndex from, entry_type factor=1, TIndex startcol=0)
matrix & addColumnSelf (TIndex to, TIndex from, entry_type factor=1, TIndex startrow=0)
matrix & multiplyRowSelf (TIndex row, entry_type factor, TIndex startcol=0)
matrix & multiplyColumnSelf (TIndex column, entry_type factor, TIndex startrow=0)
matrix & swapRowSelf (TIndex row1, TIndex row2)
matrix & swapColumnSelf (TIndex col1, TIndex col2)
entry_type norm (TMatrixNorm norm=NORM_SCHUR) const
entry_type det () const
entry_type trace () const
entry_type diagonalProduct () const
matrix transposed () const
matrix inverted () const
matrix gauss (scalar_type pivot_threshold=0, TSize *swapcount=NULL) const
matrix gaussJordan (scalar_type pivot_threshold=0, TSize *swapcount=NULL) const
matrix linearSolve (matrix const &vec, scalar_type pivot_threshold=0) const
matrix cholesky () const
void decomposeLR (matrix &l, matrix &r) const
matrix & normalize ()
matrix upperTriangleSolve (matrix const &vec) const
matrix lowerTriangleSolve (matrix const &vec) const
void wipe (entry_type value=traits_type::zero)
void setDimension (TSize height, TSize width)
void outMatrix (std::ostream &ostr, void(*item_formatter)(std::ostream &os, bool first, bool last)=NULL) const
TSize getWidth () const
 
Deprecated:
use width() instead.
More...


TSize getHeight () const
 
Deprecated:
use height() instead.
More...


matrix getTransposed () const
 
Deprecated:
use transpose() instead.
More...


matrix getInverted () const
 
Deprecated:
use invert() instead.
More...


matrix getGaussElim (scalar_type pivot_threshold=0, TSize *swapcount=NULL) const
 
Deprecated:
use gauss() instead.
More...


matrix getGaussJordan (scalar_type pivot_threshold=0, TSize *swapcount=NULL) const
 
Deprecated:
use gaussJordan() instead.
More...


matrix getCholesky () const
 
Deprecated:
use cholesky() instead.
More...


void getLR (matrix &l, matrix &r) const
 
Deprecated:
use decomposeLR() instead.
More...



Protected Methods

void setup (TSize height, TSize width)
TSize getSize () const
TIndex getIndex (TIndex row, TIndex col) const

Protected Attributes

TSize Height
TSize Width
auto_array< T > Data

template<class T, class Traits = number_traits<T>>
class ixion::matrix< T, Traits >


Member Typedef Documentation

template<class T, class Traits = number_traits<T>>
typedef T const* ixion::matrix::const_iterator
 

Definition at line 59 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
typedef traits_type::number_type ixion::matrix::entry_type
 

Definition at line 56 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
typedef T* ixion::matrix::iterator
 

Definition at line 58 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
typedef traits_type::scalar_type ixion::matrix::scalar_type
 

Definition at line 57 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
typedef Traits ixion::matrix::traits_type
 

Definition at line 55 of file ixlib_matrix.hh.


Member Enumeration Documentation

template<class T, class Traits = number_traits<T>>
enum ixion::matrix::TMatrixNorm
 

Enumeration values:
NORM_TOTAL 
NORM_ROW_SUM 
NORM_COLUMN_SUM 
NORM_SCHUR 

Definition at line 154 of file ixlib_matrix.hh.


Constructor & Destructor Documentation

template<class T, class Traits = number_traits<T>>
ixion::matrix< T, Traits >::matrix TSize    height = 0,
TSize    width = 0
 

template<class T, class Traits>
template<class InputIterator>
ixion::matrix< T, Traits >::matrix TSize    width,
TSize    height,
InputIterator    first
[inline]
 

Definition at line 246 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
ixion::matrix< T, Traits >::matrix matrix< T, Traits > const &    src
 


Member Function Documentation

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::add TIndex    row,
TIndex    col,
matrix< T, Traits > const &    src,
entry_type    factor = 1
 

Referenced by addColumn(), and addRow().

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::addColumn TIndex    col,
matrix< T, Traits > &    src,
entry_type    factor = 1
[inline]
 

Definition at line 143 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::addColumnSelf TIndex    to,
TIndex    from,
entry_type    factor = 1,
TIndex    startrow = 0
 

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::addRow TIndex    row,
matrix< T, Traits > &    src,
entry_type    factor = 1
[inline]
 

Definition at line 140 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::addRowSelf TIndex    to,
TIndex    from,
entry_type    factor = 1,
TIndex    startcol = 0
 

template<class T, class Traits = number_traits<T>>
const_iterator ixion::matrix< T, Traits >::begin   const [inline]
 

Definition at line 106 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
iterator ixion::matrix< T, Traits >::begin   [inline]
 

Definition at line 103 of file ixlib_matrix.hh.

Referenced by matrix().

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::cholesky   const
 

Referenced by getCholesky().

template<class T, class Traits = number_traits<T>>
void ixion::matrix< T, Traits >::decomposeLR matrix< T, Traits > &    l,
matrix< T, Traits > &    r
const
 

Referenced by getLR().

template<class T, class Traits = number_traits<T>>
entry_type ixion::matrix< T, Traits >::det   const
 

template<class T, class Traits = number_traits<T>>
entry_type ixion::matrix< T, Traits >::diagonalProduct   const
 

template<class T, class Traits = number_traits<T>>
const_iterator ixion::matrix< T, Traits >::end   const [inline]
 

Definition at line 112 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
iterator ixion::matrix< T, Traits >::end   [inline]
 

Definition at line 109 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::extract TIndex    row,
TIndex    col,
TSize    height,
TSize    width
const
 

Referenced by extractColumn(), and extractRow().

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::extractColumn TIndex    col const [inline]
 

Definition at line 127 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::extractRow TIndex    row const [inline]
 

Definition at line 124 of file ixlib_matrix.hh.

Referenced by operator()().

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::gauss scalar_type    pivot_threshold = 0,
TSize   swapcount = NULL
const
 

Referenced by getGaussElim().

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::gaussJordan scalar_type    pivot_threshold = 0,
TSize   swapcount = NULL
const
 

Referenced by getGaussJordan().

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::getCholesky   const [inline]
 

Deprecated:
use cholesky() instead.

Definition at line 208 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::getGaussElim scalar_type    pivot_threshold = 0,
TSize   swapcount = NULL
const [inline]
 

Deprecated:
use gauss() instead.

Definition at line 200 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::getGaussJordan scalar_type    pivot_threshold = 0,
TSize   swapcount = NULL
const [inline]
 

Deprecated:
use gaussJordan() instead.

Definition at line 204 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
TSize ixion::matrix< T, Traits >::getHeight   const [inline]
 

Deprecated:
use height() instead.

Definition at line 188 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
TIndex ixion::matrix< T, Traits >::getIndex TIndex    row,
TIndex    col
const [inline, protected]
 

Definition at line 221 of file ixlib_matrix.hh.

Referenced by operator()().

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::getInverted   const [inline]
 

Deprecated:
use invert() instead.

Definition at line 196 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
void ixion::matrix< T, Traits >::getLR matrix< T, Traits > &    l,
matrix< T, Traits > &    r
const [inline]
 

Deprecated:
use decomposeLR() instead.

Definition at line 212 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
TSize ixion::matrix< T, Traits >::getSize   const [inline, protected]
 

Definition at line 218 of file ixlib_matrix.hh.

Referenced by end(), and matrix().

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::getTransposed   const [inline]
 

Deprecated:
use transpose() instead.

Definition at line 192 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
TSize ixion::matrix< T, Traits >::getWidth   const [inline]
 

Deprecated:
use width() instead.

Definition at line 184 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
TSize ixion::matrix< T, Traits >::height   const [inline]
 

Definition at line 119 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::inverted   const
 

Referenced by getInverted().

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::linearSolve matrix< T, Traits > const &    vec,
scalar_type    pivot_threshold = 0
const
 

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::lowerTriangleSolve matrix< T, Traits > const &    vec const
 

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::multiplyColumnSelf TIndex    column,
entry_type    factor,
TIndex    startrow = 0
 

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::multiplyRowSelf TIndex    row,
entry_type    factor,
TIndex    startcol = 0
 

template<class T, class Traits = number_traits<T>>
entry_type ixion::matrix< T, Traits >::norm TMatrixNorm    norm = NORM_SCHUR const
 

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::normalize  
 

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::operator * matrix< T, Traits > const &    op2 const
 

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::operator *= scalar_type    scalar
 

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::operator *= matrix< T, Traits > const &    op2 [inline]
 

Definition at line 70 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
entry_type ixion::matrix< T, Traits >::operator() TIndex    row,
TIndex    col
const [inline]
 

Definition at line 99 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
entry_type& ixion::matrix< T, Traits >::operator() TIndex    row,
TIndex    col
[inline]
 

Definition at line 96 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::operator() TIndex    row const [inline]
 

Definition at line 93 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::operator+ matrix< T, Traits > const &    op2 const [inline]
 

Definition at line 81 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::operator+= matrix< T, Traits > const &    op2
 

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::operator- matrix< T, Traits > const &    op2 const [inline]
 

Definition at line 86 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::operator-   const [inline]
 

Definition at line 76 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::operator-= matrix< T, Traits > const &    op2
 

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::operator= matrix< T, Traits > const &    src
 

Referenced by operator *=().

template<class T, class Traits = number_traits<T>>
void ixion::matrix< T, Traits >::outMatrix std::ostream &    ostr,
void(*    item_formatter)(std::ostream &os, bool first, bool last) = NULL
const
 

Referenced by operator<<().

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::set TIndex    row,
TIndex    col,
matrix< T, Traits > const &    src
 

Referenced by setColumn(), and setRow().

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::setColumn TIndex    col,
matrix< T, Traits > const &    src
[inline]
 

Definition at line 135 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
void ixion::matrix< T, Traits >::setDimension TSize    height,
TSize    width
 

Referenced by operator>>().

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::setRow TIndex    row,
matrix< T, Traits > const &    src
[inline]
 

Definition at line 132 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
void ixion::matrix< T, Traits >::setup TSize    height,
TSize    width
[protected]
 

Referenced by matrix().

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::swapColumnSelf TIndex    col1,
TIndex    col2
 

template<class T, class Traits = number_traits<T>>
matrix& ixion::matrix< T, Traits >::swapRowSelf TIndex    row1,
TIndex    row2
 

template<class T, class Traits = number_traits<T>>
entry_type ixion::matrix< T, Traits >::trace   const
 

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::transposed   const
 

Referenced by getTransposed().

template<class T, class Traits = number_traits<T>>
matrix ixion::matrix< T, Traits >::upperTriangleSolve matrix< T, Traits > const &    vec const
 

template<class T, class Traits = number_traits<T>>
TSize ixion::matrix< T, Traits >::width   const [inline]
 

Definition at line 116 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
void ixion::matrix< T, Traits >::wipe entry_type    value = traits_type::zero
 


Member Data Documentation

template<class T, class Traits = number_traits<T>>
auto_array<T> ixion::matrix::Data [protected]
 

Definition at line 52 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
TSize ixion::matrix::Height [protected]
 

Definition at line 51 of file ixlib_matrix.hh.

template<class T, class Traits = number_traits<T>>
TSize ixion::matrix::Width [protected]
 

Definition at line 51 of file ixlib_matrix.hh.


The documentation for this class was generated from the following file:
Generated on Wed Oct 31 17:12:25 2001 for ixlib by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001