17#ifndef Matrice_Dense_included
18#define Matrice_Dense_included
20#include <Matrice_Base.h>
32 void dimensionner(
const int nb_lines ,
const int nb_cols );
35 inline const double& operator( )(
const int line ,
const int col )
const;
36 inline double& operator( )(
const int line ,
const int col );
46 int ordre()
const override;
52 DoubleTab&
ajouter_multTab_(
const DoubleTab& x, DoubleTab& r)
const override;
54 void scale(
const double x )
override ;
55 void clean()
override;
56 void get_stencil( Stencil& stencil )
const override;
60 void solve(
const ArrOfDouble& b, ArrOfDouble& x);
76inline const double& Matrice_Dense::operator( )(
const int line,
const int col)
const
80 return Matrix_( line , col );
83inline double& Matrice_Dense::operator( )(
const int line,
const int col)
87 return Matrix_( line , col );
Classe Matrice_Base Classe de base de la hierarchie des matrices.
void scale(const double x) override
int nb_colonnes() const override
Return local number of columns (=size on the current proc).
void read_from_file(const Nom &filename)
int ordre() const override
If square matrix, returns number of lines, otherwise 0.
void build_matrix_from_coefficients_line_by_line(const DoubleVect &coefficients)
DoubleVect & ajouter_multvectT_(const DoubleVect &x, DoubleVect &r) const override
Operation de multiplication-accumulation (saxpy) matrice vecteur, par la matrice transposee.
void dimensionner(const int nb_lines, const int nb_cols)
void solve(const ArrOfDouble &b, ArrOfDouble &x)
Solves the linear system A*x = b using LU factorization.
void build_the_transposed(Matrice_Dense &transposed) const
void build_matrix_from_coefficients_column_by_column(const DoubleVect &coefficients)
int nb_lignes() const override
Return local number of lines (=size on the current proc).
friend Matrice_Dense operator+(const Matrice_Dense &A, const Matrice_Dense &B)
Sortie & imprimer_formatte(Sortie &s) const override
void convert_to_morse_matrix(Matrice_Morse &morse_matrix) const
friend Matrice_Dense operator*(const double &a, const Matrice_Dense &B)
bool is_the_same(const Matrice_Dense &other_matrix, const double tol=1e-14) const
void set_coefficient(const int i, const int j, const double value)
void multiplyToRight(const Matrice_Dense &B, Matrice_Dense &RES) const
DoubleTab & ajouter_multTab_(const DoubleTab &x, DoubleTab &r) const override
DoubleVect & ajouter_multvect_(const DoubleVect &x, DoubleVect &r) const override
Operation de multiplication-accumulation (saxpy) matrice vecteur.
void get_stencil(Stencil &stencil) const override
Classe Matrice_Morse Represente une matrice M (creuse), non necessairement carree.
class Nom Une chaine de caractere pour nommer les objets de TRUST