Académique Documents
Professionnel Documents
Culture Documents
L3 groupe 2
Outils numriques
2me semestre 2006/2007
Feuille de TP 3
o A Mn,p (R) et b R .
Il existe toujours au moins une solution de lquation normale A Ax = A b. Cette solution est unique si et
seulement si ker A = {0}, et on a alors x = A b = (A A)1 A b (pseudo-inverse).
Mthodes de rsolution numrique.
1. Mthode de Cholesky : lorsque ker A = {0}, on peut rsoudre lquation normale A Ax = A b par la
mthode de Cholesky, la matrice A A tant alors symtrique dfinie positive.
2. Mthode QR : la dcomposition QR de la matrice A conduit crire A = QR o Q Mn (R) est une
matrice orthogonale et R Mn,p (R) est une matrice triangulaire suprieure. Le problme des moindres
carrs est alors quivalent
minp kRx Q bk22 .
xR
Si n > p (cas le plus rpandu en pratique ; les autres cas se traitent similairement) et si ker A = {0},
lunique solution est alors
x = (R1i,jp )1 (Q b)1ip .
3. Mthode SVD et pseudo-inverse : la dcomposition SVD de la matrice A conduit crire A = V U ,
o U Mp (R) et V Mn (R) sont des matrices orthogonales et Mn,p (R) est une matrice dont
tous les coefficients sont nuls sauf les r premiers coefficients diagonaux qui sont les r valeurs singulires
1 r > 0 de A. Le problme des moindres carrs est alors quivalent
min kV U x bk22 = minp kU x V bk22 ,
xRp
xR
dont toutes les solutions sont x = U y avec y Rp un vecteur quelconque dont les r premires composantes
scrivent yi = (V b)i /i .
Notons que le pseudo-inverse de A est alors A = U V o Mp,n (R) est une matrice dont tous les
coefficients sont nuls sauf les r premiers coefficients diagonaux qui sont 1/1 , . . . , 1/r .
Remarque. Notons que le vecteur x = A b est toujours une solution du problme des moindres carrs, et
est la solution de norme Euclidienne minimale lorsque ce problme admet plusieurs solutions.
n
X
|bi P (ti )| .
i=1
imiser une fonction E(a0 , . . . , ap1 ). Soient les vecteurs x = (ai )0ip1 , b = (bi )0ip1 , et la matrice
A = (j (ti ))1in,0jp1 . Avec ces notations, E = kAx bk22 , et donc, on sest ramen au problme des
moindres carrs pour le couple (A, b).
Exercice 1 :
Soit A une matrice de taille 300 100 quelconque, de rang 100, et b = rand(300, 1). On pourra crer une telle
matrice A de la faon suivante :
A = rand(300, 300) [rand(100, 100) + 100 eye(); zeros(200, 100)] rand(100, 100);
1. Comparer (en termes de temps de calcul) les quatre mthodes suivantes pour rsoudre le problme des
moindres carrs
min
kAx bk2 .
100
xR
(a) Mthode de Cholesky (utiliser les fonctions Scilab chsolve, chf act, sparse).
(b) Mthode QR (utiliser la fonction Scilab qr).
(c) Dcomposition SVD (utiliser la fonction Scilab svd, comparer avec lusage de pinv).
(d) La fonction Scilab lsq (ou bien, A \ b : consulter laide).
Commenter les rsultats obtenus.
2. On considre maintenant les matrices A et b dfinies par
e = 1e 5; P = [1 1 0 ; 0 1 1 ; 1 0 1];
A = P diag([e, 1, 1/e]) inv(P ); b = ones(3, 1);
Comparer les solutions des moindres carrs obtenues par les mthodes prcdentes. Expliquer, en calculant
cond(A) et cond(A A0 ).
Exercice 2 :
On pose f (x) = sin(x) sin(2x). Soit T = (x1 , . . . , xn ) un tableau de n valeurs alatoires comprises entre 0 et
4. On prendra n = 100.
1. Trier ce tableau dans lordre croissant en utilisant la fonction Scilab sort.
2. Dterminer lapproximation de f au sens des moindres carrs par un polynme P de degr 2, sur les
valeurs de T .
v
u n
uX
2
Calculer lerreur discrte t
|f (xi ) P (xi )| .
i=1