ASI 3
Méthodes numériques pour l’ingénieur
la méthode des moindres carrés Le point de vue numérique
(factorisation QR)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 -4
-3 -2 -1 0 1 2
Approximation/interpollation:
moindres carrés
( )
( )
carrés moindres
des
sens au
ion approximat
)
( inconnues et
équations
) ( min
)
(
ion approximat
tion interpolla
)
(
, : données
1
2 1
1 1
1 , 1
k
n i
i i
i k
j
j i j i
i
k j
j j
n i i
i
n n
y x
f y
x y
x f
n k
n x k
x f
y x
α α
α
α
∑
∑
∑
=
=
−
=
−
=
−
=
⇔
=
<
= =
f(x)
xi yi
Posons le problème matriciellement
( ) ( )
( )
( )
= +
+ +
+ +
= +
+ +
+ +
= +
+ +
+ +
= +
+ +
+ +
−
−
−
−
−
−
−
−
n k
n k j
n j n
i k
i k j
i j i
k k j
j
k k j
j
x f x
x x
x f x
x x
x f x
x x
x f x
x x
) 1 ( )
1 ( )
1 ( 2 1
) 1 ( )
1 ( )
1 ( 2 1
2 )
1 ( 2 )
1 ( 2 )
1 ( 2 2 1
1 )
1 ( 1 )
1 ( 1 )
1 ( 1 2 1
...
...
...
...
...
...
...
...
α α
α α
α α
α α
α α
α α
α α
α α
(
i i)
i nk j
j
j x x y
x
f 1,
1
1 pour , )
( =
=
∑
−= α
Posons le problème matriciellement
( ) ( )
( ) ( )
= +
+ +
+ +
= +
+ +
+ +
= +
+ +
+ +
= +
+ +
+ +
−
−
−
−
−
−
−
−
n k
n k j
n j n
i k
i k j
i j i
k k j
j
k k j
j
x f x
x x
x f x
x x
x f x
x x
x f x
x x
) 1 ( )
1 ( )
1 ( 2 1
) 1 ( )
1 ( )
1 ( 2 1
2 )
1 ( 2 )
1 ( 2 )
1 ( 2 2 1
1 )
1 ( 1 )
1 ( 1 )
1 ( 1 2 1
...
...
...
...
...
...
...
...
α α
α α
α α
α α
α α
α α
α α
α α
( ) ( )
( ) ( )
−
−
−
−
−
−
−
−
n k
n j
n n
i k
i j
i i
k j
k j
x f x
x x
x f x
x x
x f x
x x
x f x
x x
...
...
1
...
...
1
...
...
1
...
...
1
) 1 ( )
1 ( )
1 (
) 1 ( )
1 ( )
1 (
2 )
1 ( 2 )
1 ( 2 )
1 ( 2
1 )
1 ( 1 )
1 ( 1 )
1 ( 1
=
(
i i)
i nk j
j j
y x
x x
f
, 1 1
1
, pour
)
(
=
=
∑
−= α Xa = f
Approximation au sens des moindres carrés
( )
∑
∑ ∑
∑ ∑
∑ ∑
∑
=
−
= =
−
−
=
−
=
−
= =
−
=
=
⇔
=
−
∂ =
∂
=
∂ =
⇔ ∂
=
−
=
=
−
n i
j i i
k n
i
j i i
n i
j i i k
i j
j
n i
i k
j
j i j n
i
i i
x y x
x x
y J x
k J j
J
y x
J J
y x
f
1
1
1 1
1 1
1
1 1
1
1
2
1
1 1
2
0 2
,..., 1
; 0
*) (
) ( argmin
* : principe
) ( avec
) ( min )
( min
α
α α
α α α
α
α α
α
α α α
Système linéaire de k équations et k inconnues
Approximation : version matricielle
( )
(
X y)
J(
X X)
X yX J
y X
e J
y y y
x x
x x
x x
e e e
y X
e
y x
y x
f e
y x
J J
y x
f
n i
k j k
i i
k i i
k
n i
i k
j
j i j i
i i
n i
i k
j
j i j n
i
i i
' '
0 )
( ' '
2 )
( '
) (
1 1 1
) (
) ( avec
) ( min )
( min
2 2
1 1
1 1 1 1 1 1
0
1
2
0 1
2
=
⇔
=
−
=
−
=
=
−
=
−
=
−
=
−
=
−
=
=
−
−
−
−
=
= =
=
∑
∑ ∑
∑
α α
α α
α α
α α α α
α
α α
α α
α
Système linéaire de k équations et k inconnues Erreur
d’approximation
Approximation : version matricielle
( )
(
X y)
J(
X X)
X yX J
y X
e J
y y y
x x
x x
x x
e e e
y X
e
y x
y x
f e
y x
J J
y x
f
n i
k j k
i i
k i i
k
n i
i k
j
j i j i
i i
n i
i k
j
j i j n
i
i i
' '
0 )
( ' '
2 )
( '
) (
1 1 1
) (
) ( avec
) ( min )
( min
2 2
1 1
1 1 1 1 1 1
0
1
2
0 1
2
=
⇔
=
−
=
−
=
=
−
=
−
=
−
=
−
=
−
=
=
−
−
−
−
=
= =
=
∑
∑ ∑
∑
α α
α α
α α
α α α α
α
α α
α α
α
Système linéaire de k équations et k inconnues Erreur
d’approximation Matrice de Vandermonde
(1735-1796)
Forme quadratique
( ) ( )
( )
y X X
X
h G
J y
X X
J
h G
J
y y y
X X
X
y X
y X
y X
e J
' '
0 )
( ' '
2 )
( '
' 2 2 '
min 1 )
( min
' '
' 2 '
'
) (
' 2 2
==
⇔
=
−
=
+
=
+ +
=
−
−
=
−
=
=
αα α
α α
α α
α α
α α
α
α α
α α
α α
Équations normales
Point de vue algèbrique (géométrique)
X représente une application linéaire de Rp sur Rn Projection de y (les résultats des expériences)
sur le sous espace vectoriel engendré par X (les données)
( )
( )
( )
( )
0'
ˆ 0 ' à
orthogonal ˆ est
projecteur un
est '
' que montrons
' '
' ˆ
1 1
=
−
⇔⇔ − =
−
=
=
−
−
y X
X
y y
X X
y y
X X
X X
Xy X
X X
X y
α α
y
( )
X0 R pIm =
Rn
(
y y) (
X y)
e = ˆ − = α −
∑
== p
j
j
X j
X
1
)
( α
α
Comment résoudre le problème des moindres carrées ?
+ +
+
=
=
2 2
2
1 1
1
1 1
1
1 1
1
0
0
0 0
0 0
1 1
1
ε ε
ε ε
ε
ε X X
X T
Rang(X’X) = Rang(X) = 3
cond(X’X) = cond(X)*cond(X) régulière est
machine, précision
si
singulière est
machine, précision
si 2
X
X X T
>≤ εε
Il faut mieux travailler sur X que sur X’X … si possible !
Un principe, deux idées
ire) (triangula
' '
' : ainsi
avec
ion factorisat
y Q R
y X Xa
X
I Q'Q
QR X
=
⇔
=
=
=
α
R
G
0
HH
R 0
X
X
Orthogonalisation de Schmidt Orthogonalisation de Householder QR
X R
HX = ⇔ = Car H orthogonale
Matrice orthogonale
1 p
1
n
1
n
Base orthogonale (Schmidt)
y G R
y GG G
GR G
y GG GR
y GG X
y GG
y X y
I G G
R GR G
X
'
' '
'
' '
'
ˆ ' '
supérieure ire
triangula :
e
orthogonal base
:
=
⇔ =
⇔ =
⇔
=
==
=
=
αα α α
R
G X
0
G,R = decompose(A) x = triang(R,G’b) Fonction x = mmc(A,b)
Décompose : X=GR
( )
( )
( ) (( ))1 1
) ( ) ( ) ( )
( )
(
) 2 (
) 2 ( )
2 ( )
1 ( ) 1 ( ) 2 ( )
2 ( )
2 (
) 1 1 (
) 1 ( 1 )
1 (
~
~
;
~ '
~
~
;
~ '
1 avec
k k k k
i
i i
k k
k
G G G
G G
X X
G
G G G
G G
X X
G
k X X
k G
=
−
=
=
−
=
=
=
∑
−=
R
G X
0 Théorème :
dans tout espace vectoriel de dimension finie,
il existe des bases orthogonales
) (k
G X (k)
rki
~
Décompose : X=GR
fait
fait 2
/
; à jusqu' 1
pour
fait
2
-
; à jusqu' 1
pour
0 2
fait
fait
; à jusqu' 1
pour
fait
; à jusqu' 1
pour
0
1 à
jusqu' 1
pour
fait 0
; à jusqu' 1
pour
à jusqu' 1
pour
g g
g n j
g g g
g x
g
n j
g
g ps g
g n j
g a ps
ps n
j ps
k i
g n j
p k
jk jk
kj kj
jk jk
jk
ji jk
jk
ji jk jk
←
=
←←
← =
+
←
= ← +
← =
−
== ←
=
Fonction G,R = décompose(A)
Problème d’accumulation d’erreurs d’arrondi
Orthogonalisation : X = QR
) , ( '
: norme la
concerve symétrique
1 Q n n
Q Q
x Qx
Q Q
∈L
= ⇒ =
−
R
Q X
0
)
Q(k X (k) Transformation de Householder
'
e orthogonal matrice
une est
es orthogonal matrices
deux de
produit le
...
...
LU) pour
(comme colonne
par colonne
) ' (
e) orthogonal (
'
1
) 1 ( ) 2 ( )
( )
2 ( ) 1 (
1
H H
Q
H H
H H
H H
H Q
QR
H R
H
R H
X R
HX
j k
k
=
=
=
=
==
=
⇔
=
−
−
−
−
Définir H
Householder et moindres carrés
( )
ire) triangula (système
min
min
min min
carrées moindres
des problème
au appliquons
-
: norme la
concerve -
e orthogonal ation
transform une
est
T
y Q R
y Q R
y QR
Q
y QR
y X
I Q Q
x x
Q Q
Q
T T
T
T
=
⇔
−
=
−
=
−
=
−
=
=⇒
α α
α α
α
α α α α
Transformation de Householder
ation transform
première la
: axe d'
Symétrie
' 2 '
à e orthogonal
r Householde de
tion transforma
e x y
e Hx
y Hy
y y y I yy
H
y
−
=
⇔
=
−
=
−
=
Transformation de Householder
H(k) H
R 0
X
)
X (k
0
( )( )
(
(1) (1))(
' (1) (1))
) ' 1 ( )
1 ( )
1 ( )
1 ( )
1 (
) 1 ( )
1 ( )
1 ( )
1 ( ) 1 (
2
ation transform
première la
' 2 '
à e orthogonal
r Householde de
tion transforma
e X
e X
e X
e I X
H
e X
y e
X H
y y I yy
H
y
−
−
−
− −
=
−
=
⇔
=
−
=
H(k) H
H( )
~ k
= H
1 1 0
0 ation
transform la kème
) ( ) (
) ( ) ( )
(
) 1 ( )
( )
(
' 2 '
~
~
k k
k k
k
k k
k
y y
y I y
H
e X
y
−
=
−
=
Quels calculs ?
( )
j k i ij
ij
n k i
ij k i j
k k
k k
k k
k
s y
x x
x y
s
X y
y X
y X y
y I y
X H
) ( )
(
) ( ) (
) ( ) (
) ( ) ( )
(
1 1 '
'
~ '
β
β α
−
←
←
−
=
−
=
∑
=
QR : algorithme de Householder
• Rangement des variables
• produit des H : (si besoin)
à la fin en commençant par le plus simple
• formules à l’étape k
( )
n j
k p
i k
y s a
a
p j
k a
y s
a
a n
n i
k a
y a
y
a a
sign
k i j j
i j
i
n k i
j i k i j
k k
k
k k k k
k i k
i k
k k k
k
n k i
k i k
k k
≤
≤ +
≤
≤ +
−
=
≤
≤ +
=
=
+
=
≤
≤ +
=
−
=
−
=
∑
∑
=
=
1 et
1
pour
1 pour
1
1 pour
et
) (
) ( ,
,
, ) ( ) ( ,
, ) 2 (
) (
, )
( )
( ,
) (
2 , ,
) (
β α
α β
α α
Diag(R)
yk
Partie
non encore factorisée
y1
k premières lignes de R
p n
L’algorithme QR
( )
fait fait pour jusqu'à ; fait /
pour jusqu'à ; fait
0
; à jusqu' 1
pour
finsi
alors
0 si
; s
fait
pour jusqu'à ;
0 s
à jusqu' 1
pour
2
i ij
ij
i ij kk
kk
kk k
k
j jk j
y s x
x n k
i s s
y x s
s n k
i s
p k
j x x
x s
y y
y s
s
x y
n k
j
p k
+
←
← == ← +
← +
= −
←−
←←←> − ← − +
←
=←
←=
β α α
βα α α α α Fonction Q,R = décomposeQR(X)
Remarques
MMC sans Q
e x x
w Re
r X w
R
X y
r
r X Xe
X X
y r
y R
y X z
R
R R X
X
QR X
y X X
X y
X
+
=
− =
−− = =−
−
⇒ =
−
=
=
− =
−
= =
=
⇔
−
6 5
' '
4 3
' '
: résidus 2
' '
1
' '
' '
min 2
α
α α
α
α α
R=chol(A’A)
Si on ajoute ou on enlève une variable Q et R changent « peu »
Matlab
( )
y Q H
H k
H H
H X y
X b
X y
y
b X
k
' vecteur le
t directemen mais
, matrice de
calculer sans
puis
matrices les
calculer sans
3 : 1 sur
boucle une
faisant en
puis
et ,
matrices les
calculant en
boucle de
faire sans
abord d'
matrice la
sur r
Householde de
méthode la
z implémente 3.
matlab de
fonction \ la
utilisant en
-
matlab de
qr fonction la
utilisant en
-
normales équation
les utilisant en
-
, carrées
moindres des
problème le
résoudre .
2
*
que tel
construire 1.
1 1 3
; 0
0
0 0
0 0
1 1
1
) (
) 3 ( )
2 ( )
1 (
=
=
−
=
=
ε ε
ε
ATTENTION : cette semaine il faut un compte rendu par binôme
unCR est une page recto verso : recto ce que vous avez fait, verso : ce que vous en pensez !