rapport de stage de m2 : algorithmes rapides pour la résolution de … · 2008. 11. 7. · rapport...

21

Upload: others

Post on 20-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

Rapport de stage de M2 :

Algorithmes rapides pour la résolution

de problèmes algébriques structurés

Christophe MOUILLERON

Janvier - Juin 2008

Stage e�ectué au Laboratoire de l'Informatique du Parallélisme dans l'équipe Arénaire.Encadrants : Claude-Pierre Jeannerod et Gilles Villard.

Page 2: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

Table des matières

1 Introduction 3

2 Contexte 3

2.1 Matrices denses structurées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Opérateurs de déplacement, rang de déplacement . . . . . . . . . . . . . . . . . . 32.3 Intérêt des matrices structurées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4 État de l'art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.5 Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Factorisation des matrices Cauchy-like 7

3.1 Quelques propriétés remarquables . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2 Génération du complément de Schur . . . . . . . . . . . . . . . . . . . . . . . . . 83.3 Factorisation PLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.4 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4 Factorisation LSP pour les matrices Cauchy-like 12

4.1 Algorithme pour calculer une factorisation LSP . . . . . . . . . . . . . . . . . . . 134.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.3 Implantation et timings pour l'algorithme de LSP . . . . . . . . . . . . . . . . . . 15

5 Approches à base d'arithmétique polynomiale 15

5.1 Utilisation de l'algorithme de calcul de σ-bases . . . . . . . . . . . . . . . . . . . 165.2 Version rapide d'un algorithme d'inversion . . . . . . . . . . . . . . . . . . . . . . 17

6 Conclusion 19

2

Page 3: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

1 Introduction

De nombreux problèmes peuvent s'exprimer en terme de calcul sur des matrices. Suivantl'origine du problème, il se peut que les matrices correspondantes soient plus ou moins par-ticulières. Parfois, les matrices sont creuses (avec peu de coe�cients non nuls). Ici nous nousintéresserons plutôt à des matrices denses mais structurées. Ces matrices apparaissent naturelle-ment en physique, lorsqu'on a a�aire à une relation de récurrence comme c'est le cas en théoriedu signal [18], mais aussi pour les codes correcteurs d'erreurs [20]. Ici, nous travaillerons avecdes matrices à coe�cients dans un corps K quelconque pour couvrir à la fois R,C et les corps�nis.

Mon travail a consisté dans un premier temps à parcourir la littérature a�n de lister lesalgorithmes existants sur les matrices structurées. Ensuite, je me suis concentré sur certainsalgorithmes que j'ai jugé intéressants a�n de mieux les étudier et d'améliorer certains points.Après avoir introduit plus précisément les matrices denses structurées et dressé un état de l'art,je présenterai ces algorithmes ainsi que mes améliorations.

2 Contexte

2.1 Matrices denses structurées

Il existe de nombreux cas où O(n) coe�cients su�sent pour construire une matrice de taillen× n. Commençons par voir les exemples les plus classiques.

1. Les matrices T÷plitz sont des matrices où les coe�cients d'une même diagonale sont égaux.La connaissance de la première ligne et de la première colonne (2n−1 coe�cients) permetdonc de construire celle-ci en intégralité.

Pour n = 3 :

a0 a−1 a−2

a1 a0 a−1

a2 a1 a0

2. Les matrices Vandermonde sont dé�nies à partir d'un vecteur x =

[x1 . . . xn

]T. Le

coe�cient (i, j) de la matrice est alors xj−1i .

Pour n = 3 :

1 x1 x21

1 x2 x22

1 x3 x23

3. Les matrices Cauchy sont dé�nies à partir de deux vecteurs x =

[x1 . . . xn

]Tet

y =[y1 . . . yn

]Ttels que ∀(i, j), xi 6= yj . Le coe�cient (i, j) de la matrice est alors

1xi − yj

.

Pour n = 3 :

1

x1−y11

x1−y21

x1−y31

x2−y11

x2−y21

x2−y31

x3−y11

x3−y21

x3−y3

2.2 Opérateurs de déplacement, rang de déplacement

L'idée pour mettre en évidence une structure est d'appliquer une transformation simple àla matrice de façon à avoir un résultat de faible rang. Une telle transformation sera appeléeopérateur de déplacement dans la suite.

3

Page 4: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

Pour une matrice T÷plitz T , la transformation consiste à faire la di�érence entre d'une partT où on remonte la dernière ligne au dessus de la première et d'autre part T décalée d'un cranvers la gauche :

a3 a2 a1 a0

a0 a−1 a−2 a−3

a1 a0 a−1 a−2

a2 a1 a0 a−1

−a−1 a−2 a−3 0a0 a−1 a−2 0a1 a0 a−1 0a2 a1 a0 0

=

a3 − a−1 a2 − a−2 a1 − a−3 a0

0 0 0 a−3

0 0 0 a−2

0 0 0 a−1

On constate que le matrice obtenue est de rang au plus 2 (elle a seulement une ligne et unecolonne non nulles).

Pour les matrices Cauchy, la transformation consiste à faire la di�érence de deux mises àl'échelle di�érentes de la matrice de départ : x1 0 0

0 x2 00 0 x3

1x1−y1

1x1−y2

1x1−y3

1x2−y1

1x2−y2

1x2−y3

1x3−y1

1x3−y2

1x3−y3

1x1−y1

1x1−y2

1x1−y3

1x2−y1

1x2−y2

1x2−y3

1x3−y1

1x3−y2

1x3−y3

y1 0 0

0 y2 00 0 y3

=

1 1 11 1 11 1 1

On a cette fois une matrice de rang 1.

Dans la suite, on va considérer la famille d'opérateurs de déplacement suivante. Ici, Sp(A)désigne l'ensemble des valeurs propres de A :

Dé�nition 1 Pour M ∈ Km×m et N ∈ Kn×n deux matrices telles que Sp(M)⋂

Sp(N) = ∅, ondé�nit l'opérateur de déplacement ∇M,N par :

∀A ∈ Km×n, ∇M,N (A) = MA−AN (1)

La structure d'une matrice peut alors être mesurée à l'aide de la notion de rang de déplace-ment, introduite par Kailath, Kung et Morf dans [13] :

Dé�nition 2 On appellera rang de déplacement d'une matrice A pour un opérateur de déplace-

ment donné et on notera α le rang de l'image de cette matrice par l'opérateur :

α = rg (∇M,N (A)).

Étant donnée une matricem×n de rang α, on peut toujours trouver G ∈ Km×α et H ∈ Kn×α

tels que cette matrice soit égale à GHT . Ainsi, nous sommes en mesure de représenter unematrice dense structurée dont le rang de déplacement est α par un couple (G,H) tel que∇M,N (A) = GHT . On passe donc de nm coe�cients à seulement α(m+ n).

Voici quelques exemples :

Structure M N α

T÷plitz Z1 Z ≤ 2Vandermonde D(x) Z ≤ 1Cauchy D(x) D(y) = 1

où Zβ =

0 β

1. . .. . . . . .

1 0

, Z = Z0 =

0

1. . .. . . . . .

1 0

et D(x) =

x1

. . .. . .

xm

.

4

Page 5: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

Les blancs correspondent à des coe�cients nuls. Sauf pour les cas vraiment dégénérés, les bornesci-dessus sont atteintes.

Dé�nition 3 On dit qu'une matrice A ∈ Km×n est structurée pour un opérateur de déplacement

si son rang de déplacement α pour cet opérateur est petit par rapport à min(n,m).On dira que la matrice A est :

� T÷plitz-like si l'opérateur de déplacement est ∇Z1,Z .

� Vandermonde-like si l'opérateur de déplacement est ∇D(x),Z .

� Cauchy-like si l'opérateur de déplacement est ∇D(x),D(y).

Remarques :

1. Les conditions sur M et N pour la dé�nition de ∇M,N sont là pour assurer l'inversibilitéde l'opérateur de déplacement considéré. En e�et, on veut que la donnée de l'opérateur dedéplacement (M et N) et des générateurs (G et H) soit su�sante pour nous permettre dereconstruire la matrice de départ. Le problème est illustré par :

∇Z,Z( a0 a−1 a−2

a1 a0 a−1

a2 a1 a0

) =

a−1 a−2 00 0 a−1

0 0 a−2

Ici, nous ne sommes plus en mesure de reconstruire la matrice T÷plitz de départ car a0, a1

et a2 n'apparaissent plus dans le résultat de la transformation.

2. Lorsque l'opérateur ∇M,N est inversible, nous disposons de formules explicites pour re-construire la matrice de départ [21, �4]. Pour M = D(x) et N = D(y) par exemple (casCauchy-like), on a :

A =α∑i=1

D(gi)C(x,y)D(hi) (2)

où gi (resp. hi) est la ie colonne de G (resp. H) et C(x,y) =(

1xi−yj

)1≤i,j≤n

.

3. On voit parfois [21, �1] la dé�nition suivante : ∆M,N (A) = A−MAN . Ce type d'opérateurest moins pratique à utiliser que l'opérateur ∇M,N (A) d'une part parce que la conditionsur M et N pour que ∆M,N soit inversible est plus compliquée, et d'autre part parce queles théorèmes comme celui que nous allons voir juste après s'expriment moins facilementdans le cas de ∆M,N .

2.3 Intérêt des matrices structurées

Une des propriétés les plus fondamentales des matrices denses structurées est le fait que lastructure est conservée par les opérations habituelles [21, �1] :

Propriété 1

� Si A et B sont structurées pour ∇M,N , alors A+B l'est également.

� Si A est structurée pour ∇M,N et B est structurée pour ∇N,P , alors AB est structurée

pour ∇M,P .

� Si A est structurée pour ∇M,N , alors AT est structurée pour ∇NT ,MT .

� Si A est structurée pour ∇M,N , alors A−1 est structurée pour ∇N,M .

Pour l'inverse d'une matrice structurée, on a même le résultat très précis suivant :

5

Page 6: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

Théorème 1 Si A est une matrice inversible et structurée pour l'opérateur ∇M,N alors A−1 est

une matrice structurée pour l'opérateur ∇N,M et on a :

rg (∇M,N (A−1)) = rg (∇M,N (A)).

De plus, si ∇M,N (A) = GHT et si Y = −A−1G,ZT = HTA−1, alors :

∇N,M (A−1) = Y ZT .

La plupart des applications pratiques nécessitent la résolution de systèmes linéaires Ax = b.Lorsque A est une matrice dense structurée donnée par ses générateurs (G,H), l'approche laplus couramment utilisée consiste à calculer des générateurs (Y, Z) de l'inverse à partir de Get H, puis à utiliser une formule de reconstruction comme, par exemple, (2) pour calculer leproduit A−1b. Schématiquement :

ACompression−−−−−−−−→ (G,H) Travail sur−−−−−−−−−→

les générateurs(Y,Z) Reconstruction−−−−−−−−−→ A−1b

2.4 État de l'art

La littérature sur les matrices est assez vaste. On sait depuis longtemps inverser des matricesdenses de taille n×n en O(n3) opérations arithmétiques de base grâce à l'élimination de Gauss,et même en O(nω) avec ω < 2.38 (voir [5, �21]). Pour les matrices denses structurées de rang dedéplacement α, nous avons une représentation en 2αn coe�cients de la matrice contre n2 dansle cas dense non structuré. Cela permet de résoudre les problèmes d'inversion et de résolution desystèmes linéaires en un temps nettement inférieur à O(nω) asymptotiquement. Précisons quenous entendons ici par inversion le fait de calculer des générateurs de l'inverse d'une matricestructurée, et non l'inverse lui-même. Il y a essentiellement deux catégories d'algorithmes connuspour les matrices denses structurées.

La première regroupe les algorithmes dits �fast�, c'est à dire ceux dont le coût sera quadra-tique en n. Le premier algorithme de ce type a été décrit par Levinson en 1947 (voir [18]) pourrésoudre en O(n2) des systèmes linéaires faisant intervenir une matrice T÷plitz. Cet algorithmea été amélioré à de nombreuses reprises par la suite. Après l'apparition de la notion de rang dedéplacement en 1979 [13], plusieurs algorithmes quadratiques sont apparus pour traiter diversesclasses de matrices structurées. On peut citer l'algorithme GKO [7] qui permet de calculer unedécomposition PLU de matrices Cauchy-like et Vandermonde-like, ainsi que l'algorithme de [14,�1.10] pour inverser des matrices Cauchy-like et Vandermonde-like, tout deux en O(αn2). Cesdeux derniers algorithmes sont déterministes, puisqu'ils reposent sur la factorisation et l'élimi-nation de Gauss avec pivotage.

La seconde catégorie est celle des algorithmes �superfast�, c'est à dire quasi-linéaires en n. Cesalgorithmes reposent essentiellement sur une approche récursive et sur l'utilisation du produit depolynômes via l'algorithme de FFT pour e�ectuer des produits (matrice structurée)×vecteur entemps quasi-linéaire (voir [8]). Le premier algorithme de ce type est apparu au début des années1980 dans [2] et [19]. Il s'agit d'un algorithme pour inverser les matrices T÷plitz-like fortementrégulières en O (α2n) (la notation O˜ est employée lorsqu'on omet les termes en log pour la com-plexité). Kaltofen a montré dans [15] comme enlever cette hypothèse de régularité en appliquantun préconditionnement structuré aléatoire, conduisant ainsi à un algorithme probabiliste. Ontrouve dans [4] et [22] des adaptations pour traiter le cas des matrices Cauchy-like. L'algorithmeprésenté dans [4] a le mérite de simpli�er signi�cativement l'algorithme initial. En�n, l'étude ré-cente [3] montre comment introduire du produit de matrices denses a�n de réduire le coût pour

6

Page 7: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

cette approche à O (αω−1n), toujours sous l'hypothèse de régularité ou probabiliste. On peuttrouver un résumé de cette approche ainsi que des remarques intéressantes sur la symétrisation(autre moyen de supprimer l'hypothèse de régularité si K = R ou C) dans les chapitres 4 et 5 de[21]. Néanmoins, si on se restreint à la classe des matrices mosaïques (T÷plitz par blocs avec destailles de blocs variables), on peut alors inverser de manière déterministe en temps quasi-linéaireen n (voir [10],[17] et [16]) grâce à la version rapide de [6] de l'algorithme de calcul de σ-basesde Beckermann et Labahn [1].

2.5 Plan

À la section 3, nous allons voir en détail le résultat de Gohberg, Kailath et Olshevsky [7] quia conduit à leur algorithme de factorisation pour les matrices Cauchy-like inversibles. La suitede cette section sera alors consacrée à la présentation de cet algorithme et de ses applications.

La section 4 sera consacrée à la présentation d'un nouvel algorithme pour factoriser les ma-trices Cauchy-like quelconques. Le coût de cet algorithme est O(αr(m + n)) pour une matricem× n de rang r. C'est intéressant car on a un coût sensible à la fois au rang de la matrice r età son rang de déplacement α. Je parlerai de mon implantation de l'algorithme et je montrerailes timings que j'ai réalisés pour illustrer ce point.

Je passerai alors aux algorithmes de la catégorie �superfast� à la section 5. J'y détailleraibrièvement certains points permettant d'obtenir un coût quasi-linéaire en n avant de parler dema tentative pour résoudre certains systèmes linéaires directement à l'aide de l'algorithme deσ-bases, puis de ma redécouverte de l'algorithme d'inversion de Cardinal [4]. Nous verrons en�nce que mon approche permet d'apporter par rapport à [4].

En�n, j'ai mis pour référence en annexe un algorithme �fast� pour inverser les matricesCauchy-like. Il s'agit d'une adaptation personnelle de l'algorithme de Kailath et Sayed [14] aucas des matrices Cauchy-like quelconques (l'algorithme initial traite une classe plus générale,mais avec la supposition classique que la matrice est symétrique, donc en particulier fortementrégulière). C'est en passant à une version rapide de cet algorithme que j'ai retrouvé l'algorithmede Cardinal.

3 Factorisation des matrices Cauchy-like

Nous allons voir dans cette section comment exploiter la structure d'une matrice Cauchy-like. En fait, il s'agit essentiellement de faire tout le travail sur les générateurs plutôt que surla matrice elle-même. Comme la taille des générateurs est de 2αn coe�cients contre n2 pour lamatrice, on peut ainsi gagner en complexité spatiale et temporelle.

3.1 Quelques propriétés remarquables

L'intérêt porté aux matrices Cauchy-like est justi�é par quelques propriétés remarquablespropres à cette structure. Bien que les applications pratiques fassent intervenir plutôt des ma-trices T÷plitz-like, il peut être intéressant de se ramener au cas Cauchy-like pour traiter lesproblèmes.

7

Page 8: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

Dans la suite, on se donne une matrice A ∈ Kn×n Cauchy-like, deux vecteurs x,y ∈ Kn etdes générateurs G,H ∈ Kn×α de A pour l'opérateur de déplacement ∇D(x),D(y).

Il est facile de calculer un coe�cient de la matrice A à partir de x,y, G et H :

Propriété 2 Le coe�cient (i, j) de A est donné par la formule

ai,j =Gi,∗H

Tj,∗

xi − yj(3)

où Gi,∗ (resp. Hj,∗) est la ie ligne de G (resp. la je ligne de H).

Cela vient du fait que l'action de l'opérateur ∇D(x),D(y) revient à multiplier le coe�cient(i, j) d'une matrice par xi − yj (voir l'exemple à la section 2.2).

À partir de cette formule, nous sommes en mesure de calculer certaines sous-matrices de A.Cela s'avère utile quand on veut appliquer une élimination de Gauss avec pivotage sur A. Ene�et, on peut reconstruire tout une ligne de A a�n de trouver un pivot non nul. Il reste à voircomment ramener ce pivot sur la diagonale. Pour cela, on a la propriété suivante :

Propriété 3 Si A est une matrice Cauchy-like et P est une matrice de permutation, alors

PA est encore une matrice Cauchy-like. Plus précisément, si ∇D(x),D(y)(A) = GHT , alors

∇D(Px),D(y)(PA) = (PG)HT .

En e�et, il su�t de multiplier par P à gauche dans (1) et de remarquer que PD(x)P−1 =D(Px). En réalité, la seule chose importante pour avoir conservation de la structure lorsqu'onapplique une permutation est d'avoir un opérateur de déplacement dé�ni avec des matricesdiagonales : si M est diagonale, on pourra permuter à gauche et si N est diagonale, on pourrapermuter à droite.

3.2 Génération du complément de Schur

Commençons par quelques rappels sur les compléments de Schur. On se donne une matrice

A ∈ Kn×n que l'on découpe de la manière suivante : A =[A1,1 A1,2

A2,1 A2,2

]avec A1,1 ∈ Kk×k pour

un certain k ∈ {1, . . . , n− 1}.

Dé�nition 4 Si A1,1 ∈ Kk×k est inversible, on dé�nit le complément de Schur de A1,1 dans Acomme étant S = A2,2 −A2,1(A1,1)−1A1,2 ∈ K(n−k)×(n−k).

Le complément de Schur apparaît naturellement dès que l'on utilise un algorithme basé surune élimination de Gauss par blocs. En e�et, on a :

Propriété 4 Pour A1,1 inversible et en notant E =[

Ik−A2,1A

−11,1 In−k

]et F =

[Ik −A−1

1,1A1,2

In−k

],

on a :

EA =[A1,1 A1,2

S

], AF =

[A1,1

A2,1 S

], EAF =

[A1,1

S

].

De plus, le complément de Schur apparaît dans la formule d'inversion par blocs :

8

Page 9: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

Propriété 5 Si A et A1,1 sont inversibles, alors S est inversible et on a l'expression suivante

pour l'inverse de A :

A−1 = F

[A−1

1,1

S−1

]E =

[A−1

1,1 +A−11,1A1,2S

−1A2,1A−11,1 −A−1

1,1A1,2S−1

−S−1A2,1A−11,1 S−1

]. (4)

L'inversibilité du complément de Schur dans le cas où A est inversible vient de la formule

d'élimination EA =[A1,1 A1,2

S

]. Comme A et E sont inversibles,

[A1,1 A1,2

S

]l'est aussi.

Or, comme il s'agit d'une matrice triangulaire par blocs, on en déduit que ses blocs diagonaux(et en particulier S) sont inversibles.

Au passage, on voit sur (4) que le bloc inférieur droit de A−1 est S−1.

Le complément de Schur est très intéressant du point de vue des matrices denses structuréescar il a une structure similaire à celle de la matrice dont il est issu. Plus précisément, on a lethéorème suivant, qui est une version par blocs d'un lemme de Gohberg, Kailath et Olshevsky [7,Lemme 1.1] :

Théorème 2 Si ∇M,N (A) = GHT avec G,H ∈ Kn×α, M =[M1,1

M2,1 M2,2

],M1,1 ∈ Kk×k

et N =[N1,1 N1,2

N2,2

], N1,1 ∈ Kk×k, et si A1,1 ∈ Kk×k est inversible pour un certain k ∈

{1, . . . , n − 1}, alors le complément de Schur de A1,1 dans A est bien dé�ni, et son rang de

déplacement pour ∇M2,2,N2,2 est majoré par α.

De plus, si on dé�nit G′, H ′ ∈ K(n−k)×α par

[∗G′

]= EG et

[∗H ′

]= F TH où E et F les

matrices d'élimination de la propriété 4, alors :

∇M2,2,N2,2(S) = G′H ′T.

Démonstration :En multipliant à gauche par E et à droite par F dans (1), on arrive à :

EMAF − EANF = EGHTF. (5)

Il su�t alors de remarquer que EM et AF ont les formes suivantes :

• EM =[∗ ∗∗ In−k

] [∗∗ M2,2

]=[∗ ∗∗ M2,2

].

• AF =[A1,1

A2,1 S

]d'après la propriété 4.

Donc (EM)(AF ) =[∗ ∗∗ M2,2S

]. De même, (EA)(NF ) =

[∗ ∗∗ SN2,2

].

Finalement, en considérant le bloc inférieur droit dans (5), on obtientM2,2S−SN2,2 = G′H ′T . �

Remarques :

1. Pour k = 1, on retrouve [7, Lemme 1.1].

2. Si M et N sont triangulaires (et pas simplement triangulaires par blocs), alors M2,2 etN2,2 sont encore triangulaires et on peut donc appliquer ce théorème récursivement sur lecomplément de Schur S.

9

Page 10: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

3. Parmi les cas où M et N sont triangulaires, on a les deux cas suivants importants enpratique :� les matrices Cauchy-like où M et N sont diagonales.� les matrices Vandermonde-like où M est diagonale et N = ZT .

3.3 Factorisation PLU

Rappelons quelques dé�nitions :

Dé�nition 5 On dira d'une matrice triangulaire qu'elle est unitaire si tous ses coe�cients dia-

gonaux sont égaux à 1.

Dé�nition 6 Si A est une matrice inversible, alors on peut trouver un triplet (P,L, U) tel que

A = PLU avec P une matrice de permutation, L triangulaire inférieure unitaire et U triangulaire

supérieure inversible (donc avec des coe�cients non nuls sur la diagonale). Une telle factorisation

s'appelle une factorisation PLU.

Remarques :

1. Une factorisation PLU peut être obtenue en faisant une élimination de Gauss où on faitdes échanges de lignes pour assurer que les pivots soient non nuls. Si on procède à uneélimination de Gauss avec des échanges entre colonnes seulement, on obtiendra à la placeune factorisation LUP.

2. La factorisation PLU n'est pas unique comme le montre l'exemple suivant :[1 23 4

]=[

1 00 1

] [1 03 1

] [1 20 −2

]=[

0 11 0

] [1 0

1/3 1

] [3 40 2/3

]3. Toute matrice inversible admet une factorisation PLU. En revanche, seule une partie des

matrices admettent une factorisation LU (PLU avec P = In) : ce sont les matrices forte-ment régulières. En fait, les matrices fortement régulières sont les matrices inversibles pourlesquelles nous n'avons pas besoin de faire d'échange lors de l'élimination de Gauss (lespivots rencontrés sont déjà tous non nuls). Nous verrons dans la suite que les algorithmesrécursifs rapides ne fonctionnent qui si la matrice en entrée est fortement régulière, alorsque l'algorithme présenté ici fonctionne pour toute matrice inversible.

L'algorithme présenté ici, extrait de [7], a pour but de calculer une factorisation PLU d'unematrice Cauchy-like étant donnés l'opérateur de déplacement (couple de vecteurs (x,y)) et desgénérateurs G,H ∈ Kn×α. L'idée est de progresser de 1 en 1 le long de la diagonale principale,de pivoter si nécessaire a�n d'avoir un coe�cient non nul comme pivot, et d'éliminer progressi-vement. On peut alors continuer à travailler sur le complément de Schur. Les matrices L et Usont obtenues en �juxtaposant� les matrices d'élimination utilisées à chaque étape. La notationxi:j désigne le vecteur

[xi . . . xj

]T.

La correction de l'algorithme 1 vient du théorème 2 d'une part, et du principe de pivotageabordé dans la section précédente d'autre part. Au niveau de la complexité, le coût (en nombred'opérations arithmétiques) est dominé à la fois par le calcul de L et U et la mise à jour de Get H. On arrive à un total de 4αn2 +O(αn+ n2) opérations arithmétiques.

Le surcoût par rapport à l'élimination de Gauss (qui est en au plus 23n

3 opérations arithmé-tiques) quand α devient proche de n est dû à trois choses :

10

Page 11: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

Algorithme 1 : GKO (issu de [7])

Entrée : générateurs G,H ∈ Kn×α d'une matrice A Cauchy-like et vecteurs x,y ∈ Kn

dé�nissant l'opérateur de déplacementSortie : une factorisation PLU de la matrice A si elle est inversible, et un message

d'erreur sinon

début

P ← In1

L← matrice nulle de taille n× n2

U ← matrice nulle de taille n× n3

pour k allant de 1 à n faire4

Lk:n,k ←[

Gk,∗HTk,∗

xk−yk . . .Gj,∗HT

k,∗xj−yk . . .

Gn,∗HTk,∗

xn−yk

]T5

q ← min {j, Lj,k 6= 0}6

si q non dé�ni alors7

retourner une erreur : matrice non inversiblesi q > k alors8

échanger les lignes k et q de G9

échanger les coe�cients k et q de x10

échanger les lignes k et q de L11

échanger les lignes k et q de P12

Uk:n,k ←[

Gk,∗HTk,∗

xk−yk . . .Gk,∗H

Tj,∗

xk−yj . . .Gk,∗H

Tn,∗

xk−yn

]T13

Lk:n,k ← 1Uk,k

Lk:n,k14

Gk+1:n,1:α ← Gk+1:n,1:α − Lj+1:n,kGk,1:α15

Hk+1:n,1:α ← Hk+1:n,1:α − 1Uk,k

Uk,j+1:nHk,1:α16

�n

1. On a deux générateurs de taille α × n (G et H) pour représenter M de taille n × n. Siα ≈ n, l'entrée est donc environ deux fois plus grosse.

2. Il faut reconstruire L et U dans cet algorithme alors qu'il su�t de lire les coe�cients dela matrice courante dans l'algorithme de Gauss, ce qui conduit à un surcoût d'environ2× 2αk opérations arithmétiques à chaque étape.

3. Les générateurs sont de largeur α à chaque étape alors que la largeur de la matrice courantedans l'algorithme de Gauss diminue de 1 à chaque étape. Ainsi, on se retrouve avec

∑k αk

contre∑

k k2.

Pour résumer :

Gauss GKOtaille de l'entrée n2 2× αnnombre d'étapes n ntaille des données à l'étape k k2 2× αkcoût arithmétique pour obtenir Lk+1:n,k et Uk,k:n 4αkcoût arithmétique total à l'étape k 2k2 2× 2αk + 4αkcoût arithmétique total 2

3n3 4αn2

11

Page 12: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

3.4 Applications

Cet algorithme a été introduit par Gohberg, Kailath et Olshevsky dans [7] pour résoudrenumériquement des systèmes linéaires faisant intervenir des matrices T÷plitz-like. L'intérêt depasser par Cauchy vient de la possibilité de pivoter. Grâce à ce pivotage, non seulement onsupprime l'hypothèse de régularité puisqu'on a la garantie d'avoir un pivot non nul à chaqueétape, mais on peut aller plus loin en choisissant comme pivot l'élément le plus grand en valeurabsolue de la colonne, ce qui augmente considérablement la stabilité numérique (voir la dernièrepartie de [7]).

Il est possible de calculer des générateurs de l'inverse d'une matrice Cauchy-like en passantpar la factorisation PLU. En e�et, comme indiqué dans la section 8 de [9], il est possible d'obtenirdes générateurs pour l'inverse via les équations −G = AY = PLUY et H = ATZ = UTLTP TZ(conséquence du théorème 1). Comme on a déjà calculé P,L et U , il reste juste à résoudre 4αsystèmes triangulaires (G et H sont de largeur α). L'ennui avec cette approche est le coût enmémoire. En e�et, comme il faut stocker L et U, nous avons besoin d'une mémoire de l'ordrede n2. Il est possible de réduire le coût mémoire à O(αn) en utilisant l'approche astucieusede Kailath et Sayed [14, �1.10]. J'ai réécrit leur algorithme (présenté dans le cas de matricessymétriques pour lesquelles le théorème 2 s'applique). On pourra voir en annexe ma versionpour les matrices Cauchy-like générale (pas forcément fortement régulières), qui a servi de baseà l'algorithme présenté au paragraphe 5.2.

En�n, Olshevsky et Shokrollahi font remarquer dans [20] que si la matrice passée en entréede l'algorithme GKO n'est pas inversible, il est possible de renvoyer un vecteur du noyau decette matrice plutôt qu'une simple erreur. Si la matrice est de rang r, on se retrouve dans cecas de �gure au plus tard à l'étape r. L'algorithme de recherche d'un vecteur du noyau a doncun coût en O(αrn). Dans la section suivante, nous allons voir comment étendre cette remarquepour obtenir une factorisation complète d'une matrice dense structurée de rang r en le mêmecoût.

4 Factorisation LSP pour les matrices Cauchy-like

La factorisation LSP est une généralisation de la factorisation LUP permettant de traiter lesmatrices non inversibles. Cette notion a été introduite par Ibarra, Moran et Hui dans [11] :

Dé�nition 7 Une matrice A ∈ Km×n peut toujours se mettre sous la forme LSP avec L ∈Km×m triangulaire inférieure unitaire, S ∈ Km×n semi-triangulaire supérieure (si on enlève les

lignes de 0 alors S est triangulaire supérieure avec des coe�cients non nuls sur la diagonale) et

P ∈ Kn×n une matrice de permutation.

L'avantage de cette décomposition est qu'elle révèle le rang de la matrice, ainsi que son pro�lde rang (l'emplacement des pivots). Avec m = 4, n = 5, r = 2, cela ressemble à :

A = LSP =

1. 1. . 1. . . 1

× . . . .

× . . .

11

11

1

où × désigne des coe�cients forcément non nuls et . des coe�cients quelconques.

12

Page 13: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

4.1 Algorithme pour calculer une factorisation LSP

Algorithme 2 : LSP pour les matrices Cauchy-like

Entrée : matrice A de taille m× n et de rang r, donnée par ses générateurs G et H pourl'opérateur de déplacement dé�ni par les vecteurs x et y

Sortie : matrices L, S et P telles que A = LSP , P permutation, L triangulaire inférieureunitaire, S quasi-triangulaire supérieure

début

L← Im1

S ← matrice nulle de taille m× n2

P ← In3

r ← 04

modi�cation de G et H a�n de mettre G sous forme échelonnée5

tant que A 6= 0 faire6

r ← r + 17

i, j ← indices du premier coe�cient non nul de GHT8

échanger les lignes r et j de P9

échanger les colonnes r et j de S10

échanger les colonnes r et j de H11

d← Gi,1:αHTr,1:α

xi−yr12

Li+1..m,i ←[

Gi+1,1:αHTr,1..α

d(xi+1−yr) . . .Gm,1:αHT

r,1:α

d(xm−yr)

]T13

Si,r..n ←[

Gi,1:αHTr,1:α

xi−yr . . .Gi,1:αH

Tn,1:α

xi−yn

]14

Gi+1:m,1:α ← Gi+1:m,1:α − Li+1:m,kGi,1:α15

Hr+1:n,1:α ← Hr+1:n,1:α − 1dS

Ti,r+1:nHr,1:α16

modi�cation de G et H pour remettre G sous forme échelonnée17

Renvoyer L, S, P18

�n

L'idée de cet algorithme est de généraliser l'algorithme GKO vu précédemment a�n de ren-voyer une factorisation LSP. La di�érence intervient lors de la recherche d'un élément non nulpour pivoter. Alors qu'on limite la recherche à une seule colonne dans GKO (la colonne étantnon nulle si la matrice est inversible), on cherche ici le premier coe�cient non nul de la matrice(en la parcourant ligne par ligne).

La di�culté vient du fait que la matrice n'est donnée que via un couple de générateurs.Dans le cas de GKO, nous pouvions nous permettre de reconstruire une ligne et une colonneà chaque étape. Ici, nous voulons un coup sensible au rang r de la matrice. Nous ne pouvonsdonc pas reconstruire les n lignes une à une pour voir si elles sont nulles ou pas. Heureusement,en imposant une forme échelonnée pour G, nous disposons d'un critère simple pour trouver lapremière ligne non nulle de la matrice A à la simple vue de G et H.

Cette forme échelonnée (ligne 5 dans l'algorithme 2) est en fait le résultat de l'éliminationde Gauss en colonnes appliquée à G. Un exemple de forme échelonnée est donné à la �gure 1.Pour l'avoir au début de l'algorithme, on calcule E telle que GE soit sous forme échelonnée eton change les générateurs (G,H) en (GE,H(E−1)T ), pour un coût total en O(α2(m+n)). Mal-

13

Page 14: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

Fig. 1 � Recherche d'un pivot grâce à un parcours des générateurs

heureusement, la structure est légèrement perturbée lors du passage au complément de Schur(lignes 15 et 16), ce qui nécessite de refaire une élimination de Gauss en colonnes à chaqueétape de l'algorithme (ligne 17). Toutefois, le coût descend à O(α(m + n)) car il y a très peude coe�cients à éliminer (au plus α) puisqu'on part d'une matrice sous forme quasi-échelonnée(échelonnée si on enlève la première colonne).

Supposons que G soit e�ectivement sous forme échelonnée. La recherche du premier coe�-cient non nul de A se fait alors de la manière suivante :

1. recherche du premier coe�cient non nul de HT . On note (i, j) l'indice de ce coe�cient s'ilexiste (sinon, H = 0 donc ∇(A) = 0 donc A = 0) ;

2. recherche du ie échelon dans G. On note i′ l'indice de la ligne correspondant à cet échelon

s'il existe (sinon, G =[G′ 0

], HT =

[0H ′T

]donc ∇(A) = 0 donc A = 0) ;

3. renvoyer (i′, j).

Ce procédé est illustré à la �gure 1.

Pour ce qui est du coût de l'algorithme :� le prétraitement (ligne 5) est en O(α2(m+ n)).� chaque passage dans la boucle est en O(α(m + n)) : le coût est majoré à la fois par larecherche de (i, j) (ligne 8), le calcul de la nouvelle colonne de L (ligne 13), le calcul de lanouvelle ligne de S (ligne 14), la mise à jour des générateurs pour passer au complémentde Schur (lignes 15-16) et la mise sous forme echelonnée de G (ligne 18).

� on fait autant d'étapes que de lignes non nulles rencontrées au cours de l'élimination deGauss, c'est à dire r.

Au �nal, cela donne un coût en O(α2(m+n)) +O(αr(m+n)). Or, on a l'inégalité suivante :

α = rg(D(x)A−AD(y)) ≤ rg(D(x)A) + rg(AD(y)) ≤ 2 rg(A) = 2r.

Ainsi, le coût de l'algorithme 2 est de O(αr(m+ n)) opérations arithmétiques.

4.2 Applications

Comme mentionné précédemment, le principal intérêt de la décomposition LSP vient de lapossibilité de lire le pro�l de rang de la matrice directement sur S. En e�et, le pro�l de rang estdonné par les lignes non nulles de S.

Les autres applications classiques de la LSP sont listées à la �n de [12]. Grâce à cettedécomposition, on peut :

14

Page 15: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

1. rendre la matrice A de départ fortement régulière en O(mn) (et même O(α(m+ n)) si onse contente des générateurs). En notant Q la permutation qui fait remonter dans le mêmeordre toutes les lignes non nulles de S, on a en e�et que QAP T est fortement régulière.

2. résoudre des systèmes linéaires, c'est-à-dire trouver une solution ou prouver qu'il n'y en apas, en O(r(m+ n)).

4.3 Implantation et timings pour l'algorithme de LSP

Dans cette section, je présente des courbes obtenues à partir d'une implantation en Maplede l'algorithme de factorisation LSP que nous venons de voir. Les tests ont été e�ectués sur unemachine munie d'un processeur Intel Core 2 Duo à 1,83Ghz, sous Debian, avec la version 10 deMaple.

À la �gure 2, on voit le temps mis par le code en fonction de n. Comme les générateurs sontpris aléatoirement, le rang r vaut environ n, donc on trouve un temps quadratique en n.

Fig. 2 � Temps en secondes en fonction de n (à α �xé)

Si on �xe le rang r, la courbe obtenue est cette fois linéaire en n, comme le montre la �gure3(a). À n et r �xés, on trouve bien un temps linéaire par rapport à α dans le corps de la boucle(courbe rouge) et un temps quadratique en α pour le prétraitement (ligne 5 de l'algorithme2). La �gure 3(b) montre ce qu'on obtient en prenant n = r = 300 et en faisant varier α. Onconstate que le prétraitement �nit par coûter plus cher que le corps de l'algorithme. Toutefois,cela ne se produit que pour des valeurs de α proches de n, et donc inintéressantes en pratique.

En�n, nous pouvons voir ce que l'on obtient lorsqu'on �xe n et α et que l'on fait varier r à la�gure 4 (n = 200 et α = 10). On constate avec la courbe de gauche que le temps est bien linéaireen r si la supposition r petit par rapport à n est valide. En revanche, si r devient proche de n,les dernières étapes (dont le coût dépend de n − r) deviennent de moins en moins coûteuse, cequi explique la courbe obtenue à droite.

5 Approches à base d'arithmétique polynomiale

Dans cette partie, nous allons voir deux approches faisant intervenir des polynômes pourrésoudre des problèmes avec des matrices denses structurées. Le passage à du calcul sur les po-lynômes est motivé par l'algorithme de FFT qui permet de multiplier deux polynômes univariésde degré n en M(n) opérations de base, avec M(n) = O(n log(n) log log(n)) (voir [5, �8]).

15

Page 16: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

(a) Temps en secondes en fonction de n (à αet r �xés)

(b) Temps en secondes en fonction de α (àn et r �xés)

Fig. 3 � Temps en secondes à r �xé

Fig. 4 � Temps en secondes en fonction de r (à n et α �xés)

5.1 Utilisation de l'algorithme de calcul de σ-bases

Dans [17] et [16], le cas de l'inversion des matrices mosaïques (T÷plitz par blocs avec desblocs de tailles variables) est traité de la manière suivante :

1. on associe un polynôme à chaque bloc,

2. on résout quatre problèmes d'approximation de matrices polynomiales à l'aide de l'algo-rithme de calcul de σ-bases,

3. on transforme les polynômes en sortie pour obtenir des générateurs de l'inverse.

D'une part, l'introduction de polynômes est assez naturelle dans la mesure où un produit(matrice T÷plitz)×vecteur peut être e�ectué à l'aide d'un produit de deux polynômes. D'autrepart, les problèmes d'approximation de matrices polynomiales sont, dans ce cadre particulier, unmoyen de résoudre les systèmes AY = −G et ATZ = H, ce qui permet d'obtenir les générateurspour l'inverse vu au théorème 1.

Le coût de cette approche est dominée par l'appel à l'algorithme de calcul de σ-bases. Siles blocs sont de taille régulière, on atteint un coût en O (αω−1n). En revanche, dans les cas

16

Page 17: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

de blocs très rectangulaires (largeur petite par rapport à la longueur), on arrive a un coût enO (αωn).

En m'inspirant de cette approche, j'ai essayé de traiter la résolution de système dans le casT÷plitz-like de manière directe. L'idée était d'introduire l'approximation polynomiale au niveaude la formule de reconstruction pour les matrices T÷plitz-like. Malheureusement, le coût atteintétait en O (αωn), ce qui est nettenement moins bien que le coût en O (αω−1n) obtenu dans [3]avec un algorithme probabiliste.

5.2 Version rapide d'un algorithme d'inversion

En s'inspirant des algorithmes rapides que nous venons de voir, on arrive à une nouvelle ver-sion de l'algorithme d'inversion pour les matrices Cauchy-like. Cet algorithme mélange à la foisle découpage en deux comme dans [2] et [19], et les formules de l'algorithme de [14] permettantde travailler en place sur les générateurs (voir aussi en annexe). En fait, cette version correspondà l'approche de Cardinal [4] pour les matrices Cauchy-like mais la présentation faite ici est plusprécise et couvre le cas où l'opérateur de déplacement est ∇M,N avec M et NT triangulairesinférieures.

L'inconvénient, c'est que nous sommes obligés de supposer que la matrice en entrée est for-tement régulière ou d'appliquer les principes de randomisation de [15]. Le vrai gain par rapportà [2] et [19] vient essentiellement de la disparition de la phase de compression, ce qui rend l'al-gorithme plus simple à écrire, à analyser et à implanter.

Dans l'algorithme 3, x (resp. X) désignera la partie haute de x (resp. X), c'est-à-dire les bn2 cpremiers coe�cients de x (resp. premières lignes de X). De même, x (resp. X) désignera l'autrepartie de x (resp. X).

La correction de l'algorithme 3 vient des deux points suivants :

1. (GS , YS) est bien un générateur pour le complément de Schur de A1,1 dans A.

2. on a Y = −A−1G et Z = (A−1)TH

Démonstration : La démonstration se fait par récurrence sur n ∈ N∗ :• Pour n = 1, il n'y a pas de complément de Schur, et A =

[d]. On a donc bien Y =

−1dG = −A−1G et Z = 1

dH = (A−1)TH.• Pour n > 1, le premier appel récursif nous donne Y1,1 = −A−1

1,1G et Z1,1 = (A−11,1)T H par

hypothèse de récurrence.Grâce au théorème 2, on trouve que :[∗GS

]=[

Ik−A2,1A

−11,1 In−k

]︸ ︷︷ ︸

E

[G

G

]et

[∗HS

]=[

Ik−AT1,2(A−1

1,1)T In−k

]︸ ︷︷ ︸

FT

[H

H

].

D'où GS = G−A2,1A−11,1G = G+A2,1Y1,1 et HS = H −AT1,2(A−1

1,1)T H = H −AT1,2Z1,1, cequi montre le premier point. On peut alors en déduire par hypothèse de récurrence que ledeuxième appel récursif nous donne YS = −S−1GS et ZS = (S−1)THS . Il nous reste alorsà véri�er que Y et Z véri�ent bien les équations voulues. En e�et :

AY =[A1,1 A1,2

A2,1 A2,2

] [Y1,1 −A−1

1,1A1,2YSYS

]=[

A1,1Y1,1 −A1,2YS +A1,2YSA2,1Y1,1 −A2,1A

−11,1A1,2YS +A2,2YS

]

17

Page 18: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

Algorithme 3 : Calcul de générateurs de l'inverse d'une matrice Cauchy-like n× n (sup-posée fortement régulière)

Entrée : Générateurs (G,H) ∈ (Kn×α)2 pour A et vecteurs x,ySortie : Y = −A−1G et Z = H(A−1)T

début

si n=1 alors1

d← GHT

x1−y12

Y ← −1dG3

Z ← 1dH4

sinon5

// appel récursif sur le quart supérieur gaucheY1,1, Z1,1 ← résultat de l'appel récursif sur (G, H, x, y)6

// calcul des générateurs pour le complément de SchurGS ← G+A2,1Y1,17

HS ← H −AT1,2Z1,18

// appel récursif sur le complément de SchurYS , ZS ← résultat de l'appel récursif sur (GS , HS , x, y)9

// construction des générateurs de l'inverse

Y ←[Y1,1 −A−1

1,1A1,2YSYS

]10

Z ←[Z1,1 −A−T1,1A

T2,1ZS

ZS

]11

Retourner (Y,Z)12

�n

=[

A1,1Y1,1

A2,1Y1,1 + SYS

]=[

A1,1Y1,1

A2,1Y1,1 −GS

]= −

[GG

]

ATZ =[AT1,1 AT2,1AT1,2 AT2,2

] [Z1,1 − (A−1

1,1)TAT2,1ZSZS

]=[

AT1,1Z1,1 −AT2,1ZS +A2,1ZSAT1,2Z1,1 −AT1,2(A−1

1,1)TAT2,1ZS +AT2,2ZS

]

=[

AT1,1Z1,1

AT1,2Z1,1 + STZS

]=[

AT1,1Z1,1

AT1,2Z1,1 +HS

]=[HH

]�

Remarques :

1. Comme dans le théorème 2, la seule condition sur M et N dont nous avons besoin pourassurer la correction de l'algorithme est que M et NT soient triangulaires inférieures.

2. L'intuition derrière les formules pour Y et Z peut être vue en remarquant que Y =

F

[Y1,1

YS

]et ZT =

[ZT1,1ZTS

]E d'une part, et en se rappelant que EAF =

[A1,1

S

]d'autre part. En e�et, on a alors A−1 = F

[A−1

1,1

S−1

]E et on sait générer A−1

1,1 et S−1.

On se retrouve donc dans la situation inverse de celle du théorème 2.

18

Page 19: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

Pour ce qui est de la complexité, il s'agit avant tout de voir comment on va e�ectuer lescalculs du type AV où A est une matrice Cauchy-like n × n donnée par ses générateurs, et Vest une matrice n× α (un paquet de α vecteurs de taille n). Pour cela, nous avons la propriétésuivante :

Propriété 6 Si A ∈ Kn×n est une matrice Cauchy-like donnée par des générateurs G,H ∈ Kn×α

pour l'opérateur de déplacement ∇D(x),D(y), et si v est un vecteur de taille n, alors on sait calculer

le produit Av en O(αM(n) log(n)).

Pour montrer ce résultat, il su�t de voir que l'on peut faire un produit (matrice Cauchy)×vecteur enO(M(n) log(n)) grâce à de l'interpolation/évaluation polynomiale (voir [8] par exemple)et d'utiliser la formule de reconstruction (2).

Dans notre cas, on peut se contenter d'appliquer α fois la méthode précédente pour faireles produits de matrices intervenant dans l'algorithme. Ainsi, le coup d'un tel produit sera enO(α2M(n) log(n)), ce qui conduit à l'équation de récurrence pour le coût total de l'algorithmesuivante :

C(1) = O(α) et, si n > 1, C(n) ≤ C(bn2c+ C(dn

2e) +O(αM(n) log(n))

On en déduit que C(n) = O(α2M(n) log2(n)) ∈ O (α2n).

6 Conclusion

En résumé, nous avons vu di�érents algorithmes sur les matrices structurées. L'algorithme1 (GKO) permet d'obtenir en O(αn2) une factorisation PLU pour les matrices inversibles etstructurées pour l'opérateur ∇M,N avec M et NT triangulaires inférieurs. Si on se restreint à Met N diagonales, il est alors possible de traiter le cas non inversible grâce à mon algorithme defactoristaion LSP (algorithme 2).

Le problème avec les deux algorithmes réside dans la taille de la sortie (O(n2) coe�cientsdans le cas inversible) qui met �n à tout espoir d'accélération de l'algorithme pour obtenir untemps quasi-linéaire en n. Toutefois, si on se concentre sur le problème de l'inversion au lieu decelui de la factorisation, on peut alors réduire le coût mémoire à O(αn) (algorithme 4), ce quipermet de considérer une version rapide (algorithme 3).

L'algorithme 3 auquel nous sommes �nalement arrivé permet donc d'inverser certaines ma-trices denses structurées pour un coût en O (α2n). Bien que cet algorithme soit déjà cité parCardinal dans [4], notre approche est intéressante car elle conduit à une preuve simple de la cor-rection de l'algorithme, qui s'applique non seulement au cas Cauchy-like comme dans l'articlede Cardinal, mais aussi à d'autres cas dont notamment les matrices Vandermonde-like utiliséespour les codes correcteurs d'erreurs.

Cet algorithme est intéressant aussi parce qu'il relie deux pans de la littérature : les articlesbasés sur GKO ([7],[14]) et les articles avec une approche divisé pour régner ([2],[19],[15],[22],[3]).Il soulève aussi quelques interrogations. La question de l'introduction du pivotage dans les algo-rithmes quasi-linéaires en n semble di�cile. L'algorithme de calcul de σ-bases semble aussi êtreune alternative intéressante mais son étude actuelle conduit seulement à des coûts en O (αωn)au lieu de O (αω−1n).

19

Page 20: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

Références

[1] B. Beckermann and G. Labahn. A uniform approach for the fast computation of matrix-typePadé approximants. SIAM J. Matrix Anal. Appl., 15(3) : 804�823, 1994.

[2] R. R. Bitmead and B. D. O. Anderson. Asymptotically fast solution of Toeplitz and relatedsystems of linear equations. LAA, 34 : 103�116, 1980.

[3] A. Bostan, C.P. Jeannerod, and É. Schost. Solving Toeplitz- and Vandermonde-like linearsystems with large displacement rank. In ISSAC '07, pages 33�40, NY, USA, 2007. ACM.

[4] J. P. Cardinal. A divide and conquer method to solve Cauchy-like systems. Comptes Rendus

de l'Académie des Sciences - Series I - Mathematics, 328(11) : 1089�1093, 1999.

[5] J. von zur Gathen and J. Gerhard. Modern computer algebra, second edition. CambridgeUniversity Press, New York, NY, USA, 2003.

[6] P. Giorgi, C.P. Jeannerod, and G. Villard. On the complexity of polynomial matrix com-putations. In ISSAC '03, Philadelphia, Pennsylvania, USA, pages 135�142. ACM, 2003.

[7] I. Gohberg, T. Kailath, and V. Olshevsky. Fast Gaussian elimination with partial pivotingfor matrices with displacement structure. Math. of Computation, 64(212) : 1557�1576, 1995.

[8] I. Gohberg and V. Olshevsky. Complexity of multiplication with vectors for structuredmatrices. Linear Algebra Appl., 202 : 163�192, 1994.

[9] I. Gohberg and V. Olshevsky. The Fast Generalized Parker-Traub Algorithm for Inversionof Vandermonde and Related Matrices. 1997.

[10] G. Heinig and A. Tewodros. On the inverses of Hankel and Toeplitz mosaic matrices. InSeminar on Analysis of Operator Equation and Numerical Analysis, pages 53�65, 1988.

[11] O. H. Ibarra, S.h Moran, and R. Hui. A Generalization of the Fast LUP Matrix Decompo-sition Algorithm and Applications. J. Algorithms, 3(1) : 45�56, 1982.

[12] C.P. Jeannerod. LSP matrix decomposition revisited, 2006. LIP research report RR2006-28.

[13] T. Kailath, S. Y. Kung, and M. Morf. Displacement ranks of matrices and linear equations.J. Math. Anal. Appl., 68 : 395�407, 1979.

[14] T. Kailath and A. H. Sayed, editors. Fast reliable algorithms for matrices with structure.Society for Industrial and Applied Mathematics, Philadelphia, PA, USA, 1999.

[15] E. Kaltofen. Asymptotically fast solution of Toeplitz-like singular linear systems. In ISSAC

'94, pages 297�304. ACM, 1994.

[16] G. Labahn, B. Bechermann, and S. Cabay. Inversion of Mosaic Hankel Matrices via MatrixPolynomial Systems. Linear Algebra and its Applications, (221) : 253�280, 1995.

[17] G. Labahn, D. K. Choi, and S. Cabay. The Inverses of Block Hankel and Block ToeplitzMatrices. SIAM J. of Computing, (19) : 98�123, 1990.

[18] N. Levinson. The Wiener RMS error criterion in �lter design and prediction. J. Math.

Phys., 25 : 261�278, 1947.

[19] M. Morf. Doubling algorithms for Toeplitz and related equations. IEEE Conference on

Acoustics, Speech, and Signal Processing, pages 954�959, 1980.

[20] V. Olshevsky and M. Amin Shokrollahi. A displacement approach to decoding algebraiccodes. In Contemporary mathematics : theory and applications, pages 265�292, Boston,MA, USA, 2003. AMS.

[21] V. Pan. Structured matrices and polynomials : uni�ed superfast algorithms. Springer-VerlagNew York, Inc., NY, USA, 2001.

[22] V. Pan and A. Zheng. Superfast algorithms for Cauchy-like matrix computations andextensions. Linear Algebra and its Applications, 310 : 83�108, 2001.

20

Page 21: Rapport de stage de M2 : Algorithmes rapides pour la résolution de … · 2008. 11. 7. · Rapport de stage de M2 : Algorithmes rapides pour la résolution de problèmes algébriques

Annexe

Algorithme 4 : Calcul de générateurs de l'inverse d'une matrice Cauchy-like n× n (sup-posée inversible)

Entrée : Générateurs G,H ∈ Kn×α pour A et vecteurs x,ySortie : Y = −A−1G et Z = (A−1)TH

début

P ← In1

Y ← matrice nulle de taille n× α2

Z ← matrice nulle de taille n× α3

`← vecteur nul de taille n4

u← vecteur nul de taille n5

pour k allant de 1 à n faire6

`←[

0 . . . 0 gk hTk

xk−yk . . .gj h

Tk

xj−yk . . .gn hTkxn−yk

]T7

q ← min {j, `j 6= 0}8

si q > k alors9

// On doit pivotergk, gq ← gq, gk10

xk, xq ← xq, xk11

`k, `q ← `q, `k12

pk, pq ← pq, pk13

d← `k14

u←[

0 . . . 0 gk hTk

xk−yk . . .gk h

Tj

xk−yj . . . gk hTn

xk−yn

]T15

// mise à jour des générateurs pour l'inverse de A

Y1..k−1,∗ ← Y1..k−1,∗ − 1d

y1−yk. . .

yk−1−yk

−1

Y1..k−1,∗ hTk gk

16

Z1..k−1,∗ ← Z1..k−1,∗ + 1d

x1−xk. . .

xk−1−xk

−1

Z1..k−1,∗ gTk hk

17

yk ← −1dgk18

zk ←1dhk19

// mise à jour des générateurs pour A

Gk+1..n,∗ ← Gk+1..n,∗ −1d`[k + 1..n] gk20

Hk+1..n,∗ ← Hk+1..n,∗ −1du[k + 1..n] hk21

Retourner (Y, P TZ)22

�n

21