atlas::matrix::Matrix< C > Class Template Reference

#include <matrix.h>

List of all members.

Public Types

typedef std::pair< size_t,
size_t > 
index_pair
typedef std::vector< C
>::iterator 
iterator
typedef std::vector< C
>::const_iterator 
const_iterator

Public Member Functions

iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
 Matrix ()
 Matrix (size_t m, size_t n)
 Matrix (size_t m, size_t n, const C &c)
 Matrix (size_t n)
 Matrix (const std::vector< std::vector< C > > &)
 Matrix (const Matrix< C > &, const std::vector< std::vector< C > > &)
 Matrix (const Matrix< C > &, size_t, size_t, size_t, size_t)
template<typename I>
 Matrix (const Matrix< C > &, const I &, const I &)
template<typename I>
 Matrix (const I &, const I &, tags::IteratorTag)
virtual ~Matrix ()
const C & operator() (size_t i, size_t j) const
bool operator== (const Matrix< C > &) const
index_pair absMinPos (size_t i_min=0, size_t j_min=0) const
void apply (std::vector< C > &, const std::vector< C > &) const
template<typename I, typename O>
void apply (const I &, const I &, O) const
void column (std::vector< C > &, size_t) const
size_t columnSize () const
bool divisible (C) const
bool isEmpty () const
bool isZero (size_t i_min=0, size_t j_min=0) const
size_t numRows () const
size_t numColumns () const
void row (std::vector< C > &, size_t) const
size_t rowSize () const
C & operator() (size_t i, size_t j)
Matrix< C > & operator+= (const Matrix< C > &)
Matrix< C > & operator-= (const Matrix< C > &)
Matrix< C > & operator *= (const Matrix< C > &)
Matrix< C > & operator/= (const C &c)
void changeColumnSign (size_t)
void changeRowSign (size_t)
void columnOperation (size_t, size_t, const C &)
void copy (const Matrix< C > &, size_t r=0, size_t c=0)
void copyColumn (const Matrix< C > &, size_t, size_t)
void copyRow (const Matrix< C > &, size_t, size_t)
void eraseColumn (size_t)
void eraseRow (size_t)
void invert ()
void invert (C &d)
void permute (const setutils::Permutation &a)
void negate ()
void reset ()
void resize (size_t, size_t)
void resize (size_t, size_t, const C &)
void rowOperation (size_t, size_t, const C &)
void swap (Matrix &)
void swapColumns (size_t, size_t)
void swapRows (size_t, size_t)
void transpose ()

Private Attributes

std::vector< C > d_data
size_t d_rows
size_t d_columns

template<typename C>
class atlas::matrix::Matrix< C >


Member Typedef Documentation

template<typename C>
typedef std::vector<C>::const_iterator atlas::matrix::Matrix< C >::const_iterator
 

template<typename C>
typedef std::pair<size_t,size_t> atlas::matrix::Matrix< C >::index_pair
 

template<typename C>
typedef std::vector<C>::iterator atlas::matrix::Matrix< C >::iterator
 


Constructor & Destructor Documentation

template<typename C>
atlas::matrix::Matrix< C >::Matrix  )  [inline]
 

template<typename C>
atlas::matrix::Matrix< C >::Matrix size_t  m,
size_t  n
[inline]
 

template<typename C>
atlas::matrix::Matrix< C >::Matrix size_t  m,
size_t  n,
const C &  c
[inline]
 

template<typename C>
atlas::matrix::Matrix< C >::Matrix size_t  n  )  [inline, explicit]
 

template<typename C>
atlas::matrix::Matrix< C >::Matrix const std::vector< std::vector< C > > &   )  [explicit]
 

template<typename C>
atlas::matrix::Matrix< C >::Matrix const Matrix< C > &  ,
const std::vector< std::vector< C > > & 
 

template<typename C>
atlas::matrix::Matrix< C >::Matrix const Matrix< C > &  ,
size_t  ,
size_t  ,
size_t  ,
size_t 
 

template<typename C>
template<typename I>
atlas::matrix::Matrix< C >::Matrix const Matrix< C > &  ,
const I &  ,
const I & 
 

template<typename C>
template<typename I>
atlas::matrix::Matrix< C >::Matrix const I &  ,
const I &  ,
tags::IteratorTag 
 

template<typename C>
virtual atlas::matrix::Matrix< C >::~Matrix  )  [inline, virtual]
 


Member Function Documentation

template<typename C>
Matrix< C >::index_pair atlas::matrix::Matrix< C >::absMinPos size_t  i_min = 0,
size_t  j_min = 0
const
 

template<typename C>
template<typename I, typename O>
void atlas::matrix::Matrix< C >::apply const I &  ,
const I &  ,
const
 

template<typename C>
void atlas::matrix::Matrix< C >::apply std::vector< C > &  ,
const std::vector< C > & 
const
 

template<typename C>
const_iterator atlas::matrix::Matrix< C >::begin  )  const [inline]
 

template<typename C>
iterator atlas::matrix::Matrix< C >::begin  )  [inline]
 

template<typename C>
void atlas::matrix::Matrix< C >::changeColumnSign size_t   ) 
 

template<typename C>
void atlas::matrix::Matrix< C >::changeRowSign size_t   ) 
 

template<typename C>
void atlas::matrix::Matrix< C >::column std::vector< C > &  ,
size_t 
const
 

template<typename C>
void atlas::matrix::Matrix< C >::columnOperation size_t  ,
size_t  ,
const C & 
 

template<typename C>
size_t atlas::matrix::Matrix< C >::columnSize  )  const [inline]
 

template<typename C>
void atlas::matrix::Matrix< C >::copy const Matrix< C > &  ,
size_t  r = 0,
size_t  c = 0
 

template<typename C>
void atlas::matrix::Matrix< C >::copyColumn const Matrix< C > &  ,
size_t  ,
size_t 
 

template<typename C>
void atlas::matrix::Matrix< C >::copyRow const Matrix< C > &  ,
size_t  ,
size_t 
 

template<typename C>
bool atlas::matrix::Matrix< C >::divisible  )  const
 

template<typename C>
const_iterator atlas::matrix::Matrix< C >::end  )  const [inline]
 

template<typename C>
iterator atlas::matrix::Matrix< C >::end  )  [inline]
 

template<typename C>
void atlas::matrix::Matrix< C >::eraseColumn size_t   ) 
 

template<typename C>
void atlas::matrix::Matrix< C >::eraseRow size_t   ) 
 

template<typename C>
void atlas::matrix::Matrix< C >::invert C &  d  ) 
 

template<typename C>
void atlas::matrix::Matrix< C >::invert  ) 
 

template<typename C>
bool atlas::matrix::Matrix< C >::isEmpty  )  const [inline]
 

template<typename C>
bool atlas::matrix::Matrix< C >::isZero size_t  i_min = 0,
size_t  j_min = 0
const
 

template<typename C>
void atlas::matrix::Matrix< C >::negate  ) 
 

template<typename C>
size_t atlas::matrix::Matrix< C >::numColumns  )  const [inline]
 

template<typename C>
size_t atlas::matrix::Matrix< C >::numRows  )  const [inline]
 

template<typename C>
Matrix< C > & atlas::matrix::Matrix< C >::operator *= const Matrix< C > &   ) 
 

template<typename C>
C& atlas::matrix::Matrix< C >::operator() size_t  i,
size_t  j
[inline]
 

template<typename C>
const C& atlas::matrix::Matrix< C >::operator() size_t  i,
size_t  j
const [inline]
 

template<typename C>
Matrix< C > & atlas::matrix::Matrix< C >::operator+= const Matrix< C > &   ) 
 

template<typename C>
Matrix< C > & atlas::matrix::Matrix< C >::operator-= const Matrix< C > &   ) 
 

template<typename C>
Matrix< C > & atlas::matrix::Matrix< C >::operator/= const C &  c  ) 
 

template<typename C>
bool atlas::matrix::Matrix< C >::operator== const Matrix< C > &   )  const
 

template<typename C>
void atlas::matrix::Matrix< C >::permute const setutils::Permutation a  ) 
 

template<typename C>
void atlas::matrix::Matrix< C >::reset  )  [inline]
 

template<typename C>
void atlas::matrix::Matrix< C >::resize size_t  ,
size_t  ,
const C & 
 

template<typename C>
void atlas::matrix::Matrix< C >::resize size_t  ,
size_t 
 

template<typename C>
void atlas::matrix::Matrix< C >::row std::vector< C > &  ,
size_t 
const
 

template<typename C>
void atlas::matrix::Matrix< C >::rowOperation size_t  ,
size_t  ,
const C & 
 

template<typename C>
size_t atlas::matrix::Matrix< C >::rowSize  )  const [inline]
 

template<typename C>
void atlas::matrix::Matrix< C >::swap Matrix< C > &   ) 
 

template<typename C>
void atlas::matrix::Matrix< C >::swapColumns size_t  ,
size_t 
 

template<typename C>
void atlas::matrix::Matrix< C >::swapRows size_t  ,
size_t 
 

template<typename C>
void atlas::matrix::Matrix< C >::transpose  ) 
 


Member Data Documentation

template<typename C>
size_t atlas::matrix::Matrix< C >::d_columns [private]
 

template<typename C>
std::vector<C> atlas::matrix::Matrix< C >::d_data [private]
 

template<typename C>
size_t atlas::matrix::Matrix< C >::d_rows [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Mar 20 07:47:29 2006 for atlas by  doxygen 1.4.6