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

atlas::matrix Namespace Reference


Classes

class  atlas::matrix::Matrix< C >

Functions

template<typename C>
void columnVectors (std::vector< std::vector< C > > &b, const Matrix< C > &m)
template<typename C>
Matrix< C > & conjugate (Matrix< C > &, const Matrix< C > &)
template<typename C>
void extractBlock (Matrix< C > &, const Matrix< C > &, size_t, size_t, size_t, size_t)
template<typename C>
void extractMatrix (Matrix< C > &, const Matrix< C > &, const std::vector< size_t > &, const std::vector< size_t > &)
template<typename C>
void identityMatrix (Matrix< C > &, size_t)
template<typename C>
void initBasis (std::vector< std::vector< C > > &, size_t)
template<typename C>
Matrix< C > & invConjugate (Matrix< C > &, const Matrix< C > &)
template<typename C>
void blockReduce (Matrix< C > &, size_t, Matrix< C > &, Matrix< C > &)
template<typename C>
void blockShape (Matrix< C > &, size_t, Matrix< C > &, Matrix< C > &)
template<typename C>
void columnReduce (Matrix< C > &, size_t, size_t, Matrix< C > &)
template<typename C>
bool hasBlockReduction (const Matrix< C > &, size_t)
template<typename C>
bool hasReduction (const Matrix< C > &, size_t)
template<typename C>
Matrix< C >::index_pair findBlockReduction (const Matrix< C > &, size_t)
template<typename C>
Matrix< C >::index_pair findReduction (const Matrix< C > &, size_t)
template<typename C>
void rowReduce (Matrix< C > &, size_t, size_t, Matrix< C > &)
template<typename C>
void blockReduce (Matrix< C > &m, size_t d, Matrix< C > &r, Matrix< C > &c)
template<typename C>
void blockShape (Matrix< C > &m, size_t d, Matrix< C > &r, Matrix< C > &c)
template<typename C>
void columnReduce (Matrix< C > &m, size_t j, size_t d, Matrix< C > &c)
template<typename C>
Matrix< C >::index_pair findBlockReduction (const Matrix< C > &m, size_t r)
template<typename C>
Matrix< C >::index_pair findReduction (const Matrix< C > &m, size_t r)
template<typename C>
bool hasBlockReduction (const Matrix< C > &m, size_t r)
template<typename C>
bool hasReduction (const Matrix< C > &m, size_t r)
template<typename C>
void rowReduce (Matrix< C > &m, size_t i, size_t d, Matrix< C > &r)


Function Documentation

template<typename C>
void blockReduce Matrix< C > &  m,
size_t  d,
Matrix< C > &  r,
Matrix< C > &  c
[static]
 

Ensures that m(d,d) divides the block from (d+1,d+1) down.

Definition at line 1002 of file matrix_def.h.

References blockShape(), columnReduce(), atlas::matrix::Matrix< C >::columnSize(), findBlockReduction(), findReduction(), hasBlockReduction(), hasReduction(), atlas::matrix::Matrix< C >::rowOperation(), rowReduce(), and atlas::matrix::Matrix< C >::rowSize().

template<typename C>
void blockReduce Matrix< C > &  ,
size_t  ,
Matrix< C > &  ,
Matrix< C > & 
[static]
 

Referenced by atlas::matrix::Matrix< C >::invert().

template<typename C>
void blockShape Matrix< C > &  m,
size_t  d,
Matrix< C > &  r,
Matrix< C > &  c
[static]
 

Does the final reduction of m to block shape, recording row reductions in r and column reductions in c.

Definition at line 1038 of file matrix_def.h.

References atlas::matrix::Matrix< C >::columnOperation(), atlas::matrix::Matrix< C >::columnSize(), atlas::matrix::Matrix< C >::rowOperation(), and atlas::matrix::Matrix< C >::rowSize().

template<typename C>
void blockShape Matrix< C > &  ,
size_t  ,
Matrix< C > &  ,
Matrix< C > & 
[static]
 

Referenced by blockReduce(), and atlas::matrix::Matrix< C >::invert().

template<typename C>
void columnReduce Matrix< C > &  m,
size_t  j,
size_t  d,
Matrix< C > &  c
[static]
 

Does the column reduction for m at place j, and does the same operation on r. The reduction consists in subtracting from column j the multiple of column d which leaves at (d,j) the remainder of the Euclidian division of m(d,j) by m(d,d), and then swapping columns j and d.

Definition at line 1071 of file matrix_def.h.

References atlas::matrix::Matrix< C >::columnOperation(), atlas::intutils::divide(), and atlas::matrix::Matrix< C >::swapColumns().

template<typename C>
void columnReduce Matrix< C > &  ,
size_t  ,
size_t  ,
Matrix< C > & 
[static]
 

Referenced by blockReduce(), and atlas::matrix::Matrix< C >::invert().

template<typename C>
void atlas::matrix::columnVectors std::vector< std::vector< C > > &  b,
const Matrix< C > &  m
 

Synopsis: writes in b the list of column vectors of m.

Definition at line 865 of file matrix_def.h.

References atlas::matrix::Matrix< C >::column(), atlas::matrix::Matrix< C >::numColumns(), and atlas::matrix::Matrix< C >::resize().

Referenced by atlas::interpreter::root_datum_wrapper().

template<typename C>
Matrix< C > & atlas::matrix::conjugate Matrix< C > &  m,
const Matrix< C > &  p
 

Conjugates m by p, i.e. transforms m into pmp^{-1}. It is assumed that p is invertible (over the quotient field of the coefficients), and that denominators cancel out.

Definition at line 882 of file matrix_def.h.

References atlas::matrix::Matrix< C >::inverse(), and atlas::matrix::Matrix< C >::swap().

template<typename C>
void atlas::matrix::extractBlock Matrix< C > &  dest,
const Matrix< C > &  source,
size_t  firstRow,
size_t  lastRow,
size_t  firstColumn,
size_t  lastColumn
 

Synopsis: sets dest equal to the block [firstRow,lastRow[ x [firstColumn, lastColumn[ in source.

Definition at line 900 of file matrix_def.h.

References atlas::matrix::Matrix< C >::numColumns(), atlas::matrix::Matrix< C >::numRows(), and atlas::matrix::Matrix< C >::resize().

template<typename C>
void atlas::matrix::extractMatrix Matrix< C > &  dest,
const Matrix< C > &  source,
const std::vector< size_t > &  r,
const std::vector< size_t > &  c
 

Synopsis: extracts the sub-matrix corresponding to the subsets r and c of the row and column indices respectively.

Definition at line 919 of file matrix_def.h.

References atlas::matrix::Matrix< C >::resize().

template<typename C>
Matrix<C>::index_pair findBlockReduction const Matrix< C > &  m,
size_t  r
[static]
 

Returns the reduction point of m. Assumes that hasBlockReduction(m,r) has returned true.

Definition at line 1094 of file matrix_def.h.

References atlas::matrix::Matrix< C >::columnSize(), and atlas::matrix::Matrix< C >::rowSize().

template<typename C>
Matrix<C>::index_pair findBlockReduction const Matrix< C > &  ,
size_t 
[static]
 

Referenced by blockReduce().

template<typename C>
Matrix<C>::index_pair findReduction const Matrix< C > &  m,
size_t  r
[static]
 

Returns the reduction point of m. Assumes that hasReduction(m,r) has returned true.

Definition at line 1117 of file matrix_def.h.

References atlas::matrix::Matrix< C >::columnSize(), and atlas::matrix::Matrix< C >::rowSize().

template<typename C>
Matrix<C>::index_pair findReduction const Matrix< C > &  ,
size_t 
[static]
 

Referenced by blockReduce(), and atlas::matrix::Matrix< C >::invert().

template<typename C>
bool hasBlockReduction const Matrix< C > &  m,
size_t  r
[static]
 

Tells if there is an element in the block under (r,r) which is not divisible bu m(r,r)

Definition at line 1143 of file matrix_def.h.

References atlas::matrix::Matrix< C >::columnSize(), and atlas::matrix::Matrix< C >::rowSize().

template<typename C>
bool hasBlockReduction const Matrix< C > &  ,
size_t 
[static]
 

Referenced by blockReduce().

template<typename C>
bool hasReduction const Matrix< C > &  m,
size_t  r
[static]
 

Tells if there is an element in the first row or column not divisible by m(r,r).

Definition at line 1167 of file matrix_def.h.

References atlas::matrix::Matrix< C >::columnSize(), and atlas::matrix::Matrix< C >::rowSize().

template<typename C>
bool hasReduction const Matrix< C > &  ,
size_t 
[static]
 

Referenced by blockReduce(), and atlas::matrix::Matrix< C >::invert().

template<typename C>
void atlas::matrix::identityMatrix Matrix< C > &  m,
size_t  n
 

Synopsis: puts in q the identity matrix of size n.

Definition at line 937 of file matrix_def.h.

References atlas::matrix::Matrix< C >::resize().

Referenced by atlas::interpreter::check_involution(), atlas::interpreter::classify_involution(), atlas::tori::dualPi0(), atlas::interpreter::GL_wrapper(), atlas::interpreter::id_mat_wrapper(), atlas::rootdata::longest(), atlas::makeTopology(), atlas::interpreter::SL_wrapper(), and atlas::rootdata::toMatrix().

template<typename C>
void atlas::matrix::initBasis std::vector< std::vector< C > > &  b,
size_t  r
 

Synopsis: sets b to the canonical basis in dimension r.

Definition at line 953 of file matrix_def.h.

Referenced by atlas::interpreter::annihilator_modulo(), atlas::abelian::basis(), atlas::interpreter::check_involution(), atlas::testrun::CoveringIterator::CoveringIterator(), atlas::rootdata::RootDatum::fillStatus(), atlas::fullMinusBasis(), atlas::fullPlusBasis(), atlas::interpreter::invfact_wrapper(), atlas::makeOrthogonal(), atlas::cartanclass::Fiber::makeRealFormPartition(), atlas::tori::minusBasis(), atlas::lattice::perp(), atlas::tori::plusBasis(), atlas::interpreter::Smith_basis_wrapper(), atlas::interpreter::Smith_wrapper(), atlas::interactive_lattice::smithBasis(), and atlas::interpreter::smithBasis().

template<typename C>
Matrix< C > & atlas::matrix::invConjugate Matrix< C > &  m,
const Matrix< C > &  p
 

Conjugates m by p^{-1}, i.e. transforms m into p^{-1}mp. It is assumed that p is invertible (over the quotient field of the coefficients), and that denominators cancel out.

Definition at line 970 of file matrix_def.h.

References atlas::matrix::Matrix< C >::inverse(), and atlas::matrix::Matrix< C >::swap().

Referenced by atlas::interactive::getInnerClass(), and atlas::matrix::Matrix< C >::Matrix().

template<typename C>
void rowReduce Matrix< C > &  m,
size_t  i,
size_t  d,
Matrix< C > &  r
[static]
 

Does the row reduction for m at place j, and does the same operation on r. The reduction consists in subtracting from row i the multiple of row d which leaves at (i,d) the remainder of the Euclidian division of m(d,j) by m(d,d), and then swapping rows i and d.

Definition at line 1194 of file matrix_def.h.

References atlas::intutils::divide(), atlas::matrix::Matrix< C >::rowOperation(), and atlas::matrix::Matrix< C >::swapRows().

template<typename C>
void rowReduce Matrix< C > &  ,
size_t  ,
size_t  ,
Matrix< C > & 
[static]
 

Referenced by blockReduce(), and atlas::matrix::Matrix< C >::invert().


Generated on Wed Mar 26 16:53:00 2008 for atlas by  doxygen 1.3.9.1