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

MatrixFD Class Reference

A user level class for column oriented storage of a full double Matrix. More...

#include <matrixFD.h>

Inheritance diagram for MatrixFD:

MatrixC Matrix List of all members.

Public Methods

constructors and destructor
 MatrixFD ()
 default constructor.

 MatrixFD (const int nr, const int nc=1, const double value=0.0)
 standard constructor.

 MatrixFD (const MatrixC<double>& B)
 copy constructor.

 ~MatrixFD ()
 virtual destructor.

MatrixFD& operator= (const double value)
 assignment with a constant value.

copy of rows and columns
VectorD column (const int j) const
 create VectorD from column of this Matrix.

VectorD row (const int i) const
 create VectorD from row of this Matrix.

MatrixFD low level algebraic methods
Optimized, overloaded low level algebra methods for MatrixFD.

MatrixFD transpose () const
 return transposed Matrix.

void multiply (const MatrixFD& A, const MatrixFD& B, const char TRANSA='N', const char TRANSB='N', const double ALPHA=1.0, const double BETA=0.0)
 multiplication this=alpha*op(A)*op(B)+beta*this, BLAS level 3, DGEMM.

void multiply (const double value)
 multiply this matrix with a constant value.

void multiply (const MatrixSD& A, const MatrixFD& B, const double ALPHA=1.0, const double BETA=0.0)
 multiplication this=alpha*A*B+beta*this, BLAS level 2, DSPMV.

void multiply (const MatrixBD& A, const MatrixFD& B, const double ALPHA=1.0, const double BETA=0.0)
 multiplication this=alpha*A*B+beta*this, BLAS level 2, DSBMV.

void multiply (const VectorD& x, VectorD& y, const char TRANS='N', const double ALPHA=1.0, const double BETA=0.0) const
 multiplication y=alpha*op(this)*x+beta*y, BLAS level 2.

void LUdecompose (int* IPIV)
 LU decomposition of a quadratic matrix. More...

void LUsubstitute (MatrixC<double>& B, int* IPIV)
 solve triangular system by backsubstitution. More...

void LUsolve (MatrixC<double>& B)
 solve linear equation system.

void LUinvert ()
 inversion of a general quadratic matrix.

void CHdecompose ()
 Cholesky CTC decomposition of a symmetric positive definite matrix.

void CHsubstitute (MatrixC<double>& B)
 solve triangular Cholesky system by backsubstitution.

void CHsolve (MatrixC<double>& B)
 solve linear equation system with a symmetric positive definite matrix.

void CHinvert ()
 inversion of a symmetric positive definite matrix.


Detailed Description

A user level class for column oriented storage of a full double Matrix.

Author(s):
rokrau
Date:
2000/11/09 18:41:31

MatrixFD is a rectangular double Matrix with full storage of all elements. It inherits from MatrixC<double> and therefore only constructors and assignment operators have to be defined. Then we are ready for fine tuning, i.e. overloading of all algebraic methods used by the operators to make things fast.


Constructor & Destructor Documentation

MatrixFD::MatrixFD ( ) [explicit]
 

default constructor.

MatrixFD::MatrixFD ( const int nr,
const int nc = 1,
const double value = 0.0 ) [explicit]
 

standard constructor.

MatrixFD::MatrixFD ( const MatrixC< double >& B )
 

copy constructor.

MatrixFD::~MatrixFD ( ) [inline]
 

virtual destructor.


Member Function Documentation

MatrixFD & MatrixFD::operator= ( const double value ) [inline]
 

assignment with a constant value.

VectorD MatrixFD::column ( const int j ) const
 

create VectorD from column of this Matrix.

VectorD MatrixFD::row ( const int i ) const
 

create VectorD from row of this Matrix.

MatrixFD MatrixFD::transpose ( ) const
 

return transposed Matrix.

Reimplemented from MatrixC.

void MatrixFD::multiply ( const MatrixFD & A,
const MatrixFD & B,
const char TRANSA = 'N',
const char TRANSB = 'N',
const double ALPHA = 1.0,
const double BETA = 0.0 )
 

multiplication this=alpha*op(A)*op(B)+beta*this, BLAS level 3, DGEMM.

void MatrixFD::multiply ( const double value )
 

multiply this matrix with a constant value.

void MatrixFD::multiply ( const MatrixSD & A,
const MatrixFD & B,
const double ALPHA = 1.0,
const double BETA = 0.0 )
 

multiplication this=alpha*A*B+beta*this, BLAS level 2, DSPMV.

void MatrixFD::multiply ( const MatrixBD & A,
const MatrixFD & B,
const double ALPHA = 1.0,
const double BETA = 0.0 )
 

multiplication this=alpha*A*B+beta*this, BLAS level 2, DSBMV.

void MatrixFD::multiply ( const VectorD & x,
VectorD & y,
const char TRANS = 'N',
const double ALPHA = 1.0,
const double BETA = 0.0 ) const
 

multiplication y=alpha*op(this)*x+beta*y, BLAS level 2.

void MatrixFD::LUdecompose ( int * IPIV )
 

LU decomposition of a quadratic matrix.

Parameters:
IPIV   is an integer vector of order MIN(nr,nc) that contains row column permutations

void MatrixFD::LUsubstitute ( MatrixC< double >& B,
int * IPIV )
 

solve triangular system by backsubstitution.

Parameters:
B   the right hand side(s) are given in the Matrix B which on return holds the solution vector(s)
IPIV   is an integer vector of order MIN(nr,nc) that contains row column permutations

void MatrixFD::LUsolve ( MatrixC< double >& B )
 

solve linear equation system.

void MatrixFD::LUinvert ( )
 

inversion of a general quadratic matrix.

void MatrixFD::CHdecompose ( )
 

Cholesky CTC decomposition of a symmetric positive definite matrix.

void MatrixFD::CHsubstitute ( MatrixC< double >& B )
 

solve triangular Cholesky system by backsubstitution.

void MatrixFD::CHsolve ( MatrixC< double >& B )
 

solve linear equation system with a symmetric positive definite matrix.

void MatrixFD::CHinvert ( )
 

inversion of a symmetric positive definite matrix.


The documentation for this class was generated from the following file:
Generated at Wed Nov 22 08:38:29 2000 for LinAl - a simple and efficient Matrix library - by doxygen1.2.1 written by Dimitri van Heesch, © 1997-2000