Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

MN Unidad3

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 26

3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES LINEALES.

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.

Un sistema de 𝑚 ecuaciones lineales en 𝑛 incógnitas tiene la forma general

Con la notación matricial, se puede escribir la ecuación anterior como:

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

Considérese un sistema general de tres ecuaciones lineales con tres incógnitas.

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 ).

Esto da lugar al nuevo sistema

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.

El sistema se resuelve despejando de su última ecuación 𝑥3 , sustituyendo 𝑥3 en la segunda ecuación y despejando


𝑥2 . Por último, con 𝑥3 y 𝑥2 sustituidas en la primera ecuación se obtiene 𝑥1 . Esta parte del proceso se llama
sustitución regresiva.

Para mayor simplicidad se puede emplear la matriz aumentada

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

|𝐴| = 4(0.5)(−10) = −20

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,

La cual se reduce al eliminar 𝑥2 a

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.

La sustitución progresiva proporciona los siguientes valores:

𝑥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

det 𝐴 = (−1)2 (−20)(3.75)(−1.666) = 125

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

Donde 𝑟 es el número de intercambios de filas que hubo en el proceso de triangularización.

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.

Ejemplo: Por eliminación de Jordan, resuelva el sistema

Solución:

La matriz aumentada del sistema es:

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

Que, escrita de nuevo como sistema de ecuaciones, da

De donde el resultado final se obtiene fácilmente

El determinante también puede calcularse

Donde la potencia 1 indica que sólo hubo un intercambio de filas.

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:

Se parte de 𝐴𝑥 = 𝑏 para obtener la ecuación

…………(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

Con 𝑎11 , 𝑎22 y 𝑎33 distintos de cero.

Se despeja 𝑥1 de la primera ecuación, 𝑥2 de la segunda, y 𝑥3 de la tercera, con lo que se obtiene

……….(5)

Que en notación matricial queda:

……….(6)

Y ésta es la ecuación (3) desarrollada, con

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 𝑥.

Iteración de Jacobi (Método de desplazamientos simultáneos)

Si

……….(7)

Es el vector aproximación a la solución 𝑥 después de 𝑘 iteraciones, entonces se tiene para la siguiente


aproximación

………(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:

Despejando 𝑥1 de la primera ecuación, 𝑥2 de la segunda, etc., se obtiene

………(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):

Y entonces 𝑥 (1) = [1/4 1/4 1/4 1/4 ]𝑇

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.

Iteración de Gauss-Seidel (método de desplazamientos sucesivos)

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

O bien, para un sistema de 𝑛 ecuaciones

Ejemplo: Resolviendo el ejemplo anterior con el método de Gauss-Seidel

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í:

Con los valores de 𝑥1 y 𝑥2 ya obtenidos, y con 𝑥3 y 𝑥4 de 𝑥 (0) , se evalúa 𝑥3 de 𝑥 (1) .

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 ]𝑇

Para la segunda iteración (cálculo de 𝑥 (2) ) se procede de igual manera.

Con lo que 𝑥 (2) = [0.3281 0.4141 0.4365 0.3591 ]𝑇

En la siguiente tabla se presentan los resultados de las iteraciones subsecuentes.

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.

Los métodos para un sistema de 𝑛 ecuaciones en 𝑛 incógnitas se describen a continuación:

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

(𝑳 + 𝑰 + 𝑼)𝒙 = 𝒃

Si ahora se suma 𝑥 a cada miembro de la ecuación anterior, se obtiene

(𝑳 + 𝑰 + 𝑼)𝒙 + 𝒙 = 𝒃 + 𝒙

Despejando 𝑥 del lado izquierdo, se llega al esquema siguiente

𝑥 = 𝑥 + [𝑏 − 𝐿𝑥 − 𝑥 − 𝑈𝑥 ]

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)

Y el de desplazamientos sucesivos así

…..(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.

Al sustituir la (14) en la (12) queda

……(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í:

Para desplazamientos simultaneos.

Para desplazamientos sucesivos, en cambio, quedaría

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.

Ejemplo: Resuelva el sistema

25
26

También podría gustarte