• Aucun résultat trouvé

LinBox : une biblioth`eque g´en´erique pour l’alg`ebre lin´eaire exacte

N/A
N/A
Protected

Academic year: 2022

Partager "LinBox : une biblioth`eque g´en´erique pour l’alg`ebre lin´eaire exacte"

Copied!
14
0
0

Texte intégral

(1)

Pascal Giorgi

Laboratoire LIP - ´ Ecole Normale Sup´erieure de Lyon

LIP - ENS Lyon

ECOLE NORMALE SUPERIEURE DE LYON

- CNRS - INRIA - UCBL

(2)

Projet LinBox

• Projet international USA-Canada-France, fincancement NSF/CNRS 31 chercheurs

= ⇒ alg´ebre lin´eaire exacte

• Site web: www.linalg.org

• Biblioth`eque g´en´erique C++, licence GPL, (80000 lignes de code) Principaux d´ eveloppements:

 

 

 

- algorithmes (rang, syst´emes lin´eaire,...) - matrices (boˆıtes noires, conteneurs)

- domaines de calcul (corps finis, entiers, rationnels)

- g´en´ericit´e (plug&play)

(3)

Multiplication de matrices sur un corps finis

• Op´eration hybride (exacte-num´erique):

Approche FFLAS package [Dumas-Gautier-Pernet 2002]

conversions ´el´ements ⇐⇒ flottants op´eration num´erique (BLAS)

conversions flottants ⇐⇒ ´el´ements

Interˆ et:

Minimise le nombre de r´eductions modulaires

Avantage des routines num´eriques BLAS (bloc, optimisation de cache)

⇒ 67.58s pour une multiplication d’ordre 5000 sur GF(101)

• LinBox: domaine g´en´erique au travers d’une interface matrice BLAS

(4)

Algorithmes sur les corps finis

(5)

Alg`ebre lin´eaire sur un corps

• Depuis 1969, multiplication matrices d’ordre n en moins que O(n

3

)

[Strassen 1969] : O(n

2.81

) ...

• Meilleurs algorithmes = ⇒ multiplication matrices (complexit´e O(n

ω

))

[Strassen 1969] : inversion, syst`emes lin´eaires, determinant

[Bunch-Hopcroft 1974] : extension aux matrices non g´en´eriques

[Ibarra-Moran-Hui 1982] : cas singulier: rang, noyau

• Cas creux

[Wiedemann 1986] , syst´emes lin´eaires en O(n

2

), probabiliste

(6)

M´ethode ` a base d’´elimination

Elimination de Gauss ⇒ simplification de la matrice

• Gauss ⇔ D´ecomposition LUP

• Algorithme de d´ecomposition LSP [Ibarra-Moran-Hui 1982]

• Algorithme par bloc en O(n

ω

) = ⇒

multiplication matrices

r´esolution syst`emes triangulaires - pivot = matrice triangulaire

- elimination = multiplication et addition matrices

(7)

Implantation via les biblioth`eques num´eriques BLAS

• Multiplication matrice:

→ FFLAS package

• Syst`emes lin´eaires triangulaires: algorithme bloc r´ecursif R´esolution hybride (exacte-num´erique):

recursif → solution repr´esentable exactement sur les flottants r´esolution num´erique via BLAS et conversion

FFPACK package [Dumas-Giorgi-Pernet 2004]

→ implantation efficace (en-place) LSP/LQUP

→ Int´egration ` a LinBox (interface avec Maple )

(8)

Performance FFPACK package

• D´ecomposition LQUP sur GF(101)

n 400 700 1000 2000 3000 5000

LQUP 0.05s 0.18s 0.46s 2.80s 7.79s 32.9s

Fgemm 0.04s 0.23s 0.62s 4.28s 14.72s 67.58s Ratio 1.25 0.78 0.74 0.65 0.53 0.48

Complexit´e arithm´etique pour ω = 3: LQUP = 1/3 * Multiplication matrices

• Inversion sur GF(101)

n 400 700 1000 2000 3000 5000

Inv 0.18s 0.70s 1.79s 10.84s 32.33s 139.5s

Fgemm 0.04s 0.23s 0.62s 4.28s 14.72s 67.58s Ratio 4.50 3.04 2.89 2.53 2.20 2.07

Complexit´e arithm´etique pour ω = 3: Inverse = 4/3 * Multiplication matrices

(9)

Syst`emes lin´eaires sur Z

• Algorithme p-adique [Moenck et Carter 1979, Dixon 1982] :

• soient A ∈ Z

n×n

, b ∈ Z

n

trouver x ∈ Q

n

/ Ax = b id´ ee: calculer Ay ≡ b mod p

k+1

, p premier

y = x

[0]

+ x

[1]

p + x

[2]

p

2

+ ... + x

[k]

p

k

• Reconstruction de x ∈ Q

n

: fractions continus y/p

k+1

(10)

• calcul it´eratif des chiffres p-adiques :

→ syst`emes lin´eaire sur Z

p

b [0] ← b

pour i=0,1,2,...k

Ax [i] ≡ b [i] mod p b [i+1]b [i] −A.x p [i]

• k choisit assez grand (Cramer, Hadamard)

(11)

implantation dans LinBox

• d´efinition d’interface pour l’approximation (conteneur/it´erateur)

• R´esolution des syst`emes sur Z

p

via :

m´ethode d’´elimination (Decomposition LSP) m´ethode de Krylov (Wiedemann)

• optimisations :

utilisation maximale: FFLAS et FFPACK

construction approximation: pas de b´eb´e / pas de g´eant reconstruction rationnelle: seulement les facteurs inconnus

• Comparaison avec la biblioth`eque NTL

(12)

Performances: m´ethode d’elimination

• Syst`emes avec coefficients 32bits

n 50 150 350 500 650 1000

LinBox 0.08s 0.96s 7.47s 18.57s 36.65s 115.43s NTL 0.06s 1.92s 24.07s 72.49s 159.88s 688.57s

• Syst`emes avec coefficients 128bits

n 50 150 350 500 650 1000

LinBox 1.67s 18.18s 126.78s 311.56s 602.5s 1870.85s

NTL 0.39s 11.69s 141.86s 448.3s 922.59s 4124.55s

(13)

conclusion

LinBox:

• Utilisation des routines num´erique est efficace

• Plug-ins ( BLAS, Maple )

• Implantations efficaces (corps finis, entiers)

(14)

Perspectives

• D´evelopper: outils pour les entiers (interface d’anneaux, CRT)

• Implanter: syst`emes lin´eaires diophantiens (id´ee [Giesbrecht 1997])

• G´en´eraliser: interaction entre logiciels de calcul formel (ROXANE,Maple)

Questions:

? Algorithme pour matrices creuses sur Z en O˜ (n

2

)

? Syst`eme lin´eaire singulier: sans calcul de rang ?

Références

Documents relatifs

On est parfois amen´ e, pour des raisons de stabilit´ e num´ erique, ` a effectuer des ´ echanges de lignes mˆ eme si le test (3) est n´ egatif (c’est ` a dire que le pivot est

[r]

Si un probl` eme de conduction pure vous semble trop simple, ´ etudiez un probl` eme avec Navier Stokes (partant des exemples NS sur la page de http://www.freefem.org/ff++/) ou

Un peu plus subtile, ne modifie pas b, donc on peut utiliser la même décomposition pour tout vecteur b, donne A-1 et les vecteurs propres.. Gauss Jordan (pivot

En g´en´eral, celui-ci n’est pas connu avec une pr´ecision infinie car il peut y avoir des erreurs de mesures et car la pr´ecision des instruments et de l’ordinateur n’est

Donner les valeurs propres et vecteurs propres de A. On rappelle que la m´ethode QR 1.. consiste `a ´ecrire A sous la forme QR avec Q unitaire et R triangulaire sup´erieure

En principe, r´ esoudre un syst` eme lin´ eaire, c’est montrer qu’il n’a pas de solution, ou alors en exhiber une r´ esolution (en justifiant). En pratique, on applique la m´

c) Montrer que, s’il existe une norme matricielle subordonn´ ee k k telle que kBk < 1, alors la m´ ethode it´ erative ci-dessus est convergente... F ) la matrice triangulaire