Vous êtes sur la page 1sur 7

METHODE De JACOBI

Réalise par Maple

 Réalisée par : Anass Fathallah // Amine Ben Salimane


 Encadre par : Pr.Jaouad Bennouna
1. pièce d'identité Jacobi travaille dans de nombreux
Carl Gustav Jacobi domaines. On lui doit d'abord des
Né à Postdam le 10 décembre 1804, Carl Gustav découvertes majeures en théorie des
Jacobi est le fils d'n banquier juif prospère. Alors nombres (il calcule notamment le nombre
qu'il est enfant, il est instruit par son oncle. En 1816, de décompositions d'un entier en somme
il rentre au lycée de Postdam. Son oncle étant de 4 carrés). En même temps qu'Abel,
probablement bon pédagogue, et Jacobi étant mais indépendamment de lui, il établit des
particulièrement brillant, ses professeurs le placent résultats fondamentaux concernant les
avant la fin de l'année scolaire dans la classe fonctions elliptiques. Il prolonge des
terminale. Ainsi, alors qu'il a à peine 12 ans, il a le travaux d'Euler concernant le problème
niveau nécessaire pour rentrer à l'Université. des 3 corps. Surtout, il est resté célèbre
Cependant, les Universités d'Allemagne sont alors pour son étude systématique des
réservées aux personnes de plus de 16 ans, et Jacobi déterminants, dans un long mémoire
doit patienter 4 ans dans la même classe! Il en profite
intitulé "De determinantibus
toutefois pour apprendre de nombreuses choses par
lui-même, lisant notamment Euler. functionalibus" paru en 1841. Il prouve
notamment qu'un ensemble de fonctions
de
variables qui sont liées a un jacobien
identiquement nul. L'apport de Jacobi doit
aussi se mesurer à ses qualités de
pédagogue et à l'influence qu'il a eu sur
toute une génération de mathématiciens
(parmi lesquels Heine, Seidel...).

Jacobi ensigne à Königsberg jusqu'en


1842. A cette époque, il tombe malade et
part quelque temps en Italie. A son retour,
il obtient une bourse du gouvernement
prussien pour s'installer à Berlin, où le
climat est moins rude qu'à Königsberg. Il
ne cesse ni son enseignement, ni ses
travaux de recherche, mais sa santé se
dégrade peu à peu. Il décède le 18 février
1851, des suites d'une variole.

Les entrées du Dicomaths correspon


2. Méthode de Jacobi

La méthode de Jacobi est une méthode itérative pour résoudre les systèmes linéaires Ax=bAx=b,
où AA est une matrice carrée d'ordre nn et xx, bb sont des vecteurs de RnRn. Elle consiste en la
manipulation suivante : on décompose AA comme A=D−E−FA=D−E−F, où DD est une matrice
diagonale, −E−E est une matrice triangulaire inférieure, et −F−F est une matrice triangulaire
supérieure.

On peut alors transformer le système en

On définit ensuite une suite de vecteurs (xk)(xk) par la formule

et on espère que la suite (xk)(xk) converge vers une solution de Ax=bAx=b. Sous de bonnes


hypothèses concernant la matrice AA, c'est effectivement le cas.

Théorème : Si AA est une matrice à diagonale dominante, alors la suite (xk)(xk) converge vers


l'unique solution de Ax=bAx=b.

Un raffinement de la méthode de Jacobi est la méthode de Gauss-Seidel.


3.Matrix de Jacobi

Soit f une fonction définie sur un ouvert U de Rn, à valeurs dans Rp. On peut écrire
f=(f1(x1,...,xn),...,fp(x1,...,xn)). Soit a un point de U où f est différentiable. La matrice
jacobienne de f en a est la matrice à p lignes et à n colonnes donnée par :

Dans le cas où n=p, le déterminant de la matrice jacobienne s'appelle déterminant jacobien


de f en a.
La matrice jacobienne est donc la matrice de la différentielle de f en a, qui est une
application linéaire de Rn dans Rp, dans les bases canoniques de ces 2 espaces.
Déterminant et matrice jacobienne interviennent dans de nombreux problèmes concernant
l'inversion des fonctions holomorphes (inversion locale, fonctions implicites) et aussi dans
la formule du changement de variables pour les fonctions de plusieurs variables.
4.Code source
Jacobi := proc(A, B, X0, n, eps)
local i, j, Xk, Xk1, somme, s, erreur, D, D1, F, E, J, l, gho;

4.Algotithem de Méthode
D := Matrix(n, n);
F := Matrix(n, n);
E := Matrix(n, n);
J := Matrix(n, n);
for i to n do
for j to n do
if j < i then E[i][j] := -A[i][j];
elif i < j then F[i][j] := -A[i][j];
else D[i][j] := A[i][j];
end if;
end do;
end do;
print(E);
D1 := LinearAlgebrap[MatrixInverse](D);
print(D1);
for i to n do for j to n do J[i][j] := D1[i][j]*(E[i][j] + F[i][j]);
end do; end do; print(J);
gho := LinearAlgebra[CharacteristicMatrix](J, lambda);
print(gho);
print(LinearAlgebra[Determinant](gho));
print(LinearAlgebra[Eigenvalues](gho));
for i to n do somme := 0;
for j to n do if i <> j then somme := somme + abs(A[i][j]);
end if;
end do;
if abs(A[i][i]) < somme then print("la matrice n'a pas un diagonale dominante");
return ;
end if;
end do;
Xk1 := Vector(1 .. n);
Xk := Vector(1 .. n);
for i to n do somme := 0;
for j to n do
if i <> j then somme := somme + A[i][j]*X0[j];
end if;
end do;
Xk[i] := (B[i] - somme)/A[1][1];
end do;
print(Xk);
erreur := max(abs(Xk - X0));
print(erreur);
while eps < erreur do
for i to n do
somme := 0;
for j to n do
if i <> j then somme := somme + A[i][j]*Xk[j];
end if;
end do;
Xk1[i] := (B[i] - somme)/A[i][i];
end do;
erreur := max(abs(Xk1 - Xk));
Xk := Xk1;
print(Xk1);
end do;
print(Xk1);
X0=Xk;
return Xk1;
end proc
A := Matrix([[2, 2], [5, 7]]);
n := 2;
B := Vector([11, 13]);
X0 := Vector(1 .. n, 1);
Jacobi(A, B, X0, n, 0.1*10^(-5));
4. Réalisation
5. OUTPUT

Vous aimerez peut-être aussi