32 #include "ope_elementary.h" 36 Matrice _cl_helmholtz_minus_pseudo_1d_pas_prevu (
const Matrice & source,
int) {
37 cout <<
"Combinaison lineaire pas prevue..." << endl ;
48 Matrice _cl_helmholtz_minus_pseudo_1d_r_chebu_deux (
const Matrice&) ;
51 Matrice _cl_helmholtz_minus_pseudo_1d_r_chebu (
const Matrice &source,
int puis) {
53 assert (n == source.get_dim(1)) ;
60 res = _cl_helmholtz_minus_pseudo_1d_r_chebu_deux(source) ;
72 Matrice _cl_helmholtz_minus_pseudo_1d_r_chebu_deux (
const Matrice &source) {
75 assert (n == source.get_dim(1)) ;
77 Matrice barre(source) ;
79 for (
int i=0 ; i<n-2 ; i++) {
80 for (
int j=0 ; j<n ; j++)
81 barre.set(i, j) = ((1+dirac)*source(i, j)-source(i+2, j)) ;
85 Matrice tilde(barre) ;
86 for (
int i=0 ; i<n-4 ; i++)
87 for (
int j=0 ; j<n ; j++)
88 tilde.set(i, j) = (barre(i, j)-barre(i+2, j)) ;
91 for (
int i=0 ; i<n-4 ; i++)
92 for (
int j=0 ; j<n ; j++)
93 bis.set(i, j) = (tilde(i, j)+tilde(i+1, j)) ;
96 for (
int i=0 ; i<n-4 ; i++)
97 for (
int j=0 ; j<n ; j++)
98 res.set(i, j) = (bis(i, j)-bis(i+1, j)) ;
120 cl_helmholtz_minus_pseudo_1d[i] = _cl_helmholtz_minus_pseudo_1d_pas_prevu ;
123 cl_helmholtz_minus_pseudo_1d[
R_CHEBU >>
TRA_R] = _cl_helmholtz_minus_pseudo_1d_r_chebu ;
int dzpuis
the associated dzpuis, if in the compactified domain.
virtual void do_ope_cl() const
Computes the banded-matrix of the operator.
Matrice * ope_cl
Pointer on the banded-matrix of the operator.
Matrice * ope_mat
Pointer on the matrix representation of the operator.
int base_r
Radial basis of decomposition.
#define TRA_R
Translation en R, used for a bitwise shift (in hex)
int get_dim(int i) const
Returns the dimension of the matrix.
virtual void do_ope_mat() const
Computes the matrix of the operator.
#define R_CHEBU
base de Chebychev ordinaire (fin), dev. en 1/r
#define MAX_BASE
Nombre max. de bases differentes.