134#include "type_parite.h"
184 Matrice (
int size1,
int size2 ) ;
277 double&
set(
int j,
int i) {
278 assert (
etat == ETATQCQ) ;
279 assert ((i>=0) && (i<std->dim.dim[0])) ;
280 assert( (j>=0) && (j<std->dim.dim[1]) ) ;
291 assert(
etat != ETATNONDEF) ;
292 assert( (i>=0) && (i<std->dim.dim[0]) ) ;
293 assert( (j>=0) && (j<std->dim.dim[1]) ) ;
294 if (
etat == ETATZERO) {
309 void set_band (
int up,
int low)
const ;
373ostream& operator<<(ostream& ,
const Matrice& ) ;
380Matrice
operator+ (
const Matrice&,
const Matrice& ) ;
381Matrice
operator- (
const Matrice&,
const Matrice& ) ;
382Matrice
operator* (
const Matrice&,
double ) ;
383Matrice
operator* (
double,
const Matrice& ) ;
384Matrice
operator* (
const Matrice&,
const Matrice& ) ;
385Matrice
operator/ (
const Matrice&,
double ) ;
int * dim
Array of dimensions (size: ndim).
Basic integer array class.
friend ostream & operator<<(ostream &, const Matrice &)
Display.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
void operator=(double x)
Sets all the element of *std to x.
void operator+=(const Matrice &)
Addition of a Matrice to this.
Tbl val_propre() const
Returns the eigenvalues of the matrix, calculated using LAPACK.
void set_etat_zero()
Sets the logical state to ETATZERO (zero).
int ku
Number of upper-diagonals in the band representation.
double & set(int j, int i)
Read/write of a particuliar element.
int get_etat() const
Returns the logical state.
int kl
Number of lower-diagonals in the band representation.
void operator/=(double)
Division of this by a double.
void set_etat_nondef()
Sets the logical state to ETATNONDEF (undefined state).
Tbl get_array() const
Returns the array of matrix elements.
Tbl inverse(const Tbl &sec_membre) const
Solves the linear system represented by the matrix.
friend Matrice operator+(const Matrice &, const Matrice &)
Matrice + Matrice
Itbl * permute
Pointer on the second array of the LU-representation.
Tbl * band
Pointer on the array of the band representation of a square matrix.
friend Matrice operator-(const Matrice &, const Matrice &)
Matrice - Matrice
Tbl * lu
Pointer on the first array of the LU-representation.
void annule_hard()
Sets the logical state to ETATQCQ (undefined state).
void del_t()
Logical destructor : dellocates the memory of the various used representations.
double determinant() const
Computes the determinant of the matrix, using LAPACK and the standard decomposition.
int get_dim(int i) const
Returns the dimension of the matrix.
double operator()(int j, int i) const
Read-only of a particuliar element.
friend Matrice operator/(const Matrice &, double)
Matrice / double
Tbl * std
Pointer on the array of the standard representation.
Matrice transpose() const
Computes the transpose matrix.
void del_deriv()
Deletes the (mutable) derived members: band, lu, permute.
void set_band(int up, int low) const
Calculate the band storage of *std.
void operator*=(double)
Multiplication of this by a double.
int etat
logical state (ETATZERO, ETATQCQ or ETATNONDEF)
void operator-=(const Matrice &)
Subtraction of a Matrice to this.
void set_lu() const
Calculate the LU-representation, assuming the band-storage has been done.
friend Matrice operator*(const Matrice &, double)
Matrice * double
Matrice vect_propre() const
Returns the eigenvectors of the matrix, calculated using LAPACK.
Dim_tbl dim
Number of dimensions, size,...
double * t
The array of double.
Base_val operator*(const Base_val &, const Base_val &)
This operator is used when calling multiplication or division of Valeur .
Cmp operator-(const Cmp &)
- Cmp
Cmp operator/(const Cmp &, const Cmp &)
Cmp / Cmp.
Cmp operator+(const Cmp &)