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

operators.h File Reference

#include "matrix.h"

Functions

template<classTp> MatrixC<Tp>& operator+= (MatrixC<Tp>& A, const MatrixC<Tp>& B)
 add and overwrite matrix and matrix. More...

template<classTp> MatrixC<Tp>& operator+= (MatrixC<Tp>& A, const Tp B)
 add and overwrite matrix and value.

const MatrixFD operator+ (const MatrixFD& A, const MatrixFD& B)
 add matrix and matrix.

const VectorD operator+ (const VectorD& A, const VectorD& B)
const MatrixFI operator+ (const MatrixFI& A, const MatrixFI& B)
const VectorI operator+ (const VectorI& A, const VectorI& B)
const MatrixSD operator+ (const MatrixSD& A, const MatrixSD& B)
const MatrixBD operator+ (const MatrixBD& A, const MatrixBD& B)
const MatrixFD operator+ (const MatrixFD& A, const double v)
 add matrix and value.

const VectorD operator+ (const VectorD& A, const double v)
const MatrixFI operator+ (const MatrixFI& A, const int v)
const VectorI operator+ (const VectorI& A, const int v)
const MatrixSD operator+ (const MatrixSD& A, const double v)
const MatrixBD operator+ (const MatrixBD& A, const double v)
template<classTp> MatrixC<Tp>& operator-= (MatrixC<Tp>& A, const MatrixC<Tp>& B)
 subtract and overwrite matrix and matrix.

template<classTp> MatrixC<Tp>& operator-= (MatrixC<Tp>& A, const Tp B)
 subtract and overwrite matrix and value.

const MatrixFD operator- (const MatrixFD& A, const MatrixFD& B)
 subtract matrix and matrix.

const VectorD operator- (const VectorD& A, const VectorD& B)
const MatrixFI operator- (const MatrixFI& A, const MatrixFI& B)
const VectorI operator- (const VectorI& A, const VectorI& B)
const MatrixSD operator- (const MatrixSD& A, const MatrixSD& B)
const MatrixBD operator- (const MatrixBD& A, const MatrixBD& B)
const MatrixFD operator- (const MatrixFD& A, const double v)
 subtract matrix and value.

const VectorD operator- (const VectorD& A, const double v)
const MatrixFI operator- (const MatrixFI& A, const int v)
const VectorI operator- (const VectorI& A, const int v)
const MatrixSD operator- (const MatrixSD& A, const double v)
const MatrixBD operator- (const MatrixBD& A, const double v)
MatrixFD operator * (const MatrixFD& A, const MatrixFD& B)
 multiply matrix and matrix.

MatrixFD operator * (const MatrixSD& A, const MatrixFD& B)
MatrixFD operator * (const MatrixBD& A, const MatrixFD& B)
MatrixFI operator * (const MatrixFI& A, const MatrixFI& B)
double operator * (const VectorD& A, const VectorD& B)
int operator * (const VectorI& A, const VectorI& B)
MatrixFD operator * (const MatrixFD& A, const double v)
 multiply matrix and value.

MatrixSD operator * (const MatrixSD& A, const double v)
MatrixBD operator * (const MatrixBD& A, const double v)
MatrixFI operator * (const MatrixFI& A, const int v)
VectorD operator * (const VectorD& A, const double v)
VectorI operator * (const VectorI& A, const int v)
MatrixFD operator * (const double v, const MatrixFD& A)
MatrixSD operator * (const double v, const MatrixSD& A)
MatrixBD operator * (const double v, const MatrixBD& A)
MatrixFI operator * (const int v, const MatrixFI& A)
VectorD operator * (const double v, const VectorD& A)
VectorI operator * (const int v, const VectorI& A)
VectorD operator * (const MatrixFD& A, const VectorD& B)
 multiply matrix with vector.

VectorD operator * (const MatrixSD& A, const VectorD& B)
VectorD operator * (const MatrixBD& A, const VectorD& B)
VectorI operator * (const MatrixFI& A, const VectorI& B)
VectorD operator * (const VectorD& B, const MatrixFD& A)
VectorD operator * (const VectorD& B, const MatrixSD& A)
VectorD operator * (const VectorD& B, const MatrixBD& A)
VectorI operator * (const VectorI& B, const MatrixFI& A)
MatrixFDoperator *= (MatrixFD& A, const double v)
 multiply and overwrite.

MatrixSDoperator *= (MatrixSD& A, const double v)
MatrixBDoperator *= (MatrixBD& A, const double v)
MatrixFIoperator *= (MatrixFI& A, const int v)
VectorDoperator *= ( VectorD& A, const double v)
VectorIoperator *= ( VectorI& A, const int v)
VectorDoperator *= (VectorD& B, const MatrixFD& A)
VectorDoperator *= (VectorD& B, const MatrixSD& A)
VectorDoperator *= (VectorD& B, const MatrixBD& A)
VectorIoperator *= (VectorI& B, const MatrixFI& A)
MatrixFD operator/ (const MatrixFD& B, MatrixFD& A)
 solve linear equation system.

MatrixFD operator/ (const MatrixFD& B, MatrixSD& A)
MatrixFD operator/ (const MatrixFD& B, MatrixBD& A)
VectorD operator/ (const VectorD& B, MatrixFD& A)
VectorD operator/ (const VectorD& B, MatrixSD& A)
VectorD operator/ (const VectorD& B, MatrixBD& A)
MatrixFDoperator/= (MatrixFD& B, MatrixFD& A)
 solve a linear equation system and write solution to B,.

MatrixFDoperator/= (MatrixFD& B, MatrixSD& A)
MatrixFDoperator/= (MatrixFD& B, MatrixBD& A)
VectorDoperator/= (VectorD& B, MatrixFD& A)
VectorDoperator/= (VectorD& B, MatrixSD& A)
VectorDoperator/= (VectorD& B, MatrixBD& A)
MatrixFDoperator/= (MatrixFD& A, const double da)
 divide by constant double value and overwrite.

MatrixSDoperator/= (MatrixSD& A, const double da)
MatrixBDoperator/= (MatrixBD& A, const double da)
VectorDoperator/= ( VectorD& A, const double da)
MatrixFD operator/ (MatrixFD& A, const double da)
 divide by constant double value.

MatrixSD operator/ (MatrixSD& A, const double da)
MatrixBD operator/ (MatrixBD& A, const double da)
VectorD operator/ (VectorD& A, const double da)

Function Documentation

template<classTp>
MatrixC< Tp >& operator+=<Tp> ( MatrixC< Tp >& A,
const MatrixC< Tp >& B ) [inline]
 

add and overwrite matrix and matrix.

For reasons of speed they dont do any work themselves but call the low level algebraic methods. All algebraic operators come in two flavors, as regular, unary operators (* / + -) and as assignment operators (*= /= += -=). Further, efficiency is guaranteed through implemenation of copy on write, as mentioned above.

template<classTp>
MatrixC< Tp >& operator+=<Tp> ( MatrixC< Tp >& A,
const Tp B ) [inline]
 

add and overwrite matrix and value.

const MatrixFD operator+ ( const MatrixFD & A,
const MatrixFD & B ) [inline]
 

add matrix and matrix.

const VectorD operator+ ( const VectorD & A,
const VectorD & B ) [inline]
 

const MatrixFI operator+ ( const MatrixFI & A,
const MatrixFI & B ) [inline]
 

const VectorI operator+ ( const VectorI & A,
const VectorI & B ) [inline]
 

const MatrixSD operator+ ( const MatrixSD & A,
const MatrixSD & B ) [inline]
 

const MatrixBD operator+ ( const MatrixBD & A,
const MatrixBD & B ) [inline]
 

const MatrixFD operator+ ( const MatrixFD & A,
const double v ) [inline]
 

add matrix and value.

const VectorD operator+ ( const VectorD & A,
const double v ) [inline]
 

const MatrixFI operator+ ( const MatrixFI & A,
const int v ) [inline]
 

const VectorI operator+ ( const VectorI & A,
const int v ) [inline]
 

const MatrixSD operator+ ( const MatrixSD & A,
const double v ) [inline]
 

const MatrixBD operator+ ( const MatrixBD & A,
const double v ) [inline]
 

template<classTp>
MatrixC< Tp >& operator-=<Tp> ( MatrixC< Tp >& A,
const MatrixC< Tp >& B ) [inline]
 

subtract and overwrite matrix and matrix.

template<classTp>
MatrixC< Tp >& operator-=<Tp> ( MatrixC< Tp >& A,
const Tp B ) [inline]
 

subtract and overwrite matrix and value.

const MatrixFD operator- ( const MatrixFD & A,
const MatrixFD & B ) [inline]
 

subtract matrix and matrix.

const VectorD operator- ( const VectorD & A,
const VectorD & B ) [inline]
 

const MatrixFI operator- ( const MatrixFI & A,
const MatrixFI & B ) [inline]
 

const VectorI operator- ( const VectorI & A,
const VectorI & B ) [inline]
 

const MatrixSD operator- ( const MatrixSD & A,
const MatrixSD & B ) [inline]
 

const MatrixBD operator- ( const MatrixBD & A,
const MatrixBD & B ) [inline]
 

const MatrixFD operator- ( const MatrixFD & A,
const double v ) [inline]
 

subtract matrix and value.

const VectorD operator- ( const VectorD & A,
const double v ) [inline]
 

const MatrixFI operator- ( const MatrixFI & A,
const int v ) [inline]
 

const VectorI operator- ( const VectorI & A,
const int v ) [inline]
 

const MatrixSD operator- ( const MatrixSD & A,
const double v ) [inline]
 

const MatrixBD operator- ( const MatrixBD & A,
const double v ) [inline]
 

MatrixFD operator * ( const MatrixFD & A,
const MatrixFD & B ) [inline]
 

multiply matrix and matrix.

MatrixFD operator * ( const MatrixSD & A,
const MatrixFD & B ) [inline]
 

MatrixFD operator * ( const MatrixBD & A,
const MatrixFD & B ) [inline]
 

MatrixFI operator * ( const MatrixFI & A,
const MatrixFI & B ) [inline]
 

double operator * ( const VectorD & B,
const VectorD & B ) [inline]
 

int operator * ( const VectorI & B,
const VectorI & B ) [inline]
 

MatrixFD operator * ( const MatrixFD & A,
const double v ) [inline]
 

multiply matrix and value.

MatrixSD operator * ( const MatrixSD & A,
const double v ) [inline]
 

MatrixBD operator * ( const MatrixBD & A,
const double v ) [inline]
 

MatrixFI operator * ( const MatrixFI & A,
const int v ) [inline]
 

VectorD operator * ( const VectorD & B,
const double v ) [inline]
 

VectorI operator * ( const VectorI & B,
const int v ) [inline]
 

MatrixFD operator * ( const double v,
const MatrixFD & A ) [inline]
 

MatrixSD operator * ( const double v,
const MatrixSD & A ) [inline]
 

MatrixBD operator * ( const double v,
const MatrixBD & A ) [inline]
 

MatrixFI operator * ( const int v,
const MatrixFI & A ) [inline]
 

VectorD operator * ( const double v,
const VectorD & A ) [inline]
 

VectorI operator * ( const int v,
const VectorI & A ) [inline]
 

VectorD operator * ( const MatrixFD & A,
const VectorD & B ) [inline]
 

multiply matrix with vector.

VectorD operator * ( const MatrixSD & A,
const VectorD & B ) [inline]
 

VectorD operator * ( const MatrixBD & A,
const VectorD & B ) [inline]
 

VectorI operator * ( const MatrixFI & A,
const VectorI & B ) [inline]
 

VectorD operator * ( const VectorD & B,
const MatrixFD & A ) [inline]
 

VectorD operator * ( const VectorD & B,
const MatrixSD & A ) [inline]
 

VectorD operator * ( const VectorD & B,
const MatrixBD & A ) [inline]
 

VectorI operator * ( const VectorI & B,
const MatrixFI & A ) [inline]
 

MatrixFD & operator *= ( MatrixFD & A,
const double v ) [inline]
 

multiply and overwrite.

MatrixSD & operator *= ( MatrixSD & A,
const double v ) [inline]
 

MatrixBD & operator *= ( MatrixBD & A,
const double v ) [inline]
 

MatrixFI & operator *= ( MatrixFI & A,
const int v ) [inline]
 

VectorD & operator *= ( VectorD & B,
const double v ) [inline]
 

VectorI & operator *= ( VectorI & B,
const int v ) [inline]
 

VectorD & operator *= ( VectorD & B,
const MatrixFD & A ) [inline]
 

VectorD & operator *= ( VectorD & B,
const MatrixSD & A ) [inline]
 

VectorD & operator *= ( VectorD & B,
const MatrixBD & A ) [inline]
 

VectorI & operator *= ( VectorI & B,
const MatrixFI & A ) [inline]
 

MatrixFD operator/ ( const MatrixFD & B,
MatrixFD & A ) [inline]
 

solve linear equation system.

MatrixFD operator/ ( const MatrixFD & B,
MatrixSD & A ) [inline]
 

MatrixFD operator/ ( const MatrixFD & B,
MatrixBD & A ) [inline]
 

VectorD operator/ ( const VectorD & B,
MatrixFD & A ) [inline]
 

VectorD operator/ ( const VectorD & B,
MatrixSD & A ) [inline]
 

VectorD operator/ ( const VectorD & B,
MatrixBD & A ) [inline]
 

MatrixFD & operator/= ( MatrixFD & A,
MatrixFD & A ) [inline]
 

solve a linear equation system and write solution to B,.

MatrixFD & operator/= ( MatrixFD & A,
MatrixSD & A ) [inline]
 

MatrixFD & operator/= ( MatrixFD & A,
MatrixBD & A ) [inline]
 

VectorD & operator/= ( VectorD & A,
MatrixFD & A ) [inline]
 

VectorD & operator/= ( VectorD & A,
MatrixSD & A ) [inline]
 

VectorD & operator/= ( VectorD & A,
MatrixBD & A ) [inline]
 

MatrixFD & operator/= ( MatrixFD & A,
const double da ) [inline]
 

divide by constant double value and overwrite.

MatrixSD & operator/= ( MatrixSD & A,
const double da ) [inline]
 

MatrixBD & operator/= ( MatrixBD & A,
const double da ) [inline]
 

VectorD & operator/= ( VectorD & A,
const double da ) [inline]
 

MatrixFD operator/ ( MatrixFD & A,
const double da ) [inline]
 

divide by constant double value.

MatrixSD operator/ ( MatrixSD & A,
const double da ) [inline]
 

MatrixBD operator/ ( MatrixBD & A,
const double da ) [inline]
 

VectorD operator/ ( VectorD & A,
const double da ) [inline]
 


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