61 #include "type_parite.h" 68 Tbl _val_solh_pas_prevu (
int,
double,
double) {
70 cout <<
" Solution homogene pas prevue ..... : "<< endl ;
82 Tbl _val_solh_r_cheb (
int l,
double alpha,
double beta) {
84 double echelle = beta/alpha ;
90 res.set(0,0) =
pow(1.+echelle, l) ;
91 res.set(0,1) =
pow(-1.+echelle, l) ;
92 res.set(0,2) =
pow(1.+echelle, l-1)*l/alpha ;
93 res.
set(0,3) =
pow(-1.+echelle, l-1)*l/alpha ;
96 res.
set(1,0) = 1./
pow(1.+echelle, l+1) ;
97 res.set(1,1) = 1./
pow(-1.+echelle, l+1) ;
98 res.set(1,2) = -1./
pow(1.+echelle, l+2)*(l+1)/alpha ;
99 res.
set(1,3) = -1./
pow(-1.+echelle, l+2)*(l+1)/alpha ;
101 res /=
sqrt(
double(2)) ;
109 Tbl _val_solh_r_chebp (
int l,
double alpha,
double) {
116 res.set(1) = (l==0) ? 1. : 0. ;
117 res.set(2) = 1./alpha*l ;
118 res.set(3) = (l==1) ? 1 : 0 ;
120 res /=
sqrt(
double(2)) ;
129 Tbl _val_solh_r_chebi (
int l,
double alpha,
double) {
136 res.set(1) = (l==0) ? 1. : 0 ;
137 res.set(2) = 1./alpha*l ;
138 res.set(3) = (l==1) ? 1 : 0. ;
140 res /=
sqrt(
double(2)) ;
150 Tbl _val_solh_r_chebu (
int l,
double alpha,
double) {
157 res.set(1) =
pow(-2., l+1)/
sqrt(
double(2)) ;
159 res.set(3) = -alpha*(l+1)*
pow(-2., l+2)/
sqrt(
double(2)) ;
172 Tbl val_solh(
int l,
double alpha,
double beta,
int base_r) {
175 static Tbl (*val_solh[
MAX_BASE])(int, double, double) ;
182 val_solh[i] = _val_solh_pas_prevu ;
191 Tbl res(val_solh[base_r](l, alpha, beta)) ;
Cmp sqrt(const Cmp &)
Square root.
#define TRA_R
Translation en R, used for a bitwise shift (in hex)
#define R_CHEBI
base de Cheb. impaire (rare) seulement
#define R_CHEBP
base de Cheb. paire (rare) seulement
Cmp pow(const Cmp &, int)
Power .
Tbl & set(int l)
Read/write of the value in a given domain.
#define R_CHEBU
base de Chebychev ordinaire (fin), dev. en 1/r
#define MAX_BASE
Nombre max. de bases differentes.
#define R_CHEB
base de Chebychev ordinaire (fin)