16#ifndef Matrice_Morse_Sym_included
17#define Matrice_Morse_Sym_included
19#include <Matrice_Morse.h>
20#include <Matrice_Sym.h>
45 Matrice_Morse_Sym(
int ,
int ,
const IntLists& ,
const DoubleLists& ,
const DoubleVect& );
58 void scale(
const double x )
override;
75 int inverse(
const DoubleVect&, DoubleVect&,
double )
const override;
76 int inverse(
const DoubleVect&, DoubleVect&,
double,
int )
const override;
94 int isLU()
const {
return 0; }
95 mutable ArrOfInt permutation_;
96 mutable ArrOfInt permutation_inverse_;
97 mutable Matrice matrice_renumerotee_;
100int Matrice_Morse_Sym_test();
Classe Matrice_Morse_Sym Represente une matrice M (creuse) symetrique stockee au format Morse.
void assert_check_sorted_symmetric_morse_matrix_structure() const
void compacte(int elim_coeff_nul=0)
Suppression des doublons on ordonne tab2;.
DoubleVect & ajouter_multvectT_(const DoubleVect &, DoubleVect &) const override
Operation de multiplication-accumulation (saxpy) matrice vecteur, par la matrice transposee.
Matrice_Morse_Sym & operator*=(double)
NE FAIT RIEN : NON CODE.
bool check_symmetric_morse_matrix_structure() const
void get_symmetric_stencil_and_coefficients(Stencil &stencil, StencilCoeffs &coefficients) const override
void get_stencil(Stencil &stencil) const override
Matrice & matrice_renumerotee()
Matrice_Morse_Sym(int n1=1, int n2=1)
void renumerote() const
Renumerotation d'une matrice afin de reduire la largeur de bande.
bool check_sorted_symmetric_morse_matrix_structure() const
DoubleVect & ajouter_multvect_(const DoubleVect &, DoubleVect &) const override
Operation de multiplication-accumulation (saxpy) matrice vecteur.
friend Matrice_Morse_Sym operator+(const Matrice_Morse_Sym &, const Matrice_Morse_Sym &)
Fonction (hors classe) amie de la classe Matrice_Morse_Sym NE FAIT RIEN : NON CODE.
int inverse(const DoubleVect &, DoubleVect &, double) const override
Calcule la solution du systeme lineaire: A * solution = secmem.
Matrice & matrice_renumerotee() const
void assert_check_symmetric_morse_matrix_structure() const
void get_stencil_and_coefficients(Stencil &stencil, StencilCoeffs &coefficients) const override
Matrice_Morse_Sym & operator=(const Matrice_Morse_Sym &)
Operateur d'affectatiob d'une Matrice_Morse_Sym dans une Matrice_Morse_Sym.
ArrOfInt & permutation() const
ArrOfInt & permutation_inverse()
Matrice_Morse_Sym operator-() const
Operateur de negation unaire, renvoie l'opposee de la matrice: - A.
Sortie & imprimer_formatte(Sortie &s) const override
ArrOfInt & permutation_inverse() const
DoubleTab & ajouter_multTab_(const DoubleTab &, DoubleTab &) const override
Operation de multiplication-accumulation (saxpy) matrice matrice (matrice represente par un tableau).
void scale(const double x) override
virtual double multvect_et_prodscal(const DoubleVect &, DoubleVect &) const
friend Matrice_Morse_Sym operator*(const Matrice_Morse_Sym &, double)
Fonction (hors classe) amie de la classe Matrice_Morse_Sym Simple appel a operator*(double,...
void get_symmetric_stencil(Stencil &stencil) const override
Classe Matrice_Morse Represente une matrice M (creuse), non necessairement carree.
Classe Matrice Classe generique de la hierarchie des matrices.
Classe de base des flux de sortie.