lib_ex_pour_HZpp/Partie_2/algebre_lineaire/sparselib++/sp1_5c/include/pre_cond_double.h

1 line
No EOL
2.9 KiB
C
Executable file

/************************************************************************
* UNIVERSITE DE BRETAGNE SUD --- I.U.P/I.U.T. DE LORIENT *
************************************************************************
* LABORATOIRE DE GENIE MECANIQUE ET MATERIAUX *
* Tel 97.80.80.60 *
* Centre de Genie Industriel 56520 GUIDEL-PLAGES *
************************************************************************
* DATE: 03/01/01 *
* $ *
* AUTEUR: G RIO *
* $ *
* PROJET: Herezh++ *
* $ *
************************************************************************
* BUT: Faire une interface gŽnŽrique pour les prŽconditionnements. *
* Seule la partie inferieure est stockee. *
* $ *
* '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' * *
* VERIFICATION: *
* *
* ! date ! auteur ! but ! *
* ------------------------------------------------------------ *
* ! ! ! ! *
* $ *
* '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' *
* MODIFICATIONS: *
* ! date ! auteur ! but ! *
* ------------------------------------------------------------ *
* $ *
************************************************************************/
#ifndef PRE_COND_DOUBLE_H
#define PRE_COND_DOUBLE_H
//#include "vecdefs.h"
#include "vecdefs_GR.h" // modif GR
//#include VECTOR_H
#include "comprow_double.h"
#include "compcol_double.h"
class DiagPreconditioner_double {
private:
VECTOR_double diag_;
public:
DiagPreconditioner_double (const CompCol_Mat_double &);
DiagPreconditioner_double (const CompRow_Mat_double &);
~DiagPreconditioner_double (void) { };
VECTOR_double solve (const VECTOR_double &x) const;
VECTOR_double trans_solve (const VECTOR_double &x) const;
const double& diag(int i) const { return diag_(i); }
double& diag(int i) { return diag_(i); }
};
#endif