Resolución de matriz tridiagonal por el método de Thomas
Resumen
Las ecuaciones lineales son una herramienta matemática que se aplica en una amplia gama de disciplinas. Su importancia radica en que nos permiten modelar y resolver de una forma muy simple problemas que involucran relaciones lineales entre variables. Cuando nos enfrenteamos a un sistema de ecuaciones lineales, es posible representar todas las ecuaciones de ese sistema en forma matricial. Esto significa que podemos crear una matriz de coeficientes que contiene todos los coeficientes de las variables, un vector de incógnitas que representa las variables que queremos encontrar y un vector de términos constantes que incluye los valores conocidos de cada ecuación.
Es decir, un sistema de ecuaciones lineales se representa típicamente en forma matricial de la siguiente manera:
Ax=b
Donde A es una matriz de coeficientes (conocida como "matriz de coeficientes"), x es un vector de incógnitas que queremos resolver y B es un vector de términos constantes.
Esta representación matricial no solo simplifica la presentación y la comprensión de los sistemas de ecuaciones, sino que también permite aplicar una serie de técnicas y algoritmos para resolverlo de manera eficiente. El método más común de resolución es el de eliminación gaussiana, sin embargo, existen otras técnicas disponibles que dependen de la naturaleza del sistema y de las características de la matriz de coeficientes.
Un caso destacado es cuando la matriz de coeficientes es tridiagonal. En tales situaciones, el método o algoritmo de Thomas emerge como una herramienta poderosa y eficaz para resolver estos sistemas de manera óptima . El algoritmo de Thomas es especialmente relevante debido a que resuelve el sistema con un número significativamente menor de operaciones matemáticas en comparación con otros métodos. Para ejemplificar su eficiencia, consideramos un sistema de ecuaciones con una matriz tridiagonal de tamaño 100x100. El algoritmo de Thomas realizará solo 600 operaciones de multiplicación y división para resolver dicho sistema, mientras que el método de Gauss-Jordan requerirá un millón de operaciones.
Una matriz tridiagonal es una matriz cuadrada en la que todos los elementos fuera de la diagonal principal y las dos diagonales adyacentes están definidos como cero. En otras palabras, una matriz tridiagonal tiene elementos distintos de cero solo en la diagonal principal y en las dos diagonales inmediatamente adyacentes a la diagonal principal.
El primer paso del método de Thomas consiste en identificar el sistema tridiagonal: a, b, c, y d.
a: coeficientes de la subdiagonal
b: coeficientes de la diagonal principal
c: coeficientes de la superdiagonal
d: términos constantes de las ecuaciones
Posteriormente, realizamos la secuencia de pasos de la imagen:
Como se observa, las incógnitas se obtienen una a una comenzando por la última y terminando con la primera.
Para poner en práctica el algoritmo de Thomas, se llevará a cabo un programa para la resolución del siguiente sistema de ecuaciones:
x1+4x2=17
2x1-x2+x3=9
2x2-x3=4
Palabras clave: ecuaciones lineales, matriz tridiagonal, algoritmo de Thomas
Contexto
Para desarrollar esta práctica, se requieren de los siguientes conocimientos:
- Álgebra Lineal Básica
- Programación de funciones básicas
- Matrices predefinidas
- Matrices asignadas manualmente
- Ciclos y bucles
Objetivos de la Actividad
El estudiante conocerá y aplicará el algoritmo de Thomas a través de su desarrollo en Matlab para resolver de manera eficiente sistemas de ecuaciones lineales representados por matrices tridiagonales.
Materiales de Enseñanza
mtd.mlx (MATLAB Live Script 25kB Sep12 23)
Notas para los Educadores usando la Actividad
Es importante mencionar que la resolución de cualquier sistema de ecuaciones lineales puede resolverse a través de la función rref(A)
Esta función corresponde al método de eliminación de Gauss Jordan. Puede encontrar la descripción en el siguiente enlace:
https://www.mathworks.com/help/matlab/ref/rref.html
Evaluación
Para llevar a cabo la evaluación de la práctica se tomará en cuenta lo siguiente:
Parámetro | Porcentaje
Secuencia lógica del programa - 40%
Resultados obtenidos - 60%
Es importante mencionar que la forma de programación varia de acuerdo al pensamiento lógico y computacional que tenga el alumno. En los materiales de enseñanza se tiene un ejemplo de alguna de las muchas opciones que se tienen para programarlo.
Recursos adicionales
https://www.mathworks.com/help/matlab/ref/rref.html
https://es.wikipedia.org/wiki/Algoritmo_para_matrices_tridiagonales
https://www.sciencedirect.com/topics/computer-science/thomas-algorithm
Esta actividad fue creada como parte del Taller con MATLAB Septiembre 2023.