cours prepa

Transcription

cours prepa
Chapitre 1
Introduction générale
Ce chapitre est consacré à une présentation rapide des méthodes numériques qui sont
étudiées en détail dans ce cours. Nous y donnons une approche très simplifiée des
quatre parties qui sont abordées :
• la résolution des systèmes linéaires,
• le calcul des valeurs propres des matrices,
• l’optimisation,
• le contrôle des systèmes linéaires.
1.1. La résolution des systèmes linéaires
Désignons par A une matrice carrée N × N à coefficients réels et b un vecteur de
RN . On s’intéresse à l’équation vectorielle suivante :
trouver X ∈ RN tel que : AX = b.
(1.1)
L’algèbre matricielle nous apprend que (1.1) admet une solution unique dès que le
déterminant (noté det A) de la matrice A est non nul.
Une première stratégie consiste à utiliser la méthode des cofacteurs. Mais le nombre
d’opérations nécessaires est tellement élevé dès que l’on dépasse la dimension N = 3,
qu’il faut très vite oublier cette méthode. En effet, pour calculer un déterminant d’une
matrice N × N il faut N.N ! multiplications !
Une seconde approche conduit aux méthodes directes. Pour cela on décompose (c’est
la factorisation) la matrice A en la composée de deux matrices notées respectivement
14
Méthodes numériques pour l’ingénieur
L (Lower) et U (Upper) de telle sorte que A = LU et que L soit une matrice triangulaire inférieure régulière et U une matrice triangulaire supérieure qui est également
régulière. Le système (1.1) est alors équivalent au suivant :
!
Trouver Y ∈ RN , solution de : LY = b,
(1.2)
puis résoudreX ∈ RN U X = Y.
Le secret de la méthode est qu’un système linéaire associé à une matrice triangulaire est facile à résoudre. Pour cela, on procède par substitutions successives en
partant de la première ou de la dernière équation suivant qu’il s’agisse d’une matrice
triangulaire inférieure ou supérieure. Toutes les méthodes qui découleront de cette
stratégie s’appellent les méthodes de Gauss et leurs variantes (Crout, Cholesky . . . ).
Une autre approche de la résolution des systèmes linéaires consiste à construire une
suite d’approximation qui converge vers la solution. Pour en donner une idée simple
mais réaliste, considérons un cas élémentaire, celui de la règle de trois. Il s’agit de :
trouver x ∈ R, tel que ax = b où a #= 0 et b sont deux réels donnés.
(1.3)
Bien entendu, la solution est x = b/a. Mais intéressons-nous à la construction d’une
suite xn qui converge vers cette solution. Pour cela nous observons tout d’abord que
la solution x vérifie :
∀! ∈ R, x = x − !(ax − b).
(1.4)
L’idée est par exemple de proposer un algorithme de point fixe en construisant la suite
xn de la façon suivante :
xn+1 = xn − !(axn − b),
x0 étant donné.
(1.5)
Montrons que si ! est astucieusement choisi, la suite xn converge géométriquement
vers x. Introduisons les variables d’écart x̄n = xn − x. Elles vérifient :
x̄n+1 = (1 − !a)x̄n .
(1.6)
|x̄n+1 | ≤ |1 − !a| |x̄n | ≤ |1 − !a|n+1 |x̄0 |.
(1.7)
Soit :
Par conséquent, nous sommes assurés de la convergence dès que ! vérifie la double
inégalité qui assure que le coefficient 1 − !a soit en module strictement inférieur à
l’unité :
0 < a! < 2.
(1.8)
Par ailleurs, on notera que l’erreur est d’autant plus petite à même nombre d’itérations
que l’on part proche de la solution (|x̄0 | petit). En outre, l’erreur diminue à chaque
itération. On parle alors de méthodes auto-correctives.
Introduction générale
15
y
o
xn
xn+1 xn+2 x
Figure 1.1. Schéma de l’algorithme itératif pour systèmes linéaires
La figure 1.1 illustre la méthode que nous venons de décrire et qui contient les idées
fondamentales d’un grand nombre de méthodes itératives pour résoudre les systèmes
linéaires. Si nous revenons au cas de l’équation (1.1), l’analogue de l’algorithme que
nous venons de décrire est :
X n ∈ RN ,
X n+1 = X n − !(AX n − b), X 0 donné dans RN .
(1.9)
Il s’agit en fait d’une méthode de gradient lorsque A est une matrice symétrique.
Elle permet de rechercher le minimum de la fonction ((., .)N est le produit scalaire
euclidien dans RN et ||.||N est la norme associée) :
X ∈ RN →
1
(AX, X)N − (b, X)N ,
2
dans RN lorsque A est aussi définie positive (c’est-à-dire que toutes ses valeurs propres
sont strictement positives).
1.2. Le calcul des valeurs propres des matrices
Prenons l’exemple de la figure 1.2. Il s’agit d’un enfant jouant avec un POGO
stick. La flexibilité de ce dernier est modélisée par un ressort de raideur k2 et sa masse
est M . L’enfant a une masse m et la flexibilité de ses jambes est représentée par
un ressort de raideur k1 . Notons x1 (respectivement x2 ), le déplacement de l’enfant
(respectivement celui du POGO stick). Les équations du mouvement données par la
16
Méthodes numériques pour l’ingénieur
x1
m Enfant
k1
x2
M POGO stick
k2
Figure 1.2. Enfant + POGO stick
mécanique sont les suivantes :
!
m1 ẍ1 = −k1 (x1 − x2 ),
m2 ẍ2 = −k1 (x2 − x1 ) − k2 x2 .
(1.10)
On peut écrire ce système différentiel sous forme matricielle en posant :
"
avec la notation :
m1 0
0 m2
#
X=
Ẍ +
"
x1
x2
"
#
k1 −k1
−k1 k1 + k2
, Ẍ =
"
ẍ1
ẍ2
#
#
X = 0,
.
(1.11)
(1.12)
On recherche alors des solutions harmoniques (dites stationnaires) de cette équation différentielle matricielle en posant a priori :
X = X̂eiµt , µ ∈ R, X̂ #= 0.
Les solutions éventuelles seront des fonctions sinus et cosinus du temps à la pulsation µ. En reportant dans l’équation (1.11), on obtient un problème aux valeurs
propres :
trouver λ = µ2 ∈ R+ , X̂ ∈ R2 , X̂ #= 0 tels que : λM X̂ = K X̂,
(1.13)
Introduction générale
où :
M=
"
m1 0
0 m2
#
K=
"
k1 −k1
−k1 k1 + k2
#
.
17
(1.14)
Ainsi λ = µ2 est la valeur propre et X̂ le vecteur propre. Par ailleurs M est la matrice
de produit scalaire. Notons que les deux matrices M et K sont symétriques et définies
positives (exercice). Le problème (1.13) est équivalent au suivant :
trouver λ ∈ R+ , X̂ ∈ R2 , X̂ #= 0 tels que : λX̂ = M −1 K X̂.
(1.15)
Cependant la matrice M −1 K qui intervient, n’est plus symétrique. Cette formulation
n’est donc pas recommandée, car les matrices symétriques ont des avantages considérables, ne serait-ce que par le gain en stockage qu’elles permettent. On préfère donc
la formulation qui suit. Posons :
" √
#
m1 0
√
D1/2 =
et donc : (D1/2 )2 = D = M,
(1.16)
0
m2
puis :
(D
−1/2
X̂ = D−1/2 Ŷ , Ŷ = D1/2 X̂
est l’inverse de D
1/2
(1.17)
), notre problème (1.13) est maintenant équivalent à :
trouver λ ∈ R+ , Ŷ ∈ R2 , Ŷ #= 0 tels que : λŶ = D−1/2 KD−1/2 Ŷ .
(1.18)
La matrice A = D−1/2 KD−1/2 est cette fois symétrique et cela nous facilitera le travail. Nous verrons deux types d’approches pour calculer les éléments propres d’une
telle matrice : les méthodes globales avec lesquelles on calcule toutes les valeurs et
les vecteurs propres et les méthodes sélectives, qui permettent de choisir un nombre
donné de valeurs et de vecteurs propres en fonction de la valeur propre qui nous intéresse. Donnons-en une idée sur le petit modèle que nous avons introduit ici.
1.2.1. La méthode globale de Jacobi
Plaçons-nous dans le plan rapporté au système d’axes orthonormés (o; e1 , e2 ) et
considérons une rotation d’angle θ qui transforme les vecteurs de base (e1 , e2 ) en
(E1 , E2 ). Nous avons les relations :
!
E1 = cos(θ)e1 + sin(θ)e2 ,
(1.19)
E2 = − sin(θ)e1 + cos(θ)e2
La matrice de changement de base qui permet d’exprimer les coordonnées :
X = (x1 , x2 )
18
Méthodes numériques pour l’ingénieur
dans la base (o; e1 , e2 ) en fonction de celles notées Y = (y1 , y2 ) dans la nouvelle base
(o; E1 , E2 ) est P θ avec :
Pθ =
"
cos(θ) − sin(θ)
sin(θ) cos(θ)
#
, X = P θ Y Y = P −θ X.
(1.20)
Le problème de la recherche des valeurs propres de la matrice symétrique A définie
plus haut, est donc équivalent à :
trouver λ ∈ R+ , Ŷ ∈ R2 , Ŷ #= 0 tels que :
λŶ = P −θ AP θ Ŷ = Aθ Ŷ ,
(1.21)
soit, après un simple calcul (on pose c = cos(θ) et s = sin(θ), les coefficients de A
étant notés aij ) :
A =
θ
"
c2 a11 + 2sca12 + s2 a22 ) , cs(a22 − a11 ) + (c2 − s2 )a12
cs(a22 − a11 ) + (c2 − s2 )a12 , c2 a22 + s2 a11 − 2sca12
#
(1.22)
En choisissant l’angle θ tel que :
(c2 − s2 )a12 = cs(a11 − a22 ),
on rend la matrice Aθ diagonale et les valeurs propres sont sur la diagonale de cette
nouvelle matrice. Les vecteurs propres se déduisent sans difficulté. Or la relation précédente est équivalente à :
2a12
tan(2θ) =
.
a11 − a22
Soit :
1
2a12
π
arctan(
) + k , k ∈ Z.
2
a11 − a22
2
π
= a22 on choisit θ = .
4
θ=
Si a11
A titre d’exercice le lecteur pourra appliquer cette méthode à notre petit problème
avec les données suivantes :
m1 = 1 = m2 , k1 = k2 = k.
Il comparera pour se rassurer avec un calcul direct des valeurs propres en annulant le
déterminant de la matrice A − λI qu’il explicitera.
Introduction générale
19
1.2.2. La méthode sélective de la puissance itérée
On sait qu’une matrice symétrique est diagonalisable dans une base de vecteurs
propres orthonormés. C’est l’un des résultats fondamentaux de l’algèbre matricielle
que nous utiliserons souvent dans ce cours. Désignons par W1 et W2 (respectivement
λ1 et λ2 ), les deux vecteurs propres (respectivement les deux valeurs propres), de la
matrice A. Considérons ensuite une suite de vecteurs construite de la façon suivante
((., .)N est le produit scalaire et ||.||N la norme associée) :
X n+1/2 = AX n , X n+1 =
X n+1/2
, λn = (X n+1/2 , X n )N , X 0 donné.
||X n+1/2 ||N
Suppposons que λ1 > λ2 (elles sont toutes deux strictement positives puisque la
matrice A est définie positive) et que (X 0 , W1 )N #= 0. Posons :
X 0 = α1 W1 + α2 W2 , où : α1 = (X 0 , W1 )N , α2 = (X 0 , W2 )N , α1 #= 0. (1.23)
On a alors par un simple calcul :
λn =
(A2n+1 X 0 , X 0 )N
λ2n+1
α12 + λ2n+1
α22
1
2
=
.
2
2n 2
||AX 0 ||2N
λ2n
1 α1 + λ2 α2
(1.24)
On peut aussi écrire :
λ2 2n+1 α2 2
)
( )
λ1
α1
λ =λ [
] →n→∞ λ1 .
λ2 2n α2 2
1+( ) ( )
λ1
α1
1+(
n
1
(1.25)
La suite λn converge donc vers la plus grande valeur propre de A. De façon similaire, on établit que la suite de vecteurs X n converge vers ±W1 (suivant le signe
du coefficient α1 ). Nous verrons alors que cette méthode peut permettre de calculer
les valeurs propres et les vecteurs propres associés, voisines d’une valeur donnée à
l’avance. On parle alors de méthode du shift (décalage). On peut aussi travailler avec
plusieurs vecteurs itérés : c’est l’algorithme de la puissance itérée sur un sous-espace.
Bien d’autres variantes seront discutées pour cette méthode qui a, en général, la faveur
des ingénieurs de bureaux d’études.
1.3. L’optimisation
Considérons N points distincts, classés par ordre croissant et notés xi et autant de
valeurs désignées par yi . Désignons par {pk }, k = 1, P , un ensemble de P fonctions
définies aux points xi . On se pose le problème de lissage suivant :
$ $
min
J(a), où J(a) =
|
ak pk (xi ) − yi |2 ,
(1.26)
a={ak }∈RP
i=1,N k=1,P
20
Méthodes numériques pour l’ingénieur
La solution en a ∈ RP permet de définir une fonction :
$
p(x) =
ak pk (x),
k=1,P
qui passe au mieux (au sens des moindres carrés), par les valeurs yi aux N points xi .
C’est le problème classique du lissage. Examinons rapidement quelques-unes de ses
propriétés.
Pour cela commençons par le cas où les fonctions {pk } sont les polynômes de
degrés inférieurs ou égal à N − 1. La dimension de cet espace de polynômes est bien
N , nous avons donc dans ce cas : N = P . On construit ensuite les N polynômes de
Lagrange notés Λk , k = 1, N valant respectivement 0 au points xj , j ∈ {1, N }, j #=
k et 1 en xk . Un calcul classique nous donne :
Λ(x) =
Considérons ensuite le polynôme :
Πi=1,N, i%=k (x − xi )
.
Πi=1,N i%=k (xk − xi )
p(x) =
$
yk Λk (x).
(1.27)
(1.28)
k=1,N
Il vaut exactement yi aux points xi pour i = 1, N . Choisissons alors pour ak les
coefficients des monômes xk dans l’expression de p. La fonctionnelle J(a) s’annule.
Comme elle est positive, on a trouvé un minimum. C’est bien le seul possible dans
l’ensemble de recherche.
En effet, supposons qu’il en existe un autre - soit b ∈ RN %
et notons q(x) = k=1,N bk xk le polynôme associé. On aurait :
r(xi ) = p(xi ) − q(xi ) = 0 ∀i = 1, N.
Par conséquent, le polynôme r qui est de degré N − 1 s’annule en N points distincts.
En d’autres termes il admet en facteur un polynôme de degré N et donc est nul ! Ceci
prouve l’unicité.
Plaçons-nous maintenant dans un cas moins évident. Supposons que P < N et
considérons un ensemble de P fonctions définies aux points xi . Nous faisons une
hypothèse de qualification sur les P vecteurs Xk = {pk (xi )} ∈ RN , i = 1, N . Nous
supposons qu’ils sont linéairement indépendants. Si a ∈ RP réalise le minimum de la
fonction J. Nous avons par exemple :
∀k ∈ {1, P }, ∀bk ∈ R, b = (a1 , a2 , ..., ak−1 , bk , ak+1 , ...aP ),
J(a) ≤ J(b).
(1.29)
En explicitant, l’expression de J(b) en fonction de bk nous obtenons un polynôme du
second degré de la forme :
J(b) = Ak b2k + 2Bk bk + Ck ,
Introduction générale
21
dont le minimum est atteint en ak de telle sorte que :
Ak ak + Bk = 0.
Explicitons les coefficients Ak et Bk . Nous obtenons ainsi :
$
$
$
$
yi pk (xi ).
aj pk (xi )pj (xi ) −
Ak =
pk (xi )2 , Bk =
j=1,N, j%=k i=1,N
i=1,N
i=1,N
Le vecteur a est donc solution du système matriciel suivant :
Qa = d
avec :

Q=
%
%
p (x )2 .
i=1,N p1 (xi )p2 (xi ) ....
%i=1,N 1 i
....
i=1,N p1 (xi )p2 (xi ) ....
%
2
....
.....
i=1,N pN (xi )
 %
y p (x )
%i=1,N i 1 i

yi p2 (xi )
i=1,N

 .

 .

d=
 .%

i=1,N yi pk (xi )

 .

 .
.















 (1.30)
(1.31)
La matrice Q = (qkl ) est manifestement symétrique. En fait, nous allons voir que
grâce à l’hypothèse de qualification énonçée précédemment elle est aussi définie positive. Ceci nous permettra aussi d’assurer qu’elle est inversible. Désignons par qkl les
coefficients de la matrice Q. Notons Z = {zk } un vecteur de RP . Considérons ensuite
l’expression (forme quadratique associée à Q) :
$
$ $
(QZ, Z) =
zk zl qkl =
zk zl pk (xi )pl (xi ),
k,l=1,P i=1,N
k,l=1,P
qui est aussi égale à :
$
[
$
i=1,N k=1,P
2
zk pk (xi )] ≥ 0.
Par conséquent Q est positive. Par ailleurs si :
$
zk pk (xi ) = 0,
k=1,P
22
Méthodes numériques pour l’ingénieur
alors l’hypothèse de qualification (indépendance linéaire des vecteurs pk (xi )), nous
permet d’assurer que :
∀k = 1, N, zk = 0
et par conséquent la matrice Q est bien définie positive. Toutes ses valeurs propres
sont strictement positives et donc elle est inversible. Ainsi le problème de lissage que
nous avons envisagé est bien posé et se ramène à la résolution d’un système linéaire
qui de plus est associé à une matrice symétrique définie positive.
Remarque 1.3.1 Le choix de la fonctionnelle à minimiser que nous avons retenue
dans cet exemple est arbitraire et relève de l’intuition de l’ingénieur. Néanmoins, les
critères quadratiques présentent l’immense avantage de conduire à des systèmes linéaires. Cela justifie leur importance dans les problèmes d’optimisation.
Remarque 1.3.2 %
Dans ce second exemple rien ne garantit que les valeurs de la fonction lissée : p = k=1,P ak pk prennent les valeurs yi aux points xi . Mais on peut
décider par exemple d’un intervalle autorisé autour de ces valeurs. Par exemple de la
forme suivante :
∀i ∈ {1, N }, yi − εi ≤ p(xi ) ≤ yi + εi ,
(1.32)
où εi sont des tolérances fixées par des considérations liées au problème à résoudre.
On obtient alors un nouveau problème d’optimisation avec des contraintes. Nous verrons comment procéder pour résoudre ce type de problèmes dits sous contraintes dans
la partie consacrée à l’optimisation.
1.4. Le contrôle des systèmes linéaires
Considérons l’équation différentielle suivante qui par exemple modélise l’évolution de la température T (mesurée par rapport à la température extérieure) en un point
donné d’une pièce et c représente la quantité de chaleur apportée par le chauffage. Le
coefficient k représente les fuites thermiques dues à une mauvaise isolation et T0 est
la température initiale.
Ṫ (t) + kT (t) = c(t), ∀t > 0, T (0) = T0 .
(1.33)
Si on ne fait rien, c’est-à-dire c ≡ 0, la température évolue comme indiqué sur la
figure 1.3. La solution analytique est :
T (t) = T0 e−kt .
(1.34)
Imaginons maintenant qu’à l’instant t1 , la température atteigne la valeur T1 < T0 (ce
Introduction générale
23
20
15
10
5
0
0
2
4
6
8
t
Figure 1.3. Evolution de la température sans chauffage en fonction du temps
Log(T1 /T0 )
qui donne t1 = −
) et qu’un thermostat mette le chauffage en route. On
k
suppose l’apport de chaleur constant :
c(t) = c0 .
La solution de l’équation (1.33) est :
T (t) = T1 e−k(t−t1 ) +
c0
[1 − e−k(t−t1 ) ].
k
(1.35)
Elle est représentée sur la figure 1.4.
Dans un processus de régulation automatique, le thermostat arrêtera automatiquement le chauffage dès que la température sera repassée au-dessus de T0 (valeur 200
sur la figure 1.4 correspondant à un temps t2 + 3.7heures). Mais bien entendu, le
temps de marche du chauffage dépend de la puissance de chauffe c0 et du coefficient
de perte k. Par exemple si c0 ≤ kT1 il sera impossible de réchauffer la pièce. C’est
ainsi que pour une chaudière donnée (puissance fixée par le constructeur), le seuil de
c0
déclenchement devra être tel que T1 > . Sinon le coefficient de l’exponentielle est
k
négatif et la température demeure décroissante (voir figure 1.5). Par ailleurs, pour que
l’asymptote soit au-dessus de la température de 200 , de façon à revenir en un temps
c0
fini à la température de départ, il faut que :
> 200 . La figure 1.6 montre le comk
portement de la température dans le cas où cette condition supplémentaire ne serait
pas vérifiée. On se pose alors le problème suivant : comment choisir T1 de façon à
minimiser le coût du chauffage qui est de la forme (t2 − t1 )c0 ?
24
Méthodes numériques pour l’ingénieur
20
15
10
5
0
1
2
3
4
5
t
Figure 1.4. Evolution de la température en fonction du temps avec un
chauffage qui démarre à l’instant t=2 heures
En fait la réponse à cette question devra également prendre en compte qu’un
trop grand nombre de commutations risque d’user prématurément la chaudière. Par
ailleurs, le nombre de points d’observation de la température n’est pas nécessairement
unique (cas de plusieurs thermostats). Il existe par exemple de nombreuses pièces
dans lesquelles on souhaite surveiller et réguler cette dernière (immeuble). On aboutit
alors à un système différentiel et le problème généralisé fait largement appel à l’analyse numérique matricielle. Voilà très sommairement le type de problèmes que nous
discuterons dans cette deuxième partie.
1.5. Les aspects aléatoires
La plupart des coefficients qui interviennent dans les systèmes linéaires, dans un
calcul de valeurs propres ou encore dans un problème d’optimisation, sont issus de
mesures et par conséquent, entachés d’erreurs. En faisant des hypothèses statistiques
sur les lois de répartitions de ces erreurs, on peut en déduire certains renseignements
sur les lois de répartition des solutions recherchées. Bien que traitée de façon très
incomplète, cette problématique est abordée et discutée dans la troisième partie.
Introduction générale
20
16
12
8
4
0
1
2
3
4
5
t
Figure 1.5. Cas d’une puissance de chauffage nettement insuffisante
20
16
12
8
4
0
1
2
3
4
5
t
Figure 1.6. Réchauffement insuffisant pour revenir à la température initiale
25