Complexité de calculs sur les matrices entières et polynomiales

Documents pareils
Cours d analyse numérique SMI-S4

Introduction à l étude des Corps Finis

Polynômes à plusieurs variables. Résultant

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Programmation linéaire

DOCM Solutions officielles = n 2 10.

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Résolution de systèmes linéaires par des méthodes directes

Pour l épreuve d algèbre, les calculatrices sont interdites.

Quelques tests de primalité

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Extrait du poly de Stage de Grésillon 1, août 2010

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Calcul fonctionnel holomorphe dans les algèbres de Banach

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Optimisation Discrète

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

TABLE DES MATIÈRES CHAPITRE I. Les quanta s invitent

Mots-clefs Valeurs propres, vecteurs propres, matrice, système linéaire, méthodes de projection, espace

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Comment démontrer des formules sans effort? exposé de maîtrise

Fonction inverse Fonctions homographiques

Une forme générale de la conjecture abc

Cours 02 : Problème général de la programmation linéaire

Probabilités sur un univers fini

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Table des matières. I Mise à niveau 11. Préface

Algèbre binaire et Circuits logiques ( )

Les opérations binaires

Du Premier au Second Degré

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe

Chapitre 5 : Flot maximal dans un graphe

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Cours 7 : Utilisation de modules sous python

Simulation de variables aléatoires

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Corrigé des TD 1 à 5

Calculabilité Cours 3 : Problèmes non-calculables.

Équations d amorçage d intégrales premières formelles

2.4 Représentation graphique, tableau de Karnaugh

CORRECTION EXERCICES ALGORITHME 1

UNIVERSITE IBN ZOHR Faculté des sciences Agadir. Filière SMA & SMI. Semestre 1. Module : Algèbre 1

Sites web éducatifs et ressources en mathématiques


Journées Nationales de Calcul Formel

Programmation Linéaire - Cours 1

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

= constante et cette constante est a.

1 Recherche en table par balayage

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Mathématiques Algèbre et géométrie

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

NOMBRES COMPLEXES. Exercice 1 :

Problème 1 : applications du plan affine

2 Division dans l anneau des polynômes à plusieurs variables

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Rappels sur les suites - Algorithme

Programme de la classe de première année MPSI

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Correction de l examen de la première session

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Démonstration de la conjecture de Dumont

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Raisonnement par récurrence Suites numériques

CH.6 Propriétés des langages non contextuels

Système binaire. Algèbre booléenne

CCP PSI Mathématiques 1 : un corrigé

Résolution d équations non linéaires

Fonctions de plusieurs variables

NOTATIONS PRÉLIMINAIRES

Cryptographie et fonctions à sens unique

LES MÉTHODES DE POINT INTÉRIEUR 1

Chapitre 2. Matrices

Exemple d implantation de fonction mathématique sur ST240

CONVERTISSEURS NA ET AN

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

VI. COMPLÉMENTS SUR LES MODULES, THÉORÈME CHINOIS, FACTEURS INVARIANTS SÉANCES DU 15, 16 ET 22 OCTOBRE

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Livret de liaison Seconde - Première S

Partie 1 - Séquence 3 Original d une fonction

3. Conditionnement P (B)

Fonctions homographiques

Conversion d un entier. Méthode par soustraction

Programmation linéaire et Optimisation. Didier Smets

Cours arithmétique et groupes. Licence première année, premier semestre

Simulation centrée individus

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Structures algébriques

Cours d Analyse. Fonctions de plusieurs variables

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

Transcription:

Complexité de calculs sur les matrices entières et polynomiales Gilles Villard Cnrs Lip - Ens Lyon http://www.ens-lyon.fr/ gvillard Journées Nationales de Calcul Formel, Luminy, 24 janvier 2003.

Problème : Étude des complexités de problèmes de base en algèbre linéaire exacte. Complexité en temps i.e. algorithmes les plus rapides ; Algorithmes déterministes ou probabilistes Las Vegas. 1

Modèles. Complexité algébrique. K un corps commutatif, opérations arithmétiques +,, / versus Sur K[x], opérations arithmétiques +,, / dans K Complexité binaire. Sur Z, nombre d opérations sur les bits. 2

Motivations Domaines de coefficients concrets Complexités polynomiales et binaires mal connues. 3

Plan de l exposé 1. Complexités mal connues 2. Progrès des deux dernières années 3. Matrices polynomiales 4. Réduction en colonnes 5. Procédé d élimination des divisions de Strassen 4

Plan de l exposé 1. Complexités mal connues 2. Progrès des deux dernières années 3. Matrices polynomiales 4. Réduction en colonnes 5. Procédé d élimination des divisions de Strassen 5

Modèle algébrique sur K Équivalence au produit de matrice (straight-line) Produit de matrices n n A B Déterminant, rang, inversion, polynôme caractéristique, 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

Modèle algébrique sur K[x] & modèle binaire sur Z Taille de la sortie : nd ou O (nlog A ) nd points (théorème chinois) n ω E.g. pour le déterminant O (n ω nd) = O (n ω+1 d) O (n ω+1 log A ) 7

Complexités guidées par la taille de la sortie, 1969 2000 Coût binaire algébrique taille en sortie (Coût num. algébrique conditionnement erreur inverse) 8

Complexités guidées par la taille de la sortie Diminution du surcoût Déterminant (et forme de Smith) sur Z en O (n 2+ω/2 log A ), soit n n 3 log A au lieu de n n 3 log A [Eberly, Giesbrecht, Villard 2000 (Kaltofen 1992)]. 9

Commentaires a posteriori : Gauss/Bareiss ou le théorème chinois d emblée : opérations sur des grandes tailles dès le départ. Graal : Différer les calculs sur les grandes tailles Plus pragmatiquement : Utiliser des algorithmes par blocs (factoriser). 10

Un schéma idéal n/2 étapes d élimination en ne multipliant la taille que par 2? NA = T [ ] [ ] = [ 0 ] 11

A = 85 55 37 35 49 63 57 59 43 62 77 66 50 12 18 31 91 47 61 41 94 83 86 23 53 85 49 78 86 30 80 72 12

Élimination de Gauss (complément de Schur) : N g = 7646610 17525750 3967680 29755220...... 15181842 13894262 0 40184660...... 2804568 4081928 0 18871120...... 4368828 4023028 0 35835160...... 13

Élimination de Gauss (complément de Schur) : N g = 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 61 106 43 28 95 50 30 53 7 23 25 12 182 90 40 36 74 14

n 2 n i n 4 ( n 2 i)3 2 i n 3 log n i=1 i=1 15

Un schéma idéal : En partie atteint dans le cas polynomial, [Storjohann 2002] [Jeannerod & Villard 2002]. Complexité indépendante de la taille individuelle en sortie? (Complexité indépendante du conditionnement?) 16

Plan de l exposé 1. Complexités mal connues 2. Progrès des deux dernières années 3. Matrices polynomiales 4. Réduction en colonnes 5. Procédé d élimination des divisions de Strassen 17

Suppression du facteur n / Modèle binaire sur Z Facteur Total Déterminant (Las Vegas) n 1/5 n 2.7 log A Forme de Smith (Las Vegas) n 1/5 n 2.7 log A Forme de Frobenius (Monte Carlo) n 1/5 n 2.7 log A (et sans division sur K pour le déterminant) [Kaltofen & Villard, 2001, 2002]. 18

Suppression du facteur n / Modèle algébrique sur K[x] Facteur Total Déterminant & Smith 1 (Ram) log α n O (n ω d) Inversion & det. 2 (Slp) log β n O (n 3 d) & O (n ω d) 1 [Storjohann 2002], 2 [Jeannerod & Villard 2002]. 19

Jusque-là, calculs en O (n ω+1 d) ou O (n ω+1 log A ), algorithmes déterministes ou Las Vegas, Déterminant, rang certifié, inversion polynôme caractéristique, forme normale de Frobenius, Formes normales d Hermite, Smith et transformations. Ré-unification des complexités? (Gauss versus Krylov) 20

Plan de l exposé 1. Complexités mal connues 2. Progrès des deux dernières années 3. Matrices polynomiales 4. Réduction en colonnes 5. Procédé d élimination des divisions de Strassen 21

Nota. Études sur K[x], préliminaires à celles sur Z. Matrices polynomiales n n de degré d Nouvelles complexités en n ω d 22

Nota. Études sur K[x], préliminaires à celles sur Z. Matrices polynomiales n n de degré d Nouvelles complexités en n ω d Lien avec le produit de deux matrices de degré d? Définition : MM(n, d) et Det(n, d) coûts du produit et du déterminant n n de degré d. 23

MM(n, d) Det(n, d)? Le déterminant implique-t il la multiplication? 24

Sur K, [Baur & Strassen 83], det A = a 1,1 ( mineur (n 1) (n 1)) +... donc, les coefficients de A, l adjointe, a j,i = det A a i,j Théorème. MM(n) Det(n) (arbres de calculs ou Slp). Preuve. Différentiation automatique en mode inverse et utilisation de MM(n) Inv(n) (cf. plus loin). 25

Théorème. S il existe un programme de longueur Det(n, d) calculant le coefficient de degré d du déterminant de A(x), alors il existe un programme de longueur O (Det(n, d)) pour le produit B(x) C(x) de degré d. 26

Preuve. det A = (... + a 1,1,k x k +...) ( mineur (n 1) (n 1)) +... donc, det A/ a i,j,k = x k a j,i = x k a j,i,0 + xk+1 a j,i,1 + xk+2 a j,i,2 +... or, det A a i,j,k =... + d a i,j,k x d +... donc, det d a i,j,k = a i,j,d k 27

Différentiation du terme de degré d du déterminant par rapport aux n 2 d entrées de la matrice d premiers termes de l adjointe i.e. A mod x d. Et, A = I B I C I A (x) I B B(x)C(x) I C I mod x d + Aménagement technique pour B(x)C(x) mod x 2d+1. 28

Donc, MM(n, d) Det(n, d). Inversement, le déterminant se calcule en O (MM (n, d)) où MM (n, d) est reliée à MM(n/2 i, 2 i d) (log n étapes) [Storjohann 2002, Jeannerod & Villard 2002]. MM(n, d) Det(n, d) O (MM (n, d)). 29

Plan de l exposé 1. Complexités mal connues 2. Progrès des deux dernières années 3. Matrices polynomiales 4. Réduction en colonnes 5. Procédé d élimination des divisions de Strassen 30

Réduction en colonnes - définition. [ x + 1 x 2 ] A(x) = x 2 x 3 + x 2 + 1 [ ] x + 1 x [ x + 1 1 ] x 2 x 2 + 1 C(x) = x 2 1 31

Réduction en colonnes - définition. [ x + 1 x 2 ] A(x) = x 2 x 3 + x 2 + 1 [ ] x + 1 x [ x + 1 1 ] x 2 x 2 + 1 C(x) = x 2 1 Définition. La matrice de tête de C = AU en colonne [C] l est de rang maximal. Conséquence. Les colonnes de C forment une base de degrés minimaux du K[x]-module correspondant, dite base minimale. 32

Difficulté. Degrés inférieurs à d dans la matrice mais grands degrés dans la transformation. Exemple. 1 x 0 0 0 1 x 0 0 0 1 x 0 0 0 1 1 x x 2 x 3 0 1 x x 2 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

Autre caractérisation 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, lim x A 1 (x) 0. Conséquence, ex : x 6 + 2 x 5 x 3 1 x 2 + x + 1 Padé [2] [2] 1 x2 [4] = 1 + x + 2 x2, [2] =... 1 + 1 4 x + 5 4 x2, [6] [2] =... x 2 + x + 1 34

Nouvel algorithme. Réduction en colonnes Entrée : A K[x] n n de degré d Sortie : C = AU réduite en colonnes Calculer 2d termes du dév. de A 1 après l ordre (n 1)d Reconstruire un approximant de Padé matriciel BC 1 Retourner C 35

i) 2d termes d ordres supérieurs à (n 1)d de A 1 (x) [ High-order lifting, Storjohann 2002] Avec A 1 (x) = A 0 + xa 1 +... + x i A i +..., log n étapes, calcul de tranches du développement : A 0,..., A d A d,..., A 2d A 3d,..., A 4d... Essentiellement en O(MM(n, d) log n). A (n 1)d,..., A nd 36

ii) Reconstruction de la fraction avec matrice dénominateur réduite [Giorgi, Jeannerod & Villard 2002] Essentiellement en MM (n, d) O(MM(n, d) log d). Algorithme de type Knuth / Schönhage pour polynômes matriciels [Beckermann & Labahn 94] [Coppersmith 94] [Thomé 2001] [Kaltofen & Villard 2001] B 0 C 0 H mod x B h C h H mod x h B 2h C 2h H mod x 2h M 2h = M 2h M h. 37

Théorème. Une matrice inversible peut être colonne réduite par un algorithme Las Vegas en O(MM (n, d) log n) ou O (n ω d) opérations dans K. 38

Plan de l exposé 1. Complexités mal connues 2. Progrès des deux dernières années 3. Matrices polynomiales 4. Réduction en colonnes 5. Procédé d élimination des divisions de Strassen 39

Modèle algébrique sur un anneau (sans division) Procédé d élimination des divisions de Strassen, 1/(1 za) 1 + az + a 2 z 2 +... a n z n mod z n+1. i) Départ : un programme P sur un corps K avec divisions ii) Homotopie en utilisant un point M où P ne divise que par 1 iii) Exécution de P en plongeant K dans K[[z]]. 40

Modèle algébrique sur un anneau (sans division) Procédé d élimination des divisions de Strassen, 1/(1 za) 1 + az + a 2 z 2 +... a n z n mod z n+1. i) Départ : un algorithme P sur un corps K avec divisions ii) Homotopie en utilisant un point M où P ne divise que par 1 iii) Exécution de P en plongeant K dans K[[z]]. Illustration : det A = ( det ((1 z)m + za) mod z n+1) z=1 41

Procédé de Strassen Exécution d un algorithme sur K, et sur K[[x]] Analogie fortuite Limiter le surcoût lié à la taille séries formelles pour ne pas avoir n n ω Différence importante : ici, un algorithme sous-jacent sur K 42

Conclusion Gagner un facteur n n est sans doute pas anecdotique, cela reflète une compréhension incomplète des problèmes dans leur ensemble. Que peut-on calculer en temps O (n ω d) ou O (n ω log A )? 43