Triangulación de matriz
Triangulación de matriz con los métodos de Gauss y Bareiss
Este contenido está bajo licencia de Creative Commons Attribution/Share-Alike License 3.0 (Unported). Esto significa que puedes redistribuirlo o modificar su contenido en forma libre bajo las mismas condiciones de licencia y debes mantener la atribución del mismo al autor original de este trabajo colocando un hipervínculo en tu sitio web a este trabajo https://es.planetcalc.com/1959/. Así mismo, por favor no modifiques o alteres ninguna de las referencias al trabajo original (si hubiera alguna) que se encuentre en este contenido.
Aquí abajo están las dos calculadoras para la triangulación de matriz.
La primera utiliza el método de Gauss, la segunda el método Bareiss. A continuación se realiza una descripción de los métodos y la teoría.
Así que primero daremos la noción de una matriz triangular o escalonada por filas.
La matriz es escalonada por filas si:
- Todas las filas cero, si las hay, pertenecen a la parte inferior de la matriz
- El primer coeficiente (el primer número no cero de la izquierda, también llamado pivote) de una fila no cero está siempre estrictamente a la derecha del primer coeficiente de la fila de arriba.
- Todas las filas que no son cero (filas con al menos un elemento no cero) están por encima de cualquier fila de todos los ceros
Ejemplo de matriz escalonada por filas:
1 0 2 5
0 3 0 0
0 0 0 4
La noción de matriz triangular es más estrecha y se utiliza sólo para matrices cuadradas. Es así: la matriz triangular es una matriz cuadrada donde todos los elementos debajo de la diagonal principal son cero. En realidad se llama matriz triangular superior, pero usaremos el término ya dado. Es obvio que la matriz triangular superior es también una matriz escalonada por filas.
Ejemplo de matriz triangular superior:
1 0 2 5
0 3 1 3
0 0 4 2
0 0 0 3
Por cierto, el determinante de una matriz triangular se calcula simplemente multiplicando todos sus elementos diagonales.
Usted puede preguntarse, ¿por qué son tan interesantes estas matrices escalonadas por filas (y triangulares), que todas las demás ocupan un rol secundario?
Tienen una propiedad asombrosa, ya que cualquier matriz rectangular puede ser reducida a una matriz escalonada por filas con las transformaciones elementales.
Usted puede preguntarse, ¿cuáles son las transformaciones elementales?
Las transformaciones elementales de la matriz son las siguientes operaciones:
- Cambio de fila (una fila dentro de la matriz puede ser cambiada por otra fila).
- Multiplicación de filas (Cada elemento de una fila puede ser multiplicado por una constante distinta de cero).
- Suma de filas (Una fila puede ser reemplazada por la suma de esa fila y un múltiplo de otra fila).
¿Y ahora qué?
Las transformaciones de matrices elementales conservan la equivalencia de las matrices. Y si recuerda que los sistemas de ecuaciones algebraicas lineales se escriben sólo en forma matricial, significa que las transformaciones matriciales elementales no cambian el conjunto de soluciones del sistema de ecuaciones algebraicas lineales que esta matriz representa.
Al triangular la matriz de ecuaciones lineales AX=B a A'X = B', es decir, con la correspondiente transformación de la columna B, se puede hacer lo que se llama "sustitución hacia atrás".
Para ser claros, usaremos la matriz triangular de arriba y reescribiremos el sistema de ecuaciones a una forma más común (he hecho la columna B):
Está claro que primero encontraremos , luego lo sustituimos por la ecuación anterior, encontramos y así sucesivamente, pasando de la última ecuación a la primera. Eso es lo que se llama sustitución hacia atrás.
Este algoritmo de reducción de filas se llama método de Gauss. El método de Gauss es un método clásico para resolver sistemas de ecuaciones lineales. También se denomina eliminación de Gauss, ya que es un método de eliminación sucesiva de variables cuando los sistemas de ecuaciones se reducen a una forma escalonada por filas (o triangular), en la que se colocan todas las demás variables (empezando por la última) con la ayuda de transformaciones elementales.
Ahora unas palabras sobre este método.
¿Cómo puede quedar en cero la variable en la segunda ecuación?
Restando la primera de ella, multiplicada por un factor
He aquí un ejemplo:
Cero en la primera ecuación
No hay en la segunda ecuación
En sentido general, el método de Gauss se puede representar de la siguiente manera:
donde N - dimensión de la fila,
- fila i,
- elemento en la fila i, columna j
Parece un gran método, pero hay algo a tener en cuenta. Es la división por que ocurre en la fórmula. Primero, si el elemento diagonal es igual a cero, este método no funcionará. Segundo, durante el cálculo la desviación aumentará y cuanto más aumente, más complicado será dicho cálculo. Así que el resultado no será preciso.
Para la reducción de la desviación, se utilizan las modificaciones del método de Gauss. Se basan en el hecho de que cuanto mayor sea el denominador, menor será la desviación. Estas modificaciones son el método de Gauss con selección máxima en una columna y el método de Gauss con selección máxima en toda la matriz. Como su nombre lo indica, ante cada tallo de exclusión de una variable se busca el elemento de máximo valor en una fila (toda la matriz) y se realiza la permutación de filas, por lo que se cambiará de lugar con .
Pero hay una modificación radical del método de Gauss - el método Bareiss.
¿Cómo puede deshacerse de la división? Multiplicando la fila por antes de restar. Entonces tiene que restar , multiplicado por sin ninguna división.
.
Parece bueno, pero hay un problema de aumento del valor del elemento durante los cálculos.
Bareiss ofreció dividir la expresión anterior por y mostró que si los elementos iniciales de la matriz son los números enteros, entonces el número resultante será entero. También se supone lo mismo para la fila cero .
Por cierto, el hecho de que el algoritmo Bareiss reduce los elementos integrales de la matriz inicial a una matriz triangular con elementos integrales, es decir, sin acumulación de desviaciones, es una característica bastante importante desde el punto de vista de la aritmética de la máquina.
El algoritmo Bareiss puede ser representado como:
Este algoritmo puede actualizarse, de forma similar a Gauss, con selección máxima en una columna (toda la matriz) y reordenación de las filas correspondientes (filas y columnas).
Comentarios