MN Unidad3
MN Unidad3
MN Unidad3
Muchos problemas de ingeniería se reducen a la resolución de un sistema de ecuaciones lineales. Como por
ejemplos pueden citarse la solución de sistemas no lineales, la aproximación polinomial, la solución de ecuaciones
diferenciales parciales, entre otros.
Y concretamente como 𝐴𝑥 = 𝑏. Donde 𝐴 es la matriz coeficiente del sistema, 𝑥 es el vector incógnita y 𝑏 el vector
de términos independientes.
Dados 𝐴 y 𝑏, se entiende por resolver el sistema, encontrar los vectores 𝑥 que lo satisfagan. Para lograr lo anterior,
es necesario considerar lo siguiente:
• Si 𝑏 es el vector cero, el sistema de ecuaciones es homogéneo (son aquellas ecuaciones lineales que tienen
constantes iguales a cero, 𝐴𝑥 = 0, esto es, con columna de constantes nula). Todo sistema de ecuaciones
lineales homogéneo es compatible, porque el vector cero es una de sus soluciones. Si 𝑏 ≠ 0, el sistema
es no homogéneo
• La matriz aumentada 𝐵, formada con los elementos de la matriz coeficientes 𝐴 y, los del vector 𝑏, es la
siguiente:
1
Si el rango de la matriz coeficiente 𝐴 (el rango de una matriz está dado por el número máximo de vectores
columna o vectores fila, linealmente independientes) y de la matriz aumentada 𝐵 son iguales, se dice que
el sistema es consistente. Si esto no ocurre, el sistema es inconsistente (por lo tanto, un sistema
homogéneo siempre es consistente. Un sistema inconsistente no tiene solución, mientras que uno
consistente tiene una solución única o un número infinito de soluciones, según sea el rango de 𝐴 en
comparación con el número de incógnitas 𝑛. Si el rango de 𝐴 es igual al número de incógnitas, la solución
es única; si el rango de 𝐴 es menor que dicho número, hay un número infinito de soluciones.
2
Ejemplo:
Programa Mathcad
3
3.1. Métodos de eliminación gaussiana con pivote.
Eliminación de Gauss
Como primer paso, se reemplaza la segunda ecuación con lo que resulte de sumarles la primera ecuación
multiplicada por (−𝑎2,1 /𝑎1,1 ). De manera similar, se sustituye la tercera ecuación con el resultado de sumarle la
primera ecuación multiplicada por (−𝑎3,1 /𝑎1,1 ).
En donde las 𝑎′ y las 𝑏′ son los nuevos elementos que se obtienen de las operaciones ya mencionadas, en donde
𝑥𝑖 se ha eliminado en la segunda y tercera ecuaciones. Ahora, multiplicando la segunda ecuación del sistema
anterior por (−𝑎′3,2 /𝑎′2,2 ) y sumando el resultado a la tercera ecuación, se obtiene el sistema triangular
Donde 𝑎′′3,3 y 𝑏′′3 resultaron de las operaciones realizadas y 𝑥2 se ha eliminado de la tercera ecuación. El proceso
de llevar el sistema de ecuaciones a la forma de la ecuación anterior se conoce como Triangularización.
4
Ejemplo:
5
Como producto secundario, se puede calcular fácilmente el determinante de la matriz 𝐴 del sistema original. La
matriz de coeficientes 𝐴 pasa de la forma original a la matriz triangular superior
Mediante operaciones que, de acuerdo con las reglas de los determinantes, no alteran el valor de |𝐴|. El
determinante de la ecuación anterior es sólo el producto de los elementos de la diagonal principal, de modo que
el resultado es
Las ecuaciones para la triangularización, la sustitución regresiva y el cálculo del determinante de un sistema de 𝑛
ecuaciones en 𝑛 incógnitas 𝐴𝑥 = 𝑏, por el método de eliminación de Gauss, son
6
Eliminación de Gauss con Pivoteo
Para el ejercicio anterior, en la eliminación de 𝑥1 de la segunda y tercera ecuaciones del sistema se tomó como
base la primera ecuación, por lo cual se denomina ecuación Pivote (fila Pivote). El coeficiente de la incógnita que
se eliminará en la fila pivote se llama pivote, así en el ejercicio, los pivotes fueron 𝑎1,1 y 𝑎′2,2 . Esta elección natural
de los pivotes 𝑎1,1 , 𝑎′2,2 , 𝑎′′3,3 , etc., es muy conveniente; desafortunadamente falla cuando alguno de los
elementos es cero, puesto que los multiplicadores quedarían indeterminados. Una manera de evitar esto, es
seleccionar como pivote el coeficiente de máximo valor absoluto en la columna relevante de la matriz reducida.
Como antes, se tomarán las columnas en orden natural, de modo que se vayan eliminando las incógnitas también
en orden natural 𝑥1 , 𝑥2 , 𝑥3 , etc. Esta técnica es llamada pivoteo parcial.
Ejemplo:
7
Otra opción para solucionar el sistema de ecuaciones del ejercicio anterior, es utilizar el mismo criterio de
selección de los pivotes, pero llevando las filas pivote a las posiciones de modo que se obtenga la forma triangular
en la eliminación. Para ello es necesario, por ejemplo, en el ejercicio anterior, intercambiar la segunda fila (donde
se encuentra el elemento de máximo valor absoluto) con la primera, con lo que se obtiene:
8
Que se reduce en la primera eliminación a
Como el siguiente pivote es 3.75, se intercambia la segunda y tercera filas de la ecuación anterior para obtener,
Que ya tiene la forma triangular y está lista para la sustitución regresiva. En adelante, cualquier referencia a la
eliminación con pivoteo que se haga, utiliza la segunda alternativa.
𝑥3 = 1.4 𝑥2 = −2 𝑥1 = 1
El determinante de 𝐴 se calcula de nuevo, multiplicando entre sí los elementos de la diagonal principal de la matriz
triangularizada, pero dicho producto es afectado por un cambio de signo por cada intercambio de filas que se
verifique en la triangularización. En el caso de estudio
Ya que hubo dos intercambios de fila para llegar a la última ecuación (última matriz).
Para el desarrollo del algoritmo se utilizarán las ecuaciones para la triangularización después de cada búsqueda
del elemento de máximo valor absoluto y del intercambio de filas correspondiente. Una vez realizada la
triangularización, se hará la sustitución regresiva con la ecuación que se empleó anteriormente y el cálculo del
determinante de la siguiente forma
9
Programa en mathcad
10
Eliminación de Jordan
Es posible extender los métodos vistos, de modo que las ecuaciones se reduzcan a una forma en que la matriz
coeficiente del sistema sea diagonal y ya no se requiera la sustitución regresiva. Los pivotes se eligen en el método
de Gauss con pivoteo y, de la misma manera que una vez intercambiadas las filas, se eliminan los elementos arriba
y abajo del pivote.
Solución:
Como en la primera columna el elemento de máximo valor absoluto se encuentra en la primera fila, ningún
intercambio es necesario y el primer paso de eliminación produce
El elemento de máximo valor absoluto en la parte relevante de la segunda columna (filas 2 y 3) es 1.25; por tanto,
la fila 3 debe intercambiarse con la 2
Sumando la segunda fila multiplicada por (−(−9)/1.25) a la primera fila, y la segunda multiplicada por
(−0.5/1.25) a la tercera, se obtiene el nuevo arreglo
11
Donde se han eliminado los elementos de arriba y abajo del pivote (nótese que en este paso el primer pivote no
se modifica porque sólo hay ceros debajo de él).
Por último, sumando la tercera multiplicada por (−20/4) a la primera fila, y a la tercera multiplicada por (−2.5/4)
a la segunda
12
Programa en Mathcad
13
3.2. Método de Jacobi.
Al resolver sistemas de ecuaciones lineales por eliminación, la memoria requerida es proporcional al cuadrado del
orden de 𝐴, y el trabajo computacional es proporcional al cubo del orden de la matriz de coeficiente 𝐴. Debido a
esto, la solución de sistemas lineales grandes (𝑛 ≥ 50), con matrices coeficientes densas (una matriz densa tiene
pocos ceros como elementos), se vuelve costos y difícil en una computadora con los métodos de eliminación, ya
que para ello se requiere de una memoria amplia; además, como el número de operaciones que se debe ejecutar
es muy grande, pueden producirse errores de redondeo también muy grandes. Sin embargo, se han resuelto
sistemas de orden 1000, y aún mayor, aplicando los métodos denominado iterativos.
Los métodos iterativos más sencillos y conocidos son una generalización del método de punto fijo, se puede aplicar
la misma técnica a fin de elaborar métodos para la solución de 𝐴𝑥 = 𝑏, de la siguiente manera:
…………(1)
Ecuación vectorial correspondiente a 𝑓(𝑥 ) = 0. Se busca ahora una matriz 𝐵 y un vector 𝑐, de modo que la
ecuación vectorial
……….(2)
Sea sólo un arreglo de la ecuación (1); es decir, que la solución de una sea también la solución de la otra. La
ecuación (2) correspondería a 𝑥 = 𝑔(𝑥). En seguida se propone un vector inicial 𝑥 (0) , como primera aproximación
al vector solución 𝑥. Luego, se calcula con la ecuación (2) la sucesión vectorial 𝑥 (1) , 𝑥 (2) , …,de la siguiente manera:
Donde
………(3)
Para que la sucesión 𝑥 (0) , 𝑥 (1) , … , 𝑥 (𝑛) , …, converja al vector solución 𝑥 es necesario que eventualmente 𝑥𝑗𝑚 , 1 ≤
𝑗 ≤ 𝑛 (los componentes del vector 𝑥 (𝑚) ) se aproximen tanto a 𝑥𝑗 , 1 ≤ 𝑗 ≤ 𝑛 (los componentes correspondientes
a 𝑥), que todas las diferencias |𝑥𝑗𝑚 − 𝑥𝑗 |, 1 ≤ 𝑗 ≤ 𝑛 sean menores que un valor pequeño previamente fijado, y
que se conserven menores para todos los vectores siguientes de la iteración; es decir
……..(4)
La forma como se llega a la ecuación (2) define el algoritmo y su convergencia. Dado el sistema 𝐴𝑥 = 𝑏, la manera
más sencilla es despejar 𝑥1 de la primera ecuación, 𝑥2 de la segunda, y así sucesivamente. Para ello, es necesario
14
que todos los elementos de la diagonal principal de 𝐴, por razones obvias, sean distintos de cero. Para ver esto en
detalle considérese el sistema general de tres ecuaciones.
Sea entonces
……….(5)
……….(6)
15
Una vez que se tiene la forma de (6), se propone un vector inicial 𝑥 (0) que puede ser 𝑥 (0) = 0, o algún otro que
sea aproximado al vector solución 𝑥.
Si
……….(7)
………(8)
O bien, para un sistema de 𝑛 ecuaciones con 𝑛 incógnitas y usando notación más compacta y de mayor utilidad
en programación, se tiene
……….(9)
16
Ejemplo: Resuelva el siguiente sistema por el método de Jacobi
……….(10)
Solución:
………(11)
Vector inicial
Cuando no se tiene una aproximación al vector solución, generalmente se emplea como vector inicial el vector
cero, esto es:
El cálculo de 𝑥 (1) en el método de Jacobi se obtiene remplazando 𝑥 (0) en cada una de las ecuaciones de (11):
Para calcular 𝑥 (2) se sustituye 𝑥 (1) en cada una de las ecuaciones de(11). Para simplificar la notación, se han
omitido los superíndices.
17
A continuación se presentan los resultados de subsecuentes iteraciones, en forma tabular.
18
Programa en Mathcad
19
3.3. Método de Gauss-Seidel.
En este método, los valores que se van calculando en la (𝑘 + 1)-ésima iteración se emplean para estimar los
valores faltantes de esa misma iteración; es decir, con 𝑥 (𝑘) se calcula 𝑥 (𝑘+1) de acuerdo con
Para el cálculo del primer elemento del vector 𝑥 (1) , se sustituye 𝑥 (0) en la primera ecuación de (11); con el fin de
simplificar la notación se han omitido los superíndices.
Para el cálculo de 𝑥2 de 𝑥 (1) se emplea el valor de 𝑥1 ya obtenido (1/4) y los valores 𝑥2 , 𝑥3 y 𝑥4 de 𝑥 (0) . Así:
Finalmente, con los valores de 𝑥1 , 𝑥2 y 𝑥3 , calculados previamente, y con 𝑥4 de 𝑥 (0) , se obtiene la última
componente de 𝑥 (1) .
20
Entonces 𝑥 (1) = [0.25 0.3125 0.3281 0.3320 ]𝑇
21
Programa en mathcad
22
3.4. Método SOR para resolver sistemas de ecuaciones lineales.
Si mediante los métodos de Jacobi y Gauss-Seidel el sistema a resolver no converge, o ésta es muy lenta, puede
recurrirse a los métodos de relajación que, son los métodos de Jacobi y Gauss-Seidel afectados por un factor de
peso 𝑤 que, elegido adecuadamente, puede producir convergencia o acelerarla, si ya existe.
Llámese 𝑁 a la matriz coeficiente del sistema por resolver, una vez que haya sido llevada a la forma más cercana
posible a la diagonal dominante, y después de dividir la primera fila entre 𝑎1,1 , la segunda entre 𝑎2,2 , … ., y la n-
ésima entre 𝑎𝑛,𝑛 . 𝑁 es la matriz con unos en la diagonal principal. A continuación descompóngase 𝑁 en la siguiente
forma
𝑁 =𝐿+𝐼+𝑈
Donde 𝐿 es una matriz cuyos elementos por debajo de su diagonal principal son idénticos a los correspondientes
de 𝑁 y ceros en cualquier otro sitio, 𝐼 es la matriz identidad y 𝑈 una matriz cuyos elementos arriba de la diagonal
principal son idénticos a los correspondientes de 𝑁 y cero en cualquier otro sitio. Sustituyendo esta
descomposición de 𝑁, el sistema que se quiere resolver quedaría
(𝑳 + 𝑰 + 𝑼)𝒙 = 𝒃
(𝑳 + 𝑰 + 𝑼)𝒙 + 𝒙 = 𝒃 + 𝒙
𝑥 = 𝑥 + [𝑏 − 𝐿𝑥 − 𝑥 − 𝑈𝑥 ]
Que puede utilizarse para iterar a partir de un vector inicial 𝑥 (0) . Al aplicar la ecuación anterior, pueden
presentarse de nuevo las dos variantes que dieron lugar a los métodos de Jacobi y Gauss-Seidel, con lo que el
esquema de desplazamientos simultáneos quedaría
……(12)
…..(13)
Llagar a los vectores anteriores no se trata simplemente de tener una versión distinta de las ecuación (6), sino
para someterlos a un análisis que permita proponer “nuevos métodos” o mejoras en los que ya se tienen. Por
ejemplo, factorizando 𝑥 (𝑘) dentro del paréntesis rectangular de la ecuación (12) se tiene
23
….(14)
Vector que se denota como 𝑟 (𝑘) y se llama vector residuo de la k-ésima iteración y puede tomarse como una
medida de la cercanía de 𝑥 (𝑘) al vector solución 𝑥; si las componentes de 𝑟 (𝑘) o |𝑟 (𝑘) | son pequeñas, 𝑥 (𝑘) suele
ser una buena aproximación a 𝑥; pero si los elementos de 𝑟 (𝑘) o |𝑟 (𝑘) | son grandes, puede pensarse que 𝑥 (𝑘) no
es muy cercana a 𝑥. Aunque hay circunstancias donde esto no se cumple, por ejemplo, cuando el sistema por
resolver esta mal condicionado, es práctico tomar estos criterios como válidos.
……(15)
Que puede verse como un esquema iterativo donde el vector de la (k+1)-ésima iteración se obtiene a partir del
vector de la k-ésima iteración y el residuo correspondiente.
Si la aplicación de la ecuación (15) a un sistema particular da convergencia lenta, entonces 𝑥 (𝑘+1) y 𝑥 (𝑘) están
muy cerca entre sí, y para que la convergencia se acelere puede intentarse afectar 𝑟 (𝑘) con un peso 𝑤 > 1
(sobrerrelajar el proceso); si, en cambio, el proceso diverge |𝑟 (𝑘) | es grande y convendría afectar 𝑟 (𝑘) con un factor
𝑤 < 1 (subrrelajar el proceso), para provocar la convergencia. El esquema de la ec. (15) quedaría en general así:
Estos métodos se abrevian frecuentemente como SOR (del inglés, Succesive Over-Relaxition).
24
En general, el cálculo de 𝑤 es complicado y sólo para sistemas especiales (matriz coeficiente positivamente
definida y tridiagonal) se tiene una fórmula.
25
26