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();
Matrice_Morse_Sym class - Represents a sparse symmetric matrix M stored in Morse format.
void assert_check_sorted_symmetric_morse_matrix_structure() const
void compacte(int elim_coeff_nul=0)
Remove duplicates by sorting tab2.
DoubleVect & ajouter_multvectT_(const DoubleVect &, DoubleVect &) const override
Transposed-matrix-vector multiply-accumulate operation (saxpy).
Matrice_Morse_Sym & operator*=(double)
DOES NOTHING: NOT IMPLEMENTED.
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
Renumbers a matrix to reduce its bandwidth.
bool check_sorted_symmetric_morse_matrix_structure() const
DoubleVect & ajouter_multvect_(const DoubleVect &, DoubleVect &) const override
Matrix-vector multiply-accumulate operation (saxpy).
friend Matrice_Morse_Sym operator+(const Matrice_Morse_Sym &, const Matrice_Morse_Sym &)
Friend function (non-member) of class Matrice_Morse_Sym. DOES NOTHING: NOT IMPLEMENTED.
int inverse(const DoubleVect &, DoubleVect &, double) const override
Computes the solution of the linear system: 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 &)
Assignment operator of a Matrice_Morse_Sym into a Matrice_Morse_Sym.
ArrOfInt & permutation() const
ArrOfInt & permutation_inverse()
Matrice_Morse_Sym operator-() const
Unary negation operator, returns the opposite of the matrix: -A.
Sortie & imprimer_formatte(Sortie &s) const override
ArrOfInt & permutation_inverse() const
DoubleTab & ajouter_multTab_(const DoubleTab &, DoubleTab &) const override
Matrix-matrix multiply-accumulate operation (saxpy) where the matrix is represented by an array.
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)
Friend function (non-member) of class Matrice_Morse_Sym. Simply calls operator*(double,...
void get_symmetric_stencil(Stencil &stencil) const override
Matrice_Morse class - Represents a (sparse) matrix M, not necessarily square,.
Matrice class - Generic class in the matrix hierarchy.
Base class for output streams.