78 #include "type_parite.h" 89 void _mult_xp1_pas_prevu(Tbl * tb,
int& base) {
90 cout <<
"mult_xp1 pas prevu..." << endl ;
91 cout <<
"Tbl: " << tb <<
" base: " << base << endl ;
100 void _mult_xp1_identite(Tbl* ,
int& ) {
108 void _mult_xp1_cheb(Tbl *tb,
int& )
112 if (tb->get_etat() == ETATZERO) {
117 int nr = (tb->dim).dim[0] ;
118 int nt = (tb->dim).dim[1] ;
119 int np = (tb->dim).dim[2] ;
124 double* trav =
new double[nr] ;
127 for (k=0 ; k<np+1 ; k++) {
129 for (j=0 ; j<nt ; j++) {
131 double* cf = tb->t + k*ntnr + j*nr ;
133 mult_xp1_1d_cheb(nr, cf, trav) ;
135 for (i=0; i<nr; i++) {
152 void _mult_xp1_r_jaco02(Tbl* tb,
int& )
155 if (tb->get_etat() == ETATZERO) {
160 int nr = (tb->dim).dim[0] ;
161 int nt = (tb->dim).dim[1] ;
162 int np = (tb->dim).dim[2] ;
166 double* xo =
new double [tb->get_taille()];
169 for (
int i=0; i<tb->get_taille(); i++) {
178 int borne_phi = np + 1 ;
183 for (
int k=0 ; k< borne_phi ; k++)
189 for (
int j=0 ; j<nt ; j++) {
191 xco[0] = 1.5*xci[0] + 0.3*xci[1] ;
192 for (
int i = 1 ; i < nr-1 ; i++) {
193 xco[i] = i*(i+2)/
double((i+1)*(2*i+1))*xci[i-1] + (i*i+3*i+3)/
double((i+1)*(i+2))*xci[i] + (i+1)*(i+3)/double((i+2)*(2*i+5))*xci[i+1] ;
195 xco[nr-1] = (nr*nr-1)/
double((nr)*(2*nr-1))*xci[nr-2] + (1+1/double((nr)*(nr+1)))*xci[nr-1] ;