V??rifi?? contenu

??limination de Gauss

Sujets connexes: Math??matiques

?? propos de ce ??coles s??lection Wikipedia

Cette s??lection ??coles a ??t?? choisi par SOS Enfants pour les ??coles dans le monde en d??veloppement ne ont pas acc??s ?? Internet. Il est disponible en t??l??chargement intranet. SOS Enfants a regard?? des enfants en Afrique depuis quarante ans. Pouvez-vous aider dans leur travail en Afrique ?

En alg??bre lin??aire , ??limination de Gauss est une algorithme qui peut ??tre utilis?? pour d??terminer les solutions d'un syst??me d'??quations lin??aires , de trouver la un rang de matrice , et pour calculer l'inverse d'un matrice carr??e inversible. ??limination de Gauss est nomm?? d'apr??s le math??maticien et scientifique allemand Carl Friedrich Gauss .

Op??rations ??l??mentaires sur les lignes sont utilis??es dans l'algorithme. L'algorithme comporte deux parties, dont chacun consid??re les lignes de la matrice dans l'ordre. La premi??re partie r??duit la matrice Matrice ??chelonn??e tandis que le second r??duit la matrice ?? la suite de forme r??duite de Gauss. La premi??re partie seule est suffisante pour de nombreuses applications.

Un algorithme connexes, mais moins efficace, Gauss-Jordan ??limination, apporte une matrice ?? forme r??duite de Gauss en un seul passage.

Histoire

La m??thode d'??limination de Gauss appara??t dans le chapitre huit, rectangulaires tableaux, de l'importante chinoise texte math??matique ou Jiuzhang suanshu Les Neuf Chapitres sur l'art math??matique. Son utilisation est illustr??e sur dix-huit probl??mes, de deux ?? cinq ??quations. La premi??re r??f??rence ?? l'ouvrage de ce titre est dat?? ?? 179 CE, mais certaines parties ont ??t?? ??crites d??s environ 150 BCE.

Cependant, la m??thode a ??t?? invent??e en Europe ind??pendamment. Il est nomm?? d'apr??s le math??maticien Carl Friedrich Gauss .

Aper??u Algorithme

Le processus d'??limination gaussienne comporte deux parties. La premi??re partie (avant ??limination) r??duit un syst??me donn?? soit triangulaire ou forme ??chelonn??e, ou les r??sultats dans un ??quation d??g??n??r?? sans solution, indiquant que le syst??me n'a pas de solution. Ceci est accompli par l'utilisation de op??rations ??l??mentaires sur les lignes. Les utilisations seconde ??tape substitution en arri??re pour trouver la solution du syst??me ci-dessus.

D??clar?? ??quivalente pour les matrices, la premi??re partie r??duit ?? une matrice rang??e forme ??chelon aide op??rations ??l??mentaires sur les lignes tandis que le second, il se r??duit ?? forme r??duite de Gauss, ou ramer forme canonique.

Un autre point de vue, qui se av??re ??tre tr??s utile d'analyser l'algorithme, ce est que l'??limination de Gauss calcule une matrice d??composition. Les trois op??rations ??l??mentaires sur les lignes utilis??es dans l'??limination de Gauss (multiplication de lignes, la commutation de lignes, et en ajoutant un multiple de lignes ?? d'autres lignes) montant ?? la multiplication de la matrice d'origine avec des matrices inversibles de la gauche. La premi??re partie de l'algorithme calcule une LU d??composition, tandis que la deuxi??me partie ??crit la matrice d'origine comme le produit d'une matrice inversible uniquement d??termin?? et un r??duit matrice rang??e ??chelonn??e uniquement d??termin??e.

Exemple

Supposons que le but est de trouver et de d??crire la solution (s), le cas ??ch??ant, de ce qui suit syst??me d'??quations lin??aires :

2x + y - z = 8 \ quad (L_1)
-3x - Y + 2z = -11 \ quad (L_2)
-2x + Y + 2z = -3 \ quad (L_3)

L'algorithme est le suivant: ?? ??liminer x ?? partir de toutes les ??quations ci-dessous L_1 , Puis ??liminer y ?? partir de toutes les ??quations ci-dessous L_2 . Cela mettra le syst??me en forme triangulaire. Puis, en utilisant de nouveau la substitution, chaque inconnu peut ??tre r??solue pour.

Dans notre exemple, nous ??liminons x ?? partir de L_2 en ajoutant \ Begin {matrix} \ frac {3} {2} \ end {matrix} L_1 ?? L_2 , Puis nous ??liminons x ?? partir de L_3 en ajoutant L_1 ?? L_3 . Formellement:

L_2 + \ frac {3} {2} L_1 \ rightarrow L_2
L_3 + L_1 \ rightarrow L_3

Le r??sultat est le suivant:

2x + y - z = 8 \,
\ Frac {1} {2} y + \ frac {1} {2} z = 1 \,
2y + z = 5 \,

Maintenant, nous ??liminons y ?? partir de L_3 en ajoutant -4L_2 ?? L_3 :

L_3 + -4L_2 \ rightarrow L_3

Le r??sultat est le suivant:

2x + y - z = 8 \,
\ Frac {1} {2} y + \ frac {1} {2} z = 1 \,
z = 1 \,

Ce r??sultat est un syst??me d'??quations lin??aires en forme triangulaire, de sorte que la premi??re partie de l'algorithme est termin??.

La deuxi??me partie, back-substitution, consiste ?? r??soudre pour les inconnues dans l'ordre inverse. Ainsi, nous pouvons facilement voir que

z = -1 \ quad (L_3)

Ensuite, z peut ??tre substitu?? en L_2 , Qui peut ensuite ??tre r??solu facilement obtenir

y = 3 \ quad (L_2)

Suivant, z et y peut ??tre substitu?? en L_1 , Qui peut ??tre r??gl?? pour obtenir

x = 2 \ quad (L_1)

Ainsi, le syst??me est r??gl??.

Cet algorithme fonctionne pour ne importe quel syst??me d'??quations lin??aires. Il est possible que le syst??me ne peut pas ??tre r??duite ?? la forme triangulaire, mais toujours avoir au moins une solution valable: par exemple, si y ne est pas survenu dans L_2 et L_3 apr??s notre premi??re ??tape ci-dessus, l'algorithme aurait ??t?? incapable de r??duire le syst??me ?? la forme triangulaire. Toutefois, il serait encore r??duit le syst??me de forme ??chelonn??e. Dans ce cas, le syst??me n'a pas de solution unique, car il contient au moins un variable libre. L'ensemble de la solution peut alors ??tre exprim?? param??trique (ce est, en termes de variables libres, de sorte que si les valeurs pour les variables libres sont choisis, une solution sera g??n??r??).

En pratique, on ne traite pas habituellement avec les syst??mes r??els en termes des ??quations, mais fait plut??t l'utilisation de la matrice augment??e (ce qui est ??galement appropri?? pour des manipulations informatiques). Ce, alors, est l'algorithme gaussien appliqu?? ?? l'??limination augment??e matrice du syst??me ci-dessus, commen??ant par:

\ Begin {} bmatrix 2 & 1 & -1 et -3 8 \\ & -1 & 2 & -2 -11 \\ & 1 & 2 & -3 \ end {} bmatrix

qui, ?? la fin de la premi??re partie de l'algorithme se pr??sente comme suit:

\ Begin {} bmatrix 2 & 1 & -1 et 0 8 \\ & \ frac {1} {2} et \ frac {1} {2} & 1 \\ 0 & 0 et -1 et 1 \ end {bmatrix }

Ce est ?? dire qu'il se trouve dans formulaire de Gauss.

A la fin de l'algorithme, on se retrouve avec

\ Begin {} bmatrix 1 & 0 & 0 & 2 \\ 0 & 1 & 0 & 3 \\ 0 & 0 & 1 & -1 \ end {} bmatrix

Ce est ?? dire qu'il se trouve dans forme r??duite de Gauss de, ou la ligne forme canonique.

D'autres applications

Trouver l'inverse d'une matrice

Supposer Un est un n \ n fois Matrix et vous avez besoin de calculer sa inverse. Le n \ n fois matrice d'identit?? est augment??e vers la droite de Un , Formant une n \ times 2n matrice (le matrice de bloc B = [A, I] ). Gr??ce ?? l'application des op??rations ??l??mentaires sur les lignes et l'algorithme d'??limination gaussienne, le bloc de gauche de B peut ??tre r??duite ?? la matrice d'identit?? Je , Ce qui laisse A ^ {- 1} dans le bloc de droite de B .

Si l'algorithme est incapable de r??duire Un ?? la forme triangulaire, puis Un ne est pas inversible.

Dans la pratique, inversant une matrice est rarement n??cessaire. La plupart du temps, on ne est vraiment apr??s que la solution d'un syst??me d'??quations lin??aires particulier.

L'algorithme g??n??ral pour calculer les rangs et bases

L'algorithme d'??limination gaussienne peut ??tre appliqu??e ?? ne importe quel m \ times n matrice Un . Si nous obtenons ??coinc??s?? dans une colonne donn??e, nous passons ?? la colonne suivante. De cette fa??on, par exemple, certaines 6 \ 9 fois matrices peuvent ??tre transform??s en une matrice qui a une rang??e forme ??chelonn??e r??duite comme

\ Begin {} bmatrix 1 & * & 0 & 0 & * & * & 0 & * & 0 0 \\ & 0 & 1 & 0 & * & * & 0 & * & 0 0 \\ & 0 & 0 & 1 & * & * & 0 & * & 0 0 \\ & 0 & 0 & 0 & 0 & 0 & 1 & * & 0 0 \\ & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \ end {} bmatrix

(Les * s 'sont des entr??es arbitraires). Cette matrice d'??chelon T contient une mine d'informations sur Un : Le rang de Un est 5 car il existe cinq rang??es non nulles dans T ; l' espace vectoriel engendr?? par les colonnes de Un a une base constitu??e de la premi??re, troisi??me, quatri??me, septi??me et neuvi??me colonne de Un (les colonnes de celles de T ), Et le * 's vous dire comment les autres colonnes de Un peut se ??crire comme des combinaisons lin??aires des colonnes de base.

Analyse

??limination de Gauss sur une matrice n ?? n n??cessite environ 2 n 3/3 op??rations. Donc, il a une complexit?? de \ Mathcal {O} (n ^ 3) \, .

Cet algorithme peut ??tre utilis?? sur un ordinateur pour les syst??mes avec des milliers d'??quations et d'inconnues. Cependant, le co??t devient prohibitif pour les syst??mes avec des millions d'??quations. Ces grands syst??mes sont g??n??ralement r??solus en utilisant m??thodes it??ratives. M??thodes sp??cifiques existent pour les syst??mes dont les coefficients suivent un sch??ma r??gulier (voir syst??me d'??quations lin??aires ).

L'??limination de Gauss peut ??tre effectu??e sur tout domaine.

??limination de Gauss est num??riquement stable pour diagonale dominante ou matrices d??finies positives. Pour les matrices g??n??rales, ??limination de Gauss est g??n??ralement consid??r?? comme stable dans la pratique si vous utilisez pivot partiel tel que d??crit ci-dessous, m??me si il ya des exemples pour lesquels il est instable.

Pseudocode

Comme expliqu?? ci-dessus, l'??limination de Gauss ??crit une donn??e m ?? n matrice A uniquement comme un produit d'un m ?? m inversible matrice S et une matrice de Gauss T. Ici, S est le produit des matrices correspondant aux op??rations effectu??es en rang??e.

L'algorithme pour calculer formelle T ?? partir de Un suit. Nous ??crivons A [i, j] pour l'entr??e dans la rang??e Je , Colonne j en matrice Un . La transformation est effectu??e ??en place??, ce qui signifie que la matrice originale Un est perdu et successivement remplac?? par T .

i := 1 j := 1 while (i ≤ m and j ≤ n) do Find pivot in column j, starting in row i: maxi := i for k := i+1 to m do if abs(A[k,j]) > abs(A[maxi,j]) then maxi := k end if end for if A[maxi,j] ≠ 0 then swap rows i and maxi, but do not change the value of i Now A[i,j] will contain the old value of A[maxi,j]. divide each entry in row i by A[i,j] Now A[i,j] will have the value 1. for u := i+1 to m do subtract A[u,j] * row i from row u Now A[u,j] will be 0, since A[u,j] - A[i,j] * A[u,j] = A[u,j] - 1 * A[u,j] = 0. end for i := i + 1 end if j := j + 1 end while 

Cet algorithme diff??re l??g??rement de celui ??voqu?? plus t??t, parce que avant d'??liminer une variable, il ??change des premi??res rang??es pour d??placer l'entr??e avec la plus grande valeur absolue ?? la "position de pivot". Tel que proc??dure de pivotement permet d'am??liorer la stabilit?? num??rique de l'algorithme; certaines variantes sont ??galement en cours d'utilisation.

La colonne en cours de transformation est appel??e la colonne de pivotement. Proc??dez de gauche ?? droite, laissant la colonne pivot soit la premi??re colonne, puis la deuxi??me colonne, etc. et enfin la derni??re colonne avant la ligne verticale. Pour chaque colonne pivot, faire les deux ??tapes suivantes avant de passer ?? la colonne pivot suivante:

  1. Recherchez l'??l??ment en diagonale dans la colonne de pivot. Cet ??l??ment est appel?? pivot. La ligne contenant le pivot est appel?? la ligne de pivot. Diviser chaque ??l??ment de la ligne pivot par le pivot d'obtenir une nouvelle ligne de pivot avec un 1 dans la position de pivot.
  2. Obtenir un 0 ?? chaque position au-dessous de la position de pivotement en soustrayant un multiple appropri?? de la ligne de pivotement de chacune des rang??es au-dessous.

?? l'issue de cette proc??dure, la matrice augment??e sera en forme ??chelonn??e et peut ??tre r??solu en arri??re-substitution.

R??cup??r?? ?? partir de " http://en.wikipedia.org/w/index.php?title=Gaussian_elimination&oldid=199193881 "