Linear Algebra

Collaboration diagram for Linear Algebra:


Detailed Description

Todo:
Have implemented
  • LU-decompostion
  • LQ-decompostion
  • PTLQ-decompostion
  • QR-decompostion
  • QRPT-decompostion
  • SV-decompostion
  • Cholesky-decompostion
implement the rest these classes, that is

  • Tridiagnoal decomposition for real-symmetric/Hermitian matrices
  • Bi-diagonalization
  • Householder transforms
  • Householder solver for linear systems
  • Tri-diagonal systems


Modules

 LU decomposition
 LQ decomposition
 QR decomposition
 Single value decomposition
 Cholesky decomposition

Functions

template<>
matrix< complex< double > > gslmm::operator/ (const matrix< complex< double > > &lhs, const matrix< complex< double > > &rhs)
template<>
matrix< double > gslmm::operator/ (const matrix< double > &lhs, const matrix< double > &rhs)


Function Documentation

template<>
matrix<double> gslmm::operator/ const matrix< double > &  lhs,
const matrix< double > &  rhs
[inline]
 

right / operation between matricies (double) Note that for real matrices, $ A / B = AB^{-1} = \left({B^{T}}^{-1}A^T\right)^T$ In any case, the division can be computed by doing an decomposition of $ B^T$ or and perform a back-substitution of the columns of $ A^T$, and computing the transpose the resulting matrix.

If the matrix $ B$ is square, then an LU decomposition is used. If it has more columns than rows, then a QR decomposition is used. Finally, if $ B$ has more rows than columns, a LQ decomposition is used. Note, that the two matrices $ A, B$ must have the same number of columns. The returned matrix is square with dimension of the input matrices column size.

Parameters:
lhs The left hand operand $ A $
rhs The right hand operand $ B $
Returns:
new matrix, $ m_{ij} = A_{ij} B^{-1}_{ij} $

template<>
matrix<complex<double> > gslmm::operator/ const matrix< complex< double > > &  lhs,
const matrix< complex< double > > &  rhs
[inline]
 

right / operation between matricies (complex<double>) For complex matrices, $ A / B = AB^{-1} = \left({B^{H}}^{-1}A^H\right)^T$.

In any case, the division can be computed by doing an LU decomposition of $ B^H$ and perform a back-substitution of the columns of $ A^H$, and computing the transpose hermitian conjugate to the resulting matrix. Note, that the LU decomposition requires that the matrix $ B$ is square.

Parameters:
lhs The left hand operand $ A $
rhs The right hand operand $ B $
Returns:
new matrix, $ m_{ij} = A_{ij} B^{-1}_{ij} $

Top of page Last update Tue May 9 10:11:26 2006
Christian Holm
Created by DoxyGen 1.4.6