Niveau: Supérieur, Master, Bac+4
Ce fichier a été fait en Maple 8 Gauss sans fraction Voici une version classique de l'algorithme de Gauss. On commence par charger la librairie d'algèbre linéaire : > with(LinearAlgebra): > GaussClassique:=proc(M0) local M,n,etape,c,ligne,m,colonne; M:=copy(M0); n:=RowDimension(M); for etape from 1 to n-1 do c:=M[etape,etape]; for ligne from etape+1 to n do m:=M[ligne,etape]/c;M[ligne,etape]:=0; for colonne from etape+1 to n do M[ligne,colonne]:=M[ligne,colonne]-m*M[etape,colonne] end do end do; end do; M end proc: On fait une copie de la matrice passée en paramètre car elle est modifiée par la procédure. On tire une matrice au hasard : > M1:=RandomMatrix(5,5): et on teste notre procédure : > GaussClassique(M1); ? ? ???????????????????????? ? ? ???????????????????????? -66 -65 20 -90 30 0 -295 6 29 3 -96 87 0 0 118168 3245 -43316 295 -14693 295 0 0 0 -1142260 14771 -6513621 29542 0 0 0 0 344319363 652720 Les horribles fractions ! • Changer la procédure en multipliant les lignes pour éviter les fractions et rester en nombres entiers > GaussMod1:=proc(M0) local
- librairie d'algèbre linéaire
- gauss sans fraction
- version classique de l'algorithme de gauss
- gaussmod1:=proc
- taille des entiers
- c0 end