ebook img

Arithmetique et algorithmique en algebre lineaire exacte pour la bibliotheque LinBox PDF

206 Pages·2004·1.16 MB·French
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Arithmetique et algorithmique en algebre lineaire exacte pour la bibliotheque LinBox

N◦ d’ordre : 303 N◦ attribu´e par la biblioth`eque : 04ENSL303 ´ ´ ECOLE NORMALE SUPERIEURE DE LYON Laboratoire de l’Informatique du Parall´elisme ` THESE pour obtenir le grade de Docteur de l’E´cole Normale Sup´erieure de Lyon sp´ecialit´e : Informatique au titre de l’´ecole doctorale MathIf pr´esent´ee et soutenue publiquement le 20 d´ecembre 2004 par Pascal Giorgi ´ ` ARITHMETIQUE ET ALGORITHMIQUE EN ALGEBRE ´ ` LINEAIRE EXACTE POUR LA BIBLIOTHEQUE LINBOX Apr`es avis de : M. Bernard Mourrain M. Jean-Louis Roch Devant la commission d’examen form´ee de : M. Bernard Mourrain Membre/Rapporteur M. Yves Robert Membre M. Jean-Louis Roch Membre/Rapporteur M. Bruno Salvy Membre/Pr´esident du jury M. Gilles Villard Membre/Directeur de th`ese N◦ d’ordre : 303 N◦ attribu´e par la biblioth`eque : 04ENSL303 ´ ´ ECOLE NORMALE SUPERIEURE DE LYON Laboratoire de l’Informatique du Parall´elisme ` THESE pour obtenir le grade de Docteur de l’E´cole Normale Sup´erieure de Lyon sp´ecialit´e : Informatique au titre de l’´ecole doctorale MathIf pr´esent´ee et soutenue publiquement le 20 d´ecembre 2004 par Pascal Giorgi ´ ` ARITHMETIQUE ET ALGORITHMIQUE EN ALGEBRE ´ ` LINEAIRE EXACTE POUR LA BIBLIOTHEQUE LINBOX Apr`es avis de : M. Bernard Mourrain M. Jean-Louis Roch Devant la commission d’examen form´ee de : M. Bernard Mourrain Membre/Rapporteur M. Yves Robert Membre M. Jean-Louis Roch Membre/Rapporteur M. Bruno Salvy Membre/Pr´esident du jury M. Gilles Villard Membre/Directeur de th`ese Remerciements En premier lieu, je tiens `a remercier mon directeur de th`ese Gilles Villard sans qui cette th`ese n’aurait jamais pu voir le jour. Je le remercie pour son encadrement, sa disponibilit´e, ses conseils, sa clairvoyance et pour sa g´en´erosit´e aussi bien dans le travail que dans la vie de tous les jours. JeremercieJean-MichelMulleretJean-ClaudeBajardquisont`al’originedemacandidature pour une th`ese `a l’ENS Lyon et qui m’ont permis de m’int´eresser `a la recherche scientifique. Je remercie´egalement Jean-Louis Roch et Bernard Mourrain qui ont accept´e la lourde tˆache de rapporter sur ce manuscrit et qui m’ont fortement encourag´e pour son accomplissement ainsi que pour la poursuite de mes travaux de recherche. Un grand merci `a tout les membres du jury pour l’attention port´ee `a mon travail et pour avoir accepter une date de soutenance aussi proche de no¨el. Je remercie fortement Claude-Pierre Jeannerod, Arnaud Tisserand et Nathalie Revol pour leur soutien au quotidien, leur encouragement et pour toutes les discussions s´erieuses et moins s´erieuses que nous avons pu partager autour d’un bon caf´e. Merci aux autres personnes de l’´equipe Ar´enaire de m’avoir aussi bien acceuilli et sup- port´e pendant ces trois ann´ees : David, Nicolas W, Marc, Florent, Jean-Luc, Catherine, J´eremy, Guillaume, Saurhab, Romain, Sylvie et Nicolas. Je tiens ´egalement `a remercier l’ensemble des membres du projet LinBox sans qui je n’aurai pu d´evelopper l’ensemble des codes disponibles `a l’heure actuelle dans la biblioth`eque. Plus particuli`erement, merci `a Jean-Guillaume et Cl´ement pour notre collaboration autour du projet fflas-ffpack ainsi que pour l’enthousiasme et la bonne humeur que vous m’avez apport´e. Merci aussi `a Erich Kaltofen, Dave Saunders et Mark Giesbrecht pour l’ensemble des visites en Am´erique du nord et un grand merci a Zhendong pour l’ensemble des corrections de bugs. Je remercie ma famille pour leur comprehension et leur soutien sans faille tout au long de ces trois ann´es. Je remercie ´egalement tous mes amis Alex, Mehdi, Chass, Cissou, Bruno, S´ev pour les moment de d´etente que nous avons pass´e ensemble. Enfin, je remercie S´everine pour la patience et la gentillesse dont elle a fait preuve pendant tout ce temps pass´e loin d’elle. i ii Table des mati`eres Introduction 1 1 Organisation et motivation du projet LinBox 7 1.1 Choix du langage C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.1.1 Classes : abstraction, acc`es et hi´erarchisation . . . . . . . . . . . . . . 10 1.1.2 Polymorphisme et g´en´ericit´e . . . . . . . . . . . . . . . . . . . . . . . 13 1.1.3 Sp´ecialisations et caract´erisations . . . . . . . . . . . . . . . . . . . . 16 1.2 Utilisation de biblioth`eques sp´ecialis´ees . . . . . . . . . . . . . . . . . . . . . 18 1.2.1 GMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.2.2 Givaro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.2.3 NTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.2.4 LiDIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.2.5 blas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.3 Interfaces utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.3.1 Maple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.3.2 GAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.3.3 Serveurs web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.4 Organisation des codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 iii 2 Arithm´etique des corps finis 27 2.1 Arch´etype de donn´ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.1.1 Mod`ele de base des corps finis . . . . . . . . . . . . . . . . . . . . . . 29 2.1.2 Interface compilable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.1.3 Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.1.4 Performances vs g´en´ericit´es . . . . . . . . . . . . . . . . . . . . . . . . 38 2.2 Corps finis premiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.2.1 Modular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.2.2 GivaroZpz standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.2.3 GivaroZpz : base logarithmique (Zech’s log) . . . . . . . . . . . . . . . 48 2.2.4 GivaroZpz : base de Montgomery . . . . . . . . . . . . . . . . . . . . 50 2.2.5 NTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.2.6 Performances et surcouˆt des wrappers . . . . . . . . . . . . . . . . . . 53 2.3 Extension alg´ebrique GF(pk) . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.3.1 Givaro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.3.2 NTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.3.3 LiDIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.3.4 Performances et surcouˆt des wrappers . . . . . . . . . . . . . . . . . . 63 2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3 Alg`ebre lin´eaire dense sur un corps fini 67 3.1 Syst`emes lin´eaires triangulaires . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.1.1 Algorithme r´ecursif par blocs . . . . . . . . . . . . . . . . . . . . . . . 70 3.1.2 Utilisation de la routine ”dtrsm”des blas . . . . . . . . . . . . . . . 71 3.1.3 Utilisation de r´eductions modulaires retard´ees . . . . . . . . . . . . . 74 3.1.4 Comparaison des implantations . . . . . . . . . . . . . . . . . . . . . 75 3.2 Triangularisations de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.2.1 Factorisation LSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.2.2 LUdivine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.2.3 LQUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.2.4 Performances et comparaisons . . . . . . . . . . . . . . . . . . . . . . 81 3.3 Applications des triangularisations . . . . . . . . . . . . . . . . . . . . . . . . 83 3.3.1 Rang et d´eterminant . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.3.2 Inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.3.3 Base du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.3.4 Alternative `a la factorisation LQUP : Gauss-Jordan . . . . . . . . . . 85 3.4 Interfaces pour le calcul ”exact/num´erique” . . . . . . . . . . . . . . . . . . . 89 iv v 3.4.1 Interface avec les blas . . . . . . . . . . . . . . . . . . . . . . . . . . 90 3.4.2 Connections avec Maple . . . . . . . . . . . . . . . . . . . . . . . . 95 3.4.3 Int´egration et utilisation dans LinBox . . . . . . . . . . . . . . . . . 100 4 Syst`emes lin´eaires entiers 119 4.1 Solutions rationnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 4.1.1 D´eveloppement p-adique de la solution rationnelle . . . . . . . . . . . 122 4.1.2 Reconstruction de la solution rationnelle . . . . . . . . . . . . . . . . 123 4.1.3 Algorithme complet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.2 Interface pour la r´esolution des syst`emes lin´eaires entiers . . . . . . . . . . . 125 4.2.1 RationalSolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.2.2 LiftingContainer et LiftingIterator . . . . . . . . . . . . . . . . . . . . 128 4.2.3 RationalReconstruction . . . . . . . . . . . . . . . . . . . . . . . . . . 130 4.3 Algorithme de Dixon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 4.3.1 Cas non singulier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 4.3.2 Cas singulier et certificat d’inconsistance . . . . . . . . . . . . . . . . 139 4.3.3 Solutions al´eatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 4.3.4 Optimisations et performances . . . . . . . . . . . . . . . . . . . . . . 145 4.4 Solutions diophantiennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 4.4.1 Approche propos´ee par Giesbrecht . . . . . . . . . . . . . . . . . . . . 151 4.4.2 Certificat de minimalit´e . . . . . . . . . . . . . . . . . . . . . . . . . . 153 4.4.3 Implantations et performances . . . . . . . . . . . . . . . . . . . . . . 156 Conclusion et perspectives 161 Annexes 173 A Code LinBox 173 A.1 D´eveloppements p-adiques de syst`emes lin´eaires entiers . . . . . . . . . . . . 173 A.2 Reconstruction de la solution rationnelle . . . . . . . . . . . . . . . . . . . . 175 A.3 R´esolution de syst`emes lin´eaires entiers singuliers avec l’algorithme de Dixon 178 A.4 Produits matrice-vecteur et matrice-matrice en repr´esentation q-adique . . . 183 Table des figures 189 Liste des tableaux 191 vi Table des mati`eres

Description:
Abstract: For a few decades, numerical linear algebra has seen intensive developments in both mathematical and computer science theory which have led to genuine standard software like BLAS or lapack. In computer algebra the situation has not advanced as much, in particular because of the diversity o
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.