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

AFSymMatrix Class Reference

#include <AFSymMatrix.hpp>

Inheritance diagram for AFSymMatrix:

Inheritance graph
[legend]
Collaboration diagram for AFSymMatrix:

Collaboration graph
[legend]
List of all members.

Detailed Description

Abstract Symmetric Matrix.

Author:
Bernard De Cuyper
Version:
1.15
Date:
16/05/2004
Remarks:
Tornado1: Major Abstract nxn Float Matrix used in most linear solvers
 
Purpose:        Preparing the abstract interface of a general Matrix,....

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


Public Methods

 AFSymMatrix (int w)
virtual ~AFSymMatrix ()
virtual AFSymMatrix * copyAnn ()
virtual AFSymMatrix * copyFull ()
virtual FDiagonalMatrix * copyDiagonal ()
virtual AFSymMatrix * copyL0 ()
virtual AFSymMatrix * copyU0 ()
virtual AFSymMatrix * copyL ()
virtual AFSymMatrix * copyU ()
virtual AFSymMatrix * copyL1 ()
virtual AFSymMatrix * copyU1 ()
virtual int getWidth () const
virtual int getHeight () const
virtual void setAll (AFloatMatrix *from, bool t=false)
virtual void setAll (float value=0.0)
virtual AFSymMatrix * add_A_B (AFSymMatrix *B, AFSymMatrix *result=0)
virtual AFSymMatrix * add_B_A (AFSymMatrix *B, AFSymMatrix *result=0)
virtual AFSymMatrix * subst_A_B (AFSymMatrix *B, AFSymMatrix *result=0)
virtual AFSymMatrix * subst_B_A (AFSymMatrix *B, AFSymMatrix *result=0)
virtual AFSymMatrix * mult_A_B (AFSymMatrix *B, AFSymMatrix *result=0)
virtual AFSymMatrix * mult_B_A (AFSymMatrix *B, AFSymMatrix *result=0)
virtual FloatVector * solve (FloatVector *b, FloatVector *x=0)
virtual AFSymMatrix * invert ()
virtual AFSymMatrix * jacobiMatrix ()
virtual FloatVector * jacobiVector (FloatVector *b)
virtual FloatVector * linearSolverU0 (FloatVector *b, FloatVector *x=0)
virtual FloatVector * linearSolverU0 (FloatVector *b, int k, FloatVector *x)
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 * inverseSPD (AFSymMatrix *result=0)
virtual FloatVector * linearSolverL1U0 (FloatVector *b, FloatVector *x=0)
virtual FloatVector * linearSolverL0U1 (FloatVector *b, FloatVector *x=0)
virtual FloatVector * linearSolverLLt (FloatVector *b, FloatVector *x=0)
virtual FloatVector * linearSolverUUt (FloatVector *b, FloatVector *x=0)
virtual FloatVector * linearSolverL1DL1t (FloatVector *b, FloatVector *x=0)
virtual FloatVector * linearSolverU1DU1t (FloatVector *b, FloatVector *x=0)
virtual AFSymMatrix * factorisationL1U0 ()
virtual AFSymMatrix * factorisationL0U1 ()
virtual AFSymMatrix * factorisationLLt ()
virtual AFSymMatrix * factorisationUUt ()
virtual AFSymMatrix * factorisationL1DL1t ()
virtual AFSymMatrix * factorisationU1DU1t ()
virtual AFSymMatrix * choleskyUDUt (AFSymMatrix *result=0)
virtual AFSymMatrix * inverseUDUt (AFSymMatrix *result=0)
virtual AFloatMatrix * ilu0 ()
virtual AFloatMatrix * milu0 ()
virtual AFloatMatrix * rilu0 (float omega=0.95)
virtual AFloatMatrix * iluth (double threshold=0.001)
virtual AFloatMatrix * ilut (int p, double eps)
virtual AFloatMatrix * icf ()
virtual AFloatMatrix * ildlt ()
virtual FDiagonalMatrix * jacobiPrecond (FDiagonalMatrix *S=0)
virtual void sor (double omega, AFSymMatrix **R=0, AFSymMatrix **T=0)
virtual AFProductSeqSMatrix * ssorFactorisation ()
virtual void ssor (double omega, AFSymMatrix **R=0, FDiagonalMatrix **S=0, AFSymMatrix **T=0)
virtual void ssorSPD (double omega, AFSymMatrix **R=0, FDiagonalMatrix **S=0)
virtual void ssorScaled (double omega, float *cste, AFSymMatrix **R=0, AFSymMatrix **T=0)
virtual void ssorScaledSPD (double omega, float *cste, AFSymMatrix **R=0)
virtual AFloatMatrix * apinv (int iterOuter, int iterInner)
virtual FloatVector * gaussSeidelLS (int iterMax, FloatVector *b, FloatVector *x=0)
virtual FloatVector * jacobiLS (int iterMax, FloatVector *b, FloatVector *x=0)
virtual FloatVector * sorLS (int iterMax, FloatVector *b, float omega=1.0, FloatVector *x=0)
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 FloatVector * power (int nmax, float *firstEigenValue, FloatVector *evMax0=0)
virtual FloatVector * inverseIteration (double eigenvalue, int nmax=3, FloatVector *ev=0)
virtual float rayleighQuotient (FloatVector *ev=0)
virtual void output ()
virtual void output (FILE *file)

Protected Attributes

int width


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