calcul intensif, algèbre linéaire exacte et applications · arithmetique gmp, mpfr, givaro, mpfi...
TRANSCRIPT
![Page 1: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/1.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Calcul intensif, algèbre linéaire exacte etapplications
Clément PERNET
LIG, Grenoble Université
1ères journées du GDR Calcul,10 novembre 2009
![Page 2: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/2.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Introduction
Calcul formel, calcul algébrique, calcul exact:
Objets mathématiques exacts:√
2 6= 1, 414Manipulation d’expressions mathématiques
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, .......
![Page 3: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/3.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Introduction
Calcul formel, calcul algébrique, calcul exact:
Objets mathématiques exacts:√
2 6= 1, 414Manipulation d’expressions mathématiques
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, .......
![Page 4: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/4.jpg)
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
![Page 5: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/5.jpg)
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
![Page 6: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/6.jpg)
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
![Page 7: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/7.jpg)
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
![Page 8: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/8.jpg)
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
![Page 9: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/9.jpg)
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
![Page 10: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/10.jpg)
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
![Page 11: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/11.jpg)
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
![Page 12: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/12.jpg)
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
![Page 13: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/13.jpg)
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
![Page 14: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/14.jpg)
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
![Page 15: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/15.jpg)
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
![Page 16: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/16.jpg)
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
![Page 17: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/17.jpg)
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
![Page 18: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/18.jpg)
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
![Page 19: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/19.jpg)
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
![Page 20: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/20.jpg)
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
![Page 21: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/21.jpg)
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
![Page 22: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/22.jpg)
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
![Page 23: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/23.jpg)
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
![Page 24: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/24.jpg)
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)
![Page 25: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/25.jpg)
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)
![Page 26: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/26.jpg)
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)
![Page 27: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/27.jpg)
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)
![Page 28: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/28.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Sage: logiciel libre (GPL) de mathématiques
calcul formel, numérique, géométrie, statistiques, ...
----------------------------------------------------------------------| 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,
![Page 29: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/29.jpg)
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)
Arithmetique GMP, MPFR, Givaro, MPFIAlgèbre commutative PolyBoRi, SINGULAR (libSINGULAR)Algèbre linéaire LinBox, M4RI, IML, fpLLLCryptosystèmes GnuTLS, PyCryptofactorisation entière FlintQS, ECMThéorie des groupes GAPCombinatoire Symmetrica, sage-combinatThéorie des graphes NetworkXThéorie des nombres PARI, NTL, Flint, mwrank, eclibCalcul numérique GSL, Numpy, Scipy, ATLASCalcul formel Maxima, Sympy, PynacStatistiques RInterface utilisateur Sage Notebook, jsmath, Moin wiki, IPythonGraphiques Matplotlib, Tachyon, libgd, JMolRéseau TwistedBases de donnée ZODB, SQLite, SQLAlchemy, Python pickleLangage de programmation Python, Cython (compiled)
![Page 30: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/30.jpg)
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
![Page 31: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/31.jpg)
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
![Page 32: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/32.jpg)
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]
Maple, Magma, Mathematica, Matlab, Pari, MuPad,Maxima, Octave, Singular, GAP, Axiom, Macaulay2,Pari/GP,...
![Page 33: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/33.jpg)
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
![Page 34: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/34.jpg)
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
![Page 35: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/35.jpg)
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
![Page 36: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/36.jpg)
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
![Page 37: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/37.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Algèbre linéaire exacte: algorithmique
Modèles algorithmiquesDenseCreuseBoite-noire
Problématiques:Pas d’instabilitéMais taille variable
⇒réduire la manipulation degrands entiers au maximum.
Exemple: Calcul du déterminant dans Z
Méthode ComplexitéGauss naïf dans Q O (exp(n))Gauss mod det O
(n6)
Gauss mod p + TRC O(n4) ,O
(nω+1)
Lifting p-adique O(n3) ,O˜(nω)
![Page 38: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/38.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Algèbre linéaire exacte: algorithmique
Modèles algorithmiquesDenseCreuseBoite-noire
Problématiques:Pas d’instabilitéMais taille variable
⇒réduire la manipulation degrands entiers au maximum.
Exemple: Calcul du déterminant dans Z
Méthode ComplexitéGauss naïf dans Q O (exp(n))Gauss mod det O
(n6)
Gauss mod p + TRC O(n4) ,O
(nω+1)
Lifting p-adique O(n3) ,O˜(nω)
![Page 39: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/39.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Algèbre linéaire exacte: algorithmique
Le polynôme caractéristique dans Zp:1890 O
(n4)
1937 O(n3)
1985 O (nω log n)
2007 O (nω)
⇒réduction au produit matriciel
![Page 40: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/40.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Algèbre linéaire exacte: algorithmique
Le polynôme caractéristique dans Zp:1890 O
(n4)
1937 O(n3)
1985 O (nω log n)
2007 O (nω)
⇒réduction au produit matriciel
![Page 41: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/41.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Algèbre linéaire exacte: algorithmique
xIn − A
det(xIn − A)
dimension = 1degree = n
degree = 1dimension = n
[1985 Keller-Gehrig]
1
1
0
1
1
0 dimension = n2i
degree = 2i
[2007 P & Storjohann]
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
dimension = nk
degree = k
![Page 42: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/42.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Le produit de matrices : une brique de base
Principe:Réduction modulaire différéeArithmétique flottante (fma, SSE2, ...)
Optimisation de cache
⇒repose sur les BLAS existants
Algorithme sous-cubique (Strassen-Winograd)
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
6000
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Vite
sse
(Mop
s)
Dimension
Produit matriciel : BLAS vs FFLAS Opteron 2.4Ghz 4Go RAM
BLAS dgemm (dans IR)FFLAS fgemm (dans Z/65521 Z)
![Page 43: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/43.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Le produit de matrices : une brique de base
Principe:Réduction modulaire différéeArithmétique flottante (fma, SSE2, ...)Optimisation de cache
⇒repose sur les BLAS existantsAlgorithme sous-cubique (Strassen-Winograd)
0
1000
2000
3000
4000
5000
6000
0 1000 2000 3000 4000 5000 6000 7000
Mfo
ps
n
Multiplication classique dans Z/65521Z sur un P4, 3.4 GHz
Standard Bloc-33
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
6000
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Vite
sse
(Mop
s)
Dimension
Produit matriciel : BLAS vs FFLAS Opteron 2.4Ghz 4Go RAM
BLAS dgemm (dans IR)FFLAS fgemm (dans Z/65521 Z)
![Page 44: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/44.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Le produit de matrices : une brique de base
Principe:Réduction modulaire différéeArithmétique flottante (fma, SSE2, ...)Optimisation de cache⇒repose sur les BLAS existants
Algorithme sous-cubique (Strassen-Winograd)
0
1000
2000
3000
4000
5000
6000
0 1000 2000 3000 4000 5000 6000 7000
Mfo
ps
n
Multiplication classique dans Z/65521Z sur un P4, 3.4 GHz
dgemm fgemm Standard Bloc-33
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
6000
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Vite
sse
(Mop
s)
Dimension
Produit matriciel : BLAS vs FFLAS Opteron 2.4Ghz 4Go RAM
BLAS dgemm (dans IR)FFLAS fgemm (dans Z/65521 Z)
![Page 45: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/45.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Le produit de matrices : une brique de base
Principe:Réduction modulaire différéeArithmétique flottante (fma, SSE2, ...)Optimisation de cache⇒repose sur les BLAS existants
Algorithme sous-cubique (Strassen-Winograd)
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
6000
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Vite
sse
(Mop
s)
Dimension
Produit matriciel : BLAS vs FFLAS Opteron 2.4Ghz 4Go RAM
BLAS dgemm (dans IR)FFLAS fgemm (dans Z/65521 Z)
![Page 46: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/46.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Autres routines d’algèbre linéaire dense
Réduction au produit de matriceBornes pour la réduction modulaire différée
⇒Algorithmes par blocs en cascade
= U
−1
i
i
VX
Xi
B1..i−1
Bi
1..i−1
n 1000 2000 3000 5000 10 000TRSM ftrsm
dtrsm 1,66 1,33 1,24 1,12 1,01LQUP lqup
dgetrf 2,00 1,56 1,43 1,18 1,07INVERSE inverse
dgetrf+dgetri 1.62 1.32 1.15 0.86 0.76
Polynôme caractéristique:n 500 5000 15 000
LinBox 0.91s 4m44s 2h20mmagma-2.13 1.27s 15m32s 7h28m
![Page 47: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/47.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Autres routines d’algèbre linéaire dense
Réduction au produit de matriceBornes pour la réduction modulaire différée
⇒Algorithmes par blocs en cascade
= U
−1
i
i
VX
Xi
B1..i−1
Bi
1..i−1
n 1000 2000 3000 5000 10 000TRSM ftrsm
dtrsm 1,66 1,33 1,24 1,12 1,01LQUP lqup
dgetrf 2,00 1,56 1,43 1,18 1,07INVERSE inverse
dgetrf+dgetri 1.62 1.32 1.15 0.86 0.76
Polynôme caractéristique:n 500 5000 15 000
LinBox 0.91s 4m44s 2h20mmagma-2.13 1.27s 15m32s 7h28m
![Page 48: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/48.jpg)
Motivations applicatives Aspects logiciels Calcul intensif: étude de cas en théorie des nombres Conclusion
Autres routines d’algèbre linéaire dense
Réduction au produit de matriceBornes pour la réduction modulaire différée
⇒Algorithmes par blocs en cascade
= U
−1
i
i
VX
Xi
B1..i−1
Bi
1..i−1
n 1000 2000 3000 5000 10 000TRSM ftrsm
dtrsm 1,66 1,33 1,24 1,12 1,01LQUP lqup
dgetrf 2,00 1,56 1,43 1,18 1,07INVERSE inverse
dgetrf+dgetri 1.62 1.32 1.15 0.86 0.76
Polynôme caractéristique:n 500 5000 15 000
LinBox 0.91s 4m44s 2h20mmagma-2.13 1.27s 15m32s 7h28m
![Page 49: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/49.jpg)
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
![Page 50: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/50.jpg)
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)
![Page 51: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/51.jpg)
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)
![Page 52: Calcul intensif, algèbre linéaire exacte et applications · Arithmetique GMP, MPFR, Givaro, MPFI Algèbre commutative PolyBoRi, SINGULAR (libSINGULAR) Algèbre linéaire LinBox,](https://reader030.vdocument.in/reader030/viewer/2022040914/5e8a7fe92f5ee33475557d1d/html5/thumbnails/52.jpg)
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...