Algèbre linéaire exacte efficace: le calcul du polynôme caractéristique Clément Pernet To cite this version: Clément Pernet. Algèbre linéaire exacte efficace: le calcul du polynôme caractéristique. Génie logiciel [cs.SE]. Université Joseph-Fourier - Grenoble I, 2006. Français. NNT: . tel-00111346 HAL Id: tel-00111346 https://theses.hal.science/tel-00111346 Submitted on 5 Nov 2006 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. UNIVERSITÉ JOSEPH FOURIER THÈSE pourobtenirlegradede DOCTEUR DE L’UNIVERSITÉ JOSEPH FOURIER Spécialité : Mathématiques Appliquées préparéeauLaboratoire de Modélisation et Calcul (L.M.C.) danslecadredel’École Doctorale «Mathématiques, Sciences et Technologies de l’Information, Informatique» présentéeetsoutenuepubliquement par Clément PERNET le27septembre2006 Algèbre linéaire exacte efficace : le calcul du polynôme caractéristique Directeurs de thèse :Dominique DUVAL etJean-Guillaume DUMAS JURY M. Jean DELLA DORA Présidentproposé M. Luc GIRAUD Rapporteur M. Gilles VILLARD Rapporteur Mme. Dominique DUVAL Directricedethèse M. Jean-Guillaume DUMAS Responsabledethèse M. LuisMiguel PARDO Examinateur M. Jean-Louis ROCH Examinateur R EMERCIEMENTS Je remercie tout d’abord Jean Della Dora pour avoir accepté de présider le jury de cette thèse. Plus généralement, c’est sa vision singulière de la recherche et la qualité des rapports humainsqu’ilasuinsufflerànotreéquipeMOSAIC,quejetiensàsaluer. Messieurs Luc Giraud et Gilles Villard ont eu la lourde tâche de rapporter ce manuscrit dans des délais particulièrement réduits. Je les remercie pour l’attention minutieuse qu’ils y ontporté,ainsiquepourleursnombreusescorrections.Celles-ciontparticipéàl’amélioration sensibledecedocument. JetiensàexprimermaprofondereconnaissanceàJean-GuillaumeDumaspourpresquesix années de collaboration au cours desquelles il m’a transmis sa passion et ouvert les portes de la recherche. Son investissement personnel constant à mes cotés a grandement contribué à l’aboutissement de cette thèse. Merci à lui et à Dominique Duval pour leur encadrement irréprochable. Au cours de cette thèse j’ai eu le privilège de collaborer six mois avec Luis Miguel Pardo à l’université de Cantabrie. Je lui témoigne ma gratitude pour la générosité de son accueil et pouravoirpuprendrepartàcejury. JeremercieaussisincèrementJean-LouisRochpournosnombreusesdiscussionsetlapas- sion qu’il a su transmettre à travers ses cours. Sa présence dans ce jury me tient particulière- mentàcœur. Je remercie chaleureusement l’ensemble des membres du projet LinBox pour un travail d’équipe de qualité, malgré l’éloignement, et dans une ambiance amicale. Merci tout particu- lièrement à David Saunders, pour son hospitalité au Delaware, notre fructueuse collaboration durant son séjour invité au laboratoire, et tout simplement pour notre amitié. Je remercie cha- leureusement Pascal Giorgi, Claude-Pierre Jeannerod et Gilles Villard pour le plaisir que m’a apporté notre collaboration active dans une ambiance enthousiaste et amicale. Merci aussi à Wayne Eberly, Mark Giesbrecht, Erich Kaltofen et Arne Storjohann pour leur conseils et nos multiplesdiscussions. Je remercie également Claudine, Cathy et Juanna dont la bonne humeur et l’efficacité mettentl’huilenécessairedanslesrouagesdelamachineadministrative. Les implémentations présentées dans nos travaux s’appuient sur de nombreuses biblio- thèques bénéficiant des licences GPL ou LGPL, sans lesquelles de nombreux résultats n’au- raient pu voir le jour. Je remercie la communauté du logiciel libre pour cette formidable ini- tiative à laquelle nous contribuons à notre tour modestement en distribuant les bibliothèques présentéesdanscedocumentsouslalicenceLGPL. Une thèse n’est pas une expérience solitaire et je remercie tous les doctorants du labora- toire pour la fraternité qui y règne. Un grand merci à tous ceux qui ont partagé mon quotidien pendant ces trois années, Aude et Claire pour votre présence et votre écoute dans ce fameux 3 Remerciements bureau 16, Carlos et Zhendong qui m’ont épaulé au cours de mes séjours espagnols et améri- cains,ainsiquemescompagnonsdesoiréeetcompagnonsdecordéequisereconnaîtront. C’estenfinàmafamillequevontmesderniersremerciements,poursonrôlemoteurtantau niveauaffectifqu’intellectuel,qu’elleajouédansl’accomplissementdecetravail. 4 T ABLE DES MATIÈRES Introduction 17 Contexteetthèse 17 Calculexact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Algorithmiqueenalgèbrelinéaireexacte . . . . . . . . . . . . . . . . . . . . . . . 17 Thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Labibliothèque LINBOX 21 Motivationoriginale:l’algèbrelinéaireexacteenboîtesnoires . . . . . . . . . . . 21 Lagénéricitéd’unintergiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 LINBOX-1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Contextedesexpérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Rappelsthéoriquesetnotations 25 Algèbrelinéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Modèledecalculetcomplexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Matérielderécurrencepourlacomplexitéalgébrique . . . . . . . . . . . . . . . . 28 I Algèbre linéaire dense efficace sur un petit corps fini 31 1 Préliminaires:arithmétiquedescorpsfinisetproduitscalaire 35 1.1 Implémentationdescorpsfinis . . . . . . . . . . . . . . . . . . . . . . . . . 35 1.1.1 Lesprincipauxtypesexistants . . . . . . . . . . . . . . . . . . . . . 36 1.1.2 Modular<double> : une implémentation flottante pour l’algèbre linéaireexacte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 1.2 Leproduitscalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2 LeproduitMatriciel 39 2.1 Parl’algorithmeclassique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.1.1 Réductionmodulairedifférée . . . . . . . . . . . . . . . . . . . . . 39 2.1.2 Utilisationdel’arithmétiqueflottante . . . . . . . . . . . . . . . . . 40 2.2 L’algorithmerapidedeWinograd . . . . . . . . . . . . . . . . . . . . . . . 40 2.2.1 Miseencascadeavecl’algorithmeclassique . . . . . . . . . . . . . . 41 2.2.2 Étudedel’allocationmémoire . . . . . . . . . . . . . . . . . . . . . 43 2.2.3 Traitementdesdimensionsimpaires . . . . . . . . . . . . . . . . . . 45 2.2.4 Contrôledudébordement . . . . . . . . . . . . . . . . . . . . . . . . 46 5 Tabledesmatières 2.3 Miseenœuvre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.3.1 Unestructureencascade . . . . . . . . . . . . . . . . . . . . . . . . 55 2.3.2 Expériencesetcomparaisonaveclesroutinesnumériques . . . . . . 58 3 Résolutiondesystèmes 61 3.1 Résolutionmultipledesystèmestriangulaires . . . . . . . . . . . . . . . . . 62 3.1.1 L’algorithmerécursifparblocs . . . . . . . . . . . . . . . . . . . . . 62 3.1.2 UtilisationdelaroutinedtrsmdesBLAS . . . . . . . . . . . . . . 64 3.1.3 Résolutionavecréductionmodulairedifférée . . . . . . . . . . . . . 69 3.1.4 Résultatsexpérimentaux . . . . . . . . . . . . . . . . . . . . . . . . 71 3.2 Triangularisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.2.1 LadécompositionLSP . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.2.2 LadécompositionLQUP . . . . . . . . . . . . . . . . . . . . . . . . 77 3.2.3 Comparaisonsexpérimentales . . . . . . . . . . . . . . . . . . . . . 77 3.2.4 TURBO:unalgorithmepourlalocalitéenmémoire . . . . . . . . . . 80 4 Étudesystématiquesurcertainsnoyauxd’algèbrelinéaire 83 4.1 Leprofilderang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.1.1 D’aprèsladécompositionLQUP . . . . . . . . . . . . . . . . . . . . 84 4.1.2 Misesousprofilderanggénérique . . . . . . . . . . . . . . . . . . . 85 4.2 Complétiond’unefamillelibreenunebase . . . . . . . . . . . . . . . . . . 85 4.3 Unebasedunoyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.4 Lesmultiplicationstriangulaires . . . . . . . . . . . . . . . . . . . . . . . . 86 4.4.1 Multiplicationtriangulaireavecunematricerectangulaire . . . . . . 87 4.4.2 Mutliplicationtriangulairesupérieure-inférieure . . . . . . . . . . . 87 4.4.3 Multiplicationtriangulairesupérieure-supérieure . . . . . . . . . . . 88 4.5 Élévationaucarré . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.5.1 MatricedeGramd’unematricecarrée . . . . . . . . . . . . . . . . . 88 4.5.2 Carréd’unematricesymétrique . . . . . . . . . . . . . . . . . . . . 89 4.5.3 MatricedeGramd’unematricetriangulaire . . . . . . . . . . . . . . 89 4.6 Factorisationdematricessymétriques . . . . . . . . . . . . . . . . . . . . . 90 4.7 Inversiondematrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.7.1 Inversed’unematricetriangulaire . . . . . . . . . . . . . . . . . . . 90 4.7.2 Inversed’unematricequelconque . . . . . . . . . . . . . . . . . . . 91 4.7.3 Inversed’unematricesymétrique . . . . . . . . . . . . . . . . . . . 92 4.7.4 PseudoinversedeMoore-Penrose . . . . . . . . . . . . . . . . . . . 92 4.7.5 Performancesexpérimentales . . . . . . . . . . . . . . . . . . . . . 94 5 Applicationauxproblèmesmalconditionnés 99 5.1 Resteschinoisouraffinementitératifexact . . . . . . . . . . . . . . . . . . . 100 5.2 Calculdel’inversedelamatricedeHilbert . . . . . . . . . . . . . . . . . . . 101 5.3 LedéfiMoreDigits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6 Tabledesmatières II Le polynôme caractéristique de matrices denses 105 6 L’algorithmeLU-Krylov 109 6.1 LepolynômeminimalparéliminationsurlamatricedeKrylov . . . . . . . . 110 6.2 Calculd’unsous-espacesupplémentaireparcomplémentdeSchur . . . . . . 111 7 L’algorithmeparbranchementsdeKeller-Gehrig 115 7.1 LamatricedeKrylovcompressée . . . . . . . . . . . . . . . . . . . . . . . 115 7.2 Principedel’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 7.3 Obtentiondelaformepolycyclique . . . . . . . . . . . . . . . . . . . . . . 118 7.4 Comparaisonsexpérimentales . . . . . . . . . . . . . . . . . . . . . . . . . 120 7.5 ApplicationaucalculdelaformedeKalmanenthéorieducontrôle . . . . . 121 7.5.1 ComplexitéducalculdelaformedeKalman . . . . . . . . . . . . . 121 7.5.2 Miseenpratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 8 L’algorithmerapidedeKeller-Gehrig 127 8.1 Notationsetrappel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 8.2 Intérêtpratiquedel’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . 129 8.2.1 Etudedelaconstantedanslacomplexitéalgébrique . . . . . . . . . . 129 8.2.2 Comparaisonexpérimentale . . . . . . . . . . . . . . . . . . . . . . 130 8.3 Versunegénéralisationpourlesmatricesquelconques . . . . . . . . . . . . . 131 8.3.1 Généralisationdesnotations . . . . . . . . . . . . . . . . . . . . . . 131 8.3.2 MisesousprofilderanggénériquedeC . . . . . . . . . . . . . . . . 132 8.3.3 Applicationdelatransformationdesimilitude . . . . . . . . . . . . . 133 8.3.4 Complémentsetlimitationsdelagénéralisation . . . . . . . . . . . . 133 8.3.5 Preuvedegénéricité . . . . . . . . . . . . . . . . . . . . . . . . . . 136 8.4 Versunegénéralisationpardesméthodesdepréconditionnement . . . . . . . 141 8.4.1 ImplicitementunalgorithmedetypeKrylov . . . . . . . . . . . . . . 141 8.4.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 9 Calculdansl’anneaudesentiers 143 9.1 UnalgorithmedéterministeparleThéorèmedesRestesChinois . . . . . . . 143 9.2 Algorithmesprobabilistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 9.2.1 Terminaisonanticipée . . . . . . . . . . . . . . . . . . . . . . . . . 146 9.2.2 L’algorithmeHenselPolcar . . . . . . . . . . . . . . . . . . . . 146 9.2.3 Versunalgorithmepourlesmatricesboîtenoire . . . . . . . . . . . 149 9.3 Résultatsexpérimentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 III Le polynôme caractéristique de matrices boîte noire 153 10 Étudeasymptotiquedesméthodesboîtenoire 157 10.1 L’algorithmeduk-ièmefacteurinvariant . . . . . . . . . . . . . . . . . . . . 157 10.1.1 Perturbationadditivederangk . . . . . . . . . . . . . . . . . . . . . 158 10.1.2 Rechercherécursive . . . . . . . . . . . . . . . . . . . . . . . . . . 158 10.2 Intérêtasymptotiquedel’approcheboîtenoire . . . . . . . . . . . . . . . . . 160 7 Tabledesmatières 10.2.1 Améliorationgrâceauxcalculsparblocs . . . . . . . . . . . . . . . 160 10.2.2 Versl’utilisationdesprojectionsdeblocsefficaces . . . . . . . . . . 161 11 Calculboîtenoiredansuncorps,parlarecherchedesmultiplicités 163 11.1 Heuristiquesdecalculdesmultiplicités . . . . . . . . . . . . . . . . . . . . 163 11.1.1 Méthodedesnullités . . . . . . . . . . . . . . . . . . . . . . . . . . 164 11.1.2 Recherchecombinatoire . . . . . . . . . . . . . . . . . . . . . . . . 167 11.1.3 Résolutiondusystèmelogarithmique . . . . . . . . . . . . . . . . . 168 11.2 Algorithmesadaptatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 11.2.1 Méthodedesnullitésetrecherchecombinatoire . . . . . . . . . . . . 171 11.2.2 Réductiondelatailledusystèmelogarithmique . . . . . . . . . . . . 172 11.2.3 Unalgorithmeasymptotiquementperformant . . . . . . . . . . . . . 173 11.2.4 Améliorationspourlamiseenpratique . . . . . . . . . . . . . . . . 174 12 Calculboîtenoiredansl’anneaudesentiers 177 12.1 ParlecalculdesmultiplicitésetlaremontéedeStorjohann . . . . . . . . . . 177 12.2 Miseenpratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 12.3 Applicationetexpérimentations . . . . . . . . . . . . . . . . . . . . . . . . 179 12.3.1 Laconjecturedescubessymétriquescospectraux . . . . . . . . . . . 179 12.3.2 Résultatsexpérimentaux . . . . . . . . . . . . . . . . . . . . . . . . 181 Conclusion 187 8 T ABLE DES FIGURES 1 Principed’unematriceboîtenoiredansuncorpsK . . . . . . . . . . . . . . 21 2.1 Graphe de dépendance des tâches dans un appel récursif de l’algorithme de Winograd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.2 Optimisationdecache:multiplicationclassiqueparblocs. . . . . . . . . . . 56 2.3 Structureencascadedel’implémentationdefgemm . . . . . . . . . . . . . . 57 2.4 Comparaisondevitessespourleproduitmatricielclassique . . . . . . . . . . 58 2.5 Gaindûàl’utilisationdel’algorithmedeWinograd . . . . . . . . . . . . . . 59 3.1 Dimension maximale du système triangulaire pour une résolution sur des en- tiersde53bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.2 Découpagepourl’algorithmetrsmendoublecascade . . . . . . . . . . . . 69 3.3 Comparaison des variantes de trsm pour p = 5,1048583,8388617 avec le BLASGOTOsurunPentium4-3,2Ghz-1Go . . . . . . . . . . . . . . . . . . 72 3.4 Ratiosdestempsdecalculentrelarésolutiontriangulaireetleproduitmatriciel 74 3.5 Principedel’algorithmededécompositionLSP . . . . . . . . . . . . . . . . 76 3.6 Principedel’algorithmededécompositionLQUP . . . . . . . . . . . . . . . 77 3.7 Principedel’algorithmeTURBO . . . . . . . . . . . . . . . . . . . . . . . . 80 3.8 ComparaisondesvitessesdeTURBOetLQUPpourlecalculdurang . . . . . 81 4.1 Ratiosdestempsdecalculentrel’inversiontriangulaireetleproduitmatriciel 97 4.2 Ratiosdestempsdecalculentrel’inversionetleproduitmatriciel . . . . . . 97 6.1 DécompositionLQUPdelamatricedeKrylovK . . . . . . . . . . . . . . 110 A,v 7.1 Calculdescoefficientsdelapremièrerelationdedépendancelinéaire . . . . 118 7.2 MatricedeKrylovcompresséeàdeuxitérés . . . . . . . . . . . . . . . . . . 119 7.3 Calculdescoefficientsdelaseconderelationdedépendancelinéaire . . . . . 119 7.4 Comparaison entre les algorithmes LU-Krylov et Keller-Gehrig par bran- chementssurunPentium4-2.4Ghz-512Mo . . . . . . . . . . . . . . . . . . . 120 8.1 Principed’unepetiteétapedel’algorithmerapidedeKeller-Gehrig . . . . . . 128 8.2 Comparaison des vitesses entre l’algorithme rapide de Keller-Gehrig et LU- -KrylovsurunPentium4-2,4GHz-512Mo . . . . . . . . . . . . . . . . . . 131 8.3 Structuredelamatriceàchaqueitération . . . . . . . . . . . . . . . . . . . . 132 8.4 Premièresituationdeblocagedel’algorithmegénéralisépouri = logn 1 . 135 − 8.5 Deuxièmesituationdeblocagedel’algorithmegénéralisépouri < logn 1 135 − 8.6 Constantedanslacomplexitédel’algorithmeencascadepourn = 210 . . . . 136 9
Description: