Université Mohammed V Agdal

Faculté des Sciences
Rabat

Application du processus d'Arnoldi à la résolution de l'equation de Sylvester

soutenu par Khal Oussama Le .../.../2009

2

Remerciements

Ce travail a été réalisé au sein du laboratoire Mathématique, Informatique et Applications (MIA) à la Faculté des Sciences, Rabat (FSR), Université Mohammed V, Agdal Rabat. J'aimerai remercier Monsieurs A. Messaoudi professeur à l'Ecole Normale Supérieure (ENS) de Rabat qui m'a beaucoup aidé à comprendre et à résoudre un grand nombre de questions dans mon sujet, je tiens à le remercier également pour ses précieux conseils notament en matière de présentation et d'organisation de ce travail. Il a été trés patient et compréhensif avec moi le long de mon travail malgré mes innombrables maladresses. Je remercie également Monsieurs S. El Hajji professeur à la Faculté des Sciences de Rabat (FSR) d'être à l'écoute et de m'avoir oert l'opportunité d'être en DESA MIA, chose qui m'a permis d'accomplir ce travail par la suite. J'exprime mes remerciments à Monsieurs J. Mikram professeur à la Faculté des Sciences Rabat (FSR) de m'avoir honnoré en acceptant de présider le jury ; et aussi à Monsieurs L. Berrahmoune professeur à l'Ecole Normale Supérieure (ENS) de Rabat qui m'a accordé son temps précieux pour juger ce travail. Au passage, je remercie profondement Monsieurs K. Jbilou Professeur à l'Universié du Littoral en France d'être à l'origine de ce sujet et sans qui ce travail n'aurai jamais vu le jour. Enn, je remercie tous mes collègues du DESA MIA de leur gentillesse et convivialité et je remercie particulièrement ma famille qui m'a soutenu, et continue de le faire, tout au long de mon parcours académique.

Table des matières

Introduction 1 Préliminaire
1.1 Contrôle des systèmes linéaires . . . . . . . . . . . . . . . 1.1.1 Systèmes linéaires dynamiques . . . . . . . . . . . 1.1.2 Contrôlabilité et observabilité . . . . . . . . . . . Stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . Observateur de Luenberger et équation de Sylvester . . . Le problème de placement partiel des pôles . . . . . . . . Processus d'Arnoldi . . . . . . . . . . . . . . . . . . . . . 1.5.1 polynôme minimal et le polynôme caractéristique La méthode du GMRES et son implémentation . . . . . 1.6.1 Dénition de la méthode du GMRES . . . . . . . 1.6.2 Implémentation de la méthode du GMRES . . . . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . Position du problème . . . . . . . . . . . Application du processus d'Arnoldi . . . 2.2.1 Méthode de Saad et Datta . . . . 2.2.2 Placement des pôles de la matrice Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . de Hessenberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

i
. 1 . 1 . 2 . 3 . 3 . 5 . 6 . 8 . 9 . 9 . 10 . 16 . . . . . . . . . . .

1

1.2 1.3 1.4 1.5 1.6

1.7 2.1 2.2

2 Résolution de l'équation de Sylvester

17

2.3 3.1 3.2 3.3 3.4 3.5 3.6

17 19 19 21 25 27 28 29 31 31 31

3 Première étape de la méthode de Saad et Datta

Présentation du problème . . . . . . . . . . . . . . . Approche par fraction rationnelle . . . . . . . . . . . Résolution de qm (A)x = c par la méthode du GMRES Le choix des poles . . . . . . . . . . . . . . . . . . . . Algorithme de résolution de l'équation de Sylvester . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 3

27

4

TABLE DES MATIÈRES

4 Essais numériques
4.1 4.2 4.3

Matrice de Gear . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Matrice LFSS . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Représentation graphiques des spectres . . . . . . . . . . . . . 37

33

Conclusion Résumé Annexes Algorithmes sous Matlab Bibliographie

39 41 41 43 50

Introduction

L'objectif de ce travail est de résoudre l'équation de Sylvester, qui joue un rôle important dans la construction de l'observateur de Luenberger et aussi dans la théorie de contrôle, de communication, modèles de réduction et les méthodes numériques pour la résolution des équations diérentielles [6]. On s'intéresse au rôle de l'équation de Sylvester dans la construction de l'observateur de Luenberguer associé au système de contrôle suivant

x(t) = Ax(t) + Bu(t) ˙ y(t) = Dx(t)
avec A ∈ Mn (R), B ∈ Mn×k (R), D ∈ Mm×n (R), y ∈ Rm , x ∈ Rn et u ∈ Rk . Et qui donne une approximation z(t) ∈ Rm du vecteur d'état x(t). Il s'agit d'une variante de l'équation de Sylvester classique, et est de la forme AX − XH = CG où X ∈ Mn×m (R), H ∈ Mm (R) et G ∈ Mm (R) sont à déterminer et les matrices A ∈ Mn (R), et C ∈ Mn×m (R) sont données. Parmi les méthodes proposées pour résoudre l'équation de Sylvester on trouve la méthode de Hessenberg-Schur qui consiste à choisir H ∈ Mm (R) matrice réelle de Schur et G ∈ Mm (R) matrice identité Im mais l'application de cette dernière n'est pas aisée si A est large et creuse [3]. Il est donc intéressant de voir d'autres méthodes pour ce genre de situations (A large et creuse) et c'est pour cette raison qu'on appliquera la méthode de Saad et Datta [3]. Avant de procéder à la résolution, remarquons que les matrices H , G et X doivent vérier les conditions suivantes [6] : 1. H stable 2. X bien conditionnée 3. la paire {H, G} est contrôlable. car si H est stable (tous les éléments du spectre de H sont à partie réelle négative) on peut montrer que l'approximation z(t) de x(t) obtenue par l'observateur de Luenberger vérie e(t) = z(t) − Xx(t) tend vers 0 quand t tend i

ii

INTRODUCTION

vers ∞. En plus l'ensemble des ces trois matrices contribuera à une bonne approximation z(t) de x(t). Notons aussi que si le spectre de A et le spectre de H sont disjoints, il existe une unique matrice X qui satisfait l'équation de Sylvester. Supposons que G = Im (sans perte de généralité, car le produit de G et C est une matrice de type n × m ) et que la matrice C est de rang 1 ; l'équation alors devient

AX − HX = ceT , m
ce qui donne l'idée d'appliquer le processus d'Arnoldi avec un premier vecteur v1 tel que vm+1 = αc ; on trouvera ce vecteur en exploitant le fait que tous les vecteurs de la base d'Arnoldi du sous-espace de Krylov associé à A et v1 sont tels que vi+1 = qi (A)v1 où qi est un polynôme de degré i. Le processus d'Arnoldi calculera ensuite, en utilisant v1 , la matrice Hm , matrice de Hessenberg supérieure, qui n'est pas forcément stable ; on va donc procéder à un placement de pôles pour la stabiliser ; ce qui veut dire qu'on présente un algorithme en deux étapes principaux 1. trouver v1 tel que vm+1 = αc en trouvant la solution de c = qm (A)v1 par la méthode du GMRES [12]. 2. appliquer l'algorithme de placement des pôles, proposé par Saad et Datta [3] sur la matrice Hm pour la stabiliser. On pourra ensuite calculer la solution X à partir des résultats obtenus. Le chapitre 1 sera réservé à quelques rappels, sur la théorie de contrôle, sur la méthode du GMRES et le processus d'Arnoldi. Au chapitre 2 on reviendra sur l'équation de Sylvester et on verra comment exploiter le processus d'Arnoldi pour la résoudre. Au chapitre 3 on expliquera comment obtenir v1 tel que vm+1 = αc, puis on clôturera ce travail par des essais numériques sous matlab.

Chapitre 1 Préliminaire

Dans ce chapitre, on rappelle quelques notions sur la théorie du contrôle, on enchaîne ensuite avec des rappels sur le processus d'Arnoldi [9] et on clôturera ce chapitre par un rappel sur la méthode du GMRES [12]. Sauf mention du contraire, dans tout ce chapitre A ∈ Mn (R), C ∈ Mm×n (R), B ∈ Mn×r (R) et x0 ∈ Rn .

1.1

Contrôle des systèmes linéaires

1.1.1 Systèmes linéaires dynamiques
Dénition 1
[10] :Un système linéaire dynamique discret admet la description interne sous forme de représentation d'état suivnate :

xk+1 = Axk + Buk yk = Cxk

(1.1)

où xk ∈ Rn est le vecteur d'état et sa dimension est celle du système ; yk ∈ Rm sortie du système ; uk ∈ Rr dite entrée du système.

Dénition 2

[10] : Un système linéaire dynamique continu admet la description interne sous forme de représentation d'état suivante :

x(t) = Ax(t) + Bu(t) ˙ y(t) = Cx(t)

(1.2)

où x(t) ∈ Rn est le vecteur d'état et sa dimension est celle du système ; y(t) ∈ Rm sortie du système ; u(t) ∈ Rr dite entrée du système.
1

2

CHAPITRE 1.

PRÉLIMINAIRE

1.1.2 Contrôlabilité et observabilité
Contrôlabilité Dénition 3 [1]
Le système déni par (1.2) est dit contrôlable si il existe une fonction t → u(t), 0 ≤ t, dite contôle ou commande, permettant le passage du système de l'etat initial x0 = x(t0 ) à un etat nal quelconque x(t1 ) (0 ≤ t ≤ t1 < ∞). [1] Le système déni par (1.1) est dit contrôlable si il existe une famille ni {u0 , u1 , ..., uN −1 } permettant le passage du système de l'etat initial x0 à un etat nal xN (0 < N < ∞).

Dénition 4

Proposition 1

caractérisation de la contrôlabilité [10, 1] On considère le système déni par (1.2), les propriétés suivante sont équivalentes :

1. la paire {A, B} est dite contrôlable 2. la matrice ∆ = B AB A2 B . . . An−1 B est de rang maximal i.e : rg(∆) = n (critère de controlabilité de Kalman ) 3. rg(A − λI, B) = n ∀λ ∈ σ(A) où σ(A) est le spectre de A.
Pour les systèmes discrets (dénis par (1.1)) la controlabilité est donnée par le critère de Kalman [1].

système déni par (1.2) est observable, si pour tout 0 ≤ t ≤ t1 , il existe t1 > 0 tel que l'etat initial x0 peut être déterminé de manière unique à partir de u(t) et y(t).

Observabilité Dénition 5 Le

Dénition 6

Le système déni par (1.1) est observable, si il existe un rang N < ∞ tel que l'etat initial x0 peut être entièrement déterminé de manière unique à partir de la connaissance des entrés {u0 , u1 , ..., uN −1 } et des sorties y0 , ..., yN . Un système linéaire (continu ou discret) est dit observable (ou la paire {A, C} est dite observable) si la matrice dénie par Γ = C CA CA2 . . . CAn−1 est de rang maximal i.e :
Caractérisation d'observabilité [10]

Proposition 2

{A, C} observable ⇔ rg(Γ) = n

Proposition 3

[10]Dualité La paire {A, C} est observable ssi la paire {AT , C T } est contrôlable.

1.2.

STABILITÉ

3

1.2

Stabilité

Cas discret : On considère le système linéaire suivant
xk+1 = Axk x0 donné
(1.3)

Dénition 7

[1] On dira que le système (1.3) est stable si le spectre de la matrice A est à l'intérieur du cercle unité (dans le plan complexe) i.e :

σ(A) ⊂ D(0, 1)

Cas continu : On considére le système linéaire suivant
x(t) = Ax(t) ˙ x(0) = x0 t>0
(1.4)

Dénition 8

[1] On dira qu'un système de type (1.4) est stable si toutes les valeurs propres de A sont à partie réelle négative. i.e :

(∀λ ∈ σ(A))
1.3

(λ) ∈ R−

Observateur de Luenberger et équation de Sylvester

En pratique, on a pas accès à toutes les composantes de l'état x(t) du système (1.2) (ni à x0 ) de manière explicite ; on construit alors une approximation z(t) pour le vecteur d'état x(t). Et c'est dans cet horizon que l'on utilise l'observateur de Luenberger [1].

Dénition 9

[1] L'observateur de Luenberger associé au système de contrôle (1.2) est donné par

z(t) = F z(t) + Dy(t) + P u(t) ˙ z(0) = z0
où F, D ∈ Mm (R), P ∈ Mm×k (R) sont à déterminer.

(1.5)

le vecteur z(t), donné par (1.5), est une approximation de x(t) si l'erreur e(t) = z(t) − Xx(t) tends vers zéro quelque soit les conditions initiales x(0), z(0) et u(t), ce qui ne peut avoir lieu, sauf si les conditions du théorème suivant sont vériées.

4

CHAPITRE 1.

PRÉLIMINAIRE

[1] Le système (1.5) est le système observateur associé au système (1.2), et z(t) est une approximation de Xx(t) dans le sens où l'erreur e(t) = z(t) − Xx(t) −→ 0 quand t −→ ∞ pour toute condition initiales x(0), z(0) et u(t) si les 3 conditions suivantes sont vériées :

Théorème 1

1) XA − F X = DC , 2) P = XB , 3) F stable. Preuve
En dérivant la relation e(t) = z(t) − Xx(t) on obtient

e(t) = z(t) − X x(t) ˙ ˙ ˙ = F z(t) + Dy(t) + P u(t) − X(Ax(t) + Bu(t)),

(1.6)

on utilise y(t) = Cx(t) et on ajoute et on retranche F Xx(t) dans (1.6), on obtient :

e(t) = F e(t) + (F X − XA + DC)x(t) + (P − XB)u(t), ˙

(1.7)

si 1) et 2) sont vériées la relation (1.7) devient une équation diérentielle de premier ordre donnée par

e(t) = F e(t) ˙
et si 3) est vériée on a evidement lim e(t) = 0 quelque soit les conditions initiales x(0),z(0) et u(t). Et pour déterminer les matrices F , D et P , on utilise l'équation de Sylvester ; celle-ci est donnée par l'équation matricielle suivante
t→∞

XA − F X = DC

(1.8)

où A et C sont données, et X est la solution à trouver. Son existence et son unicité est assurée par la condition [6] :

σ(F ) ∩ σ(A) = ∅

(1.9)

On verra au chapitre 2 comment résoudre cette équation par le processus d'Arnoldi.

1.4.

LE PROBLÈME DE PLACEMENT PARTIEL DES PÔLES

5

1.4

Le problème de placement partiel des pôles

On considère le système de contrôle (de type (1.2)) suivant

x(t) = Ax(t) + bu(t) ˙ y(t) = Cx(t)

(1.10)

(où b ∈ Rn ) et on suppose que le vecteur f ∈ Rn est tel que u = −f T x(t) ainsi la solution du système (1.10) s'écrit [7]

x(t) = exp[(A − bf T )t]x0
il serait donc souhaitable que x(t) soit stable c.à.d

(1.11)

t→+∞

lim x(t) = 0

(1.12)

on considère alors σ(A) = {λi }n le spectre de A et on suppose que i=1

(λi ) ≥ 0, pour i = 1, ..., m (λi ) < 0, pour i = m + 1, ..., n

(1.13) (1.14)

et soit P = {µ1 , ..., µm } ⊂ C avec (µi ) < 0. Ainsi donc (1.12) ne peut être vériée que si A − bf T est stable, autrement dit que si on a (d'après la dénition 8)

∀λ ∈ σ(A − bf T )

(λ) ∈ R−

(1.15)

le choix du vecteur f ∈ Rn doit donc être orienté vers un remplacement des valeurs propres instables i.e

σ(A − bf T ) = P ∪ {λi }n i=m+1

(1.16)

an de vérier la relation (1.12). En résumé on dénit le problème de placement partiel des pôles comme suit [7]

Dénition 10
n

Soit P = {µ1 , ..., µm } ⊂ C avec (∀µi ∈ P) (µi ) < 0 et soit b ∈ R on dénit le problème de placement partiel des pôles de la matrice A par : choisir f ∈ Rn tel que σ(A − bf T ) = P ∪ {λi }n i=m+1

6

CHAPITRE 1.

PRÉLIMINAIRE

Remarque 1

Lorsqu'il s'agit d'un système dynamique discret, le problème de placement de pôles consiste à mettre les valeurs porpres autour de l'origine (à l'intérieur du cercle unité) c'est à dire qu'on reprend la même dénition 10 sauf que l'ensemble P ⊂ D(0, 1) et pour le spectre de A on a :

|λi | ≥ 1, pour i = 1, ..., m |λi | < 1, pour i = m + 1, ..., n
.
1.5 Processus d'Arnoldi

Le processus d'Arnoldi utilise la méthode de Gram-Schmidt [9] pour la construction de la base orthonormal du sous-espace de Krylov. Ce procédé est souvent utilisé dans les méthodes de projection sur les sous-espace de Krylov an de résoudre les systèmes linéaires de grande taille. Cette section sera réservée à ce processus.

[9] On appelle sous-espace de Krylov d'ordre k associé à A pour v = 0 le sous-espace engendré par les vecteurs v, Av, ..., Ak−1 v i.e :

Dénition 11

Kk (A, v) = vect{v, Av, ..., Ak−1 v}

Remarque 2

Pour z ∈ Kk (A, v) on a

z ∈ Kk (A, v) ⇔ ∃q ∈ Pk−1 tel que z = q(A)v
Une base orthonormal du sous-espace de Krylov Kk (A, v), est construite par le processus d'Arnoldi [9].

Algorithme 1

Processus d'Arnoldi -choisir v = 0 et calculer v1 = v/ v , -pour j = 1, ..., k faire calculer hi,j = (Avj , vi ) pour i = 1, ..., j
j

calculer vj = Avj − ˜

hi,j vi ,
i=1

hj+1,j = vj , ˜ si hj+1,j = 0 arrêter, vj ˜ vj+1 = hj+1,j , -Fin j.

1.5.

PROCESSUS D'ARNOLDI

7

On pose Vk = [v1 , ..., vk ], Hk = (hi,j )(1≤i,j≤k) la matrice de Hessenberg supérieure Hk ˜ et Hk = la matrice (k + 1) × k de Hessenberg supérieure (où T h   k+1,k ek 0  .   .  e ek =  .  est le k i`me vecteur de la base cannonique de Rk ).  0  1 On a donc les résultats suivants [9].

AVk = Vk Hk + hk+1,k vk+1 eT , k ˜k, AVk = Vk+1 H T Vk AVk = Hk .

(1.17) (1.18) (1.19)

Proposition 4

[4] les vecteurs {v1 , ..., vk } générés par l'algorithme 1 constituent une base orthonormée du sous-espace de Krylov Kk (A, v) et on a en plus pour i = 1, ..., k :

vi = qi−1 (A)v1
avec qi−1 un polynôme de degré i − 1
[9].

(1.20)

En pratique, on utilise le processus d'Arnoldi modié car il est plus stable

Algorithme 2

Le processus d'Arnoldi modié -choisir v quelconque, calculer β = v et v1 = v/β -pour j = 1, ..., k faire vj = Avj ˜ pour i = 1, ..., j faire hi,j = (˜j , vi ) v vj = vj − hi,j vi ˜ ˜ f in i hj+1,j = vj ˜ si hj+1,j = 0 arrêter vj+1 = vj /hj+1,j -f in j .

8

CHAPITRE 1.

PRÉLIMINAIRE

1.5.1 polynôme minimal et le polynôme caractéristique
Dénition 12
[4] q est le polynôme minimal de A pour v si q est le polynôme de plus petit degré vériant  le coecient dominant de q est egal à 1  q(A)v = 0.

Remarque 3

-D'après le théorème de Cayley-Hamilton le ploynôme minimal de A pour v est au plus de degré égal à n.

Proposition 5
(hm+1,m

[4] Le processus d'Arnoldi s'arrête à l'étape m = 0), où m est le degré du polynôme minimal de A pour v

D'après la proposition 4 les vecteurs vi s'écrivent sous forme vi = qi−1 (A)v1 où qi−1 (A) est un polynôme de degré i−1. Notons par m le degré du polynôme minimal de A pour v1 on a

qi−1 (t) =

1 hi,i−1

i−1

(tqi−2 (t) −
j=1

hj,i−1 qj−1 (t)) pour tout i = 1, ..., m,

(1.21)

et pour le cas où i = m + 1 on a
m

qm (t) = tqm−1 (t) −
i=1

hi,m qi−1 (t).

Il existe une relation entre le polynôme (1.21) et le polynôme caractéristique de la matrice Hi de Hessenberg supérieure d'ordre i ; cette relation est donnée par le théorème suivant.

Théorème 2

[4] Soit m le degré du polynôme minimal de A pour v , alors pour i = 1, ..., m on a det(tIi − Hi ) = βi qi (t) (1.22)
En conséquence on a le corollaire suivant

[4] pour i = 1, ..., m (m le degré du polynôme minimal de A pour v ) le polynôme qi est le polynôme caractéristique de la matrice intermédiaire Hi (calculée par l'algorithme 1) à une constante multiplicative prés.
Ce corollaire donne la relation entre le polynôme qi (t) tel que vi+1 = qi (A)v1 et le polynôme caractéristique de la matrice Hi . Ce résultat nous permettra de démarrer la méthode de Saad et Datta [3] pour la résolution de l'équation de Sylvester.

corollaire 1

1.6.

LA MÉTHODE DU GMRES ET SON IMPLÉMENTATION

9

1.6

La méthode du GMRES et son implémentation

On considère le système linéaire

Ax = b,
où b ∈ Rn et la matrice A est supposée réelle et inversible.

(1.23)

1.6.1 Dénition de la méthode du GMRES
La méthode du GMRES (Generalized Minimal RESidual [12]) est conçue pour résoudre le système (1.23). Elle est dénie par : étant donné x0 une approximation quelconque de x, solution du système (1.23), et r0 = b − Ax0 le résidu associé à x0 . A l'étape k ≤ m (m étant le degré du polynôme minimal de A pour v1 = r0 / r0 ), trouver le vecteur xk , approximation de x, tel que

xk ∈ x0 + Kk (A, r0 ), rk ⊥AKk (A, r0 ).

(1.24) (1.25)

On utilise le processus d'Arnoldi pour construire une base orthonormée du sous-espace de Krylov Kk (A, r0 ), v1 ,...,vk (rk = b − Axk est le résidu associé à xk ) et on pose :

Vk = [v1 , ..., vk ],
donc (1.24) devient

xk = x0 + Vk α,    avec α =   α1 α2 . . . αk (AVk )T rk = 0 ⇔ (AVk )T (b − Axk ) = 0 ⇔ (AVk )T (b − A(x0 + Vk α)) = 0 ⇔ (AVk )T r0 − (AVk )T AVk α = 0 ⇔ (AVk )T AVk α = (AVk )T r0 ,     ∈ Rk , et la relation (1.25) se traduit par 

10

CHAPITRE 1.

PRÉLIMINAIRE

or (AVk )T AVk est toujours inversible donc

α = [(AVk )T AVk ]−1 (AVk )T r0 ,
ce qui donne

xk = x0 + Vk [(AVk )T AVk ]−1 (AVk )T r0 .

Proposition 6

[12] Pour la méthode du GMERS, on a :

rk ⊥AKk (A, r0 ) ⇔ α = argminy∈Rk r0 − AVk y = [(AVk )T AVk ]−1 (AVk )T r0 ,

Remarque 4

La proposition 6 montre que le problème d'orthogonalité se ramène à un problème de minimisation.

Algorithme 3

Algorithme de la méthode du GMRES

1. choisir x0 puis calculer r0 = b − Ax0 , β = r0 et v1 = r0 /β

˜ 2. utiliser le processus d'Arnoldi modié pour calculer v1 , ..., vk et Hk ˜ 3. résoudre argminy∈Rk βe1 − Hk y = yk
4. calculer xk = x0 + Vk yk

1.6.2 Implémentation de la méthode du GMRES
Pour résoudre le problème de minimisation (étape 3 Algorithme 3) on a recours (d'après les travaux de Saad et Schultz [12]), aux rotations de Givens ˜ ˜ pour décomposer la matrice Hk en produit d'une matrice triangulaire Rk et une matrice orthogonal Qk . Si on réalise une telle décomposition on aura

˜ ˜ Hk = Qk Rk , ˜ avec Qk ∈ Mk+1×k+1 (R), Rk = Rk et Rk triangulaire d'ordre k . 0T Donc le problème de minimisation de l'étape 3 de l'algorithme 3 donne ˜ ˜ βe1 − Hk y = βe1 − Qk Rk y, ˜ = βQk QT e1 − Qk Rk y k ˜ = Qk (βQT e1 − Rk y), k

(car Qk QT = Ik+1 ), k

1.6.

LA MÉTHODE DU GMRES ET SON IMPLÉMENTATION

11

Qk est orthogonal donc conserve la norme, alors on a ˜ βe1 − Hk y = = ˜ Qk (βQT e1 − Rk y) k ˜ (βQT e1 − Rk y) , k  γ1 .  .  . γk

  γ1  .   ˜ on pose QT (βe1 ) = gk =  .  et gk =  . k γk+1 on obtient gk γk+1

˜ gk − Rk y ˜

2

= = =

Rk y 0
2

2

gk − Rk y γk+1 gk − Rk y
2

+ |γk+1 |2 ,

en passant au minimum on obtient
−1 yk = Rk gk ∈ Rk .

(1.26)

˜ Pour décomposer la matrice Hk on dénit la matrice de rotation de Givens Ωi 0 ... ...  .. .. . ... .  0  . .  . .. 1 0  .  .  . ... 0 . ci Ωi =  .  .  . . . . 0 −si  .  . ... 0 0  .  .  . ... ... ... . 0 ... ... ...  1 ... ... ... 0 . ... ... ... . . . 0 0 ... . . . si 0 . . . . . . ci 0 . . . . . .. . . . 0 1 . .. .. . . 0 ... ... ... 0 1         ,       

où les si et ci sont tels que s2 + c2 = 1 (ci = cosθi , si = sinθi ). i i ˜ (0) ˜ On pose Hk = Hk et pour i = 1, ..., k on a
(i) ˜ (0) ˜ (i) Ωi ...Ω2 Ω1 Hk = Hk = (hl,m ),

12 et on pose

CHAPITRE 1.

PRÉLIMINAIRE

QT = Ωk Ωk−1 ...Ω1 , k

ainsi la résolution du problème de minimisation se fait par étapes comme suivant étape 1 on calcule  h  c1 = √ 2 1,1 2

 s1 = √
donc

(h1,1 +h2,1 ) h2,1

(h2 +h2 ) 1,1 2,1

    QT (βe1 ) =  1       =       =   = g1 ,

c1 s 1 0 −s1 c1 0 0 0 1 . .. .. . . . . 0 ... ...  c1 β s1 β   0   .  .  . 0  (1) γ1 (1) γ2   .  .  . 0

... ... ... .. . 0

0 0 0 . . . 1

      

β 0 . . . . . . 0

      

QT (Hk ) = Ω1 Hk 1 = Hk       =     
(1)

(0)

(0)

h11 0 . . . . . . . . . 0

(1)

h12 . . . (1) h22 . . . (1) . . . h32 .. . 0 . .. . . . 0

(1)

 (1) h1k (1)  h2k   (1) . . . h3k    . .. .  . .  .. (1)  . hkk  (1) . . . 0 hk+1,k ... ...

1.6.

LA MÉTHODE DU GMRES ET SON IMPLÉMENTATION

13

étape 2 de même on calcule

  c =   2  s =  2 
alors

h2,2 ((h2,2 )2 +(h3,2 )2 )
(1) h3,2 (1) (1) ((h2,2 )2 +(h3,2 )2 ) (1) (1)

(1)

QT (βe1 ) = Ω2 (Ω1 (βe1 )) 2 = Ω2 (QT (βe1 )) 1 = Ω2 g1  1 0 0 0  0 c2 s 2 0   0 −s2 c2 0  =  0 0 0 1   . .. .. ..  . . . . . 0 ... ... ...   (1) γ1  c γ (1)   2 2   (1)   −s2 γ2  =   0     .   . . 0      =     = g2 , γ1 (2) γ2 (2) γ3 0 . . . 0
(2)

... ... ... ... .. . 0

  (1)  γ1   γ (1)   2   0     .   .   .   .   .  . 1 0 0 0 0 0 . . .

        

14 donc

CHAPITRE 1.

PRÉLIMINAIRE

 (2) (1)  γ1 = γ1 ,  (2) (1) γ = c2 γ2 ,  2  γ (2) = −s γ (1) , 2 2 3

QT (Hk ) = Ω2 Hk 2  1 0 0 0 ... 0  0 c2 s 2 0 . . . 0   0 −s2 c2 0 . . . 0  =  0 0 0 1 ... 0   . .. .. .. .. .  . . . . . . . . 0 ... ... ... 0 1  (2) (2) (2) h11 h12 h13 . . . . . .   0 h(2) h(2) . . . . . . 23 22  . (2)  . 0 h33 . . . . . .  .  . . . h(2) . . . . . . =  . . 43  .  . . .. .. .  . . . . 0  . . . . .. ..  . . . . . . .  . 0 0 0 ... 0 =
(2) Hk

(0)

(1)

         
(2)

h11 0 . . . . . . . . .

(1)

h12 . . . (1) h22 . . . (1) . . . h32 .. . 0 . .. . . . 0

(1)

h1k (2)  h2k   (2) h3k    . .  .   . .  .  (2)  hkk  (2) hk+1,k

0 

 (1) h1k (1)  h2k   (1) . . . h3k    . .. .  . .   .. . h(1)  kk (1) . . . 0 hk+1,k ... ...

en général à tout étape i on a

QT (βe1 ) = Ωi (Ωi−1 ...Ω1 (βe1 )) i = Ωi (QT (βe1 )) i−1 = Ωi gi−1

1.6.

LA MÉTHODE DU GMRES ET SON IMPLÉMENTATION

15

        =                =        = gi ,
avec

1 0 . . . . . . . . . . . . . . .

0 ... .. .. . . .. . 1 ... ... ... 0 0 0

... ... 0 ci −si 0

... ... ... 0 ... ... ...  (i) γ1 (i)  γ2   . .  .  (i−1)  ci γi  (i−1)  −si γi   0   .  . . 0

... ... ... 0 . . ... ... ... . . 0 0 ... . . . si 0 . . . . . . ci 0 . . . . . .. . . . 0 1 . .. .. . . 0 ... ... ... 0 1

       (i−1)  γ   i−1   (i−1)   γi   0  .  . .  0

γ1 (i−1) γ2 . . .

(i−1)

             

  s =  i   c =  i 

hi+1,i (hi,i

(i−1)

(i−1) 2 (i−1) ) +(hi+1,i )2 (i−1) hi,i (i−1) 2 (i−1) (hi,i ) +(hi+1,i )2

, ,

où les si et ci sont tels que s2 + c2 = 1 (ci = cosθi , si = sinθi ). i i le vecteur gi est donné par

     (i)  i gi =  γ(i)   γi+1   0  .  . . 0

γ1 (i) γ2 . . .

(i)

       ,      

16 avec

CHAPITRE 1.

PRÉLIMINAIRE

 (i) (i−1)  γj = γj j = 1, ..., i − 1,  (i) (i−1) γ = ci γi ,  i(i) (i−1)  γi+1 = −si γi ,
(i) (i)

uniquement les composantes γi et γi+1 qui changent à tout étape i.

QT (Hk i

(i−1)

) = Ωi Hk = Hk        =       
(i)

(i−1)

h11 . . . h1i h1,i+1 . . .. . . . 0 . . . .. . (i) . . . hii . . . .. (i) . . 0 hi+1,i+1 . . .. . . 0 h(i) . i+2,i+1 . .. . .. . . . . . . 0 ... 0 ...
(i) (i)

(i)

(i)

(i)

... ... ... ... .. . .. . 0

h1k . . . . . . . . . . . .

(i)

             

hkk (i) hk+1,1

(i)

à toute étape i seules les termes hi,i et hi+1,i qui seront modiés :

hi,i = ci hi,i (i) hi+1,i = 0.

(i)

(i−1)

+ si hi,i+1 ,

(i−1)

Ainsi le vecteur yk , solution du problème de minimisation (à l'étape 3 de l'algorithme 3 ), est obtenu à partir de l'équation suivante

Rk yk = gk ,
ce qui conrme la relation donné par (1.26).
1.7 Conclusion

On a vu dans ce chapitre des rappeles pour la résolutions de l'équation de Sylvester donnée par AX − XH = CG, notament la condition d'unicité et d'existance de la solution X . On introduira au prochain chapitre le problème posé par cette équation et on reviendra en detail sur sa résolution en utilisant le processus d'Arnoldi.

Chapitre 2 Résolution de l'équation de Sylvester

Le but de ce chapitre est de résoudre

AX − XH = CG, σ(H) = {µ1 , ..., µm },

(2.1)

en appliquant le processus d'Arnoldi, où A ∈ Mn (R), C ∈ Mn×m (R) sont données et H ∈ Mm (R), X ∈ Mn×m (R), G ∈ Mm (R) sont à trouver. On verra aussi comment obtenir la deuxième égalité donnée par l'expression ci-dessus. Sauf mention du contraire, dans tout ce qui suit les matrices A, X , H , C , G sont dénis comme ci-dessus et P = {µ1 , ..., µm } est un ensemble arbitraire de m nombres complexes à partie réelle négative et diérents deux à deux, où m est susement inférieur à n.

2.1

Position du problème

Nous avons vu au chapitre 1, que la construction de l'observateur de Luenberger nécessite la résolution de l'équation de Sylvester. Pour résoudre cette équation on peut utiliser la méthode de Hessenberg-Schur [3], mais cette dernière ne donne pas de bons résultats si la matrice A est de grande taille, d'où l'utilisation de la méthode d'Arnoldi. On considère le système de type (1.2)

x(t) = M x(t) + Bu(t), ˙ y(t) = Ex(t),
17

(2.2)

18

CHAPITRE 2.

RÉSOLUTION DE L'ÉQUATION DE SYL VESTER

où E ∈ Mm×n (R), M ∈ Mn (R), B ∈ Mn×k (R), x(t) ∈ Rn u(t) ∈ Rk et y(t) ∈ Rm . L'observateur de Luenberger [1] associé à ce système est donné par

z(t) = F z(t) + Dy(t) + P u(t), ˙ z(0) = z0 ,

(2.3)

où les matrices F, D ∈ Mm (R), P ∈ Mm×k (R) sont à déterminer. D'après le théorème 1, vu au chapitre 1, l'erreur entre z(t) et x(t) donnée par e(t) = z(t) − Y x(t), (2.4) avec Y ∈ Mm,n (R), tend vers 0 à l'inni si les trois conditions suivantes sont vériées 1. Y M − F Y = DE , 2. P = Y B , 3. F stable. La condition 1 n'est autre que l'équation de Sylvester, et comme on a vu au chapitre 1, elle admet une solution unique si

σ(F ) ∩ σ(M ) = ∅,
pour retrouver la relation (2.1) on pose

(2.5)

M = AT , F = H T , E = C T , D = GT , Y = X T
ainsi la condition 1 devient

X T AT − H T X T = GT C T ,
c'est à dire

(2.6)

AX − XH = CG,

(2.7)

donc la condition d'existence et d'unicité de la solution donnée par(2.5) devient

σ(H) ∩ σ(A) = ∅.

(2.8)

En ce qui concerne la matrice G, on la choisit de façon que la paire {H, G} soit contrôlable [7]. Ainsi les conditions requises pour résoudre l'équation de Sylvester sont 1. H stable,

2.2.

APPLICATION DU PROCESSUS D'ARNOLDI

19

2. σ(H) ∩ σ(A) = ∅, 3. la paire {H, G} contrôlable. Puisque le produit des matrices G et C donne une matrice de type n × m on peut supposer dans tout ce qui suit,et sans perte de généralité, que la matrice G est la matrice identité ; donc l'équation à résoudre est

AX − XH = C, σ(H) = P.

(2.9)

On remarque que si on multiplie C par un scalaire alors la nouvelle solution est obtenue en multipliant la matrice X par le même scalaire. Dans tout ce qui suit on va étudier le problème dans le cas où C est de rang 1.
2.2 Application du processus d'Arnoldi

L'application du processus d'Arnoldi part de l'analogie présentée par ce dernier avec l'équation de Sylvester donnée par (2.9), et cette analogie est la base de la méthode de Saad et Datta [3]. Et c'est ce qu'on fait dans ce qui suit.

2.2.1 Méthode de Saad et Datta
Puisque C est de rang 1, on peut l'écrire sous la forme

C = (0, 0, ..., c),
ainsi on peut la rendre sous forme de produit matricielle

(2.10)

C = ceT , m
l'équation de Sylvester s'écrit donc sous la forme

(2.11)

AX − XH = ceT , m

(2.12)

ce qui nous rappelle le processus d'Arnoldi. En eet, cette dernière s'écrit (à l'étape m) comme suivant :

AVm − Vm Hm = hm+1,m vm+1 eT , m

(2.13)

donc on en déduit que pour résoudre l'équation de Sylvester, il sut de trouver un vecteur v1 tel que le second membre soit ceT après exécution de m

20

CHAPITRE 2.

RÉSOLUTION DE L'ÉQUATION DE SYL VESTER

m étapes du processus d'Arnoldi (m inférieur au degré du polynôme minimal de A pour v1 ). D'autres part la résolution de l'équation (2.9) exige aussi que σ(H) = P, c'est à dire que le polynôme caractéristique de la matrice Hm doit être qm (t) = (t − µ1 )...(t − µm ),
Puisqu'on a (2.14)

pm (A)v1 = vm+1 ,
avec pm (t) = αdet(tIm − Hm ) (d'après le corolaire 1, page 8), et sachant que le polynôme caractéristique de la matrice Hm s'écrit

qm (t) = det(tIm − Hm ),
on en déduit que

vm+1 = αqm (A)v1 ,
Puisque on cherche à avoir vm+1 = βc avec β ∈ R, on en déduit que v1 doit être proportionnel à c, en eet

αqm (A)v1 = βc β [qm (A)]−1 c v1 = α v1 = γ [qm (A)]−1 c
(2.15)

où γ est la constante de normalisation. Donc l'idée de base est d'exécuter le processus d'Arnoldi en commençant par v1 (le vecteur obtenu par la relation (2.15)) puis faire un placement de pôles sur la matrice Hm , pour avoir le spectre désiré, et ça consiste à trouver y ∈ Rm tel que

σ(H) = σ(Hm − yeT ) = P, m

(2.16)

Ainsi la résolution de l'équation de Sylvester consiste à résoudre deux problèmes qui sont 1. trouver v1 solution de qm (A)x = c 2. trouver y ∈ Rm tel que la relation (2.16) soit vériée.

2.2.

APPLICATION DU PROCESSUS D'ARNOLDI

21

La première étape consiste à résoudre qm (A)x = c c'est à dire la résolustion de m systèmes à savoir (A − µi I)xi = xi−1 ce qui n'est pas simple. On donnera plus de détails, au chapitre 3, à propos de la résolution de tels systèmes. Le choix de l'ensemble P doit se faire de façons que ses éléments ne soient pas proches des valeurs propres de la matrice A, car dans ce cas la solution x obtenue sera mal conditionnée [6]. On s'occupera dans le chapitre 3 de la résolution de ce problème. Le placement des pôles de la matrice Hm se fait avec une procédure simple qu'on verra dans la section suivante.

2.2.2 Placement des pôles de la matrice de Hessenberg
On présentera dans ce paragraphe les idées de base pour cette étape.

Dénition 13 Théorème 3

conjugaison si :

Soit E = {α1 , ..., αj }. On dit que l'ensemble E est stable par

(∀αj ∈ E) : αj ∈ E ¯
[6] Soit Hm la matrice de Hessenberg supérieure obtenue par le processus d'Arnoldi. On note par σ(Hm ) le spectre de la matrice Hm . On suppose que P ∩ σ(Hm ) = ∅,
m m−1

s=
j=1

(Hm − µj I)e1 , α =
j=1

h−1 j+1,j

(2.17)

alors σ(Hm − αseT ) = P et la matrice Hm − αseT est de Hessenberg supém m rieure. De plus si P est stable par conjugaison alors σ(Hm − αseT ) est réel. m
On reprend l'expression donné par (2.13), on a le lemme suivant

Lemme 1

[6] On considère les matrices Vm , Hm données par le processus T d'Arnoldi et on suppose que c ∈ Km+1 (A, v1 ) et vm+1 c = 0 alors ∃f ∈ Rm et βm ∈ R tq : AVm − Vm (Hm − f eT ) = βm ceT (2.18) m m

Preuve

T Soit βm = hm+1,m /vm+1 c et soit f ∈ Rm tel que T βm c = Vm f + βm (vm+1 c)vm+1 = Vm f + hm+1,m vm+1 ,

(2.19)

d'après (2.19) et (2.13) on a :

22

CHAPITRE 2.

RÉSOLUTION DE L'ÉQUATION DE SYL VESTER

AVm − Vm (Hm − f eT ) = hm+1,m vm+1 eT + Vm f eT , m m m = hm+1,m vm+1 eT + (βm c − hm+1,m vm+1 )eT . m m
Ce qui montre (2.18) On remarque que Hm − f eT est de Hessenberg supérieure. m Ainsi le lemme 1 montre que si on choisit v1 de façon que c ∈ Km+1 (A, v1 ) alors l'égalité (2.18) est de la même forme que (2.12) à une constante multiplicative prés. Les résultats suivants montrent comment trouver un tel espace de Krylov et comment obtenir la relation (2.16)

Lemme 2

[6] Soit Vm et Hm les matrices construites par le processus d'Arnoldi et soit p un polynôme de degré inférieur à m alors

p(A)v1 = Vm p(Hm )e1 .

Preuve

j il sut de vérier que : Aj v1 = Vm Hm e1 0 ≤ j < m et le lemme s'en déduit.

Lemme 3

[6] Soit Hm+1 ∈ Mm+1 (R) une matrice de Hessenberg supérieure et p un polynôme unitaire de degré m (le coecient de plus haut degré est égal à 1). Alors
m

eT p(Hm+1 )e1 m+1

=
j=1

hj+1,j .

Théorème 4

[6] Soit c le vecteur déni par (2.10). On suppose que σ(A) ∩ P = ∅. On dénit le polynôme unitaire
m

pm (t) =
j=1

(t − µj )

(2.20)

et x la solution unique de

pm (A)x = c

(2.21)

et soient Vm , Hm , vm+1 et hm+1,m déterminés par le processus d'Arnoldi avec x T T v1 = x . On pose βm = hm+1,m /vm+1 c et f = βm Vm c, alors

c ∈ Km+1 (A, v1 ),
et

(2.22) (2.23)

σ(Hm − f eT ) = P. m

2.2.

APPLICATION DU PROCESSUS D'ARNOLDI

23

Preuve

La relation (2.22) provient de (2.21) et de (2.20) en eet

c = pm (A)x =⇒ c = x pm (A) v1 =⇒ c = gm (A)v1 =⇒ c ∈ Km+1 (A, v1 )
Pour montrer la relation (2.23)

x ) x (avec gm (t) = x pm (t)) (par dénition du sous-espace de Krylov) (car v1 =

T f = βm Vm c T = βm Vm pm (A)x T = βm x Vm pm (A)v1 , m−1

(2.24)

on pose :pm−1 (t) =
j=1

(t−µj ) ainsi en remplaçant pm (t) = (t−µm )pm−1 (t)

à droite dans l'expression (2.24) et en appliquant le lemme 2 on a
T βm x Vm pm (A)v1 = = = = = T Vm (A − µm I)pm−1 (A)v1 T Vm (A − µm I)Vm pm−1 (Hm )e1 (Hm − µm I)pm−1 (Hm )e1 pm (Hm )e1 s,

βm βm βm βm βm

x x x x x

où s est déni par le théorème 3. En plus on a

βm x

hm+1,m x T vm+1 c hm+1,m = T x vm+1 pm (A)x hm+1,m = T , vm+1 pm (A)v1 =

donc, d'après le lemme 2 et le lemme 3, on a

24

CHAPITRE 2.

RÉSOLUTION DE L'ÉQUATION DE SYL VESTER

hm+1,m T vm+1 pm (A)v1

= =

hm+1,m T vm+1 Vm+1 pm (Hm+1 )e1 hm+1,m
m

hj+1,j
j=1

=

1
m−1

hj+1,j
j=1 m−1

Ainsi on en déduit que α = βm x (car α =
j=1

h−1 ) j+1,j

et il s'en suit que αs = f et d'après le théorème 4 on a

σ(Hm − f eT ) = P. m

Remarque 5 En pratique, on n'utilise pas le scalaire βm tel qu'il est déni au théorème 4 car les résultats numériques obtenus seront moins bons que ceux obtenus par cette expression
cT d . βm = c 2
avec d = hm+1,m vm+1 + Vm f.
On a d'après le processus d'Arnoldi (2.25)

AVm − Vm Hm = hm+1,m vm+1 eT , m
en ajoutant Vm f eT aux deux membres de l'égalité on a m

AVm − Vm Hm + Vm f eT = hm+1,m vm+1 eT + Vm f eT m m m
donc on pose

(2.26)

AVm − Vm (Hm − f eT ) = (hm+1,m vm+1 + Vm f )eT m m H = Hm − f eT , d = hm+1,m vm+1 + Vm f m

et on ne manquera pas de signaler que d est la dernière colonne de la matrice AVm − Vm H ce qui fait qu'on a

AVm − Vm H = deT m

2.3.

CONCLUSION

25

et pour se rammener à la relation (2.12) il faut que d soit proportionnel à c

d = βm c
ce qui mène à

d = β m c ⇒ cT d = β m cT c cT d ⇒ βm = T c c cT d ⇒ βm = . c 2
En dénitif, on a

AVm − Vm H = βm ceT m
et donc par identication avec la relation (2.12), la solution X recherchée est donnée par

X=

1 Vm . βm

A présent qu'on sait comment obtenir les matrices H et X , on peut présenter l'algorithme de placement partiel des pôles de la matrice Hm [3] :

Algorithme 4

Placement des pôles de Hm l1 = e1 ; α = 1; pour i = 1, ..., m − 1 faire li+1 = (Hm − µi I)li ; α = α.h−1 ; i+1,i n i s = (Hm − µm I)lm ; f = αs ; calculer Hm − f eT ; m n
Maintenant il ne reste plus qu'à savoir comment obtenir le vecteur v1 .

2.3

Conclusion

La résolution de l'équation de Sylvester par le processus d'Arnoldi nous conduit donc à résoudre deux problèmes.

26

CHAPITRE 2.

RÉSOLUTION DE L'ÉQUATION DE SYL VESTER

Le premier réside dans la détermination du vecteur v1 permettant de démarrer le processus d'Arnoldi, et le deuxième problème s'agit d'un placement de pôles sur la matrice Hm . On reviendra plus en détails sur le premier problème au chapitre 3.

Chapitre 3 Première étape de la méthode de Saad et Datta

Dans ce chapitre on résoud le système qm (A)x = c, qui constitue la première étape de la méthode de Saad-Datta [3] (voir algorithme 6, page 31) pour la résolution de l'équation de Sylvester. L'importance de cette étape réside dans le fait qu'elle permet de trouver le vecteur v1 , qui démarrera le processus d'Arnoldi. Dans tout ce chapitre, P = {µ1 , ..., µm } est un ensemble de m nombres complexes à partie réelle négative et diérents deux à deux, σ(A) désigne le
m

spectre de A et qm (t) =
i=1

(t − µi I).

3.1

Présentation du problème

On sait que le vecteur v1 doit vérier la relation (2.15) (chapite 2 page 20) ce qui mène au fait que v1 est solution de l'équation suivante

qm (A)x = c,
sachant que

(3.1)

qm (t) = (t − µ1 )...(t − µm ),
c'est à dire

(A − µ1 I)...(A − µm I)x = c,
en posant x = xm et x0 = c, la relation (3.2) devient 27

(3.2)

28CHAPITRE 3.

PREMIÈRE ÉTAPE DE LA MÉTHODE DE SAAD ET DATTA

(A − µ1 I)...(A − µm I)xm = x0 ,
on pose (A − µm I)xm = xm−1 donc la relation (3.3) devient

(3.3)

(A − µ1 I)...(A − µm−1 I)xm−1 = x0 ,
en répétant la même opération on obtient

(A − µi I)xi = xi−1 i = 1, ..., m

(3.4)

Ainsi, résoudre (3.1) équivaut à résoudre (3.4). Le dernier vecteur xm est bien entendu la solution recherchée. Cependant on ne peut utiliser cette méthode à cause de deux raisons. La première c'est qu'elle est très coûteuse ; car les méthodes directs ne sont pas envisageables dans le cas des systèmes linéaires de grande taille. La deuxième raison est due aux possibles perturbations dans les itérations ; voir [1] pour plus de détails.
3.2 Approche par fraction rationnelle

Si la résolution des m systèmes linéaires ne peut aboutir pour les raisons déja citées, alors une approche diérente s'impose. On sait d'après (3.1) que

x = [qm (A)]−1 c,
et on a aussi

(3.5) (3.6)

1 = qm (t)

1
m i=1 (t

− µi )

,

si on désigne par qm (µi ) la dérivée de qm (t) calculée au point µi on a
m

qm (µi ) =
j=1 j=i

(µi − µj ),

les nombres dérivés qm (µi ) sont tous diérents de zéro, cela est du au fait que tous les éléments de P sont disjoints deux à deux, ainsi la décomposition en éléments simples de (3.6) donne

1 = qm (t)

m

i=1

1 , qm (µi )(t − µi )

(3.7)

3.3. RÉSOLUTION DE

QM (A)X = C

PAR LA MÉTHODE DU GMRES

29

donc la relation (3.5) devient
m

x=
i=1

1 (A − µi I)−1 c, qm (µi )

(3.8)

l'expression (3.8) n'a aucun sens si l'une des matrices (A − µi I) n'est pas inversible. Puisque P ∩ σ(A) = ∅, le spectre de la matrice A ne contient aucune racine du polynôme qm (t) et donc les matrices (A − µi I) sont toutes inversibles. Eectivement si µ ∈ σ(A) on a

µ ∈ σ(A) ⇔ µ n'est pas racine du polynôme caractéristique de A ⇔ det(A − µI) = 0 ⇔ (A − µI) inversible,
ce qui prouve ce qu'on vient de dire. On pose

xi = (A − µi I)−1 c,
donc la relation (3.8) devient
m

x=
i=1

1 xi , qm (µi )

(3.9)

ainsi pour trouver x il faut résoudre les m systèmes linéaires suivants

(A − µi I)xi = c avec i = 1, ..., m,

(3.10)

et puis utiliser la combinaison linéaire donnée par (3.9) pour trouver x. Pour la résolution de (3.10) on va utiliser la méthode du GMERS [12] ; cependant le vecteur v1 recherché doit être normé, ce qui n'est pas forcément le cas de x, donc on posera

v1 =
3.3 Résolution de du GMRES

x , x
par la méthode

qm(A)x = c

La méthode du GMRES [12] est l'une des méthodes les plus ecaces pour la résolution des systèmes de type (3.10). Pour appliquer la méthode

30CHAPITRE 3.

PREMIÈRE ÉTAPE DE LA MÉTHODE DE SAAD ET DATTA

du GMRES on construit Vl et Hl par le processus d'Arnoldi appliqué à A et c v1 = c , cette base sera utilisée dans tous les m systèmes donnés par (3.10) car la base d'Arnoldi, donnée par la matrice Vl , ne varie pas si on remplace A par (A − σI) (où σ est un scalaire ). Le processus d'Arnoldi donne

AVl = Vl Hl + hl+1,l vl+1 eT , l
si on ajoute −σVl aux deux membres de l'égalité précédente

AVl − σVl = Vl Hl + hl+1,l vl+1 eT − σVl , l
on obtient alors

(A − σI)Vl = Vl (Hl − σI) + hl+1,l vl+1 eT . l

(3.11)

L'intérêt de cette idée réside dans le fait que la même base Vl servira à trouver tous les vecteurs xi ce qui permet d'économiser dans les calculs car on se contentera juste de modier la matrice Hl en la remplaçant par Hl −µi I pour i = 1, ..., m.

Remarque 6
(l)

- On choisit l'entier l comme étant le plus petit entier tel que

ri

(l)

<

pour i = 1, ..., m

(3.12)

avec ri = c − (A − µi I)xi pour i = 1, ..., m (voir [6] pour plus de détails).
Finalement on résout le système donné par (3.1) par l'Algorithme suivant

Algorithme 5

Résolution de qm (A)x = c

c 1. Calculer β = c et v1 = c ; 2. Appliquer le processus d'Arnoldi sur la matrice A et v1 pour construire les matrices Hl et Vl ; 3. pour i = 1, ..., m faire (µ ) calculer Hl i = Hl − µi I ; (µ ) Hl i (µ ) ˜ (µ ) ˜ (µ ) trouver yl i = argminy∈Cl βe1 −Hl j y où Hl j = 0 . . . hl+1,l (µj ) (µi ) ˜ si c − H y ≥

;

choisir l plus grands et aller à 2. n si (µ ) calculer xi = Vl yl i ;
m

l

l 

n i

4. calculer x =
i=1

1 xi qm (µi )

3.4.

LE CHOIX DES POLES

31

3.4

Le choix des poles

Les valeurs propres de A ne sont pas préalablement connues, donc il est dicile de choisir à l'avance l'ensemble des pôles P de façon que P∩σ(A) = ∅. Si l'un des µi est proche de l'une des valeurs propres de A, le système linéaire qui lui est associé (A − µi I)xi = c sera malconditionné. Pour remédier à ce problème on peut faire une estimation sur les valeurs propres de A, une telle estimation permet de bien choisir les éléments de P. D'autres méthodes permettent l'estimation des valeurs propres de A, comme la méthode de déation, combinée aux itérations polynomiales, comme dans [3], ou la méthode d'Arnoldi redémarrée implicitement (méthode IRA : Implicitly restarted Arnoldi) qui permet de donner une estimation des valeurs propres de la matrice A, comme dans les travaux de L.Reichel, B.Lewis et D.Calvetti (pour plus de détails voir [6]). Il est à noter que dans plusieurs situations en pratique, comme le cas des structures spatiales larges et exibles (LFSS) [3], les valeurs propres de la matrice A sont données par une formule analytique (voir page 35) ce qui facilite le choix des éléments de P.
3.5 Algorithme de résolution de l'équation de Sylvester

A présent nous savons comment obtenir x, et par la même occasion le vecteur v1 = x qui permet d'avoir vm+1 = αc, et puisqu'on a déja vu au x chapitre 2 comment calculer les matrices H et X , nous pouvons alors donner l'algorithme dénitif de la résolution de l'équation de Sylvester.

Algorithme 6
1. 2. 3. 4. 5.
3.6

Résolution de l'équation de Sylvester résoudre qm (A)x = c par la méthode du GMRES (i.e. l'algorithme 5), puis calculer v1 = x x exécuter le processus d'Arnoldi pour calculer Vm et Hm trouver y tel que σ(H) = σ(Hm − yeT ) = P m calculer βm = cT d/ c 2 avec d est la dernière colonne de AVm − Vm H Xm = β1 Vm m
Conclusion

Puisque les matrices A et A−µi I possèdent le même sous-espace de Krylov ceci permet de faire d'importantes économies en calcul et en mémoire, car

32CHAPITRE 3.

PREMIÈRE ÉTAPE DE LA MÉTHODE DE SAAD ET DATTA

seule l'étape de résolution du problème de minimisation (dans la méthode de GMRES ) qui s'exécutera autant de fois que le nombre d'éléments de P. En ce qui concerne le choix de l'ensemble P, il est primordial de le bien choisir car autrement le système (3.1) sera mal conditionné.

Chapitre 4 Essais numériques

Les essaies ont été fait sur un PC équipé d'un processeur Intel Celeron D à 3.2 GHz, 2 Go de RAM, de précision 2, 2204.10−16 et muni de la version 7.4 de Matlab. Dans tous les essais, le vecteur c est généré aléatoirement par la commande rand de matlab (en tennant compte de la dimension de la matrice A). Le vecteur v1 , solution de (3.10), est déterminée par l'algorithme 5 (page 30) avec = 10−8 . Il est à noter aussi qu'avant de commencer on s'assure que le spectre de A et l'ensemble P sont disjoints. Dans ce chapitre, on désigne par u la norme euclidienne [1] du vecteur  u1  .  u  . donnée par . uk
k

u =
i=1

|ui |2

et par U la norme spectral [1] de la matrice U = (uij )1<i,j<k donnée par

U =

ρ

avec ρ est la plus grande valeur propre de la matrice AT A

4.1

Matrice de Gear

Dans ce test on applique l'algorithme 6 (page 31) en choisissant l = 16 sur la matrice A de taille n = 1000 donnée par 33

34

CHAPITRE 4.

ESSAIS NUMÉRIQUES

      A=    

 ... ... 0 .  .. .  . 1 0 1 .  .. .. .. .. .  . . . . .  0 .  . .. .. .. .. . . . . . 0  .   . .. .. .. .. . . . . . 1  . 0 ... ... 0 1 0 1 1 0

(4.1)

ce type de matrice se nomme matrice de Gear ("Gear matrix"), et pour plus de détails sur ce type de matrice on renvoie les lecteurs à l'article de C.W Gear [5]. On a choisit l'ensemble de pôles suivant

P = {µk = −4k/k = 1, ..., m}.

(4.2)

Après avoir exécuter l'algorithme 6 (page 6) on calcule les normes (AX − XH) − ceT et σ(Hm − f eT ) − µ où µ ∈ P, H = Hm − f eT ; m m m les résultats obtenus sont reportés dans le tableau suivant

Si l < 16, l'algorithme 6 s'arrête ; mais la précision auguemente en prennant l plus grand, ce que illustre le tableau 4.2

Remarque 7

m 4 6 8 10 12 14

(AX − XH) − ceT m 3, 3557.10−8 5, 3488.10−8 7, 5778.10−8 1, 0016.10−7 1, 2644.10−7 1, 5445.10−7

µ − σ(Hm − f eT ) m 1, 3902.10−13 2, 8664.10−11 2, 1207.10−10 3, 4674.10−8 6, 2719.10−7 2, 4907.10−4

Table 4.1  Résultats obtenus pour la matrice A de Gear de taille n = 1000
et l = 16

Remarque 8 On remarque que plus le nombre des pôles est grand, plus les normes (AX − XH) − ceT et σ(Hm − f eT ) − µ augmentent. m m
On refait le même travail eectué précédement, sauf qu'ici la matrice A est une matrice de Gear de taille n = 500, et on garde le même ensemble P utilisé dans le test 1

4.2.

MATRICE LFSS

35

m 4 6 8 10 12 14

(AX − XH) − ceT m 3, 9215.10−14 1, 6637.10−13 7, 3598.10−13 2, 9257.10−12 1, 0948.10−11 4, 2106.10−11

µ − σ(Hm − f eT ) m 2, 8891.10−13 4, 4564.10−11 6, 5515.10−10 1, 4474.10−8 3, 4224.10−6 4, 8322.10−5

Table 4.2  Résultats obtenus la matrice A de Gear de taille n = 1000 et
l = 32 m 4 6 8 10 12 14 (AX − XH) − ceT m 2, 3109.10−8 3, 6771.10−8 5, 2031.10−8 6, 8712.10−8 8, 6675.10−8 1, 0581.10−7 µ − σ(Hm − f eT ) m 4, 6729.10−14 1, 7709.10−11 1, 3948.10−9 1, 0157.10−8 1, 5981.10−6 1, 5231.10−4

Table 4.3  Résultats obtenus la matrice A de Gear de taille n = 500 et
l = 16
4.2 Matrice LFSS

On considère la matrice A dénie par

A=

0p Ip L D

(4.3)

où n = 2p est la taille de cette matrice (p = 500 pour ce test), et les matrices D, L sont dénis comme suivant D = diag{d1 , ..., dp } et L = diag{l1 , ..., lp }, les valeurs propres de cette matrice sont les solutions des équations

x2 − dk x − lk = 0,

k = 1, ..., p

(4.4)

2 2 Ainsi si dk = 2αk et lk = −(αk + βk ) le spectre de A est donné par ¯ σ(A) = {λk , λk } avec λk = αk + iβk . Ce type de matrice sert à modéliser les structures spatiaux larges et exibles (LFSS pour Large exible space structures) [3].

36

CHAPITRE 4.

ESSAIS NUMÉRIQUES

m 4 6 8 10 12 14

(AX − XH) − ceT m 3, 1980.10−14 1, 4500.10−13 6, 1146.10−13 2, 3719.10−12 9, 2488.10−12 3, 4298.10−11

µ − σ(Hm − f eT ) m 1, 5291.10−13 6, 9802.10−11 1, 4631.10−9 2, 3719.10−8 4, 3654.10−6 1, 2756.10−4

Table 4.4  Résultats obtenus la matrice A de Gear de taille n = 500 et
l = 32
Pour illustrer l'impact du choix de l'ensemble des pôles sur les résulats obtenus, on choisit 2 ensembles de pôles qu'on dénit par

P1 = {µk = ak + ibk /ak ∈ [−2, −1] et bk ∈ [0, 1]}
et

(4.5) (4.6)

P2 = {µk = ak + ibk /ak ∈ [−4, −3] et bk ∈ [0, 1]}

Dans les deux cas, on donne la valeur minimal l pour que l'algorithmes ne s'arrête pas. Le tableau suivant illustre les résultats obtenus pour l'ensemble P1 ,

l m 105 4 151 6 190 8

(AX − XH) − ceT m 3, 1328.10−8 6, 8162.10−7 5, 5369.10−6

µ − σ(Hm − f eT ) m 1, 6338.10−14 2, 6208.10−13 1, 6679.10−12

Table 4.5  Résultats obtenus pour l'ensemble de pôles P1
et celui là illustre les résultats obtenus pour l'ensemble P2 ,

l 21 21 21

m 4 6 8

(AX − XH) − ceT m 1, 1413.10−6 1, 2864.10−4 0, 0084

µ − σ(Hm − f eT ) m 6, 8883.10−13 2, 8424.10−11 1, 6200.10−8

Table 4.6  Résultats obtenus pour l'ensemble de pôles P2
Les tableaux 4.5 et 4.6 montrent que l'ensemble P1 donne de meilleurs résultats que l'ensemble P2 .

4.3.

REPRÉSENTATION GRAPHIQUES DES SPECTRES

37

4.3

Représentation graphiques des spectres

Dans cet exemple on représentera graphiquement la répartition des spectres des matrices A, H = Hm − f eT , et Hm dans le plan complexe. m On considère la matrice de Saad A = A(r, s), de taille n = 500 (avec s = 10, r = 50 et n = rs ), dénie comme suivant  pour i = 1, ..., n  ai,i = 4    ai,i+1 = −1.2 pour i = 1, ..., n − 1  ai,i−1 = 1.1 pour i = 2, ..., n (4.7)   air+1,ir = air,ir+1 = 0 pour i = 1, ..., s − 1    ai+r,i = ai,i+r = −1 pour i = 1, ..., (s − 1)r l'ensemble de pôles choisit pour ce test est l'ensemble dénit par (4.5) et on prend m = 6.

38

CHAPITRE 4.

ESSAIS NUMÉRIQUES

figure1.jpg

Figure 4.1  + :spectre de A, . :spectre de Hm , * :spectre de H

Conclusion

Dans ce travail, on a présenté un algorithme basé sur le processus d'Arnoldi pour la résolution de l'équation de Sylvester, dans le cas des matrices creuse et large, tout en supposant que le second membre est une matrice de rang 1. Le fait que le second membre de l'équation de Sylvester est de rang 1 a permis de faire l'analogie avec le processus d'Arnoldi. Chose qui a donné l'idée d'utiliser ce processus pour trouver la solution. La matrice de Hessenbergue supérieure donnée par le processus d'Arnoldi n'est pas toujours stable et ne vérie pas forcement la condition d'existence et d'unicité de la solution, donc on a fait un placement de pôles sur celle-ci pour remédier à ce problème. On a aussi souligné que le choix de l'ensemble de pôles peut fausser la solution s'il n'est pas fait de manière adéquate car si un pôle est proche d'une valeur propre de la matrice A le système qui lui est associé est mal conditionné, ce qui fausse les résultats par la suite. On peut exploiter le fait que le spectre, dans plusieurs situations en pratiques, est donné par une formule analytique pour choisir un ensemble de pôles adéquat. En cas d'absence d'une telle formule, l'utilisation des estimations de la plus grande et la plus petite valeur propre de la matrice en question est toujours possible. La généralisation de ce travail au cas où la matrice C est de rang r quelconque reste possible. On suivra le même schéma, sauf que dans ce cas on se basera sur le processus d'Arnoldi par blocs et la méthode du GMRES par blocs.

39

40

CONCLUSION

Résumé

An de résoudre l'equation de Sylvester donné par AX − XH = C où la matrice C est de rang 1 ; on part de l'analogie donnée par cette dernière avec le processus d'Arnoldi ; ce qui donne l'idée de chercher un premier vecteur qui donnera ceT au seond membre. Ainsi on exploite, d'une part, le fait que m les vecteurs de la base d'Arnoldi sont donnés par vi = qi−1 (A)v1 et d'autres part le fait que le polynôme qi est aussi le polynômes caractéristique de la matrice Hi , ce qui a conduit à résoudre m systèmes linéaires par la méthode du GMRES ; là on exploite le fait que la matrice formé par les vecteurs de la base d'Arnoldi est la même pour A et A − µI (où µ ∈ R). La solution des m systèmes linéaires servira à démarrer le processus d'Arnoldi pour calculer les matrices Vm et Hm , puis on fait un placement de pôles sur la matrice Hm en se basant sur les résultats relatifs à ce sujets. Aprés, on adapte la matrice Vm en utilisant un scalaire obtenu en utilisant la dernière colonne de AVm −Vm H et le vecteur c pour donner enn la solution de l'équation de Sylvester.

41

42

RÉSUMÉ

Algorithmes sous Matlab

function[H,V,Ht]=Arnoldi(A,v,epsilon,k) %données: matrices A; vecteur v, réel positif epsilon %objectif: matrices H, V et Ht %k=length(v); V=[ ]; V(:,1)=v; H=[ ]; Ht=[ ]; for j=1:k w=A*V(:,j); for i=1:j Ht(i,j)=w'*(V(:,i)); w=w-Ht(i,j)*V(:,i); end Ht(j+1,j)=norm(w); if (Ht(j+1,j)<=epsilon) break; end V(:,j+1)=w/Ht(j+1,j); end for i=1:size(Ht,1)-1 H(i,:)=Ht(i,:); end end Algorithme de la méthode du GMRES function [x,res,flo,tem]=gmres(A,b,x0,itemax,aeps) %x(m)=x(0)+[v(1) v(2)...v(m)]*y v=zeros(size(A)); h=v; g=zeros(size(b));
43

Algorithme du processus d'Arnoldi

44

ALGORITHMES SOUS MATLAB

y=g; c=g; s=g; x=x0; flo=0; tem=0; v(:,1)=b-A*x; nr=norm(v(:,1)); res=log10(nr); v(:,1)=v(:,1)/nr; g(1)=nr; flo1=0; tem1=0; i=1; while i<itemax if nr<aeps break end flops(0); tem2=cputime; w=A*v(:,i); for j=1:i h(j,i)=w'*v(:,j); w=w-h(j,i)*v(:,j); end h(i+1,i)=norm(w); v(:,i+1)=w/h(i+1,i); if i>1 for j=1:i-1 ta=h(j,i); h(j,i)=c(j)*ta+s(j)*h(j+1,i); h(j+1,i)=-s(j)*ta+c(j)*h(j+1,i); end end gam=sqrt(h(i,i).^2+h(i+1,i).^2); c(i)=h(i,i)/gam; s(i)=h(i+1,i)/gam; g(i+1)=-s(i)*g(i); g(i)=c(i)*g(i); h(i,i)=c(i)*h(i,i)+s(i)*h(i+1,i); nr=abs(g(i+1));

45

res1=log10(nr) ; res=[res res1] ; y(i)=g(i)/h(i,i); for j=i-1:-1:1 w=g(j); for k=j+1:i w=w-h(j,k)*y(k); end y(j)=w/h(j,j); end x=x0+v(:,1:i)*y(1:i); flo1=flo1+flops; flo=[flo flo1]; tem2=cputime-tem2 ; tem1=tem1+tem2; tem=[tem tem1]; i=i+1; end Procédure pour trouver le vecteur v1 : function [x]=trouverv13(A,c,aeps,l,mu) m=length(mu); v=c/norm(c); n=size(A,1); I=eye(l+1,l); J=eye(n); z=zeros(n,m); x=zeros(n,1); a=zeros(m,1); [H,V,Ht]=Arnoldi2(A,v,aeps,l); V1=V(:,1:l); for i=1:m %calcul des nombres dérivés en mu_i a(i)=1; for j=1:m if j~=i a(i)=a(i)*(mu(i)-mu(j)); end end %calcul de Ht-mu_i G=Ht-mu(i)*I; %calcul de la solution de (A-mu_i)x_i=c

46

ALGORITHMES SOUS MATLAB

end %on norme le vecteur x x=x/norm(x); end

[G,y]=rotgivenspourgmres(G,c); z(:,i)=V1*y; %test d'arrêt sur la norme ||Ax_i -c || r=norm((A-mu(i)*J)*z(:,i)-c); %si la norme du résidu est inferieur à la précision choisie %puis on reprends avec un entier l plus grand if r>=aeps disp('choisir l plus grand'); end %autrement on calcule x y=z(:,i)/a(i); x=x+y;

La procédure "[G,y]=rotgivenspourgmres(G,c)" utilisée dans la procédure ˜ précédente pour décomposer la matrice H

function[h,y]=rotgivenspourgmres(h,x) n=size(h,2); c=[]; s=[]; y=zeros(n,1); g=zeros(n,1); g(1)=norm(x); for i=1:n if i>1 for j=1:i-1 ta=h(j,i); h(j,i)=c(j)*ta+s(j)*h(j+1,i); h(j+1,i)=-s(j)*ta+c(j)*h(j+1,i); end end gam=sqrt(h(i,i)^2+h(i+1,i)^2); c(i)=h(i,i)/gam; s(i)=h(i+1,i)/gam; g(i+1)=-s(i)*g(i);

47

g(i)=c(i)*g(i); h(i,i)=c(i)*h(i,i)+s(i)*h(i+1,i); y(i)=g(i)/h(i,i); for j=i-1:-1:1 w=g(j); for k=j+1:i w=w-h(j,k)*y(k); end y(j)=w/h(j,j); end end end
Procédure de placement des pôles de la matrice de Hessenbergue sous Matlab :

function[Ha]=Placement(H,mu) %données:la matrice H, les poles %s,alpha termes necessaire à l'Placement de la matrice H %objectif:calculer la matrice Ha m=length(mu); I=eye(m); %calculer le vecteur s s=eye(m,1); for i=1:m s=(H-mu(i)*I)*s; end %calculer le scalaire alpha alpha=1; for i=1:m-1 alpha=alpha/H(i+1,i); end Ha=H-alpha*s*(flipud(eye(m,1)))'; end
La procédure "solution" qui permet de calculer la matrice X à l'aide de la dernière colonne de AVm − Vm H :

function[X]=solution(A,V,Ha,c) m=size(Ha,1); %éliminer la dernière colonne de la matrice V

48

ALGORITHMES SOUS MATLAB

V1=V(:,1:m); %calculer AV1-V1Ha B=(A*V1-V1*Ha); %la dernière colonne de AV1-V1H d=B(:,m); beta=(c'*d)/(norm(c).^2); X=(1/beta)*V1; end
Le programme principal qu'on utilisera pour résoudre l'equation de Sylvester dans les essais numériques, et comme prévu, il contient tous les fonctions déja vues précédement. Il contient aussi les fonctions permettant de générer les matrices et les pôles utilisées dans chaque test.

Programme principal

%Les données %A=gallery('gearmat',l,i,j); %A=DattaSaad(a,b,c,e,p); %A=saad(m,nb); n=size(A,1); c=rand(n,1); epsilon=1e-08; %[mu]=poles(j); %[mu]=poles2(a,c,p) k=length(mu); %Appels fonctions [v]=trouverv1(A,c,epsilon,mu); [H,V]=Arnoldi(A,v,epsilon,k); [Ha]=Placement(H,mu); [X]=solution(A,V,Ha,c); %Les résultats q=norm(mu-eig(Ha)); r=norm((A*X-X*Ha)-c*(flipud(eye(k,1)))');
L'instruction A=gallery('gearmat',l,i,j) génère la matrice de Gear (voir page 34), et les procédures suivantes génèrent la matrice de Saad et la matrice de DattaSaad (voir page 35).

49

function A=saad(m,nb); disp('saad'); ii=m*nb; disp('la taille du système est = '); disp(ii); A=zeros(ii); d=1.1; al=-1-d; cl=4; disp('d= '); disp(d); disp('cl= '); disp(cl); for i=1:ii A(i,i)=cl; end for j=1:ii-1 A(j,j+1)=al; end for i=2:ii A(j,j-1)=d; end for i=1:nb-1 A(i*m+1,i*m)=0; A(i*m,i*m+1)=0; end for i=1:nb*(m)-m A(i+m,i)=-1; A(i,i+m)=-1; end function[A]=DattaSaad(a,b,c,e,p) %a,b sont les bornes de l'intervalle contenant x %c,e sont les bornes de l'intervalle contenant y x=zeros(p,1); y=zeros(p,1); %partie rélle de z for k=1:p x(k)=a+k*(b-a)/p; %partie imaginaire de z

50

ALGORITHMES SOUS MATLAB

end z=x+i*y; d=2*x; %4 ieme block de la matrice de saad et datta l=-(x.^2+y.^2); A=[zeros(p),eye(p);-diag(l),diag(d)]; end
Les fonctions suivantes sont conçus pour construire l'ensemble donné par (4.2) et l'ensemble donné par (4.5) et (4.6)

y(k)=c+k*(e-c)/p;

function[mu]=poles(j) mu=zeros(j,1); for k=1:j mu(k)=-4*k; end end function[u]=poles2(a,c,p) u=zeros(p,1); for k=1:p u(k)=(a+k/p)+i*(c+k/p); end end

Bibliographie

[1] B.N. Datta, Numerical methode for linear control systems design and analysis, Departement of mathematical Sciences Northern Illinois University Dekalb, IL 60115 (2003). [2] B.N. Datta, An algorithme to assigne eigeinvalues in a Hessenberg matrix, IEEE Trans. Autom. Control, AC-32 (1987), pp. 414-417. [3] B.N. Datta and Y. Saad, Arnoldi Methods for large Sylvester-Like Observer Matrix Equation, and an Associated for Partial Spectrum Assignement, Linear Algebra and Its Applications 154-156 :225-244 (1991). [4] L. Elbouyahyaoui, Etude du polynôme minimal pour la méthode du GMRES cas standard et cas par blocs, Memoire de DESA, EMI (2005). [5] C.W. Gear, A simple set of test matrices for eigenvalue programs, Math. Comp., 23 :119-125, (1969). [6] B. Lewis, D. Calvetti, L. Reichel, On the solution of large Sylvester observer equation, Numer. Linear Algebra Appl. (2001) ; 8 :1-16. [7] B. Lewis, D. Calvetti, L. Reichel, Partial eigenvalue assignement for large linar control systems, Contemporary Mathematics. Primary 93B55, 65F15 (1991). [8] B. Lewis, D. Calevetti, L. Reichel, On the selection of pole placement problem, linéar algebra Appl., 302-303 (1999), pp.331-345. [9] A. Messaoudi, Recursive interpolation algorithm : A formalism for solving systems of equations-II iterative methodes, Journal of computational and applied Mathematics, 76 (1996) 31-53. [10] A. Rachid et D. Mehdi, Réduction,réalisation et commande des systèmes linéaires, edition : Scientika 1er trimestre 1993, ISBN : 2-909894-03-7. [11] Y. Saad, Projection and deation methods for partial pole assignement in linear stat feedback, IEEE Trans. Autom. Control, AC-33 (1988), pp. 290-297. [12] Y. Saad et M.H. Schultz, GMRES a generalized minimal residual algoritme for solving nonsymetrique linéar equation, SIAM J. Sci. Statist Comput 7 (1986) 856-869. 51

52

BIBLIOGRAPHIE

[13] D.C. Sorensen, Implicit application of polynomial lters in a k-step Arnoldi methode, SIAM J.Matrix Anal. Appl., 13 (1992), pp.357-385. [14] W.M. Wonham, Linear Multivariate Control : A Geometric Approach, 3rd ed., Springer, New York, (1985).

Sign up to vote on this title
UsefulNot useful