LinBox : une bibliothe que ge ne rique pour l alge bre line aire exacte

Documents pareils
Polynômes à plusieurs variables. Résultant

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

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

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Rappels sur les suites - Algorithme

FONDEMENTS DES MATHÉMATIQUES

Exemple d implantation de fonction mathématique sur ST240

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

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

Introduction à l étude des Corps Finis

Limitations of the Playstation 3 for High Performance Cluster Computing

Fonction inverse Fonctions homographiques

Quelques tests de primalité

Corrigé des TD 1 à 5

Rencontre sur la thématique du Calcul Haute Performance - 13 juin Better Match, Faster Innovation

Conversion d un entier. Méthode par soustraction

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

Exercices de dénombrement

Réalisabilité et extraction de programmes

Chapitre 10 Arithmétique réelle

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

ISFA INSTITUT DE SCIENCE FINANCIÈRE ET D ASSURANCES GRANDE ÉCOLE D ACTUARIAT ET DE GESTION DES RISQUES

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

Présentation du PL/SQL

Représentation des Nombres

Cours d analyse numérique SMI-S4

Continuité en un point

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies


DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

Les formations de remise à niveau(!) l'entrée des licences scientifiques. Patrick Frétigné CIIU

Développement spécifique d'un système d information

Outils pour les réseaux de neurones et contenu du CD-Rom

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

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

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Informatique Générale

Raisonnement par récurrence Suites numériques

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

Secrétariat du Grand Conseil PL 9487-A

Optimisation, traitement d image et éclipse de Soleil

ALGORITHMIQUE ET PROGRAMMATION En C

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

Cours de Génie Logiciel

Programmation linéaire

Educ lab by MICM Lab avec

Linux embarqué: une alternative à Windows CE?

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

Architecture des calculateurs

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

Probabilités sur un univers fini

Chimie et physique informatiques

Cours 7 : Utilisation de modules sous python

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Le Master Mathématiques et Applications

Les équations différentielles

Bases de données documentaires et distribuées Cours NFE04

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

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

Modèle Entité/Association

Baccalauréat universitaire (bachelor) en mathématiques et sciences informatiques

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Monitoring THPE. Soutien au projet. Présentation du projet

1 Recherche en table par balayage

Chapitre 2. Matrices

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Maple: premiers calculs et premières applications

Un site web collaboratif avec Drupal. Judith Hannoun - Journées INSHS 16 Octobre 2012

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Solution logicielle pour le pilotage et l ERM. Journées d études IARD 26 mars mars 2010

Monitoring continu et gestion optimale des performances énergétiques des bâtiments

L olivier Assurances Licence 3 Econométrie Lyon II

ASR1 TD7 : Un microprocesseur RISC 16 bits

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

Introduction à MATLAB R

Plan du cours. Historique du langage Nouveautés de Java 7

Structures algébriques

Feuille d exercices 2 : Espaces probabilisés

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Programmation linéaire et Optimisation. Didier Smets

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

Analyse des trajectoires acceptables en approche de virage assistance aux conducteurs

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

MATHÉMATIQUES EN PREMIER CYCLE PRÉSENTATION DU PROGRAMME

Architecture des ordinateurs

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Correction de l examen de la première session

Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP

ITIL V3. Objectifs et principes-clés de la conception des services

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

Figure 3.1- Lancement du Gambit

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Physique quantique et physique statistique

Les services de la PLM Mathrice. Et quelques outils de web-conférence

MATHÉMATIQUES. Les préalables pour l algèbre MAT-P020-1 DÉFINITION DU DOMAINE D EXAMEN

Cours d initiation à la programmation en C++ Johann Cuenin

Leçon N 4 : Statistiques à deux variables

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

Transcription:

LinBox : une bibliothe que ge ne rique pour l alge bre line aire exacte Pascal Giorgi Laboratoire LIP - E cole Normale Supe rieure de Lyon LIP - ENS Lyon - CNRS ECOLE NORMALE SUPERIEURE DE LYON - INRIA - UCBL

Projet LinBox Projet international USA-Canada-France, fincancement NSF/CNRS 31 chercheurs = algébre linéaire exacte Site web: www.linalg.org Bibliothèque générique C++, licence GPL, (80000 lignes de code) Principaux développements: - algorithmes (rang, systémes linéaire,...) - matrices (boîtes noires, conteneurs) - domaines de calcul (corps finis, entiers, rationnels) - généricité (plug&play) P. Giorgi 2

Multiplication de matrices sur un corps finis Opération hybride (exacte-numérique): Approche FFLAS package [Dumas-Gautier-Pernet 2002] conversions éléments flottants opération numérique (BLAS) conversions flottants éléments Interêt: Minimise le nombre de réductions modulaires Avantage des routines numériques BLAS (bloc, optimisation de cache) 67.58s pour une multiplication d ordre 5000 sur GF(101) LinBox: domaine générique au travers d une interface matrice BLAS P. Giorgi 3

Algorithmes sur les corps finis P. Giorgi 4

Algèbre linéaire 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é O(n ω )) [Strassen 1969]: inversion, systèmes linéaires, determinant [Bunch-Hopcroft 1974]: extension aux matrices non génériques [Ibarra-Moran-Hui 1982]: cas singulier: rang, noyau Cas creux [Wiedemann 1986], systémes linéaires en O(n 2 ), probabiliste P. Giorgi 5

Méthode à base d élimination Elimination de Gauss simplification de la matrice Gauss Décomposition LUP Algorithme de décomposition LSP [Ibarra-Moran-Hui 1982] { multiplication matrices Algorithme par bloc en O(n ω ) = résolution systèmes triangulaires - pivot = matrice triangulaire - elimination = multiplication et addition matrices P. Giorgi 6

Implantation via les bibliothèques numériques BLAS Multiplication matrice: FFLAS package Systèmes linéaires triangulaires: algorithme bloc récursif Résolution hybride (exacte-numérique): recursif solution représentable exactement sur les flottants résolution numérique via BLAS et conversion FFPACK package [Dumas-Giorgi-Pernet 2004] implantation efficace (en-place) LSP/LQUP Intégration à LinBox (interface avec Maple) P. Giorgi 7

Décomposition LQUP sur GF(101) Performance FFPACK package 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é arithmétique 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é arithmétique pour ω = 3: Inverse = 4/3 * Multiplication matrices P. Giorgi 8

Systèmes linéaires 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ée: 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 P. Giorgi 9

calcul itératif des chiffres p-adiques : systèmes linéaire 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 [i] p k choisit assez grand (Cramer, Hadamard) P. Giorgi 10

implantation dans LinBox définition d interface pour l approximation (conteneur/itérateur) Résolution des systèmes sur Z p via : méthode d élimination (Decomposition LSP) méthode de Krylov (Wiedemann) optimisations : utilisation maximale: FFLAS et FFPACK construction approximation: pas de bébé / pas de géant reconstruction rationnelle: seulement les facteurs inconnus Comparaison avec la bibliothèque NTL P. Giorgi 11

Performances: méthode d elimination Systèmes 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èmes 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 P. Giorgi 12

conclusion LinBox: Utilisation des routines numérique est efficace Plug-ins (BLAS, Maple) Implantations efficaces (corps finis, entiers) P. Giorgi 13

Perspectives Développer: outils pour les entiers (interface d anneaux, CRT) Implanter: systèmes linéaires diophantiens (idée [Giesbrecht 1997]) Généraliser: interaction entre logiciels de calcul formel (ROXANE,Maple) Questions: Algorithme pour matrices creuses sur Z en O (n 2 ) Système linéaire singulier: sans calcul de rang? P. Giorgi 14