Bonjour,
Je cherche à résoudre le système d’équations linéaires suivant :
Ax2=b2
Où A est une matrice (6, 4) et b2 une matrice colonne, définies plus bas.
L’idée est de résoudre le système après avoir substitué la matrice A par sa factorisation QR réduite.
Or, en utilisant cette démarche, le résultat x2 obtenu ne semble pas être la bonne solution, comme montré ici.
On est en analyse numérique, je peux comprendre une petite erreur sur le résultat de x2.
Mais ici, c’est carrément faux, le résidu Ax2−b2 n’est pas du tout proche de zéro !
Comment l’expliquer ?
Les codes
A est la matrice (6, 4) obtenue avec les instructions :
A = round(inv(hilb(6))); A=A(:,1:4);
Et b2 est la matrice colonne obtenue avec :
b2 = [1 1 1 1 1 1]';
Copier-coller des commandes introduites avec Octave
>> A = round(inv(hilb(6))); A=A(:,1:4);
>> b2 = [1 1 1 1 1 1]';
>>
>> [Q R] = qr(A, 0);
>> x2 = R\(Q'*b2);
>>
>> % En principe, matriciellement : Ax2 = b2
>> res = Ax2;
error: 'Ax2' undefined near line 2 column 7
>> res = A*x2;
>>
>> res
res =
0.040504
-0.040458
-0.046672
-0.021222
0.017307
0.060394
>> % On remarque que res est tres different de b2 !
>>
>> b2 - A*x2
ans =
0.95950
1.04046
1.04667
1.02122
0.98269
0.93961
>>
+0
-0