Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

FTriDiagonalMatrix Class Reference

#include <FTriDiagonalMatrix.hpp>

Inheritance diagram for FTriDiagonalMatrix:

Inheritance graph
[legend]
Collaboration diagram for FTriDiagonalMatrix:

Collaboration graph
[legend]
List of all members.

Detailed Description

Tri Diagonal Matrix.

Author:
Bernard De Cuyper
Version:
0.05
Date:
26/08/2002
 
Purpose:        Define the concept of Tri Diagonal Matrix
                        Used to linearize differencial equations,....
                

@ Copyrights: Bernard De Cuyper & Eddy Fraiha 2002, Eggs & Pictures. MIT/Open BSD copyright model.


Public Methods

 FTriDiagonalMatrix (int asize, float val=0.0)
 FTriDiagonalMatrix (int asize, float lval, float dval, float uval)
 FTriDiagonalMatrix (const FTriDiagonalMatrix &v)
FTriDiagonalMatrix operator= (const FTriDiagonalMatrix &v)
virtual ~FTriDiagonalMatrix ()
virtual AFloatMatrix * copy ()
virtual AFloatMatrix * t (AFloatMatrix *result=0)
virtual AFSymMatrix * copyL0 ()
virtual AFSymMatrix * copyU0 ()
virtual AFSymMatrix * copyL ()
virtual AFSymMatrix * copyU ()
virtual AFSymMatrix * copyL1 ()
virtual AFSymMatrix * copyU1 ()
void load (FTriDiagonalMatrix *m)
void load (FloatVector *u1, FloatVector *d1, FloatVector *l1)
virtual int size () const
FloatVector * getUvalues ()
FloatVector * getDvalues ()
FloatVector * getLvalues ()
virtual void set0 (int i, int j, float value)
virtual float get0 (int i, int j)
void setD0 (int i, float value)
float getD0 (int i) const
void setU0 (int i, float value)
float getU0 (int i) const
void setL0 (int i, float value)
float getL0 (int i) const
virtual Simple1DIndexList * indexesInRow0 (int k, Simple1DIndexList *oldRow=0)
virtual Simple1DIndexList * indexesInCol0 (int k, Simple1DIndexList *oldCol=0)
virtual void set (int i, int j, float value)
virtual float get (int i, int j)
void setD (int i, float value)
float getD (int i) const
void setU (int i, float value)
float getU (int i) const
void setL (int i, float value)
float getL (int i) const
virtual Simple1DIndexList * indexesInRow (int k, Simple1DIndexList *oldRow=0)
virtual Simple1DIndexList * indexesInCol (int k, Simple1DIndexList *oldCol=0)
virtual FloatVector * linearSolverU0 (FloatVector *b, FloatVector *x=0)
virtual FloatVector * linearSolverU1 (FloatVector *b, FloatVector *x=0)
virtual FloatVector * linearSolverL0 (FloatVector *b, FloatVector *x=0)
virtual FloatVector * linearSolverL1 (FloatVector *b, FloatVector *x=0)
virtual AFSymMatrix * factorisationL1U0 ()
virtual AFSymMatrix * factorisationL0U1 ()
virtual FloatVector * gaussSeidel (FloatVector *b, FloatVector *x=0)
virtual FloatVector * jacobi (FloatVector *b, FloatVector *x=0, FloatVector *dest=0)
virtual FloatVector * sor (FloatVector *b, float omega=1.0, FloatVector *x=0)
virtual AFSymMatrix * jacobiMatrix ()
virtual void setAll (float value=0.0)
virtual float det ()
virtual float trace ()
virtual float norme2 ()
virtual float sum ()
virtual float minimum ()
virtual float maximum ()
virtual float sigma ()
FTriDiagonalMatrix pow (float pow)
FTriDiagonalMatrix log (float base)
void operator+= (float value)
void operator-= (float value)
void operator *= (float value)
void operator/= (float value)
virtual void add (float value)
virtual void subst (float value)
virtual void mult (float value)
virtual void div (float value)
void operator+= (const FTriDiagonalMatrix &m)
void operator-= (const FTriDiagonalMatrix &m)
virtual void add (AFloatMatrix &m)
virtual void subst (AFloatMatrix &m)
FloatVector * mult_Av (FloatVector *v, FloatVector *result=0)
FloatVector * mult_ATv (FloatVector *v, FloatVector *result=0)
FloatVector * mult_vA (FloatVector *v, FloatVector *result=0)
FloatVector * mult_vAT (FloatVector *vt, FloatVector *result=0)
FloatVector * mult_Av (FloatVector *v, int col0, int row0, bool incremental=false, FloatVector *result=0)
FloatVector * mult_ATv (FloatVector *v, int col0, int row0, bool incremental=false, FloatVector *result=0)
FloatVector * mult_vA (FloatVector *v, int row0, int col0, bool incremental=false, FloatVector *result=0)
FloatVector * mult_vAT (FloatVector *vt, int row0, int col0, bool incremental=false, FloatVector *result=0)
void output ()
void output (FILE *file)

Public Attributes

FTriDiagonalMatrix sqrt ()
FTriDiagonalMatrix sqr ()
FTriDiagonalMatrix exp ()
FTriDiagonalMatrix log ()
FTriDiagonalMatrix sin ()
FTriDiagonalMatrix cos ()
FTriDiagonalMatrix tan ()

Private Attributes

int N
FloatVector * up
FloatVector * d
FloatVector * low

Friends

FloatVectorT operator * (const FloatVectorT &vt, const FTriDiagonalMatrix &m)
FloatVector operator * (const FTriDiagonalMatrix &m, const FloatVector &v)


The documentation for this class was generated from the following files:
SourceForge.net Logo
Restoreinpaint sourceforge project `C++/Java Image Processing, Restoration, Inpainting Project'.

Bernard De Cuyper: Open Project Leader: Concept, design and development.
Bernard De Cuyper & Eddy Fraiha 2002, 2003. Bernard De Cuyper 2004. Open and free, for friendly usage only.
Modifications on Belgium ground of this piece of artistic work, by governement institutions or companies, must be notified to Bernard De Cuyper.
bern_bdc@hotmail.com