Eliminación gaussiana

Elige sobre qué fila pivotar en cada columna y observa cómo avanza la eliminación. En el segundo ejemplo tu decisión determina la respuesta: pivota sobre el número minúsculo y x resulta 0 en lugar de 1.

Cargando simulación interactiva...
Lección

La teoría — Eliminación gaussiana277 palabras

La eliminación transforma un sistema en otro triangular equivalente, que luego puedes resolver de abajo arriba. Su valor no reside en que funcione, pues hay distintos métodos válidos. Lo fundamental es su coste, porque eso decide qué método ejecutará realmente una máquina.

Qué significa cada símbolo

n
el número de incógnitas, y el único factor del que depende el coste.
pivot
el coeficiente por el que divides una fila. El orden que impone el algoritmo hace que el procedimiento no requiera tomar decisiones; el número concreto que ocupa esa posición es lo que le permite sobrevivir en coma flotante.
Supone
Un sistema denso sin estructura que puedas aprovechar. Los sistemas dispersos, en banda o simétricos son más baratos, y elegir el método especializado correcto constituye la mayor parte del álgebra lineal numérica.
Falla cuando
El coste es cúbico, y ese crecimiento cúbico es un muro. La eliminación con n incógnitas conlleva unas n³/3 multiplicaciones e idéntico número de sumas. Si las cuentas directamente en una eliminación real, obtienes 333.300 multiplicaciones para n = 100 frente a las 333.333 de la estimación. Lo que te cuesta ese exponente es un recargo fijo por crecer. Duplicar las incógnitas multiplica el trabajo por exactamente 8, de modo que 100 incógnitas te suponen 333.300 multiplicaciones y 200 se disparan a 2.666.600. Por consiguiente, una máquina que despeja mil incógnitas en un segundo necesita ocho segundos para dos mil y unas dos horas y cuarto para veinte mil. Esa es la forma del muro, y el motivo por el que en álgebra lineal numérica la pregunta interesante casi nunca es cómo resolver un sistema denso, sino cómo evitar tener uno.

Los mismos dos movimientos ordenados para eliminar cualquier decisión 🖖

Dos ecuaciones requerían un solo movimiento: restar a una fila un múltiplo de otra. Tres ecuaciones necesitan ese movimiento y uno más. La lista incluye ambos: un intercambio para situar un número útil en el pivote, y una eliminación. El orden es estricto. Despeja la primera columna, luego la segunda, lee el resultado en la fila inferior y resuelve hacia arriba. Si lo sigues, nunca tendrás que ingeniártelas para decidir qué ecuación atacar. Esa es la diferencia entre un rompecabezas y un procedimiento, y es el motivo por el que este método escala. La misma rutina aplicada a mil incógnitas es la que siguen ejecutando todos los programas de ingeniería del mundo, sesenta años después de que mereciera un nombre propio.

El determinante es el producto de los pivotes 🖖

Observa los pivotes a medida que avanza la eliminación y multiplícalos entre sí. Después, cambia el signo una vez por cada intercambio de filas. Ese es el determinante, y surge del trabajo que ya estabas realizando. Casi todo el mundo descubre los determinantes mediante la expansión por cofactores, pero conviene entender por qué nadie los calcula así. Los cofactores exigen cerca de n! operaciones frente a las n³ de la eliminación. En una matriz de 20 × 20, hablamos de 2 × 10¹⁸ frente a 8.000. Ese factor de 10¹⁴ decide cuál de los dos métodos se le puede pedir realmente a una máquina que ejecute. La primera fórmula que nos enseñan es precisamente la que ningún ordenador ha utilizado jamás.

Una sola elección durante el procedimiento cambia la respuesta 🖖

Pulsa Pivoteo desactivado. El coeficiente principal es 10⁻¹⁷. El algoritmo divide por él con obediencia, y x devuelve 0 cuando la verdadera respuesta es 1. Nada se ha roto. No se ha violado ninguna regla. Dividir por un valor minúsculo multiplica cualquier error de redondeo previo. Al alcanzar la cima de la sustitución regresiva, ese error se ha devorado la respuesta. Es un acantilado, no una pendiente: al reducir el coeficiente, 10⁻¹² todavía ofrece cuatro dígitos correctos y 10⁻¹⁵ ofrece tres. Luego, 10⁻¹⁶ arroja 2,22 y 10⁻¹⁷ arroja 0. El borde se encuentra en el épsilon de la máquina, la brecha entre 1 y el siguiente número que puede representar un double. Marca la casilla. El algoritmo dividirá en su lugar por el mayor número disponible, y cada uno de esos casos se resolverá con exactitud. Por eso está la tarjeta de residuos en la página: reintroduce la respuesta en las ecuaciones originales, y es la única forma de distinguir una solución real de una falsa certeza.

Problemas resueltos al detalle

  1. Resolver 2x + y − z = 8 y el coste en precisión 7 pasos

    Resuelve 2x + y − z = 8, −3x − y + 2z = −11, −2x + y + 2z = −3 y después calcula cuánta precisión te ha costado la eliminación.

    1. Escríbelo como una matriz ampliada. Las letras no aportan nada, así que elimínalas y quédate con las columnas.

    2. Pivota sobre el elemento de mayor valor de la primera columna, que es el −3 de la segunda fila, y muévelo hacia arriba. Cada intercambio de filas invierte el signo del determinante, así que lleva la cuenta.

    3. Despeja el resto de la primera columna restando múltiplos de la fila pivote.

    4. Repite el proceso en la segunda columna. Después, lee la fila inferior: contiene una única incógnita y su valor.

    5. Aplica la sustitución hacia atrás subiendo por la matriz. La última fila te da la z, la del medio la y, y la superior la x.

    6. Multiplica los pivotes y aplica el signo correspondiente a dos intercambios para obtener el determinante. Comprueba el resultado sustituyéndolo en las ecuaciones originales en lugar de en las reducidas.

    7. El residuo ronda el 10⁻¹⁶, que no es cero. Representa la magnitud del redondeo que un ordenador no puede evitar y es lo más honesto que se puede notificar. Una respuesta que afirme ser exacta proviene de aritmética de enteros o, simplemente, mira hacia otro lado. Cambia el coeficiente principal a 10⁻¹⁷ con el pivoteo desactivado y ese mismo residuo pasará a ser 1. Es exactamente la misma advertencia, pero a gritos.

    Respuesta

    x = 2, y = 3, z = −1, determinante −1. El residuo de aproximadamente 10⁻¹⁶ indica que la aritmética es tan exacta como lo permite la coma flotante. Si desactivas el pivoteo en un sistema mal escalado, ese será el número que te avise de que la solución es incorrecta.

  2. Un determinante de 0, dos veces, con dos significados distintos 7 pasos

    Este ajuste no tiene solución y el siguiente tiene infinitas, y ambos imprimen un determinante de 0. Averigua qué los separa de verdad y decide qué podría comprarte alguna vez cambiar el segundo miembro.

    1. El pivoteo parcial recorre la primera columna en busca del coeficiente mayor. Encuentra el 3 en la última fila, así que el primer movimiento es un intercambio.

    2. Despeja la columna: resta ⅔ de la nueva primera fila a la segunda y ⅓ de ella a la tercera.

    3. En la segunda columna, 4/3 ya está por encima de 2/3, así que no hace falta intercambiar nada. Resta la mitad de la fila 2 a la fila 3.

    4. La fila 3 queda ahora vacía a la izquierda y con −½ a la derecha, lo que se lee 0 = −½. Solo se colocaron dos pivotes, 3 y 4/3, donde tres incógnitas exigen tres, y un pivote que falta vuelve nulo el producto.

    5. Lo que el determinante esconde es el rango. La matriz de coeficientes tiene dos filas independientes. La matriz ampliada tiene tres, porque ese −½ sobrante es una fila que nada puede cancelar. Rango 2 frente a rango 3 es lo que significa «sin solución».

    6. El ajuste Ecuación triplicada hace la misma aritmética y dice otra cosa. Cada fila es un múltiplo de la primera, así que ambos rangos valen 1 y el determinante vuelve a ser 0. El conjunto de soluciones tiene 3 − 1 = 2 direcciones libres: el plano entero x + y + z = 3. La herramienta dice «infinitas» sin decir en cuántas direcciones.

    7. Cambia un número y observa qué magnitud se mueve. Pon un 6 donde está el 7, a la derecha de la fila 2. La matriz de coeficientes queda intacta, de modo que el determinante ni se inmuta, pero el rango de la ampliada baja a 2 y la respuesta pasa de ninguna solución a una recta de soluciones.

    Respuesta

    El determinante solo informa de si la matriz de coeficientes tiene el juego completo de pivotes. Nunca mira el segundo miembro, y por eso no puede separar los dos ajustes, mientras que los dos rangos sí: sin solución cuando discrepan, y un conjunto de soluciones de dimensión 3 − rango cuando coinciden. Una vez que el determinante es 0, ningún segundo miembro te comprará una respuesta única: obtienes ninguna o toda una familia, y la elección entre esas dos es lo único que decide b. La tarjeta del residuo se apaga por la misma razón por la que existe: un residuo necesita una solución que devolver a las ecuaciones.

Ruta de aprendizaje

Despejar la x, partiendo del signo menos

Referencias (1)

Problemas de ejemplo

  • Sistema con solución - Dos intercambios y tres eliminaciones dan x = 2, y = 3, z = −1. El residuo ronda 10⁻¹⁶. Es el límite de precisión aritmética que puede alcanzar un ordenador.
  • Sin pivoteo - El primer coeficiente es 10⁻¹⁷ y el pivoteo está desactivado, así que el algoritmo divide por él. La respuesta para x resulta ser 0 en lugar de 1 y el residuo es 1 en vez de 0. Marca la casilla y verás cómo el mismo sistema se resuelve con exactitud.
  • Ecuación triplicada - Cada fila es múltiplo de la primera. Tras la eliminación, dos filas quedan reducidas a cero. El determinante es 0 y el sistema no define un punto, sino un plano.
  • Contradictorio - La segunda fila contradice a la primera. Tienen el mismo lado izquierdo pero distinto lado derecho. La eliminación nos deja con 0 = 1, un resultado que ninguna operación aritmética podrá salvar.