Loading [MathJax]/jax/output/HTML-CSS/jax.js
Saltar al contenido principal
Library homepage
 

Text Color

Text Size

 

Margin Size

 

Font Type

Enable Dyslexic Font
LibreTexts Español

5.3: Pivotar

( \newcommand{\kernel}{\mathrm{null}\,}\)

En nuestra descripción del algoritmo de eliminación gaussiana hasta el momento, es posible que hayas notado un problema. Durante el proceso de reducción de filas, tenemos que multiplicar filas por un factor deAmn/Ann (dondeA denota la matriz actual). SiAnn pasa a ser cero, el factor estalla, y el algoritmo falla.

Para evitar esta dificultad, agregamos un paso extra al procedimiento de reducción de filas. A medida que avanzamos a través de los números de filan=0,1,,N1, hacemos lo siguiente para cada unon:

  • Pivotante: busque a través de los elementos de la matriz sobre y por debajo del elemento diagonal en(n,n), y encuentre la filan con el mayor valor de|Ann|. Después, intercambia filan y filan.
  • Continuar con el resto del algoritmo, eliminando losAmn elementos por debajo de la diagonal.

Debería poder convencerse de que (i) el pivotamiento no altera la solución, y (ii) no altera el escalado en tiempo de ejecución de la fase de reducción de filas, que permaneceO(N3).

Además de evitar que el algoritmo falle innecesariamente, pivotar mejora su estabilidad numérica. SiAnn es distinto de cero pero de magnitud muy pequeña, dividirlo por él producirá un resultado muy grande, lo que conlleva una pérdida de precisión numérica de punto flotante. Por lo tanto, es ventajoso intercambiar filas alrededor para asegurar que la magnitud deAnn sea lo más grande posible.

Al intentar pivotar, puede suceder que todos los valores de|Ann|, sobre y por debajo de la diagonal, sean cero (o lo suficientemente cerca de cero dentro de nuestra tolerancia de punto flotante). Si esto sucede, indica que nuestraA matriz original es singular, es decir, no tiene inversa. De ahí que el procedimiento pivotante tenga el beneficio adicional de ayudarnos a captar los casos en los que no hay una solución válida para el sistema de ecuaciones; en tales casos, el algoritmo de eliminación gaussiana debería abortar.

5.3.1 Ejemplo

Trabajemos a través de un ejemplo de eliminación gaussiana con pivotamiento, usando el problema en la sección anterior:

[123363224826242].

La fase de reducción de filas es la siguiente:

  • (n=0): Pivote, intercambiando fila0 y fila1:
    [322481233626242].
  • (n=0): Eliminar el elemento en(1,0):
    [3224804/37/35/310/326242].
  • (n=0): Eliminar el elemento en(2,0):
    [3224804/37/35/310/3014/32/34/310/3].
  • (n=1): Pivote, intercambiando fila1 y fila2:
    [32248014/32/34/310/304/37/35/310/3].
  • (n=1): Eliminar el elemento en(2,1):
    [32248014/32/34/310/30015/79/730/7].

La fase de retrosustitución procede entonces como de costumbre. Puedes comprobar que da los mismos resultados que obtuvimos antes.


This page titled 5.3: Pivotar is shared under a CC BY-SA 4.0 license and was authored, remixed, and/or curated by Y. D. Chong via source content that was edited to the style and standards of the LibreTexts platform.

Support Center

How can we help?