#include <FTriDiagonalMatrix.hpp>
Inheritance diagram for FTriDiagonalMatrix:
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) |