complexit´e de calculs sur les matrices enti`eres et...

44
Complexit´ e de calculs sur les matrices enti` eres et polynomiales * Gilles Villard Cnrs Lip - Ens Lyon http://www.ens-lyon.fr/ gvillard * Journ´ ees Nationales de Calcul Formel, Luminy, 24 janvier 2003.

Upload: lythuan

Post on 12-Apr-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Complexite de calculs sur les matricesentieres et polynomiales∗

Gilles Villard

Cnrs Lip - Ens Lyon

http://www.ens-lyon.fr/ gvillard

∗Journees Nationales de Calcul Formel, Luminy, 24 janvier 2003.

Page 2: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Probleme :

Etude des complexites de problemes de base en

algebre lineaire exacte.

. Complexite en temps i.e. algorithmes les plus rapides ;

. Algorithmes deterministes ou probabilistes Las Vegas.

1

Page 3: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Modeles.

Complexite algebrique.

K un corps commutatif, operations arithmetiques +,×, /

versus

Sur K[x], operations arithmetiques +,×, / dans K

Complexite binaire.

Sur Z, nombre d’operations sur les bits.

2

Page 4: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Motivations

→ Domaines de coefficients “concrets”

→ Complexites polynomiales et binaires mal connues.

3

Page 5: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Plan de l’expose

1. Complexites mal connues

2. Progres des deux dernieres annees

3. Matrices polynomiales

4. Reduction en colonnes

5. Procede d’elimination des divisions de Strassen

4

Page 6: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Plan de l’expose

1. Complexites mal connues

2. Progres des deux dernieres annees

3. Matrices polynomiales

4. Reduction en colonnes

5. Procede d’elimination des divisions de Strassen

5

Page 7: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Modele algebrique sur K

Equivalence au produit de matrice (straight-line)

Produit de matrices n× n Determinant, rang, inversion,

A×B polynome caracteristique,

forme normale de Frobenius...

nω Algorithmes Ram en O (nω)

• [Strassen 69] Det � MM ↪→ MM � Det � MM

• [Strassen 73, Baur & Strassen 83] MM � Det

6

Page 8: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Modele algebrique sur K[x] & modele binaire sur Z

Taille de la sortie : nd ou O (nlog ‖A‖)

← nd points (theoreme chinois) →

↑nω

E.g. pour le determinant

O (nω × nd) = O (nω+1d)O (nω+1 log ‖A‖)

7

Page 9: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Complexites guidees par la taille de la sortie, “1969–2000”

Cout binaire ≤ algebrique × taille en sortie

(Cout num. ≤ algebrique × conditionnement × erreur inverse)

8

Page 10: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Complexites guidees par la taille de la sortie

Diminution du surcout

Determinant (et forme de Smith) sur Z en O (n2+ω/2 log ‖A‖),soit√

n×n3 log ‖A‖ au lieu de n× n3 log ‖A‖[Eberly, Giesbrecht, Villard 2000 (Kaltofen 1992)].

9

Page 11: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Commentaires a posteriori :

Gauss/Bareiss ou le theoreme chinois d’emblee :

operations sur des grandes tailles des le depart.

Graal :

Differer les calculs sur les grandes tailles

Plus pragmatiquement :

Utiliser des algorithmes par blocs (factoriser).

10

Page 12: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Un schema ”ideal”

↪→ n/2 etapes d’elimination en ne multipliant la taille que par 2 ?

NA = T

[× ×

] [××

]=

[×0

]

11

Page 13: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

A =

−85 −55 −37 −3549 63 57 −5943 −62 77 66−50 −12 −18 31−91 −47 −61 4194 83 −86 23−53 85 49 78−86 30 80 72

12

Page 14: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Elimination de Gauss (complement de Schur) :

Ng =

7646610 −17525750 −3967680 29755220 . . . . . .

−15181842 13894262 0 −40184660 . . . . . .

−2804568 4081928 0 18871120 . . . . . .

4368828 −4023028 0 35835160 . . . . . .

13

Page 15: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Elimination de Gauss (complement de Schur) :

Ng =

7646610 −17525750 −3967680 29755220 . . . . . .

−15181842 13894262 0 −40184660 . . . . . .

−2804568 4081928 0 18871120 . . . . . .

4368828 −4023028 0 35835160 . . . . . .

alors que l’on peut construire la base

N =

−25 −32 −16 −38 1 −30 32 −33−27 −68 −43 23 −71 −1 −55 61106 −43 28 −95 −50 30 53 −7−23 −25 −12 182 −90 −40 36 −74

14

Page 16: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

n2n∑

i=1

i ≈ n4

log n∑i=1

(n

2i)3 2i ≈ n3

15

Page 17: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Un schema ideal :

– En partie atteint dans le cas polynomial,

[Storjohann 2002] [Jeannerod & Villard 2002].

– Complexite ”independante” de la ”taille individuelle” en sortie ?

– (Complexite ”independante” du conditionnement ?)

16

Page 18: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Plan de l’expose

1. Complexites mal connues

2. Progres des deux dernieres annees

3. Matrices polynomiales

4. Reduction en colonnes

5. Procede d’elimination des divisions de Strassen

17

Page 19: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Suppression du facteur n / Modele binaire sur Z

Facteur Total

Determinant (Las Vegas) n1/5 n2.7 log ‖A‖

Forme de Smith (Las Vegas) n1/5 n2.7 log ‖A‖

Forme de Frobenius (Monte Carlo) n1/5 n2.7 log ‖A‖

(et sans division sur K pour le determinant)

[Kaltofen & Villard, 2001, 2002].

18

Page 20: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Suppression du facteur n / Modele algebrique sur K[x]

Facteur Total

Determinant & Smith1 (Ram) logα n O (nωd)

Inversion & det.2 (Slp) logβ n O (n3d) & O (nωd)

1 [Storjohann 2002],2 [Jeannerod & Villard 2002].

19

Page 21: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Jusque-la, calculs en O (nω+1d) ou O (nω+1 log ‖A‖),algorithmes deterministes ou Las Vegas,

Determinant, rang certifie, inversion

polynome caracteristique, forme normale de Frobenius,

Formes normales d’Hermite, Smith et transformations.

→ “Re-unification” des complexites ?

(Gauss versus Krylov)

20

Page 22: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Plan de l’expose

1. Complexites mal connues

2. Progres des deux dernieres annees

3. Matrices polynomiales

4. Reduction en colonnes

5. Procede d’elimination des divisions de Strassen

21

Page 23: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Nota. Etudes sur K[x], preliminaires a celles sur Z.

Matrices polynomiales n× n de degre d

Nouvelles complexites en nωd

22

Page 24: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Nota. Etudes sur K[x], preliminaires a celles sur Z.

Matrices polynomiales n× n de degre d

Nouvelles complexites en nωd

Lien avec le produit de deux matrices de degre d ?

Definition : MM(n, d) et Det(n, d) couts du produit et du

determinant n× n de degre d.

23

Page 25: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

MM(n, d) � Det(n, d) ?

Le determinant implique-t’il la multiplication ?

24

Page 26: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Sur K, [Baur & Strassen 83],

det A = a1,1 × ( mineur (n− 1)× (n− 1)) + . . .

donc, les coefficients de A∗, l’adjointe,

a∗j,i =∂ det A

∂ ai,j

Theoreme. MM(n) � Det(n) (arbres de calculs ou Slp).

Preuve. Differentiation automatique en mode inverse et utilisation

de MM(n) � Inv(n) (cf. plus loin).

25

Page 27: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Theoreme. S’il existe un programme de longueur Det(n, d) cal-

culant le coefficient de degre d du determinant de A(x), alors il

existe un programme de longueur O (Det(n, d)) pour le produit

B(x)× C(x) de degre d.

26

Page 28: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Preuve.

det A = (. . . + a1,1,k xk + . . .)× ( mineur (n− 1)× (n− 1)) + . . .

donc,

∂ det A/∂ ai,j,k = xk a∗j,i= xk a∗j,i,0 + xk+1 a∗j,i,1 + xk+2 a∗j,i,2 + . . .

or,∂ det A

∂ ai,j,k= . . . +

∂∆d

∂ ai,j,kxd + . . .

donc,∂ det ∆d

∂ ai,j,k= a∗i,j,d−k

27

Page 29: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Differentiation du terme de degre d du determinant par rapport

aux n2d entrees de la matrice

d premiers termes de l’adjointe i.e. A∗ mod xd.

Et,

A =

I B

I C

I

⇒ A∗(x) ≡

I −B B(x)C(x)I −C

I

mod xd

+ Amenagement technique pour B(x)C(x) mod x2d+1.

28

Page 30: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Donc, MM(n, d) � Det(n, d).

Inversement, le determinant se calcule en O (MM′(n, d)) ou

MM′(n, d) est reliee a MM(n/2i, 2id) (log n etapes)

[Storjohann 2002, Jeannerod & Villard 2002].

MM(n, d) � Det(n, d) � O (MM′(n, d)).

29

Page 31: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Plan de l’expose

1. Complexites mal connues

2. Progres des deux dernieres annees

3. Matrices polynomiales

4. Reduction en colonnes

5. Procede d’elimination des divisions de Strassen

30

Page 32: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Reduction en colonnes - definition.

A(x) =

[x + 1 x2

x2 x3 + x2 + 1

]↓[

x + 1 x

x2 x2 + 1

]→ C(x) =

[x + 1 1

x2 1

]

31

Page 33: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Reduction en colonnes - definition.

A(x) =

[x + 1 x2

x2 x3 + x2 + 1

]↓[

x + 1 x

x2 x2 + 1

]→ C(x) =

[x + 1 1

x2 1

]

Definition. La matrice de tete de C = AU en colonne [C]l est de

rang maximal.

Consequence. Les colonnes de C forment une base de degres

minimaux du K[x]-module correspondant, dite base minimale.

32

Page 34: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Difficulte.

Degres inferieurs a d dans la matrice mais grands degres dans la

transformation.

Exemple.1 x 0 0

0 1 x 0

0 0 1 x

0 0 0 1

1 −x x2 −x3

0 1 −x x2

0 0 1 −x

0 0 0 1

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

33

Page 35: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Autre caracterisation sur A−1(x).

Description de fractions matricielles P (x)Q−1(x) i.e. “Q(x)/P (x)”

La fraction A−1(x) n’est pas strictement propre,

limx→∞

A−1(x) 6= 0.

Consequence, ex :x6 + 2 x5 − x3 − 1

x2 + x + 1

Pade[2][2]

=−1− x2

1 + x + 2 x2,

[4][2]

=. . .

1 + 14 x + 5

4 x2,

[6][2]

=. . .

x2 + x + 1

34

Page 36: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Nouvel algorithme.

Reduction en colonnesEntree : A ∈ K[x]n×n de degre d

Sortie : C = AU reduite en colonnes

Calculer 2d termes du dev. de A−1 apres l’ordre (n− 1)dReconstruire un approximant de Pade matriciel BC−1

Retourner C

35

Page 37: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

i) 2d termes d’ordres superieurs a (n− 1)d de A−1(x)[“High-order lifting”, Storjohann 2002]

Avec A−1(x) = A0 + xA1 + . . . + xiAi + . . .,

log n etapes, calcul de ”tranches” du developpement :

A0, . . . , Ad

Ad, . . . , A2d

A3d, . . . , A4d

. . .

A(n−1)d, . . . , And

↪→ Essentiellement en O(MM(n, d) log n).

36

Page 38: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

ii) Reconstruction de la fraction avec matrice denominateur reduite

[Giorgi, Jeannerod & Villard 2002]

↪→ Essentiellement en MM′(n, d) ≈ O(MM(n, d) log d).

Algorithme de type Knuth / Schonhage pour polynomes matriciels

[Beckermann & Labahn 94] [Coppersmith 94]

[Thome 2001] [Kaltofen & Villard 2001]

B0C0≡ H mod x → Bh

Ch≡ H mod xh → B2h

C2h≡ H mod x2h

M2h = M2h ×Mh.

37

Page 39: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Theoreme. Une matrice inversible peut etre colonne reduite par un

algorithme Las Vegas en O(MM′(n, d) log n) ou O (nωd) operations

dans K.

38

Page 40: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Plan de l’expose

1. Complexites mal connues

2. Progres des deux dernieres annees

3. Matrices polynomiales

4. Reduction en colonnes

5. Procede d’elimination des divisions de Strassen

39

Page 41: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Modele algebrique sur un anneau (sans division)

Procede d’elimination des divisions de Strassen,

1/(1− za) ≡ 1 + az + a2z2 + . . . anzn mod zn+1.

i) Depart : un programme P sur un corps K avec divisions

ii) Homotopie en utilisant un point M ou P ne divise que par 1

iii) Execution de P en plongeant K dans K[[z]].

40

Page 42: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Modele algebrique sur un anneau (sans division)

Procede d’elimination des divisions de Strassen,

1/(1− za) ≡ 1 + az + a2z2 + . . . anzn mod zn+1.

i) Depart : un algorithme P sur un corps K avec divisions

ii) Homotopie en utilisant un point M ou P ne divise que par 1

iii) Execution de P en plongeant K dans K[[z]].

Illustration :

det A =(det ((1− z)M + zA) mod zn+1

)|z=1

41

Page 43: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Procede de Strassen

Execution d’un algorithme sur K, et sur K[[x]]

Analogie fortuite

Limiter le surcout lie a la taille series formelles

pour ne pas avoir n× nω

Difference importante : ici, un algorithme sous-jacent sur K

42

Page 44: Complexit´e de calculs sur les matrices enti`eres et …perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/TRANS... ·  · 2017-06-27R´eduction en colonnes 5. Proc´ed´e d’´elimination

Conclusion

↪→ Gagner un facteur n n’est sans doute pas anecdotique,

cela reflete une comprehension incomplete des problemes

dans leur ensemble.

↪→ Que peut-on calculer en temps O (nωd) ou O (nω log ‖A‖) ?

43