Algorithmique et Programmation Projet : permutations de matrices creuses et decompositions de graphes Ecole normale superieure Departement d'informatique 2011-2012 Le pivot de Gauss (et les methodes comparables) restent une des alternatives les plus efficaces pour resoudre des systemes lineaires A · x = y. Quand la matrice A est dense, il n'y a pas grand'chose a faire, et la complexite du processus est de l'ordre de O ( n3 ) operations (il est vrai que des algorithmes asymptotiquement plus rapides existent, mais ils sont rarement plus efficaces en pratique). Par contre, quand A est creuse (c'est-a-dire que la plupart de ses coefficients sont egaux a zero), il est possible d'utiliser des algorithmes plus efficaces a la fois en theorie et en pratique. Les systemes creux apparaissent naturellement dans un grand nombre de situations, et on peut gerer des matrices creuses beaucoup plus grandes que les denses. Par exemple, on traite aujourd'hui des systemes de 8.7 · 106 equations en autant d'inconnues. Stocker la matrice dense (de flottants 64 bits) necessiterait ≈ 550 tera-octets, et pivoter la matrice dense demanderait ≈ 1023.5 operations, ce qui n'est pas gerable. Mais en fait, cette matrice n'a que 66 · 106 entrees non-nulles. Une solution du systeme lineaire correspondant peut etre obtenue (par les bonnes techniques) apres ≈ 45 · 109 operations arithmetiques, ce qui est par contre tres faisable.
- graphe biparti
- colonne
- bloc diagonal
- permutation des lignes
- decomposition de dulmage-mendelsohn
- resoudre des systemes lineaires
- probleme de decomposition de graphes