Академический Документы
Профессиональный Документы
Культура Документы
Remerciements
Ce travail a t ralis au sein du laboratoire Mathmatique, 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 Suprieure (ENS) de Rabat qui m'a beaucoup aid comprendre et rsoudre un grand nombre de questions dans mon sujet, je tiens le remercier galement pour ses prcieux conseils notament en matire de prsentation et d'organisation de ce travail. Il a t trs patient et comprhensif 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 prsider le jury ; et aussi Monsieurs L. Berrahmoune professeur l'Ecole Normale Suprieure (ENS) de Rabat qui m'a accord son temps prcieux 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 collgues du DESA MIA de leur gentillesse et convivialit et je remercie particulirement ma famille qui m'a soutenu, et continue de le faire, tout au long de mon parcours acadmique.
Introduction 1 Prliminaire
1.1 Contrle des systmes linaires . . . . . . . . . . . . . . . 1.1.1 Systmes linaires dynamiques . . . . . . . . . . . 1.1.2 Contrlabilit et observabilit . . . . . . . . . . . Stabilit . . . . . . . . . . . . . . . . . . . . . . . . . . . Observateur de Luenberger et quation de Sylvester . . . Le problme de placement partiel des ples . . . . . . . . Processus d'Arnoldi . . . . . . . . . . . . . . . . . . . . . 1.5.1 polynme minimal et le polynme caractristique La mthode du GMRES et son implmentation . . . . . 1.6.1 Dnition de la mthode du GMRES . . . . . . . 1.6.2 Implmentation de la mthode du GMRES . . . . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . Position du problme . . . . . . . . . . . Application du processus d'Arnoldi . . . 2.2.1 Mthode de Saad et Datta . . . . 2.2.2 Placement des ples de la matrice Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . de Hessenberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
i
. 1 . 1 . 2 . 3 . 3 . 5 . 6 . 8 . 9 . 9 . 10 . 16 . . . . . . . . . . .
17
17 19 19 21 25 27 28 29 31 31 31
Prsentation du problme . . . . . . . . . . . . . . . Approche par fraction rationnelle . . . . . . . . . . . Rsolution de qm (A)x = c par la mthode du GMRES Le choix des poles . . . . . . . . . . . . . . . . . . . . Algorithme de rsolution de l'quation de Sylvester . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 3
27
4 Essais numriques
4.1 4.2 4.3
33
39 41 41 43 50
Introduction
L'objectif de ce travail est de rsoudre l'quation de Sylvester, qui joue un rle important dans la construction de l'observateur de Luenberger et aussi dans la thorie de contrle, de communication, modles de rduction et les mthodes numriques pour la rsolution des quations direntielles [6]. On s'intresse au rle de l'quation de Sylvester dans la construction de l'observateur de Luenberguer associ au systme de contrle suivant
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 gnralit, 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'ide 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 polynme de degr i. Le processus d'Arnoldi calculera ensuite, en utilisant v1 , la matrice Hm , matrice de Hessenberg suprieure, qui n'est pas forcment stable ; on va donc procder un placement de ples pour la stabiliser ; ce qui veut dire qu'on prsente 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 mthode du GMRES [12]. 2. appliquer l'algorithme de placement des ples, propos par Saad et Datta [3] sur la matrice Hm pour la stabiliser. On pourra ensuite calculer la solution X partir des rsultats obtenus. Le chapitre 1 sera rserv quelques rappels, sur la thorie de contrle, sur la mthode 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 rsoudre. Au chapitre 3 on expliquera comment obtenir v1 tel que vm+1 = c, puis on clturera ce travail par des essais numriques sous matlab.
Chapitre 1 Prliminaire
Dans ce chapitre, on rappelle quelques notions sur la thorie du contrle, on enchane ensuite avec des rappels sur le processus d'Arnoldi [9] et on clturera ce chapitre par un rappel sur la mthode du GMRES [12]. Sauf mention du contraire, dans tout ce chapitre A Mn (R), C Mmn (R), B Mnr (R) et x0 Rn .
1.1
(1.1)
o xk Rn est le vecteur d'tat et sa dimension est celle du systme ; yk Rm sortie du systme ; uk Rr dite entre du systme.
Dnition 2
[10] : Un systme linaire dynamique continu admet la description interne sous forme de reprsentation d'tat suivante :
(1.2)
o x(t) Rn est le vecteur d'tat et sa dimension est celle du systme ; y(t) Rm sortie du systme ; u(t) Rr dite entre du systme.
1
CHAPITRE 1.
PRLIMINAIRE
Dnition 4
Proposition 1
caractrisation de la contrlabilit [10, 1] On considre le systme dni par (1.2), les proprits suivante sont quivalentes :
1. la paire {A, B} est dite contrlable 2. la matrice = B AB A2 B . . . An1 B est de rang maximal i.e : rg() = n (critre de controlabilit de Kalman ) 3. rg(A I, B) = n (A) o (A) est le spectre de A.
Pour les systmes discrets (dnis par (1.1)) la controlabilit est donne par le critre de Kalman [1].
systme dni par (1.2) est observable, si pour tout 0 t t1 , il existe t1 > 0 tel que l'etat initial x0 peut tre dtermin de manire unique partir de u(t) et y(t).
Observabilit Dnition 5 Le
Dnition 6
Le systme dni par (1.1) est observable, si il existe un rang N < tel que l'etat initial x0 peut tre entirement dtermin de manire unique partir de la connaissance des entrs {u0 , u1 , ..., uN 1 } et des sorties y0 , ..., yN . Un systme linaire (continu ou discret) est dit observable (ou la paire {A, C} est dite observable) si la matrice dnie par = C CA CA2 . . . CAn1 est de rang maximal i.e :
Caractrisation d'observabilit [10]
Proposition 2
Proposition 3
[10]Dualit La paire {A, C} est observable ssi la paire {AT , C T } est contrlable.
1.2.
STABILIT
1.2
Stabilit
Dnition 7
[1] On dira que le systme (1.3) est stable si le spectre de la matrice A est l'intrieur du cercle unit (dans le plan complexe) i.e :
(A) D(0, 1)
Dnition 8
[1] On dira qu'un systme de type (1.4) est stable si toutes les valeurs propres de A sont partie relle ngative. i.e :
( (A))
1.3
() R
En pratique, on a pas accs toutes les composantes de l'tat x(t) du systme (1.2) (ni x0 ) de manire 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].
Dnition 9
[1] L'observateur de Luenberger associ au systme de contrle (1.2) est donn par
(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 zro quelque soit les conditions initiales x(0), z(0) et u(t), ce qui ne peut avoir lieu, sauf si les conditions du thorme suivant sont vries.
CHAPITRE 1.
PRLIMINAIRE
[1] Le systme (1.5) est le systme observateur associ au systme (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 vries :
Thorme 1
1) XA F X = DC , 2) P = XB , 3) F stable. Preuve
En drivant la relation e(t) = z(t) Xx(t) on obtient
(1.6)
(1.7)
si 1) et 2) sont vries la relation (1.7) devient une quation direntielle de premier ordre donne par
e(t) = F e(t)
et si 3) est vrie on a evidement lim e(t) = 0 quelque soit les conditions initiales x(0),z(0) et u(t). Et pour dterminer les matrices F , D et P , on utilise l'quation de Sylvester ; celle-ci est donne par l'quation matricielle suivante
t
XA F X = DC
(1.8)
o A et C sont donnes, et X est la solution trouver. Son existence et son unicit est assure par la condition [6] :
(F ) (A) =
(1.9)
1.4.
1.4
(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 systme (1.10) s'crit [7]
(1.11)
t+
lim x(t) = 0
(1.12)
(1.13) (1.14)
et soit P = {1 , ..., m } C avec (i ) < 0. Ainsi donc (1.12) ne peut tre vrie que si A bf T est stable, autrement dit que si on a (d'aprs la dnition 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 vrier la relation (1.12). En rsum on dnit le problme de placement partiel des ples comme suit [7]
Dnition 10
n
Soit P = {1 , ..., m } C avec (i P) (i ) < 0 et soit b R on dnit le problme de placement partiel des ples de la matrice A par : choisir f Rn tel que (A bf T ) = P {i }n i=m+1
CHAPITRE 1.
PRLIMINAIRE
Remarque 1
Lorsqu'il s'agit d'un systme dynamique discret, le problme de placement de ples consiste mettre les valeurs porpres autour de l'origine ( l'intrieur du cercle unit) c'est dire qu'on reprend la mme dnition 10 sauf que l'ensemble P D(0, 1) et pour le spectre de A on a :
Le processus d'Arnoldi utilise la mthode de Gram-Schmidt [9] pour la construction de la base orthonormal du sous-espace de Krylov. Ce procd est souvent utilis dans les mthodes de projection sur les sous-espace de Krylov an de rsoudre les systmes linaires de grande taille. Cette section sera rserve 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, ..., Ak1 v i.e :
Dnition 11
Remarque 2
Pour z Kk (A, v) on a
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
1.5.
PROCESSUS D'ARNOLDI
On pose Vk = [v1 , ..., vk ], Hk = (hi,j )(1i,jk) la matrice de Hessenberg suprieure Hk et Hk = la matrice (k + 1) k de Hessenberg suprieure (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 rsultats suivants [9].
Proposition 4
[4] les vecteurs {v1 , ..., vk } gnrs par l'algorithme 1 constituent une base orthonorme du sous-espace de Krylov Kk (A, v) et on a en plus pour i = 1, ..., k :
vi = qi1 (A)v1
avec qi1 un polynme de degr i 1
[9].
(1.20)
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 arrter vj+1 = vj /hj+1,j -f in j .
CHAPITRE 1.
PRLIMINAIRE
Remarque 3
-D'aprs le thorme de Cayley-Hamilton le ploynme minimal de A pour v est au plus de degr gal n.
Proposition 5
(hm+1,m
[4] Le processus d'Arnoldi s'arrte l'tape m = 0), o m est le degr du polynme minimal de A pour v
D'aprs la proposition 4 les vecteurs vi s'crivent sous forme vi = qi1 (A)v1 o qi1 (A) est un polynme de degr i1. Notons par m le degr du polynme minimal de A pour v1 on a
qi1 (t) =
1 hi,i1
i1
(tqi2 (t)
j=1
(1.21)
et pour le cas o i = m + 1 on a
m
Il existe une relation entre le polynme (1.21) et le polynme caractristique de la matrice Hi de Hessenberg suprieure d'ordre i ; cette relation est donne par le thorme suivant.
Thorme 2
[4] Soit m le degr du polynme minimal de A pour v , alors pour i = 1, ..., m on a det(tIi Hi ) = i qi (t) (1.22)
En consquence on a le corollaire suivant
[4] pour i = 1, ..., m (m le degr du polynme minimal de A pour v ) le polynme qi est le polynme caractristique de la matrice intermdiaire Hi (calcule par l'algorithme 1) une constante multiplicative prs.
Ce corollaire donne la relation entre le polynme qi (t) tel que vi+1 = qi (A)v1 et le polynme caractristique de la matrice Hi . Ce rsultat nous permettra de dmarrer la mthode de Saad et Datta [3] pour la rsolution de l'quation de Sylvester.
corollaire 1
1.6.
1.6
Ax = b,
o b Rn et la matrice A est suppose relle et inversible.
(1.23)
(1.24) (1.25)
On utilise le processus d'Arnoldi pour construire une base orthonorme du sous-espace de Krylov Kk (A, r0 ), v1 ,...,vk (rk = b Axk est le rsidu 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.
PRLIMINAIRE
Proposition 6
Remarque 4
Algorithme 3
Hk = Qk Rk , avec Qk Mk+1k+1 (R), Rk = Rk et Rk triangulaire d'ordre k . 0T Donc le problme 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.
11
gk Rk y
= = =
Rk y 0
2
gk Rk y k+1 gk Rk y
2
+ |k+1 |2 ,
(1.26)
Pour dcomposer la matrice Hk on dnit 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 = cosi , si = sini ). 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.
PRLIMINAIRE
QT = k k1 ...1 , k
ainsi la rsolution du problme de minimisation se fait par tapes comme suivant tape 1 on calcule h c1 = 2 1,1 2
s1 =
donc
QT (e1 ) = 1 = = = g1 ,
0 0 0 . . . 1
0 . . . . . . 0
QT (Hk ) = 1 Hk 1 = Hk =
(1)
(0)
(0)
h11 0 . . . . . . . . . 0
(1)
(1)
(1) h1k (1) h2k (1) . . . h3k . .. . . . .. (1) . hkk (1) . . . 0 hk+1,k ... ...
1.6.
13
c = 2 s = 2
alors
(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)
(1) 1 (1) 2 0 . . . . . . 1 0 0 0 0 0 . . .
14 donc
CHAPITRE 1.
PRLIMINAIRE
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)
(1)
(1) h1k (1) h2k (1) . . . h3k . .. . . . .. . h(1) kk (1) . . . 0 hk+1,k ... ...
1.6.
15
= = = gi ,
avec
1 0 . . . . . . . . . . . . . . .
... ... 0 ci si 0
... ... ... 0 ... ... ... (i) 1 (i) 2 . . . (i1) ci i (i1) si i 0 . . . 0
... ... ... 0 . . ... ... ... . . 0 0 ... . . . si 0 . . . . . . ci 0 . . . . . .. . . . 0 1 . .. .. . . 0 ... ... ... 0 1
(i1) i1 (i1) i 0 . . . 0
1 (i1) 2 . . .
(i1)
s = i c = i
hi+1,i (hi,i
(i1)
, ,
o les si et ci sont tels que s2 + c2 = 1 (ci = cosi , si = sini ). i i le vecteur gi est donn par
1 (i) 2 . . .
(i)
16 avec
CHAPITRE 1.
PRLIMINAIRE
QT (Hk i
(i1)
) = i Hk = Hk =
(i)
(i1)
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)
h1k . . . . . . . . . . . .
(i)
(i)
toute tape i seules les termes hi,i et hi+1,i qui seront modis :
(i)
(i1)
+ si hi,i+1 ,
(i1)
Ainsi le vecteur yk , solution du problme 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 rsolutions de l'quation de Sylvester donne par AX XH = CG, notament la condition d'unicit et d'existance de la solution X . On introduira au prochain chapitre le problme pos par cette quation et on reviendra en detail sur sa rsolution en utilisant le processus d'Arnoldi.
(2.1)
en appliquant le processus d'Arnoldi, o A Mn (R), C Mnm (R) sont donnes et H Mm (R), X Mnm (R), G Mm (R) sont trouver. On verra aussi comment obtenir la deuxime galit donne par l'expression ci-dessus. Sauf mention du contraire, dans tout ce qui suit les matrices A, X , H , C , G sont dnis comme ci-dessus et P = {1 , ..., m } est un ensemble arbitraire de m nombres complexes partie relle ngative et dirents deux deux, o m est susement infrieur n.
2.1
Position du problme
Nous avons vu au chapitre 1, que la construction de l'observateur de Luenberger ncessite la rsolution de l'quation de Sylvester. Pour rsoudre cette quation on peut utiliser la mthode de Hessenberg-Schur [3], mais cette dernire ne donne pas de bons rsultats si la matrice A est de grande taille, d'o l'utilisation de la mthode d'Arnoldi. On considre le systme de type (1.2)
(2.2)
18
CHAPITRE 2.
o E Mmn (R), M Mn (R), B Mnk (R), x(t) Rn u(t) Rk et y(t) Rm . L'observateur de Luenberger [1] associ ce systme est donn par
(2.3)
o les matrices F, D Mm (R), P Mmk (R) sont dterminer. D'aprs le thorme 1, vu au chapitre 1, l'erreur entre z(t) et x(t) donne 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 vries 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)
(H) (A) = .
(2.8)
En ce qui concerne la matrice G, on la choisit de faon que la paire {H, G} soit contrlable [7]. Ainsi les conditions requises pour rsoudre l'quation de Sylvester sont 1. H stable,
2.2.
19
2. (H) (A) = , 3. la paire {H, G} contrlable. 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 gnralit, que la matrice G est la matrice identit ; donc l'quation rsoudre 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 mme scalaire. Dans tout ce qui suit on va tudier le problme 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 prsente par ce dernier avec l'quation de Sylvester donne par (2.9), et cette analogie est la base de la mthode de Saad et Datta [3]. Et c'est ce qu'on fait dans ce qui suit.
(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 dernire s'crit ( l'tape m) comme suivant :
(2.13)
donc on en dduit que pour rsoudre l'quation de Sylvester, il sut de trouver un vecteur v1 tel que le second membre soit ceT aprs excution de m
20
CHAPITRE 2.
m tapes du processus d'Arnoldi (m infrieur au degr du polynme minimal de A pour v1 ). D'autres part la rsolution de l'quation (2.9) exige aussi que (H) = P, c'est dire que le polynme caractristique 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'aprs le corolaire 1, page 8), et sachant que le polynme caractristique de la matrice Hm s'crit
qm (t) = det(tIm Hm ),
on en dduit que
vm+1 = qm (A)v1 ,
Puisque on cherche avoir vm+1 = c avec R, on en dduit que v1 doit tre proportionnel c, en eet
o est la constante de normalisation. Donc l'ide de base est d'excuter le processus d'Arnoldi en commenant par v1 (le vecteur obtenu par la relation (2.15)) puis faire un placement de ples sur la matrice Hm , pour avoir le spectre dsir, et a consiste trouver y Rm tel que
(2.16)
Ainsi la rsolution de l'quation de Sylvester consiste rsoudre deux problmes qui sont 1. trouver v1 solution de qm (A)x = c 2. trouver y Rm tel que la relation (2.16) soit vrie.
2.2.
21
La premire tape consiste rsoudre qm (A)x = c c'est dire la rsolustion de m systmes savoir (A i I)xi = xi1 ce qui n'est pas simple. On donnera plus de dtails, au chapitre 3, propos de la rsolution de tels systmes. Le choix de l'ensemble P doit se faire de faons que ses lments ne soient pas proches des valeurs propres de la matrice A, car dans ce cas la solution x obtenue sera mal conditionne [6]. On s'occupera dans le chapitre 3 de la rsolution de ce problme. Le placement des ples de la matrice Hm se fait avec une procdure simple qu'on verra dans la section suivante.
Dnition 13 Thorme 3
conjugaison si :
(j E) : j E
[6] Soit Hm la matrice de Hessenberg suprieure obtenue par le processus d'Arnoldi. On note par (Hm ) le spectre de la matrice Hm . On suppose que P (Hm ) = ,
m m1
s=
j=1
(Hm j I)e1 , =
j=1
h1 j+1,j
(2.17)
alors (Hm seT ) = P et la matrice Hm seT est de Hessenberg supm m rieure. De plus si P est stable par conjugaison alors (Hm seT ) est rel. m
On reprend l'expression donn par (2.13), on a le lemme suivant
Lemme 1
[6] On considre les matrices Vm , Hm donnes 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)
22
CHAPITRE 2.
Lemme 2
[6] Soit Vm et Hm les matrices construites par le processus d'Arnoldi et soit p un polynme de degr infrieur m alors
Preuve
Lemme 3
[6] Soit Hm+1 Mm+1 (R) une matrice de Hessenberg suprieure et p un polynme unitaire de degr m (le coecient de plus haut degr est gal 1). Alors
m
=
j=1
hj+1,j .
Thorme 4
[6] Soit c le vecteur dni par (2.10). On suppose que (A) P = . On dnit le polynme 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 dtermins 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.
23
Preuve
T f = m Vm c T = m Vm pm (A)x T = m x Vm pm (A)v1 , m1
(2.24)
m m m m m
x x x x x
m x
24
CHAPITRE 2.
= =
hj+1,j
j=1
1
m1
hj+1,j
j=1 m1
h1 ) j+1,j
(Hm f eT ) = P. m
Remarque 5 En pratique, on n'utilise pas le scalaire m tel qu'il est dni au thorme 4 car les rsultats numriques 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'aprs le processus d'Arnoldi (2.25)
(2.26)
et on ne manquera pas de signaler que d est la dernire colonne de la matrice AVm Vm H ce qui fait qu'on a
AVm Vm H = deT m
2.3.
CONCLUSION
25
d = m c
ce qui mne
d = m c cT d = m cT c cT d m = T c c cT d m = . c 2
En dnitif, on a
AVm Vm H = m ceT m
et donc par identication avec la relation (2.12), la solution X recherche est donne par
X=
1 Vm . m
A prsent qu'on sait comment obtenir les matrices H et X , on peut prsenter l'algorithme de placement partiel des ples de la matrice Hm [3] :
Algorithme 4
Placement des ples de Hm l1 = e1 ; = 1; pour i = 1, ..., m 1 faire li+1 = (Hm i I)li ; = .h1 ; 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 rsolution de l'quation de Sylvester par le processus d'Arnoldi nous conduit donc rsoudre deux problmes.
26
CHAPITRE 2.
Le premier rside dans la dtermination du vecteur v1 permettant de dmarrer le processus d'Arnoldi, et le deuxime problme s'agit d'un placement de ples sur la matrice Hm . On reviendra plus en dtails sur le premier problme au chapitre 3.
Dans ce chapitre on rsoud le systme qm (A)x = c, qui constitue la premire tape de la mthode de Saad-Datta [3] (voir algorithme 6, page 31) pour la rsolution de l'quation de Sylvester. L'importance de cette tape rside dans le fait qu'elle permet de trouver le vecteur v1 , qui dmarrera le processus d'Arnoldi. Dans tout ce chapitre, P = {1 , ..., m } est un ensemble de m nombres complexes partie relle ngative et dirents deux deux, (A) dsigne le
m
spectre de A et qm (t) =
i=1
(t i I).
3.1
Prsentation du problme
On sait que le vecteur v1 doit vrier la relation (2.15) (chapite 2 page 20) ce qui mne 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.
(A 1 I)...(A m I)xm = x0 ,
on pose (A m I)xm = xm1 donc la relation (3.3) devient
(3.3)
(A 1 I)...(A m1 I)xm1 = x0 ,
en rptant la mme opration on obtient
(3.4)
Ainsi, rsoudre (3.1) quivaut rsoudre (3.4). Le dernier vecteur xm est bien entendu la solution recherche. Cependant on ne peut utiliser cette mthode cause de deux raisons. La premire c'est qu'elle est trs coteuse ; car les mthodes directs ne sont pas envisageables dans le cas des systmes linaires de grande taille. La deuxime raison est due aux possibles perturbations dans les itrations ; voir [1] pour plus de dtails.
3.2 Approche par fraction rationnelle
Si la rsolution des m systmes linaires ne peut aboutir pour les raisons dja cites, alors une approche dirente s'impose. On sait d'aprs (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 )
qm (i ) =
j=1 j=i
(i j ),
les nombres drivs qm (i ) sont tous dirents de zro, cela est du au fait que tous les lments de P sont disjoints deux deux, ainsi la dcomposition en lments simples de (3.6) donne
1 = qm (t)
i=1
1 , qm (i )(t i )
(3.7)
3.3. RSOLUTION DE
QM (A)X = C
29
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 polynme qm (t) et donc les matrices (A i I) sont toutes inversibles. Eectivement si (A) on a
xi = (A i I)1 c,
donc la relation (3.8) devient
m
x=
i=1
1 xi , qm (i )
(3.9)
(3.10)
et puis utiliser la combinaison linaire donne par (3.9) pour trouver x. Pour la rsolution de (3.10) on va utiliser la mthode du GMERS [12] ; cependant le vecteur v1 recherch doit tre norm, ce qui n'est pas forcment le cas de x, donc on posera
v1 =
3.3 Rsolution de du GMRES
x , x
par la mthode
qm(A)x = c
La mthode du GMRES [12] est l'une des mthodes les plus ecaces pour la rsolution des systmes de type (3.10). Pour appliquer la mthode
30CHAPITRE 3.
du GMRES on construit Vl et Hl par le processus d'Arnoldi appliqu A et c v1 = c , cette base sera utilise dans tous les m systmes donns par (3.10) car la base d'Arnoldi, donne par la matrice Vl , ne varie pas si on remplace A par (A I) (o est un scalaire ). Le processus d'Arnoldi donne
(3.11)
L'intrt de cette ide rside dans le fait que la mme 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 remplaant par Hl i I pour i = 1, ..., m.
Remarque 6
(l)
ri
(l)
<
pour i = 1, ..., m
(3.12)
Algorithme 5
Rsolution 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 = argminyCl e1 Hl j y o Hl j = 0 . . . hl+1,l (j ) (i ) si c H y
n i
4. calculer x =
i=1
1 xi qm (i )
3.4.
31
3.4
Les valeurs propres de A ne sont pas pralablement connues, donc il est dicile de choisir l'avance l'ensemble des ples P de faon que P(A) = . Si l'un des i est proche de l'une des valeurs propres de A, le systme linaire qui lui est associ (A i I)xi = c sera malconditionn. Pour remdier ce problme on peut faire une estimation sur les valeurs propres de A, une telle estimation permet de bien choisir les lments de P. D'autres mthodes permettent l'estimation des valeurs propres de A, comme la mthode de dation, combine aux itrations polynomiales, comme dans [3], ou la mthode d'Arnoldi redmarre implicitement (mthode 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 dtails 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 donnes par une formule analytique (voir page 35) ce qui facilite le choix des lments de P.
3.5 Algorithme de rsolution de l'quation de Sylvester
A prsent nous savons comment obtenir x, et par la mme occasion le vecteur v1 = x qui permet d'avoir vm+1 = c, et puisqu'on a dja vu au x chapitre 2 comment calculer les matrices H et X , nous pouvons alors donner l'algorithme dnitif de la rsolution de l'quation de Sylvester.
Algorithme 6
1. 2. 3. 4. 5.
3.6
Rsolution de l'quation de Sylvester rsoudre qm (A)x = c par la mthode du GMRES (i.e. l'algorithme 5), puis calculer v1 = x x excuter 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 dernire colonne de AVm Vm H Xm = 1 Vm m
Conclusion
Puisque les matrices A et Ai I possdent le mme sous-espace de Krylov ceci permet de faire d'importantes conomies en calcul et en mmoire, car
32CHAPITRE 3.
seule l'tape de rsolution du problme de minimisation (dans la mthode de GMRES ) qui s'excutera autant de fois que le nombre d'lments de P. En ce qui concerne le choix de l'ensemble P, il est primordial de le bien choisir car autrement le systme (3.1) sera mal conditionn.
Les essaies ont t fait sur un PC quip d'un processeur Intel Celeron D 3.2 GHz, 2 Go de RAM, de prcision 2, 2204.1016 et muni de la version 7.4 de Matlab. Dans tous les essais, le vecteur c est gnr alatoirement par la commande rand de matlab (en tennant compte de la dimension de la matrice A). Le vecteur v1 , solution de (3.10), est dtermine par l'algorithme 5 (page 30) avec = 108 . 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 dsigne par u la norme euclidienne [1] du vecteur u1 . u . donne par . uk
k
u =
i=1
|ui |2
U =
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 donne par 33
34
CHAPITRE 4.
ESSAIS NUMRIQUES
A=
(4.1)
ce type de matrice se nomme matrice de Gear ("Gear matrix"), et pour plus de dtails sur ce type de matrice on renvoie les lecteurs l'article de C.W Gear [5]. On a choisit l'ensemble de ples suivant
(4.2)
Aprs avoir excuter 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 rsultats obtenus sont reports dans le tableau suivant
Si l < 16, l'algorithme 6 s'arrte ; mais la prcision auguemente en prennant l plus grand, ce que illustre le tableau 4.2
Remarque 7
m 4 6 8 10 12 14
Remarque 8 On remarque que plus le nombre des ples est grand, plus les normes (AX XH) ceT et (Hm f eT ) augmentent. m m
On refait le mme travail eectu prcdement, sauf qu'ici la matrice A est une matrice de Gear de taille n = 500, et on garde le mme ensemble P utilis dans le test 1
4.2.
MATRICE LFSS
35
m 4 6 8 10 12 14
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 dnis 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 = 2k et lk = (k + k ) le spectre de A est donn par (A) = {k , k } avec k = k + ik . Ce type de matrice sert modliser les structures spatiaux larges et exibles (LFSS pour Large exible space structures) [3].
36
CHAPITRE 4.
ESSAIS NUMRIQUES
m 4 6 8 10 12 14
(4.5) (4.6)
Dans les deux cas, on donne la valeur minimal l pour que l'algorithmes ne s'arrte pas. Le tableau suivant illustre les rsultats obtenus pour l'ensemble P1 ,
l 21 21 21
m 4 6 8
4.3.
37
4.3
Dans cet exemple on reprsentera graphiquement la rpartition des spectres des matrices A, H = Hm f eT , et Hm dans le plan complexe. m On considre la matrice de Saad A = A(r, s), de taille n = 500 (avec s = 10, r = 50 et n = rs ), dnie comme suivant pour i = 1, ..., n ai,i = 4 ai,i+1 = 1.2 pour i = 1, ..., n 1 ai,i1 = 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 ples choisit pour ce test est l'ensemble dnit par (4.5) et on prend m = 6.
38
CHAPITRE 4.
ESSAIS NUMRIQUES
figure1.jpg
Conclusion
Dans ce travail, on a prsent un algorithme bas sur le processus d'Arnoldi pour la rsolution 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'ide d'utiliser ce processus pour trouver la solution. La matrice de Hessenbergue suprieure donne par le processus d'Arnoldi n'est pas toujours stable et ne vrie pas forcement la condition d'existence et d'unicit de la solution, donc on a fait un placement de ples sur celle-ci pour remdier ce problme. On a aussi soulign que le choix de l'ensemble de ples peut fausser la solution s'il n'est pas fait de manire adquate car si un ple est proche d'une valeur propre de la matrice A le systme qui lui est associ est mal conditionn, ce qui fausse les rsultats 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 ples adquat. 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 gnralisation de ce travail au cas o la matrice C est de rang r quelconque reste possible. On suivra le mme schma, sauf que dans ce cas on se basera sur le processus d'Arnoldi par blocs et la mthode du GMRES par blocs.
39
40
CONCLUSION
Rsum
An de rsoudre l'equation de Sylvester donn par AX XH = C o la matrice C est de rang 1 ; on part de l'analogie donne par cette dernire avec le processus d'Arnoldi ; ce qui donne l'ide 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 donns par vi = qi1 (A)v1 et d'autres part le fait que le polynme qi est aussi le polynmes caractristique de la matrice Hi , ce qui a conduit rsoudre m systmes linaires par la mthode du GMRES ; l on exploite le fait que la matrice form par les vecteurs de la base d'Arnoldi est la mme pour A et A I (o R). La solution des m systmes linaires servira dmarrer le processus d'Arnoldi pour calculer les matrices Vm et Hm , puis on fait un placement de ples sur la matrice Hm en se basant sur les rsultats relatifs ce sujets. Aprs, on adapte la matrice Vm en utilisant un scalaire obtenu en utilisant la dernire colonne de AVm Vm H et le vecteur c pour donner enn la solution de l'quation de Sylvester.
41
42
RSUM
function[H,V,Ht]=Arnoldi(A,v,epsilon,k) %donnes: matrices A; vecteur v, rel 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 mthode 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
44
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 Procdure 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 drivs 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
[G,y]=rotgivenspourgmres(G,c); z(:,i)=V1*y; %test d'arrt sur la norme ||Ax_i -c || r=norm((A-mu(i)*J)*z(:,i)-c); %si la norme du rsidu est inferieur la prcision 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;
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
Procdure de placement des ples de la matrice de Hessenbergue sous Matlab :
function[Ha]=Placement(H,mu) %donnes: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 procdure "solution" qui permet de calculer la matrice X l'aide de la dernire colonne de AVm Vm H :
48
V1=V(:,1:m); %calculer AV1-V1Ha B=(A*V1-V1*Ha); %la dernire 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 rsoudre l'equation de Sylvester dans les essais numriques, et comme prvu, il contient tous les fonctions dja vues prcdement. Il contient aussi les fonctions permettant de gnrer les matrices et les ples utilises dans chaque test.
Programme principal
%Les donnes %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 rsultats q=norm(mu-eig(Ha)); r=norm((A*X-X*Ha)-c*(flipud(eye(k,1)))');
L'instruction A=gallery('gearmat',l,i,j) gnre la matrice de Gear (voir page 34), et les procdures suivantes gnrent 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 systme 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 rlle de z for k=1:p x(k)=a+k*(b-a)/p; %partie imaginaire de z
50
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 conus 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 polynme minimal pour la mthode 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, linar 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, Rduction,ralisation et commande des systmes linaires, 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 linar 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).