exo7 2230

Etant donnés nn vecteurs linéairement indépendants de Rm\Rr^m, {a1,⋯ ,an}\{a_1, \cdots , a_n\}, on veut calculer une base orthonormale pour span{a1,⋯ ,an}\{a_1, \cdots , a_n\}.

On pose A=[a1,a2,⋯ ,an]∈Rm×nA=[ a_1, a_2, \cdots , a_n] \in \Rr^{m\times n} et on considère la factorisation QR de AA, A=QR,   Q=[q1,⋯ ,qn],  riT,i=1,⋯ ,n les lignes de RA=QR,\ \ \ Q=[q_1, \cdots , q_n] ,\ \ r_i^T, i=1, \cdots , n \mbox{ les lignes de }R

1

Montrer que ImA=span{q1,⋯ ,qn}.\mbox{Im} A= \mbox{span} \{q_1, \cdots , q_n\} .

2

Montrer que qk=1rkk(ak−∑i=1k−1rikqi)   k=1,⋯ ,nq_k=\frac{1}{r_{kk}} \left( a_k -\sum_{i=1}^{k-1}r_{ik}q_i\right) \ \ \ k=1, \cdots , n

3

En déduire un algorithme pour le calcul récursif des qiq_i (algorithme de Gram–Schmidt).

4

Algorithme de Gram–Schmidt modifié L’algorithme précédent est instable numériquement dû à la perte d’orthogonalité dans le calcul des qiq_i. On va reformuler l’algorithme pour le rendre stable. Pour k=1,⋯ ,n−1k=1, \cdots , n-1, on définit A(k)∈Rm×(n−k+1)A^{(k)}\in\Rr^{m\times (n-k+1)} de la façon suivante: [0,A(k)]=A−∑i=1k−1qiriT=∑i=knqiriT[0 , A^{(k)}] =A-\sum_{i=1}^{k-1} q_ir_i^T = \sum_{i=k}^n q_ir_i^T et on va décrire l’étape kk de l’algorithme.

5

Montrer que si on pose A(k)=[z,B],   z∈Rm,   B∈Rm×(n−k)A^{(k)} =[z,B] ,\ \ \ z\in\Rr^m , \ \ \ B\in\Rr^{m\times (n-k)} alors rkk=∥z∥2,   qk=z/rkk.r_{kk}=\|z\|_2, \ \ \ q_k=z/r_{kk}.

6

Comment peut–on calculer la ligne kk de RR à partir de A(k)A^{(k)}?

7

Calculer A(k+1)A^{(k+1)}.

8

A partir des questions précédentes, décrire l’algorithme qui permet le calcul de la factorisation A=Q1R1A=Q_1R_1, Q1∈Rm×nQ_1\in\Rr^{m \times n} orthonormale, R1∈Rn×nR_1\in\Rr^{n\times n} triangulaire supérieure (Gram–Schmidt modifié). Le calcul de Q1Q_1 doit se faire sur place.

9

Quelle est la complexité de l’algorithme précédent?

Exercice YqYZ

Signaler une erreur

  1. Problème
  2. Précisions
  3. Envoi
Quel est le problème ?