probabilistic computation of the smith normal form of a ...€¦ · introduction plan introduction...

27
Introduction Plan Probabilistic computation of the Smith normal form of a sparse integer matrix Mark Giesbrecht 1996 Mark Giesbrecht Probabilistic computation of the Smith normal form of a sparse integer matrix

Upload: others

Post on 02-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Introduction Plan

Probabilistic computation of the Smith normalform of a sparse integer matrix

Mark Giesbrecht

1996

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 2: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Introduction Plan

Introduction

Nouvel algorithme pour calculer la forme normale de Smith deA ∈Mm,n(Z) :

probabiliste de type Monte-Carlo (bon résultat avec probabilité> ε)concept de boîte noireexploite la structure creuse

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 3: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Introduction Plan

Introduction

Complexité temporelle : O∼(

m2 log (‖A‖) log(1ε

))produits

matrice-vecteur

Problème : convergence non démontrée

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 4: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Introduction Plan

Plan

1 PréliminairesForme normale de SmithBoîte noire

2 AlgorithmeAlgorithmeAmélioration

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 5: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Préliminaires

Première partie I

Préliminaires

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 6: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Préliminaires

Forme normale de Smith

Smith (1861)

A ∈Mm,n(Z)

S = PAQ =

s1 0 . . . . . . . . . 0 0 . . . 0

0. . . . . .

......

......

. . . sr. . .

......

......

. . . 0. . .

......

......

. . . . . . 0...

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

P et Q unimodulairesr = rg(A)

S unique telle que si |si+1

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 7: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Préliminaires

Forme normale de Smith

Diviseurs déterminants

Définition : dk , le kème diviseur déterminant de A, est le pgcd detous les mineurs de A de taille k × k .

exemple

Propriété : On pose d0 = 1. Pour tout i , si =di

di−1.

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 8: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Préliminaires

Boîte noire

Présentation

On ne connaît pas directement la matrice A.

boitenoire

v Av

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 9: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Deuxième partie II

Algorithme

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 10: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Algorithme

Entrées-sorties

Entrées :

boîte noire pour Atolérance ε > 0

Sorties :

r = rg(A)

d1, . . . , dr

Les sorties sont correctes avec probabilité 1− ε.

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 11: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Algorithme

Initialisation et test

Initialisation :r , d1, . . . , dm, count ← 0Boucle principale, à répéter tant que

count 6

(log(1ε

)+ 3 log(m) + log(log(‖A‖))

)Test final :

Si dr = d1

r∏i=2

di

di−1

Alors renvoyer r et (d1, . . . , dr )Sinon recommencer

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 12: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Algorithme

Boucle principale (1/4)

Choisir au hasard :

U =

1 α2 . . . αm

1. . .

.... . . α2

1

; L =

1

β2. . .

.... . . 1

... β2

......

βn . . . βn−m+1

D =

γ1. . .

γm

On pose : B = UALD

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 13: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Algorithme

Boucle principale (2/4)

Calculer le polynôme minimal de B :

g = x s +s−1∑k=0

bkxk

Le polynôme caractéristique de B est probablement gxm−s .

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 14: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Algorithme

Boucle principale (3/4)

On pose k = Min{i ∈ N, bi 6= 0} :

si k > 1 ou (k = 0 ∧ s < m) alors recommencersi k = 0 alors poser r̄ = msi k = 1 alors poser r̄ = s − 1

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 15: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Algorithme

Boucle principale (4/4)

Si r̄ = r :

incrémenter countpour i de 1 à r , poser di = pgcd(di , bm−i )

Si r̄ > r :

poser r = r̄ et count = 1pour i de 1 à r , poser di = bm−i

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 16: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Algorithme

Boucle principale (4/4)

Si r̄ = r :

incrémenter countpour i de 1 à r , poser di = pgcd(di , bm−i )

Si r̄ > r :

poser r = r̄ et count = 1pour i de 1 à r , poser di = bm−i

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 17: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Algorithme

Théorème

Théorème : On utilise les notations de l’algorithme. On note

f =n∑

i=0

aix i le polynôme caractéristique de B .

Alors, pour tout k ∈ J1, nK, dk |an−k .

idée de la preuve

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 18: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Algorithme

Complexité et convergence

Si convergence : O∼(

m2 log (‖A‖) log(1ε

))produits

matrice-vecteur (modulo un entier premier) et

O∼((

m2n log (‖A‖) + m3 log2 (‖A‖))log(1ε

))opérations sur

des bits

Mais problème de convergence.

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 19: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Amélioration

Idée

Coefficients de U, L,D non plus choisis dans Z mais dans unanneau plus grand R.

↪→ Les coefficients du polynôme caractéristique de B sontpolynomiaux.

Théorème : On reprend les notations précédentes.Alors, pour tout k ∈ J1, nK, an−k a pour contenu dk .

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 20: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Amélioration

Contenu d’un polynôme

Définition : Le contenu d’un polynôme à coefficients dans Q est lepgcd de ses coefficients.

exemple

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 21: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Amélioration

Principe

Nouvel algorithme Monte-Carlo FindContents :

Entrées : boîte noire évaluant un uplet de polynômes en unpoint de R, εSorties : contenus de ces polynômes avec probabilité > 1− ε

Utilisation du pgcd comme précédemment.

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 22: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Amélioration

Nouvel algorithme

1 Poser r le rang de A2 Choisir au hasard des matrices U Toeplitz supérieure, L

Toeplitz inférieure et D diagonale, à coefficients dans R3 Poser B = UALD et définir une boîte noire qui évalue les r

coefficients de plus grand ordre du polynôme caractéristique deB en 3n − 2 points de R

4 Appliquer FindContents en utilisant cette boîte noire

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 23: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Amélioration

Nouvel algorithme

1 Poser r le rang de A2 Choisir au hasard des matrices U Toeplitz supérieure, L

Toeplitz inférieure et D diagonale, à coefficients dans R3 Poser B = UALD et définir une boîte noire qui évalue les r

coefficients de plus grand ordre du polynôme caractéristique deB en 3n − 2 points de R

4 Appliquer FindContents en utilisant cette boîte noire

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 24: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Amélioration

Pourquoi se placer dans R ?

Exemple : f (x) = 5x4 + 10x3 − 5x2 − 10x .

On peut se placer dans R = Z[z ]/Γ avec Γ = z3 + 2z2 + 2z + 3.

algorithme

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 25: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Conclusion

un algorithme probabiliste pour calculer la forme normale deSmith : meilleure complexité que le meilleur algorithmedéterministe alors connuconcept de boîte noireproblème de convergence

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 26: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Remarques

problèmes soulignés (rang de A . . .)article hésitantimplantation pas évidente

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix

Page 27: Probabilistic computation of the Smith normal form of a ...€¦ · Introduction Plan Introduction Complexitétemporelle:O˘ m2 log(kAk)log 1 produits matrice-vecteur Problème:convergencenondémontrée

Algorithme Conclusion

Des questions ?

Mark Giesbrecht

Probabilistic computation of the Smith normal form of a sparse integer matrix