1 function [eta1,eta2]=verifie_nullite_gauss_symb(c,n)
\r
4 % verifie_nullite_gauss_symb : calcul de l'orthogonalité et de la normalisation des polynômes en symbolique
\r
6 % *********************************************************
\r
8 % [eta1,eta2]=verifie_nullite_gauss_symb(c,n) :
\r
9 % vérifie en symbolique que les polynômes de Gauss P_0, ..., P_n
\r
10 % sont orthogonaux avec la condition de normalité :
\r
11 % P_r(1)=1 pour Legendre et Tchebytchev
\r
12 % P_r(0)=1 pour Laguerre
\r
13 % le coefficient domimant de P_r est 2^{r} pour Hermite
\r
15 % variables d'entrées :
\r
16 % * n : entier naturel.
\r
17 % * c définit la méthode :
\r
18 % c=1 : Gauss-Legendre,
\r
19 % c=2 : Gauss-Tchebytchev,
\r
20 % c=3 : Gauss-Hermite,
\r
21 % c=4 : Gauss-Laguerre.
\r
22 % variables de sortie eta1 et eta2 où en symbolique,
\r
23 % eta1=0 si max_{0<=r<=n} |P_r(1)-1|=0 pour Legendre et Tchebychev
\r
24 % si max_{0<=r<=n} |P_r(0)-1|=0 pour Laguerre
\r
25 % si max_{0<=r<=n} |2^r-coefficient dominant(P_r)|=0 pour Hermite
\r
27 % eta2=0 si max_{0<=r,s<=n, r~=s}|<P_r,P_s>|=0
\r
30 % eta1 et eta2 doivent être nuls.
\r
33 % ************ Fonctions auxiliaires utilisées ************
\r
35 % calcul_poly_gauss_symb, polyval_symb
\r
37 % *********************************************************
\r
40 % Contrôles d'entrée
\r
41 % nombre d'arguments
\r
43 error('nombre d''arguments de la fonction incorrect');
\r
45 % autres tests éventuels
\r
46 if (fix(n)~=n) | (n<0)
\r
47 error('l''entier n doit être un entier naturel');
\r
49 if ~((c==1) | (c==2) | (c==3) | (c==4))
\r
50 error('c doit être un entier égal à 1, 2, 3 ou 4');
\r
53 % Corps d'algorithme.
\r
54 P=calcul_poly_gauss_symb(c,n);
\r
58 auxi=polyval_symb(P(r+1,1:r+1),1)-sym(1);
\r
60 ind=max(ind,indloc);
\r
66 auxi=auxi-2^(sym(r));
\r
68 ind=max(ind,indloc);
\r
73 auxi=polyval_symb(P(r+1,1:r+1),0)-sym(1);
\r
75 ind=max(ind,indloc);
\r
79 disp('vérification initiale');
\r
107 f=polyval_symb(P(r+1,1:r+1),x);
\r
108 g=polyval_symb(P(s+1,1:s+1),x);
\r
109 auxi=simplify(int(f*g*w,a,b));
\r
111 ind=max(indloc,ind);
\r
113 disp(['vérification pour r=',int2str(r)]);
\r