Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
10 mai 2005
Symbolic Computation Group, School of Computer Science, University of Waterloo, Canada
S´ eminaire CALFOR,
LIP6 - Universit´ e Pierre et Marie Curie, Paris VI
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Symbolic Computation Group, School of Computer Science, University of Waterloo, Canada
10 mai 2005
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Motivations
L’alg` ebre lin´ eaire exacte est un outil de calcul r´ epandu.
Applications en calcul formel :
I bases de Gr¨ obner [Faug` ere LIP6] , rang, triangularisation
I cryptographie [Thom´ e 2003] ,
syst` emes lin´ eaires creux (1.033.593 × 766.150)
I combinatoire, topologie alg´ ebrique [Dumas 2000] , forme de Smith (376.320 × 117.600)
I programmation lin´ eaire [contact EDF] ,
syst` emes lin´ eaires diophantiens (50.000 × 50.000)
I ...
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Diversit´ e des probl` emes
A = 2 6 4
−289 236 79 −268
108 −33 −211 309
−489 104 −24 −25
308 99 −108 66
3 7 5 , b =
2 6 4
−131 321 147 43
3 7 5 .
solution sur Z 1009 solution sur Q solution sur Z
x = 2 6 6 6 4
593 313 130 187
3 7 7 7 5
, x =
2 6 6 6 6 6 6 6 4
−9591197817 95078 131244
47539 2909895
665546 2909895
665546 3 7 7 7 7 7 7 7 5
, x =
2 6 6 6 4
−106495695463
−2208888459779
−4204431397194
−3069666048124 3 7 7 7 5
A peut ˆ etre creuse (seulement O(n) ´ el´ ements non nuls) probl` eme d’optimisation (emploi du temps) 3202 × 4048, ≈ 19000 coeff. non nuls.
Aujourd’hui, il existe des algorithmes efficaces pour r´ esoudre certains
probl` emes d’alg` ebre lin´ eaire exacte
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Diversit´ e des probl` emes
A = 2 6 4
−289 236 79 −268
108 −33 −211 309
−489 104 −24 −25
308 99 −108 66
3 7 5 , b =
2 6 4
−131 321 147 43
3 7 5 .
solution sur Z 1009
solution sur Q solution sur Z
x = 2 6 6 6 4
593 313 130 187
3 7 7 7 5 ,
x = 2 6 6 6 6 6 6 6 4
−9591197817 95078 131244
47539 2909895
665546 2909895
665546 3 7 7 7 7 7 7 7 5
, x =
2 6 6 6 4
−106495695463
−2208888459779
−4204431397194
−3069666048124 3 7 7 7 5
A peut ˆ etre creuse (seulement O(n) ´ el´ ements non nuls) probl` eme d’optimisation (emploi du temps) 3202 × 4048, ≈ 19000 coeff. non nuls.
Aujourd’hui, il existe des algorithmes efficaces pour r´ esoudre certains
probl` emes d’alg` ebre lin´ eaire exacte
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Diversit´ e des probl` emes
A = 2 6 4
−289 236 79 −268
108 −33 −211 309
−489 104 −24 −25
308 99 −108 66
3 7 5 , b =
2 6 4
−131 321 147 43
3 7 5 .
solution sur Z 1009 solution sur Q
solution sur Z
x = 2 6 6 6 4
593 313 130 187
3 7 7 7 5
, x =
2 6 6 6 6 6 6 6 4
−9591197817 95078 131244
47539 2909895
665546 2909895
665546 3 7 7 7 7 7 7 7 5 ,
x = 2 6 6 6 4
−106495695463
−2208888459779
−4204431397194
−3069666048124 3 7 7 7 5
A peut ˆ etre creuse (seulement O(n) ´ el´ ements non nuls) probl` eme d’optimisation (emploi du temps) 3202 × 4048, ≈ 19000 coeff. non nuls.
Aujourd’hui, il existe des algorithmes efficaces pour r´ esoudre certains
probl` emes d’alg` ebre lin´ eaire exacte
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Diversit´ e des probl` emes
A = 2 6 4
−289 236 79 −268
108 −33 −211 309
−489 104 −24 −25
308 99 −108 66
3 7 5 , b =
2 6 4
−131 321 147 43
3 7 5 .
solution sur Z 1009 solution sur Q solution sur Z
x = 2 6 6 6 4
593 313 130 187
3 7 7 7 5
, x =
2 6 6 6 6 6 6 6 4
−9591197817 95078 131244
47539 2909895
665546 2909895
665546 3 7 7 7 7 7 7 7 5
, x =
2 6 6 6 4
−106495695463
−2208888459779
−4204431397194
−3069666048124 3 7 7 7 5
A peut ˆ etre creuse (seulement O(n) ´ el´ ements non nuls) probl` eme d’optimisation (emploi du temps) 3202 × 4048, ≈ 19000 coeff. non nuls.
Aujourd’hui, il existe des algorithmes efficaces pour r´ esoudre certains
probl` emes d’alg` ebre lin´ eaire exacte
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Diversit´ e des probl` emes
A = 2 6 4
−289 236 79 −268
108 −33 −211 309
−489 104 −24 −25
308 99 −108 66
3 7 5 , b =
2 6 4
−131 321 147 43
3 7 5 .
solution sur Z 1009 solution sur Q solution sur Z
x = 2 6 6 6 4
593 313 130 187
3 7 7 7 5
, x =
2 6 6 6 6 6 6 6 4
−9591197817 95078 131244
47539 2909895
665546 2909895
665546 3 7 7 7 7 7 7 7 5
, x =
2 6 6 6 4
−106495695463
−2208888459779
−4204431397194
−3069666048124 3 7 7 7 5
A peut ˆ etre creuse (seulement O(n) ´ el´ ements non nuls) probl` eme d’optimisation (emploi du temps) 3202 × 4048, ≈ 19000 coeff. non nuls.
Aujourd’hui, il existe des algorithmes efficaces pour r´ esoudre certains
probl` emes d’alg` ebre lin´ eaire exacte
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Diversit´ e des probl` emes
A = 2 6 4
−289 236 79 −268
108 −33 −211 309
−489 104 −24 −25
308 99 −108 66
3 7 5 , b =
2 6 4
−131 321 147 43
3 7 5 .
solution sur Z 1009 solution sur Q solution sur Z
x = 2 6 6 6 4
593 313 130 187
3 7 7 7 5
, x =
2 6 6 6 6 6 6 6 4
−9591197817 95078 131244
47539 2909895
665546 2909895
665546 3 7 7 7 7 7 7 7 5
, x =
2 6 6 6 4
−106495695463
−2208888459779
−4204431397194
−3069666048124 3 7 7 7 5
A peut ˆ etre creuse (seulement O(n) ´ el´ ements non nuls) probl` eme d’optimisation (emploi du temps) 3202 × 4048, ≈ 19000 coeff. non nuls.
Aujourd’hui, il existe des algorithmes efficaces pour r´ esoudre certains
probl` emes d’alg` ebre lin´ eaire exacte
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
De r´ eelles attentes...
Les gains algorithmiques r´ ecents sont importants (gains lin´ eaires, algorithmes optimaux).
Des logiciels g´ en´ eralistes comme maple ou mathematica ne sont plus dominants.
Existence de biblioth` eques sp´ ecialis´ ees tr` es performantes :
I gmp : arithm´ etiques multipr´ ecisions (entiers, rationnels, flottants).
I ntl : arithm´ etiques des polynˆ omes, des corps finis.
I blas / lapack : alg` ebre lin´ eaire num´ erique.
algorithmes r´ ecents + biblioth` eques de calcul sp´ ecialis´ ees
⇒ calcul en alg` ebre lin´ eaire exacte de hautes performances.
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
De r´ eelles attentes...
Les gains algorithmiques r´ ecents sont importants (gains lin´ eaires, algorithmes optimaux).
Des logiciels g´ en´ eralistes comme maple ou mathematica ne sont plus dominants.
Existence de biblioth` eques sp´ ecialis´ ees tr` es performantes :
I gmp : arithm´ etiques multipr´ ecisions (entiers, rationnels, flottants).
I ntl : arithm´ etiques des polynˆ omes, des corps finis.
I blas / lapack : alg` ebre lin´ eaire num´ erique.
algorithmes r´ ecents + biblioth` eques de calcul sp´ ecialis´ ees
⇒ calcul en alg` ebre lin´ eaire exacte de hautes performances.
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Questions
Comment d´ evelopper une biblioth` eque de calcul de hautes performances en alg` ebre lin´ eaire exacte ?
Comment b´ en´ eficier des performances de biblioth` eques sp´ ecialis´ ees comme gmp , ntl ou blas ?
Quelle strat´ egie adopter pour profiter au mieux des ´ evolutions
futures dans le domaine ?
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Plan de l’expos´ e
Projet linbox
Alg` ebre lin´ eaire dense sur un corps fini r´ eduction au produit de matrices paquetages fflas - ffpack performances
Syst` emes lin´ eaires diophantiens interface linbox pour la r´ esolution performances pour des syst` emes denses.
Calcul du d´ eterminant de matrices enti` eres
r´ eduction au produit de matrices
Implantation et performances
Conclusion et perspectives
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
linbox en d´ etails
Projet international Canada-France-USA (NSF/CNRS).
I depuis 1997, 33 chercheurs = ⇒ alg` ebre lin´ eaire exacte
I biblioth` eque C++, licence GPL, 100.000 lignes de code, version d´ eveloppement 0.2.1 (avril 2005)
I site web : www.linalg.org Principaux d´ eveloppements :
I algorithmes (syst` emes lin´ eaires, formes normales, ...),
I matrices (boˆıtes noires, conteneurs),
I domaines de calcul (corps finis, entiers, rationnels),
I g´ en´ ericit´ e (plug&play).
Nos travaux :
recherche et implantation d’algorithmes,
d´ eveloppement, validation et maintenance de la biblioth` eque.
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Solutions algorithmiques dans linbox
Sur les corps finis,
I Gauss par blocs (d´ eterministe) :
triangularisation, d´ eterminant, rang, inverse, syst` emes lin´ eaires, polynˆ omes minimal et caract´ eristique
I Elimination creuse (d´ ´ eterministe) : triangularisation, rang
I Krylov/Wiedemann [blocs], Lanczos [blocs] (probabliliste) : syst` emes lin´ eaires, polynˆ ome minimal, d´ eterminant, rang
Sur les entiers,
I Th´ eor` eme des restes chinois
I Forme de Smith
I Syst` emes lin´ eaires :
solutions rationnelles, diophantiennes ;
certificat d’inconsistance, minimalit´ e.
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Projet linbox
Alg` ebre lin´ eaire dense sur un corps fini r´ eduction au produit de matrices paquetages fflas - ffpack performances
Syst` emes lin´ eaires diophantiens interface linbox pour la r´ esolution performances pour des syst` emes denses.
Calcul du d´ eterminant de matrices enti` eres
r´ eduction au produit de matrices
Implantation et performances
Conclusion et perspectives
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Algorithmique
Depuis 1969, multiplication de matrices d’ordre n en moins de O(n 3 ) op´ erations arithm´ etiques.
[Strassen 1969] : O(n 2.81 ).
...
[Coppersmith-Winograd 1990] : O(n 2.37 )
Les meilleurs algorithmes se r´ eduisent ` a la multiplication de matrices (complexit´ e O(n ω )).
I inversion, syst` emes lin´ eaires, d´ eterminant [Strassen 1969]
I extension aux matrices non g´ en´ eriques [Bunch-Hopcroft 1974]
I matrices singuli` eres : lqup , rang, noyau [Ibarra-Moran-Hui 1982]
la multiplication de matrices est une op´ eration centrale
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Algorithmique
Depuis 1969, multiplication de matrices d’ordre n en moins de O(n 3 ) op´ erations arithm´ etiques.
[Strassen 1969] : O(n 2.81 ).
...
[Coppersmith-Winograd 1990] : O(n 2.37 )
Les meilleurs algorithmes se r´ eduisent ` a la multiplication de matrices (complexit´ e O(n ω )).
I inversion, syst` emes lin´ eaires, d´ eterminant [Strassen 1969]
I extension aux matrices non g´ en´ eriques [Bunch-Hopcroft 1974]
I matrices singuli` eres : lqup , rang, noyau [Ibarra-Moran-Hui 1982]
la multiplication de matrices est une op´ eration centrale
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Biblioth` eques blas
Calculs num´ eriques pour les op´ erations de base en alg` ebre lin´ eaire
I produit matrice-vecteur,
I r´ esolution de syst` emes lin´ eaires triangulaires,
I produit de matrices,
I ...
Collection de routines Fortran/C optimis´ ees.
tire partie de la hierarchisation m´ emoire des processeurs.
→ implantations tr` es performantes
Est-il possible de r´ eutiliser efficacement les routines blas pour des
calculs sur les corps finis ?
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Biblioth` eques blas
Calculs num´ eriques pour les op´ erations de base en alg` ebre lin´ eaire
I produit matrice-vecteur,
I r´ esolution de syst` emes lin´ eaires triangulaires,
I produit de matrices,
I ...
Collection de routines Fortran/C optimis´ ees.
tire partie de la hierarchisation m´ emoire des processeurs.
→ implantations tr` es performantes
Est-il possible de r´ eutiliser efficacement les routines blas pour des
calculs sur les corps finis ?
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Multiplication de matrices sur un corps finis
Multiplication de matrices sur Z p [Dumas-Gautier-Pernet 2002]
le calcul num´ erique doit rester exact : n(p − 1) 2 < 2 53
• conversion corps premier ⇒ nombres flottants (double)
• multiplication blas (routine dgemm)
• conversion nombres flottants ⇒ corps premier
Am´ elioration :
corps premiers en nombres flottants ( Modular<double> )
⇒ 69s pour des matrices d’ordre 5000 sur Z 101
temps de calcul tr` es proches de ceux de la biblioth` eque blas .
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Multiplication de matrices sur un corps finis
Multiplication de matrices sur Z p [Dumas-Gautier-Pernet 2002]
le calcul num´ erique doit rester exact : n(p − 1) 2 < 2 53
• conversion corps premier ⇒ nombres flottants (double)
• multiplication blas (routine dgemm)
• r´ eduction modulo
Am´ elioration :
corps premiers en nombres flottants ( Modular<double> )
⇒ 69s pour des matrices d’ordre 5000 sur Z 101
temps de calcul tr` es proches de ceux de la biblioth` eque blas .
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Syst` emes lin´ eaires triangulaires matriciels
Etant donn´ ´ ees A, B ∈ Z n×n p , A triangulaire.
Calculer X ∈ Z n×n p tel que AX = B.
Conditions d’utilision des blas sur Z p :
I les divisions doivent ˆ etre exactes.
I aucun d´ epassement de capacit´ e (max= 53 bits).
I utilisation limit´ ee (e.g. p = 2 → n ≤ 55).
Solution :
algorithme r´ ecursif par blocs + seuil de changement
⇒ diminution des dimensions , produit de matrices Deux b´ en´ efices apport´ es par la biblioth` eque blas :
produit de matrices → appels r´ ecursifs
r´ esolution num´ erique → derniers niveaux r´ ecursifs
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Syst` emes lin´ eaires triangulaires matriciels
Etant donn´ ´ ees A, B ∈ Z n×n p , A triangulaire.
Calculer X ∈ Z n×n p tel que AX = B.
Conditions d’utilision des blas sur Z p :
I les divisions doivent ˆ etre exactes.
I aucun d´ epassement de capacit´ e (max= 53 bits).
I utilisation limit´ ee (e.g. p = 2 → n ≤ 55).
Solution :
algorithme r´ ecursif par blocs + seuil de changement
⇒ diminution des dimensions , produit de matrices Deux b´ en´ efices apport´ es par la biblioth` eque blas :
produit de matrices → appels r´ ecursifs
r´ esolution num´ erique → derniers niveaux r´ ecursifs
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Implantations fflas - ffpack 1
Collaboration avec J-G. Dumas et C. Pernet (LMC-IMAG)
dépendance implantation bibliothèque BLAS
LQUP/LSP
RANG DETERMINANT INVERSE
FFPACK FFLAS
FGEMV FTRSV
FGEMM FTRSM FTRMM
I routines C++ g´ en´ eriques (corps finis).
I interface ` a la blas (tableau de donn´ ees, stride).
I minimisation espace m´ emoire (calcul en place).
I d´ ependances aux blas et au produit de matrices fgemm.
am´ eliorations blas et fgemm ⇒ meilleures routines
1 J.-G. Dumas, P. Giorgi and C. Pernet. FFPACK : Finite Field Linear Algebra
Package. In Proceedings of the 2004 International Symposium on Symbolic and Algebraic
Computation, ACM Press New York.
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Implantations fflas - ffpack 1
Collaboration avec J-G. Dumas et C. Pernet (LMC-IMAG)
dépendance implantation bibliothèque BLAS
LQUP/LSP
RANG DETERMINANT INVERSE
FFPACK FFLAS
FGEMV FTRSV
FGEMM FTRSM FTRMM
I routines C++ g´ en´ eriques (corps finis).
I interface ` a la blas (tableau de donn´ ees, stride).
I minimisation espace m´ emoire (calcul en place).
I d´ ependances aux blas et au produit de matrices fgemm.
am´ eliorations blas et fgemm ⇒ meilleures routines
1 J.-G. Dumas, P. Giorgi and C. Pernet. FFPACK : Finite Field Linear Algebra
Package. In Proceedings of the 2004 International Symposium on Symbolic and Algebraic
Computation, ACM Press New York.
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Exemple : code pour l’inversion
Inverse(A) :
d´ ecomposer A = LUP;
calculer T = L −1 ; r´ esoudre UX = T ; retourner XP t ;
template <class Field>
static typename Field::Element*
Invert(const Field &F, const size t N,
typename Field::Element * A, const size t lda, typename Field::Element * X, const size t ldx, int &nullity)
{
typename Field::Element one ; F.init(one,1) ;
size t *P = new size t[N] ; size t *Q = new size t[N] ;
nullity = N - LUdivine(F, FflasNonUnit, N, N, A, lda, P, FflapackLQUP, Q) ; delete[] Q ;
if (nullity > 0) return NULL ; else {
invL(F, N, A, lda, X, ldx) ;
ftrsm(F, FflasLeft, FflasUpper, FflasNoTrans, FflasNonUnit, N, N, one, A, lda , X, ldx) ; applyP(F, FflasLeft, FflasTrans, N, 0, N, X, ldx, P) ;
delete[] P ;
return X ;
}
}
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Une interface d´ edi´ ee aux non experts...
BlasDomain BlasMatrix
FFLAS BLAS FFPACK LQUPMatrix
données triangularisation
calculs
est utilisé par gestion
Field F(p) ;
BlasMatrix<Field::Element> A(n,n), B(n,n), X(n,n) ;
TriangularBlasMatrix<Field::Element> L(n,n,BlasTag::low,BlasTag::unit) ; std::vector<Field::Element> b(n), x(n) ;
...
BlasMatrixDomain<Field> BMD(F) ; BMD.left solve(X,A,B) ; // AX=B BMD.left solve(x,A,b) ; // Ax=b BMD.left solve(X,L,B) ; // LX=B BMD.left solve(x,L,b) ; // Lx=b
BMD.right solve(X,A,B) ; // XA=B BMD.right solve(x,A,b) ; // xA=b BMD.right solve(X,L,B) ; // XL=B BMD.right solve(x,L,b) ; // xL=b BMD.mul(X,A,B) ; // X=A*B
BMD.mul(x,A,b) ; // x=A*b BMD.mul(X,L,B) ; // X=L*B int r = BMD.rank(A) ; int r = BMD.rankin(A) ; Element d = BMD.det(A) ; Element d = BMD.detin(A) ;
// r=rang(A)
// r=rang(A), calcul en place // d=d´ eterminant(A)
// d=d´ eterminant(A), calcul en place
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Projet linbox
Alg` ebre lin´ eaire dense sur un corps fini r´ eduction au produit de matrices paquetages fflas - ffpack performances
Syst` emes lin´ eaires diophantiens interface linbox pour la r´ esolution performances pour des syst` emes denses.
Calcul du d´ eterminant de matrices enti` eres
r´ eduction au produit de matrices
Implantation et performances
Conclusion et perspectives
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Performances (Pentium Xeon-2.66 Ghz, 1Go RAM)
FFLAS/FFPACK BLAS/LAPACK
101 multiplication
factorisation LU inversion multiplication
factorisation LU inversion
Comparaisons routines numériques / routines exactes Z
0 20 40 60
Temps en secondes
120 100 80
Dimension des matrices
1000 2000 3000 4000 5000
0
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Performances (Pentium Xeon-2.66 Ghz, 1Go RAM)
n = 400 surcoût 19%
surcoût n = 1000 surcoût 10%
n = 700 14%
n = 2000 surcoût 0%
n = 3000 surcoût 0%
n = 5000 surcoût 0%
FFLAS/FFPACK BLAS/LAPACK
101
0 20 40 60
Temps en secondes
120 100 80
Dimension des matrices
1000 2000 3000 4000 5000
Comparaisons routines numériques / routines exactes Z
0
multiplication
multiplication
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Performances (Pentium Xeon-2.66 Ghz, 1Go RAM)
BLAS/LAPACK FFLAS/FFPACK
n= 400 surcoût 134%
n = 700 surcoût 86%
n = 1000 surcoût
75% n = 2000
surcoût 50%
n = 3000 surcoût
37% n = 5000
surcoût 31%
101
0 20 40 60
Temps en secondes
120 100 80
Dimension des matrices
1000 2000 3000 4000 5000
Comparaisons routines numériques / routines exactes Z
0
factorisation LU factorisation LU
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Performances (Pentium Xeon-2.66 Ghz, 1Go RAM)
BLAS/LAPACK FFLAS/FFPACK
n= 400 surcoût
n = 700 surcoût
n = 1000 surcoût
n = 2000 surcoût
n = 3000 surcoût
58%
52%
31%
18%
122%
101
−20%
n = 5000
0 20 40 60
Temps en secondes
120 100 80
Dimension des matrices
1000 2000 3000 4000 5000
Comparaisons routines numériques / routines exactes Z
0
inversion inversion
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Comportement pratique des r´ eductions th´ eoriques
• coˆ ut th´ eorique LQUP/produit matrices (ω = 3)⇒ 1/3
n 400 700 1000 2000 3000 5000
LQUP 0.04s 0.20s 0.49s 2.85s 8.22s 34.13s fgemm 0.04s 0.24s 0.66s 4.44s 14.96s 69.19s
Ratio 1 0.83 0.74 0.64 0.55 0.49
• coˆ ut th´ eorique inversion/produit matrices (ω = 3) ⇒ 1
n 400 700 1000 2000 3000 5000
inv. 0.14s 0.53s 1.34s 7.93s 22.94s 95.19s fgemm 0.04s 0.24s 0.66s 4.44s 14.96s 69.19s
Ratio 3.5 2.2 2.03 1.78 1.53 1.37
Les ratios pratiques tendent vers les ratios th´ eoriques.
linbox : calcul de hautes performances...
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Comportement pratique des r´ eductions th´ eoriques
• coˆ ut th´ eorique LQUP/produit matrices (ω = 3)⇒ 1/3
n 400 700 1000 2000 3000 5000
LQUP 0.04s 0.20s 0.49s 2.85s 8.22s 34.13s fgemm 0.04s 0.24s 0.66s 4.44s 14.96s 69.19s
Ratio 1 0.83 0.74 0.64 0.55 0.49
• coˆ ut th´ eorique inversion/produit matrices (ω = 3) ⇒ 1
n 400 700 1000 2000 3000 5000
inv. 0.14s 0.53s 1.34s 7.93s 22.94s 95.19s fgemm 0.04s 0.24s 0.66s 4.44s 14.96s 69.19s
Ratio 3.5 2.2 2.03 1.78 1.53 1.37
Les ratios pratiques tendent vers les ratios th´ eoriques.
linbox : calcul de hautes performances...
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Projet linbox
Alg` ebre lin´ eaire dense sur un corps fini r´ eduction au produit de matrices paquetages fflas - ffpack performances
Syst` emes lin´ eaires diophantiens interface linbox pour la r´ esolution performances pour des syst` emes denses.
Calcul du d´ eterminant de matrices enti` eres
r´ eduction au produit de matrices
Implantation et performances
Conclusion et perspectives
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Motivations
Probl` eme repr´ esentatif de l’alg` ebre lin´ eaire exacte :
I plusieurs niveaux de calcul (corps finis, entiers, rationnels),
I plusieurs m´ ethodes suivant le type du syst` eme (dense, structur´ e, creux),
I gestion de la singularit´ e des matrices, test d’inconsistance,
I approches probabilistes et nombreuses heuristiques de calcul.
⇒ Validation des briques de base d´ evelopp´ ees dans linbox .
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Motivations
Probl` eme repr´ esentatif de l’alg` ebre lin´ eaire exacte :
I plusieurs niveaux de calcul (corps finis, entiers, rationnels),
I plusieurs m´ ethodes suivant le type du syst` eme (dense, structur´ e, creux),
I gestion de la singularit´ e des matrices, test d’inconsistance,
I approches probabilistes et nombreuses heuristiques de calcul.
⇒ Validation des briques de base d´ evelopp´ ees dans linbox .
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Probl` eme
Etant donn´ ´ es A ∈ Z m×n , b ∈ Z m .
I trouver x ∈ Z n tel que Ax = b,
I certifier qu’il n’existe pas de solution diophantienne.
• Approche classique : formes normales (Smith ou Hermite)
pas satisfaisante ≈ n 4 op´ erations binaires.
solutions rationnelles en ≈ n 3 log n [Dixon 1982, Wiedemann 1986]
• Approche probabiliste ≈ (n 3 log n) × log n [Giesbrecht 1997]
⇒ combiner des solutions rationnelles
De nombreuses ´ etudes algorithmiques :
[Giesbrecht, Lobo, Mulders, Saunders, Storjohann 1997-2004]
, → syst` emes creux/denses, inconsistance sur Z , solution minimale
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Probl` eme
Etant donn´ ´ es A ∈ Z m×n , b ∈ Z m .
I trouver x ∈ Z n tel que Ax = b,
I certifier qu’il n’existe pas de solution diophantienne.
• Approche classique : formes normales (Smith ou Hermite) pas satisfaisante ≈ n 4 op´ erations binaires.
solutions rationnelles en ≈ n 3 log n [Dixon 1982, Wiedemann 1986]
• Approche probabiliste ≈ (n 3 log n) × log n [Giesbrecht 1997]
⇒ combiner des solutions rationnelles
De nombreuses ´ etudes algorithmiques :
[Giesbrecht, Lobo, Mulders, Saunders, Storjohann 1997-2004]
, → syst` emes creux/denses, inconsistance sur Z , solution minimale
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Probl` eme
Etant donn´ ´ es A ∈ Z m×n , b ∈ Z m .
I trouver x ∈ Z n tel que Ax = b,
I certifier qu’il n’existe pas de solution diophantienne.
• Approche classique : formes normales (Smith ou Hermite) pas satisfaisante ≈ n 4 op´ erations binaires.
solutions rationnelles en ≈ n 3 log n [Dixon 1982, Wiedemann 1986]
• Approche probabiliste ≈ (n 3 log n) × log n [Giesbrecht 1997]
⇒ combiner des solutions rationnelles
De nombreuses ´ etudes algorithmiques :
[Giesbrecht, Lobo, Mulders, Saunders, Storjohann 1997-2004]
, → syst` emes creux/denses, inconsistance sur Z , solution minimale
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Probl` eme
Etant donn´ ´ es A ∈ Z m×n , b ∈ Z m .
I trouver x ∈ Z n tel que Ax = b,
I certifier qu’il n’existe pas de solution diophantienne.
• Approche classique : formes normales (Smith ou Hermite) pas satisfaisante ≈ n 4 op´ erations binaires.
solutions rationnelles en ≈ n 3 log n [Dixon 1982, Wiedemann 1986]
• Approche probabiliste ≈ (n 3 log n) × log n [Giesbrecht 1997]
⇒ combiner des solutions rationnelles
De nombreuses ´ etudes algorithmiques :
[Giesbrecht, Lobo, Mulders, Saunders, Storjohann 1997-2004]
, → syst` emes creux/denses, inconsistance sur Z , solution minimale
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Combinaisons des solutions rationnelles
A =
» 11 13 4
5 7 9
– , b =
» 7 10
– .
y 1 = 2 4
−27/4 25/4
0 3 5, y 2 =
2 4
2/3
−1/3 1
3
5 deux solutions rationnelles.
x = 4y 1 − 3y 2 = 2 4
−29 26
−3 3
5 est une solution diophantienne.
Utilisation de pgcd sur les d´ enominateurs des solutions. Soient y 1 = y ¯ 1
d 1
, y 2 = y ¯ 2
d 2
avec y ¯ 1 , y ¯ 2 ∈ Z n et d 1 , d 2 ∈ Z . Soit g = pgcd(d 1 ,d 2 ) = sd 1 + td 2 .
Alors
y = sd 1 y ¯ 1 +td g 2 y ¯ 2 est une solution avec un d´ enominateur ≤ g .
→ n´ ecessite des solutions avec des d´ enominateurs diff´ erents
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Combinaisons des solutions rationnelles
A =
» 11 13 4
5 7 9
– , b =
» 7 10
– . y 1 =
2 4
−27/4 25/4
0 3 5, y 2 =
2 4
2/3
−1/3 1
3
5 deux solutions rationnelles.
x = 4y 1 − 3y 2 = 2 4
−29 26
−3 3
5 est une solution diophantienne.
Utilisation de pgcd sur les d´ enominateurs des solutions. Soient y 1 = y ¯ 1
d 1
, y 2 = y ¯ 2
d 2
avec y ¯ 1 , y ¯ 2 ∈ Z n et d 1 , d 2 ∈ Z . Soit g = pgcd(d 1 ,d 2 ) = sd 1 + td 2 .
Alors
y = sd 1 y ¯ 1 +td g 2 y ¯ 2 est une solution avec un d´ enominateur ≤ g .
→ n´ ecessite des solutions avec des d´ enominateurs diff´ erents
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Combinaisons des solutions rationnelles
A =
» 11 13 4
5 7 9
– , b =
» 7 10
– . y 1 =
2 4
−27/4 25/4
0 3 5, y 2 =
2 4
2/3
−1/3 1
3
5 deux solutions rationnelles.
x = 4y 1 − 3y 2 = 2 4
−29 26
−3 3
5 est une solution diophantienne.
Utilisation de pgcd sur les d´ enominateurs des solutions. Soient y 1 = y ¯ 1
d 1
, y 2 = y ¯ 2
d 2
avec y ¯ 1 , y ¯ 2 ∈ Z n et d 1 , d 2 ∈ Z . Soit g = pgcd(d 1 ,d 2 ) = sd 1 + td 2 .
Alors
y = sd 1 y ¯ 1 +td g 2 y ¯ 2 est une solution avec un d´ enominateur ≤ g .
→ n´ ecessite des solutions avec des d´ enominateurs diff´ erents
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Combinaisons des solutions rationnelles
A =
» 11 13 4
5 7 9
– , b =
» 7 10
– . y 1 =
2 4
−27/4 25/4
0 3 5, y 2 =
2 4
2/3
−1/3 1
3
5 deux solutions rationnelles.
x = 4y 1 − 3y 2 = 2 4
−29 26
−3 3
5 est une solution diophantienne.
Utilisation de pgcd sur les d´ enominateurs des solutions.
Soient y 1 = y ¯ 1
d 1
, y 2 = y ¯ 2
d 2
avec y ¯ 1 , y ¯ 2 ∈ Z n et d 1 , d 2 ∈ Z . Soit g = pgcd(d 1 ,d 2 ) = sd 1 + td 2 .
Alors
y = sd 1 y ¯ 1 +td g 2 y ¯ 2 est une solution avec un d´ enominateur ≤ g .
→ n´ ecessite des solutions avec des d´ enominateurs diff´ erents
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Combinaisons des solutions rationnelles
A =
» 11 13 4
5 7 9
– , b =
» 7 10
– . y 1 =
2 4
−27/4 25/4
0 3 5, y 2 =
2 4
2/3
−1/3 1
3
5 deux solutions rationnelles.
x = 4y 1 − 3y 2 = 2 4
−29 26
−3 3
5 est une solution diophantienne.
Utilisation de pgcd sur les d´ enominateurs des solutions.
Soient y 1 = y ¯ 1
d 1
, y 2 = y ¯ 2
d 2
avec y ¯ 1 , y ¯ 2 ∈ Z n et d 1 , d 2 ∈ Z . Soit g = pgcd(d 1 ,d 2 ) = sd 1 + td 2 .
Alors
y = sd 1 y ¯ 1 +td g 2 y ¯ 2 est une solution avec un d´ enominateur ≤ g .
→ n´ ecessite des solutions avec des d´ enominateurs diff´ erents
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
D´ enominateurs et pr´ econditionneurs
Les d´ enominateurs d´ ependent du mineur utilis´ e pour r´ esoudre le syst` eme (on se ram` ene ` a des syst` emes non singuliers).
Utilisation de pr´ econditionneurs al´ eatoires
⇒ changement de sous matrice pour d´ eterminer le mineur Etant donn´ ´ ees P, Q deux matrices ` a coefficients entiers al´ eatoires
PAQx = Pb → Ay = b avec y = Qx Richesse des pr´ econditionneurs [Chen et al. 2002] : approche d´ evelopp´ ee par les membres du projet linbox .
→ application ` a un vecteur ≈ n log n
Toeplitz, r´ eseaux de permutation, diagonales, creuses
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
D´ enominateurs et pr´ econditionneurs
Les d´ enominateurs d´ ependent du mineur utilis´ e pour r´ esoudre le syst` eme (on se ram` ene ` a des syst` emes non singuliers).
Utilisation de pr´ econditionneurs al´ eatoires
⇒ changement de sous matrice pour d´ eterminer le mineur Etant donn´ ´ ees P, Q deux matrices ` a coefficients entiers al´ eatoires
PAQx = Pb → Ay = b avec y = Qx Richesse des pr´ econditionneurs [Chen et al. 2002] : approche d´ evelopp´ ee par les membres du projet linbox .
→ application ` a un vecteur ≈ n log n
Toeplitz, r´ eseaux de permutation, diagonales, creuses
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Projet linbox
Alg` ebre lin´ eaire dense sur un corps fini r´ eduction au produit de matrices paquetages fflas - ffpack performances
Syst` emes lin´ eaires diophantiens interface linbox pour la r´ esolution performances pour des syst` emes denses.
Calcul du d´ eterminant de matrices enti` eres
r´ eduction au produit de matrices
Implantation et performances
Conclusion et perspectives
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Implantation g´ en´ erique
corps finis entiers/rationnels oui
oui non non
système
non singulier système
développement p−adique diophantien
Prod mat/vec Inverse Wiedemann
par blocs scalaire
Krylov méthode
préconditionneur aléatoire solution aléatoire
reconstruction rationnel système
solution dioph.
pas de solution dioph.
consistant? combinaison ok?
Calculs haute performance en alg` ebre lin´ eaire exacte
Pascal Giorgi
Projet linbox Alg` ebre lin´ eaire dense sur un corps fini
r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens
interface linbox performances D´ eterminant
r´ eduction en pratique ? Implantation et performances Conclusion et perspectives
Interface de calcul configurable
Fournir une interface de calcul g´ en´ erique :
I gestion de la singularit´ e, des pr´ econditionneurs,
I abstraction de la m´ ethode de calcul des chiffres p-adiques,
I strat´ egies algorithmiques (Monte Carlo, Las Vegas).