{ Resolution d'un systeme de n equations } { lineaires a n inconnues } { par la methode du pivot de Gauss } { Recherche et permutation entre lignes } { de coefficients dans le cadre } { de la résolution d'un système } { de n équations linéaires à n inconnues } { par pivot de Gauss } { l : Le numéro de la ligne à permuter } { a : La matrice de réels à traiter } { b : Le tableau de réels à traiter } { concourrament à la matrice a } action permutation(-> entier l, -> réel [][] a ->, -> réel [] b ->) entier n <- longueur(b) entier i reel aux entier ll <- l tant que a[ll][l] == 0.0 faire ll <- ll+1 fait pour i de l à n-1 faire aux <- a[l][i] a[l][i] <- a[ll][i] a[ll][i] <- aux fait aux <- b[l] b[l] <- b[ll] b[ll] <- aux fin action { Première partie de la méthode de résolution } { d'un système de n équations linéaires } { à n inconnues par pivot de Gauss: } { Triangularisation de la matrice } { des coefficients et modification } { concourante du vecteur } { a : La matrice de réels à transformer } { par triangularisation } { b : Le tableau de réels modifié } { concourrament à la matrice a } action transformation(-> réel [][] a ->, -> réel [] b ->) entier n <- longueur(b) entier i entier j entier k reel facteur pour i de 1 à n-1 faire si a[i-1][i-1] == 0.0 alors permutation(i-1,a,b) fsi pour j de i à n-1 faire facteur <- a[j][i-1]/a[i-1][i-1] pour k de i-1 à n-1 faire a[j][k] <- a[j][k] - a[i-1][k]*facteur fait b[j] <- b[j] - b[i-1]*facteur fait fait fin action { Seconde partie de la méthode de résolution } { des systèmes de n équations linéaires } { à n inconnues: Extraction du résultat } { Le retour est un tableau de réels } { a : La matrice de réels triangulaire carrée } { b : Le tableau de réels } réel [] fonction extraction(-> réel [][] a, -> réel [] b) entier n <- longueur(v) reel [n] v entier i entier j v[n-1] <- b[n-1]/a[n-1][n-1] pour i de n-2 à 0 pas -1 faire v[i] <- b[i] pour j de n-1 à j+1 pas -1 faire v[i] <- v[i] - v[j]*a[i][j] fait v[i] <- v[i]/a[i][i] fait retourner v fin fonction { Fonction de calcul et retour de la solution } { du systeme d'équations linéaires a.v = b } { a est une matrice de coefficients } { b est un vecteur de coefficients } { v est le vecteur à déterminer } { a, b et v sont de taille n.n, n et n } { n quelconque } { Méthode utilisée : pivot de Gauss } { a : La matrice de réels (carrée) } { b : Le tableau de réels } réel [] fonction resolution(-> réel [][] a, -> réel [] b) reel [longueur(v)] v transformation(a,b) v <- extraction(a,b) retourner v fin fonction