Documentation


matrix
[Linear algebra]


Detailed Description

Operations involving a single matrix: assignment, multiplication with a scalar, etc.

Matrix inversion belongs to the module on linear equation solution


Classes

struct  matrix_traits
 Auxiliary class for the extraction of matrix entry type. More...


Functions

template<class M> std::size_t animal::nrows (const M &m)
 Number of rows of a matrix.

template<class M> std::size_t animal::ncols (const M &m)
 Number of columns of a matrix.

template<class Cont, class Value> void animal::m_assign (Cont &M, const Value &a)
 for all elements M[i][j]: $ M[i][j] = a $

template<class Cont, class Val> void animal::m_teq (Cont &M, const Val &a)
 $ M *= a $

template<class Cont, class Val> void animal::m_deq (Cont &M, const Val &a)
 $ M /= a $

template<class Cont1, class Cont2> void animal::m_eq_A (Cont1 &M, const Cont2 &A)
 $ M = A $

template<class Cont1, class Cont2> void animal::m_eq_aA (Cont1 &M, typename matrix_traits< Cont2 >::value_type a, const Cont2 &A)
 $ M = aA $

template<class Cont1, class Cont2> void animal::m_peq_A (Cont1 &M, const Cont2 &A)
 $ M += A $

template<class Cont1, class Cont2> void animal::m_peq_aA (Cont1 &M, typename matrix_traits< Cont2 >::value_type a, const Cont2 &A)
 $ M += aA $

template<class Cont1, class Cont2> void animal::m_meq_A (Cont1 &M, const Cont2 &A)
 $ M -= A $

template<class Cont1, class Cont2> void animal::m_eq_At (Cont1 &M, const Cont2 &A)
 $ M = A^T $

template<class Cont1, class Cont2> void animal::m_eq_aAt (Cont1 &M, typename matrix_traits< Cont2 >::value_type a, const Cont2 &A)
 $ M = aA^T $

template<class Cont1, class Cont2> void animal::m_peq_At (Cont1 &M, const Cont2 &A)
 $ M += A^T $

template<class Cont1, class Cont2> void animal::m_peq_aAt (Cont1 &M, const typename matrix_traits< Cont2 >::value_type a, const Cont2 &A)
 $ M += aA^T $

template<class Cont1, class Cont2> void animal::m_meq_At (Cont1 &M, const Cont2 &A)
 $ M -= A^T $


Function Documentation

template<class Cont, class Value>
void m_assign Cont &  M,
const Value &  a
[inline]
 

for all elements M[i][j]: $ M[i][j] = a $

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 418 of file linear.h.

References animal::ncols(), and animal::nrows().

template<class Cont, class Val>
void m_deq Cont &  M,
const Val &  a
[inline]
 

$ M /= a $

Definition at line 445 of file linear.h.

References animal::ncols(), and animal::nrows().

template<class Cont1, class Cont2>
void m_eq_A Cont1 &  M,
const Cont2 &  A
[inline]
 

$ M = A $

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 458 of file linear.h.

References animal::ncols(), and animal::nrows().

template<class Cont1, class Cont2>
void m_eq_aA Cont1 &  M,
typename matrix_traits< Cont2 >::value_type  a,
const Cont2 &  A
[inline]
 

$ M = aA $

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 472 of file linear.h.

References animal::ncols(), and animal::nrows().

template<class Cont1, class Cont2>
void m_eq_aAt Cont1 &  M,
typename matrix_traits< Cont2 >::value_type  a,
const Cont2 &  A
[inline]
 

$ M = aA^T $

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 564 of file linear.h.

References animal::ncols(), and animal::nrows().

template<class Cont1, class Cont2>
void m_eq_At Cont1 &  M,
const Cont2 &  A
[inline]
 

$ M = A^T $

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 553 of file linear.h.

References animal::ncols(), and animal::nrows().

template<class Cont1, class Cont2>
void m_meq_A Cont1 &  M,
const Cont2 &  A
[inline]
 

$ M -= A $

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 505 of file linear.h.

References animal::ncols(), and animal::nrows().

template<class Cont1, class Cont2>
void m_meq_At Cont1 &  M,
const Cont2 &  A
[inline]
 

$ M -= A^T $

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 597 of file linear.h.

References animal::ncols(), and animal::nrows().

template<class Cont1, class Cont2>
void m_peq_A Cont1 &  M,
const Cont2 &  A
[inline]
 

$ M += A $

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 483 of file linear.h.

References animal::ncols(), and animal::nrows().

template<class Cont1, class Cont2>
void m_peq_aA Cont1 &  M,
typename matrix_traits< Cont2 >::value_type  a,
const Cont2 &  A
[inline]
 

$ M += aA $

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 494 of file linear.h.

References animal::ncols(), and animal::nrows().

template<class Cont1, class Cont2>
void m_peq_aAt Cont1 &  M,
const typename matrix_traits< Cont2 >::value_type  a,
const Cont2 &  A
[inline]
 

$ M += aA^T $

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 586 of file linear.h.

References animal::ncols(), and animal::nrows().

template<class Cont1, class Cont2>
void m_peq_At Cont1 &  M,
const Cont2 &  A
[inline]
 

$ M += A^T $

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 575 of file linear.h.

References animal::ncols(), and animal::nrows().

template<class Cont, class Val>
void m_teq Cont &  M,
const Val &  a
[inline]
 

$ M *= a $

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 432 of file linear.h.

References animal::ncols(), and animal::nrows().

template<class M>
std::size_t ncols const M &  m  )  [inline]
 

Number of columns of a matrix.

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 401 of file linear.h.

Referenced by animal::m_assign(), animal::m_deq(), animal::m_eq_A(), animal::m_eq_aA(), animal::m_eq_aAB(), animal::m_eq_aABt(), animal::m_eq_aAt(), animal::m_eq_aAtB(), animal::m_eq_aAtBt(), animal::m_eq_AB(), animal::m_eq_ABt(), animal::m_eq_At(), animal::m_eq_AtB(), animal::m_eq_AtBt(), animal::m_eq_cholfactor(), animal::m_eq_inv(), animal::m_eq_invsqrt(), animal::m_eq_invsqrt2(), animal::m_eq_ludcmp(), animal::m_eq_luinv(), animal::m_eq_modchol(), animal::m_meq_A(), animal::m_meq_AB(), animal::m_meq_ABt(), animal::m_meq_At(), animal::m_meq_AtB(), animal::m_meq_AtBt(), animal::m_peq_A(), animal::m_peq_aA(), animal::m_peq_aAB(), animal::m_peq_aABt(), animal::m_peq_aAt(), animal::m_peq_aAtB(), animal::m_peq_aAtBt(), animal::m_peq_AB(), animal::m_peq_ABt(), animal::m_peq_At(), animal::m_peq_AtB(), animal::m_peq_AtBt(), animal::m_teq(), animal::v_eq_aAb(), animal::v_eq_aAtb(), animal::v_eq_Ab(), animal::v_eq_Atb(), animal::v_eq_cholsolve(), animal::v_eq_lusolve(), animal::v_meq_Ab(), animal::v_meq_Atb(), animal::v_peq_aAb(), animal::v_peq_aAtb(), animal::v_peq_Ab(), and animal::v_peq_Atb().

template<class M>
std::size_t nrows const M &  m  )  [inline]
 

Number of rows of a matrix.

Examples:
linear_test.cpp, and matrix_test.cpp.

Definition at line 394 of file linear.h.

Referenced by animal::lubksb(), animal::ludcmp(), animal::m_assign(), animal::m_deq(), animal::m_eq_A(), animal::m_eq_aA(), animal::m_eq_aAB(), animal::m_eq_aABt(), animal::m_eq_aAt(), animal::m_eq_aAtB(), animal::m_eq_aAtBt(), animal::m_eq_AB(), animal::m_eq_ABt(), animal::m_eq_At(), animal::m_eq_AtB(), animal::m_eq_AtBt(), animal::m_eq_cholfactor(), animal::m_eq_inv(), animal::m_eq_invsqrt(), animal::m_eq_invsqrt2(), animal::m_eq_ludcmp(), animal::m_eq_luinv(), animal::m_eq_modchol(), animal::m_meq_A(), animal::m_meq_AB(), animal::m_meq_ABt(), animal::m_meq_At(), animal::m_meq_AtB(), animal::m_meq_AtBt(), animal::m_peq_A(), animal::m_peq_aA(), animal::m_peq_aAB(), animal::m_peq_aABt(), animal::m_peq_aAt(), animal::m_peq_aAtB(), animal::m_peq_aAtBt(), animal::m_peq_AB(), animal::m_peq_ABt(), animal::m_peq_At(), animal::m_peq_AtB(), animal::m_peq_AtBt(), animal::m_teq(), animal::ns1__luinv(), animal::v_eq_aAb(), animal::v_eq_aAtb(), animal::v_eq_Ab(), animal::v_eq_Atb(), animal::v_eq_cholsolve(), animal::v_eq_lusolve(), animal::v_meq_Ab(), animal::v_meq_Atb(), animal::v_peq_aAb(), animal::v_peq_aAtb(), animal::v_peq_Ab(), and animal::v_peq_Atb().


Generated on Thu Dec 23 13:52:29 2004 by doxygen 1.3.6