Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion Calcul intensif, algèbre linéaire exacte et applications Clément PERNET LIG, Grenoble Université 1 ères journées du GDR Calcul, 10 novembre 2009
52
Embed
Calcul intensif, algèbre linéaire exacte et applicationscalcul.math.cnrs.fr/Documents/Journees/nov2009/CPernet.pdf · Idée reçue: Calcul formel = Maple Outil pédagogique Utile
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
dérivations, primitiverésolutions d’équations avec paramètre,simplifications formelles, ...
Domaines de calcul de base
Z, Q ⇒taille variableZp, GF(pk ) ⇒arithmétique propreK [X ] pour K = Z, Zp, .......
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Introduction
Idée reçue: Calcul formel = Maple
Outil pédagogiqueUtile pour simplifier les formules, ... quand ça marcheLent, inadapté au calcul intensifles complexités sont catastrophiques
Et pourtant:
applications demandeuses de calcul intensifbibliothèques/logiciels spécialisés et efficacesameliorations en cours à tous les niveaux: algorithmiqueset implantations
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Introduction
Idée reçue: Calcul formel = Maple
Outil pédagogiqueUtile pour simplifier les formules, ... quand ça marcheLent, inadapté au calcul intensifles complexités sont catastrophiques
Et pourtant:
applications demandeuses de calcul intensifbibliothèques/logiciels spécialisés et efficacesameliorations en cours à tous les niveaux: algorithmiqueset implantations
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Plan
1 Motivations applicatives
2 Aspects logiciels
3 Calcul intensif: étude de cas en théorie des nombres
4 Conclusion
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Plan
1 Motivations applicatives
2 Aspects logiciels
3 Calcul intensif: étude de cas en théorie des nombres
4 Conclusion
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Applications: Calcul mathématiques
Aide à la recherche en Mathématiques:simplification de formulesrésolution d’équations sous forme analytiquecalcul avec des objets sophistiqués (formes modulaires,groupes abéliens, ...)mathématiques expérimentales, tests de conjecturescalcul de tables: bestiaires d’objets mathématiques
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Calcul mathématique: Théorie des Graphes
Marche aléatoire dans un graphe
C
A B
D
2-marche
AB AC CD
AD BC BD
carrés symétriques d’un graphe X : le graphe X {2} des(n
2
)paires de sommets2-marche dans X ≡ 1-marche dans X {2}
Application :Modélisation des systèmes Hamiltoniens en mécaniquequantiqueIsomorphismes de Graphes
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Calcul mathématique: Théorie des Graphes
Marche aléatoire dans un graphe
C
A B
D
2-marche
AB AC CD
AD BC BD
carrés symétriques d’un graphe X : le graphe X {2} des(n
2
)paires de sommets2-marche dans X ≡ 1-marche dans X {2}
Application :Modélisation des systèmes Hamiltoniens en mécaniquequantiqueIsomorphismes de Graphes
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Calcul mathématique: Théorie des Graphes
Marche aléatoire dans un graphe
C
A B
D
2-marche
AB AC CD
AD BC BD
carrés symétriques d’un graphe X : le graphe X {2} des(n
2
)paires de sommets2-marche dans X ≡ 1-marche dans X {2}
Application :Modélisation des systèmes Hamiltoniens en mécaniquequantiqueIsomorphismes de Graphes
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Isomorphisme de Graphes
ProblèmeExiste-t-il un algorithme polynomial testant si deux graphessont isomorphes ?
Piste [Royle et al. 2006] : le spectre d’une puissancesymétrique du graphe détermine sa classed’isomorphisme
Expérimentations : puissances symétriques de familles degraphes fortement réguliers
k = 2 : faux (preuve [Royle et al. 2006])k = 3 : vrai jusqu’à 29 sommets (70 cas, n = 3654)
k = 3 : vrai jusqu’à 36 sommets (36 510 cas, n = 7140)⇒588 heures CPU
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Isomorphisme de Graphes
ProblèmeExiste-t-il un algorithme polynomial testant si deux graphessont isomorphes ?
Piste [Royle et al. 2006] : le spectre d’une puissancesymétrique du graphe détermine sa classed’isomorphisme
Expérimentations : puissances symétriques de familles degraphes fortement réguliers
k = 2 : faux (preuve [Royle et al. 2006])k = 3 : vrai jusqu’à 29 sommets (70 cas, n = 3654)
k = 3 : vrai jusqu’à 36 sommets (36 510 cas, n = 7140)⇒588 heures CPU
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Isomorphisme de Graphes
ProblèmeExiste-t-il un algorithme polynomial testant si deux graphessont isomorphes ?
Piste [Royle et al. 2006] : le spectre d’une puissancesymétrique du graphe détermine sa classed’isomorphisme
Expérimentations : puissances symétriques de familles degraphes fortement réguliers
k = 2 : faux (preuve [Royle et al. 2006])k = 3 : vrai jusqu’à 29 sommets (70 cas, n = 3654)
k = 3 : vrai jusqu’à 36 sommets (36 510 cas, n = 7140)⇒588 heures CPU
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Isomorphisme de Graphes
ProblèmeExiste-t-il un algorithme polynomial testant si deux graphessont isomorphes ?
Piste [Royle et al. 2006] : le spectre d’une puissancesymétrique du graphe détermine sa classed’isomorphisme
Expérimentations : puissances symétriques de familles degraphes fortement réguliers
k = 2 : faux (preuve [Royle et al. 2006])k = 3 : vrai jusqu’à 29 sommets (70 cas, n = 3654)
k = 3 : vrai jusqu’à 36 sommets (36 510 cas, n = 7140)⇒588 heures CPU
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Cryptographie
Sécurité ≡ Difficulté à résoudre un problème
Pour RSA ⇒factorisation de grands entiers
Cribles (quadratique, de corps de nombre,...)
Repose sur:arithmétique de grands entierspgcdRésolution d’un grand système linéaire creux dans Z2.
Example (RSA-640:)Cassé en 2005 en 4,5 mois (263 500 heures CPU)
36 000 000 colonnes7× 109 coeffs non nuls
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Cryptographie
Sécurité ≡ Difficulté à résoudre un problème
Pour RSA ⇒factorisation de grands entiers
Cribles (quadratique, de corps de nombre,...)
Repose sur:arithmétique de grands entierspgcdRésolution d’un grand système linéaire creux dans Z2.
Example (RSA-640:)Cassé en 2005 en 4,5 mois (263 500 heures CPU)
36 000 000 colonnes7× 109 coeffs non nuls
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Cryptographie
Sécurité ≡ Difficulté à résoudre un problème
Pour RSA ⇒factorisation de grands entiers
Cribles (quadratique, de corps de nombre,...)
Repose sur:arithmétique de grands entierspgcdRésolution d’un grand système linéaire creux dans Z2.
Example (RSA-640:)Cassé en 2005 en 4,5 mois (263 500 heures CPU)
36 000 000 colonnes7× 109 coeffs non nuls
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Autres domaines
Bio-info: Distribution de motifs dans des chaînes aléatoiresd’ADN:
Grand systèmes creux, n ≈ 60 000, mnz = 20× 60 000,Coefficients: polynômes bivariés.
Topologie algorithmique:
Analyse sémantique massive de textesGraphes d’occurrence de termes dans des documentsCalcul d’homologie persistante sur le graphe⇒sémantique
Analyse de données 3D (simulations et expériences)Homologie ⇒extraire l’information géométrique
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Autres domaines
Bio-info: Distribution de motifs dans des chaînes aléatoiresd’ADN:
Grand systèmes creux, n ≈ 60 000, mnz = 20× 60 000,Coefficients: polynômes bivariés.
Topologie algorithmique:
Analyse sémantique massive de textesGraphes d’occurrence de termes dans des documentsCalcul d’homologie persistante sur le graphe⇒sémantique
Analyse de données 3D (simulations et expériences)Homologie ⇒extraire l’information géométrique
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Plan
1 Motivations applicatives
2 Aspects logiciels
3 Calcul intensif: étude de cas en théorie des nombres
4 Conclusion
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Quelques ingrédients pour le calcul exact
Arithmétique flottante: float, double
Privilégiée par les architectures: fma, SSE, GPU, ...Utilisée pour:
Corps finis: NTL, LinBox,...Réduction de réseaux: fpLLL
Calcul exact sur la mantisse uniquement, ou approximationcontrollée
Réduction à des routines de baseMultiplication entier/polynôme: Karatsuba, Toom-Cook, FFTMultiplication de matrices: BLAS, Strassen,
⇒algorithmes de réduction récursifs par blocs
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Quelques ingrédients pour le calcul exact
Arithmétique flottante: float, double
Privilégiée par les architectures: fma, SSE, GPU, ...Utilisée pour:
Corps finis: NTL, LinBox,...Réduction de réseaux: fpLLL
Calcul exact sur la mantisse uniquement, ou approximationcontrollée
Réduction à des routines de baseMultiplication entier/polynôme: Karatsuba, Toom-Cook, FFTMultiplication de matrices: BLAS, Strassen,
⇒algorithmes de réduction récursifs par blocs
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Solutions logicielles pour le calcul algebrique
Bibliothèques spécialisées
corps finis: NTL, Givaro, Lidia, ...
entiers multiprécision: GMP, MPIR
polynômes: NTL, Givaro, zn_poly ...
Intergiciels
génériques
focalisés sur les algorithmes
Givaro
NTL
GMPFinite fields BLAS
ATLAS
GOTO
... ...
SAGE GAPMaple
LinBox
FFLAS−FFPACK
Logiciels généralistes, haut-niveau
Maple, Mathematica, MuPad, ... (propriétaire)
Sage, Pari, Maxima, ... (libre)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Solutions logicielles pour le calcul algebrique
Bibliothèques spécialisées
corps finis: NTL, Givaro, Lidia, ...
entiers multiprécision: GMP, MPIR
polynômes: NTL, Givaro, zn_poly ...
Intergiciels
génériques
focalisés sur les algorithmes
Givaro
NTL
GMPFinite fields BLAS
ATLAS
GOTO
... ...
SAGE GAPMaple
LinBox
FFLAS−FFPACK
Logiciels généralistes, haut-niveau
Maple, Mathematica, MuPad, ... (propriétaire)
Sage, Pari, Maxima, ... (libre)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Solutions logicielles pour le calcul algebrique
Bibliothèques spécialisées
corps finis: NTL, Givaro, Lidia, ...
entiers multiprécision: GMP, MPIR
polynômes: NTL, Givaro, zn_poly ...
Intergiciels
génériques
focalisés sur les algorithmes
Givaro
NTL
GMPFinite fields BLAS
ATLAS
GOTO
... ...
SAGE GAPMaple
LinBox
FFLAS−FFPACK
Logiciels généralistes, haut-niveau
Maple, Mathematica, MuPad, ... (propriétaire)
Sage, Pari, Maxima, ... (libre)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Solutions logicielles pour le calcul algebrique
Bibliothèques spécialisées
corps finis: NTL, Givaro, Lidia, ...
entiers multiprécision: GMP, MPIR
polynômes: NTL, Givaro, zn_poly ...
Intergiciels
génériques
focalisés sur les algorithmes
Givaro
NTL
GMPFinite fields BLAS
ATLAS
GOTO
... ...
SAGE GAPMaple
LinBox
FFLAS−FFPACK
Logiciels généralistes, haut-niveau
Maple, Mathematica, MuPad, ... (propriétaire)
Sage, Pari, Maxima, ... (libre)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
----------------------------------------------------------------------| Sage Version 4.2, Release Date: 2009-10-24 || Type notebook() for the GUI, and license() for information. |----------------------------------------------------------------------sage: R.<x>=Pol<tab>Polyhedron PolynomialQuotientRingElementPolynomial PolynomialRingPolynomialQuotientRingsage: R.<x>=PolynomialRing(GF(2))sage: P=x^2+1sage: P.parent()Univariate Polynomial Ring in x over Finite Field of size 2 (using NTL)sage: P.factor()(x + 1)^2
Linux, MacOS X, Solaris, Windows (en cours de portage)x86, x86_64, PPC,
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Sage: une distribution
Une distribution des meilleures bibliothèques spécialiséeset logiciels libre de mathématique ( plus de 70 paquets)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Sage: interface graphique
Intégrée dans unnavigateur Webtypographie LATEX
partage de feuilles decalculplots 2D, 3D interactifsApplets interactifs
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Sage
Une bibliothèque de code source propre
plus de 1M de lignes de codelangage Python, Cython (Python compilé)
Un modèle de développement de type académique:
Plus de 150 contributeurs, dont 50 environ par releaseTout nouveau code, est proposé, puis reviewé par unréféré, avant l’inclusion dans la distribution suivante.tests de régression automatisés
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Sage
Une interface unifiée vers d’autre systèmes:
----------------------------------------------------------------------| Sage Version 4.1.1, Release Date: 2009-08-14 || Type notebook() for the GUI, and license() for information. |----------------------------------------------------------------------sage: pari(’factor(x^2-1)’)[x - 1, 1; x + 1, 1]
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Plan
1 Motivations applicatives
2 Aspects logiciels
3 Calcul intensif: étude de cas en théorie des nombres
4 Conclusion
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Le problème
Clay Math Institute, $1M challenge:
Problème (Conjecture Birch Swinnerton-Dyer)Une “méthode” pour déterminer si toute équation du typeY 2 = X 3 + aX + b a une infinité de solutions rationnelles
Expérimentations⇓
infirmatons, ou reformulation⇓...⇓
résolution
Besoin:Bestiaires de formesmodulairesCalculer des tables lesplus grandes possibles
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Le problème
Clay Math Institute, $1M challenge:
Problème (Conjecture Birch Swinnerton-Dyer)Une “méthode” pour déterminer si toute équation du typeY 2 = X 3 + aX + b a une infinité de solutions rationnelles
Expérimentations⇓
infirmatons, ou reformulation⇓...⇓
résolution
Besoin:Bestiaires de formesmodulairesCalculer des tables lesplus grandes possibles
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Calcul de formes modulaires
Action des opérateurs de Hecke sur l’espaceDécomposition de l’espace en invariants de similitudeCalcul de
Polynômes caractéristiques dans ZpNoyaux dans Z
“Mathematics is the art of reducing any problem tolinear algebra” W. Stein
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Plan
1 Motivations applicatives
2 Aspects logiciels
3 Calcul intensif: étude de cas en théorie des nombres
4 Conclusion
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Calcul formel intensif, spécificités et similitudes
Une approche similaire au calcul numériqueStructuration des bibliothèquesApproche en algèbre linéaire:
calcul flottantnoyaux et réductionsméthodes itératives
Parallèlisme:Pas de parallélisation imposée par le domaineRestes Chinois: parallélisation facileEstimation des coûts plus délicate (arithmétique de coûtvariable) ⇒balancement dynamique de la charge, vol detravail (Kaapi)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Calcul formel intensif, spécificités et similitudes
Une approche similaire au calcul numériqueStructuration des bibliothèquesApproche en algèbre linéaire:
calcul flottantnoyaux et réductionsméthodes itératives
Parallèlisme:Pas de parallélisation imposée par le domaineRestes Chinois: parallélisation facileEstimation des coûts plus délicate (arithmétique de coûtvariable) ⇒balancement dynamique de la charge, vol detravail (Kaapi)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Conclusion
InteractionsCalcul certifié, haute précisionCouplage de méthodes exacte/approchées...