66 #include "type_parite.h" 73 Tbl _val_solp_pas_prevu (
const Tbl&,
double) {
75 cout <<
" Base_r unknown in val_solp."<< endl ;
87 Tbl _val_solp_r_cheb (
const Tbl& sp,
double alpha) {
94 for (
int i=0 ; i<nr ; i++)
98 for (
int i=0 ; i<nr ; i++)
100 res.set(1) += sp(i) ;
102 res.set(1) -= sp(i) ;
105 for (
int i=0 ; i<nr ; i++)
106 res.set(2) += sp(i)*i*i/alpha ;
109 for (
int i=0 ; i<nr ; i++)
111 res.set(3) -= sp(i)*i*i/alpha ;
113 res.set(3) += sp(i)*i*i/alpha ;
115 res /=
sqrt(
double(2)) ;
123 Tbl _val_solp_r_chebp (
const Tbl& sp,
double alpha) {
130 for (
int i=0 ; i<nr ; i++)
131 res.set(0) += sp(i) ;
134 for (
int i=0 ; i<nr ; i++)
136 res.set(1) += sp(i) ;
138 res.set(1) -= sp(i) ;
141 for (
int i=0 ; i<nr ; i++)
142 res.set(2) += sp(i)*(2*i)*(2*i)/alpha ;
147 res /=
sqrt(
double(2)) ;
156 Tbl _val_solp_r_chebi (
const Tbl& sp,
double alpha) {
163 for (
int i=0 ; i<nr ; i++)
164 res.set(0) += sp(i) ;
170 for (
int i=0 ; i<nr ; i++)
171 res.set(2) += sp(i)*(2*i+1)*(2*i+1)/alpha ;
174 for (
int i=0 ; i<nr ; i++)
176 res.set(3) += (2*i+1)*sp(i) ;
178 res.set(3) -= (2*i+1)*sp(i) ;
180 res /=
sqrt(
double(2)) ;
190 Tbl _val_solp_r_chebu (
const Tbl& sp,
double alpha) {
197 for (
int i=0 ; i<nr ; i++)
198 res.set(0) += sp(i) ;
201 for (
int i=0 ; i<nr ; i++)
203 res.set(1) += sp(i) ;
205 res.set(1) -= sp(i) ;
210 for (
int i=0 ; i<nr ; i++)
212 res.set(3) += 4.*alpha*i*i*sp(i) ;
214 res.set(3) -= 4.*alpha*i*i*sp(i) ;
216 res /=
sqrt(
double(2)) ;
228 Tbl val_solp (
const Tbl& sp,
double alpha,
int base_r) {
231 static Tbl (*val_solp[
MAX_BASE])(
const Tbl&, double) ;
238 val_solp[i] = _val_solp_pas_prevu ;
247 Tbl res(val_solp[base_r](sp, alpha)) ;
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
int get_dim(int i) const
Gives the i-th dimension (ie dim.dim[i])
#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)