{ } ∑ ∑

Anuncio
Resolución de sistemas de ecuaciones lineales. Métodos iterativos.
19
4.
RESOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES Y NO
LINEALES. MÉTODOS ITERATIVOS.
4.1.-
Introducción
Los métodos numéricos para resolución de sistemas de ecuaciones lineales se clasifican en
dos grandes grupos: métodos directos y métodos iterativos. Los métodos directos son aquellos
que proporcionan la solución exacta en el supuesto de que todas las operación es se pueden llevar
a cabo sin errores de redondeo. Estos métodos no se pueden aplicar a problemas de grandes
dimensiones. Por otra parte muchos de los grandes problemas que se plantean en la industria y en
la técnica presentan unas matrices de coeficientes en las que los elementos distintos de cero son
muy pocos. Tal es el caso, por ejemplo, de los problemas que surgen en el análisis y planificación
de sistemas eléctricos de generación y transporte de energía, en problemas de contorno para
ecuaciones en derivadas parciales, en el análisis de estructuras mecánicas mediante elementos
finitos, etc. Para la resolución de este tipo de sistemas los métodos iterativos son mucho más
interesantes ya que requieren un menor esfuerzo computacional.
Esta clase de métodos consiste en expresar el sistema de ecuaciones de una forma
equivalente:
Ax b 
  R x  S x  b  x T x  c
A R  S
Lo cual sugiere el siguiente esquema iterativo :
x( k 1)  T  x( k )  c
En el que a T se le denomina matriz de paso y a c vector corrector.
El método iterativo será convergente si :
 lim x ( k )  x
k 
Siendo x la solución exacta del sistema que se obtendría tras infinitas etapas de iteración. Los
métodos iterativos requieren partir de una aproximación inicial de la solución del sistema x(0) y
tienen también la ventaja frente a los directos de que se ven menos afectados por los errores de
redondeo.
4.2.-
Normas vectoriales
Cuando se construye una sucesión de vectores aproximación de la solución de un sistema
lineal, para estudiar la convergencia interesa medir la distancia entre las dos últimas
aproximaciones, y para medir esta distancia es necesario utilizar el concepto de norma de un
vector.
Norma vectorial. Este concepto se presenta en Álgebra y ya es conocido. Se pueden definir
distintas normas en un espacio vectorial de dimensión n. Las más utilizadas son:
x 1   xi
n
i 1
x2
x

x
n
i 1
2
i
(norma euclídea)
 max  xi  (norma del máximo)
1i  n
Ampliación de Matemáticas – Ing. Técnica de Telecomunicación
Resolución de sistemas de ecuaciones lineales. Métodos iterativos.
20
Esta última es la que más se utiliza al estudiar una sucesión de vectores.
4.3.-
Métodos iterativos para sistemas lineales
Métodos de iteración de Jacobi y de Gauss-Seidel
2.3.1.-
Ejemplo .
Consideremos el sistema de ecuaciones
4x  y  z  7
4 x  8 y  z  21
2 x  y  5 z  15
Estas ecuaciones se pueden escribir como
x
7 y z
;
4
y
21  4 x  z
15  2 x  y
; z
8
5
lo que sugiere el siguiente proceso iterativo:
x
( k 1)
7  y(k )  z (k )
;

4
y
722
 1.75 ;
4
y (1) 
( k 1)
21  4 x ( k )  z ( k )
15  2 x ( k )  y ( k )
( k 1)
; z


8
5
Si empezamos con P(0) = (x(0), y(0), z(0)) = (1, 2, 2), entonces la iteración parece converger a la solución
(2, 4, 3). En efecto, sustituyendo x(0) = 1, y(0) = 2 y z(0) = 2 en el miembro derecho de la relación obtenemos:
x (1) 
21  4  2
15  2  2
 3.375 ; z (1) 
 3.80
8
5
El nuevo punto P(1) = (1.75, 3.375, 3.00) está más cerca de (2, 4, 3) que P(0).
Este proceso se conoce como método de iteración de Jacobi y puede usarse para resolver
algunos tipos de sistemas de ecuaciones lineales.
En la resolución numérica de ecuaciones en derivadas parciales suelen aparecer sistemas de
ecuaciones lineales con incluso 100 000 incógnitas; en estos sistemas la matriz de los coeficientes
es dispersa, es decir, un alto porcentaje de los elementos de la matriz son iguales a cero. Si hay
algún tipo de patrón en la distribución de los elementos distintos de cero (ejemplo: los sistemas
tridiagonales), entonces un método iterativo puede resultar muy eficaz en la resolución de estos
sistemas tan enormes.
Finalmente conviene señalar que en algunas ocasiones el método iterativo de Jacobi no
funciona.
Algunas veces podemos acelerar la convergencia. Puesto que x(k+1) es, probablemente, mejor
aproximación al límite que x(k), sería razonable usar x(k+1) en vez de x(k) a la hora de calcular y(k+1) y,
de forma semejante, sería mejor usar x(k+1) e y(k+1) en el cálculo de z(k+1).
Ejemplo.
Consideremos el siguiente proceso iterativo para el mismo sistema de ecuaciones:
Ampliación de Matemáticas – Ing. Técnica de Telecomunicación
Resolución de sistemas de ecuaciones lineales. Métodos iterativos.
x ( k 1) 
7  y ( k )  z (k )
;
4
y ( k 1) 
21
21  4 x ( k 1)  z ( k )
15  2 x ( k 1)  y ( k 1)
; z ( k 1) 
8
5
A este proceso iterativo se conoce como método de Gauss-Seidel.
Sustituyendo y(0) = 2 y z(0) = 2 en la primera ecuación obtenemos:
x (1) 
722
 1.75
4
Sustituyendo ahora x(1) = 1.75 y z(0) = 2 en la segunda obtenemos:
y (1) 
21  4(1.75)  2
 3.75
8
Finalmente, sustituyendo x(1) = 1.75 e y(1) = 3.75 en la tercera:
z (1) 
15  2(1.75)  3.75
 2.95
5
Del mismo modo para calcular x(2) se utilizarán y(1) y z(1); para calcular y(2) se usarán x(2) y z(1); para
calcular z(2) se usarán x(2) e y(2); y así sucesivamente.
Vamos a considerar ahora los procesos iterativos de Jacobi y Gauss-Seidel con mayor
generalidad. Supongamos que tenemos un sistema de n ecuaciones lineales
a11 x1  a12 x2    a1 j x j    a1 N xN  b1
a21 x1  a22 x2    a2 j x j    a2 N xN  b2





a j1 x1  a j 2 x2    a jj x j    a jN xN  b j





aN 1 x1  aN 2 x2    aNj x j    aNN xN  bN
Sea Pk = (x1(k), x2(k), ..., xj(k), ..., xN(k)) el vector que aproxima la solución en la etapa k, de
manera que en la siguiente etapa se obtendrá Pk+1 = (x1(k+1), x2(k+1), ..., xj(k+1), ..., xN(k+1)). El
superíndice (k) de las coordenadas de Pk nos permite identificar la etapa a la que pertenece el
vector de soluciones aproximadas. Las fórmulas de iteración usan la fila j-ésima para despejar
xj(k+1) como una combinación lineal de los valores previamente obtenidos:
Método iterativo de Jacobi:
x
( k  1)
i
bi  ai ,1 x1( k )    ai ,i 1 xi(k1)  ai ,i 1 xi(k1)    ai , N xN( k )


ai ,i
bi   ai , j x j ( k )
N
j 1
j i
ai ,i
para i = 1, 2, ..., N.
En el método iterativo de Jacobi se usan todos los valores aproximados de la etapa anterior
en la obtención de los nuevos valores aproximados, mientras que en el método iterativo de GaussSeidel se emplean las últimas aproximaciones obtenidas conforme se van generando:
Ampliación de Matemáticas – Ing. Técnica de Telecomunicación
Resolución de sistemas de ecuaciones lineales. Métodos iterativos.
22
Método iterativo de Gauss-Seidel:
b  ai ,1 x1( k 1)    ai ,i 1 xi(k11)  ai ,i 1 xi(k1)    ai , N xN( k )

xi( k 1)  i
ai ,i
bi   ai , j x j ( k 1) 
i 1

2.3.2.-
j 1
ai ,i
a
N
j  i 1
i, j
x j(k )
(i  1, 2, ..., N )
El metodo SOR
El método SOR es parecido a los métodos de Jacobi y Gauss-Seidel, pero utiliza un factor
de escala para reducir más rápidamente el error de la aproximación. La técnica SOR pertenece a
una clase de métodos de relajación que calculan las aproximaciones x(k) mediante la siguiente
expresión:
i 1
n

 
xi ( k 1)  (1   ) xi ( k )  bi   aij x j ( k 1)   aij x j ( k ) 
aii 
j 1
j  i 1

Donde  es el factor de escala.
Cuando  = 1 tenemos el método de Gauss-Seidel. Cuando 0 <  < 1 el procedimiento
recibe el nombre de método de subrelajación y puede usarse para obtener la convergencia
cuando Gauss-Seidel no converge.
Cuando 1 <  el procedimiento recibe el nombre de método de sobrerrelajación , y se
emplea para acelerar la convergencia en sistemas para los que el método de Gauss-Seidel
converge.
4.4.-
Convergencia de los métodos iterativos
Al utilizar un método iterativo para resolver un sistema de ecuaciones lineales conviene
tener en cuenta los siguientes aspectos:
- El error de redondeo producido en cada iteración no tiene tanta importancia como en los
métodos directos: importa más el error de truncamiento del propio método.
- Los métodos iterativos son apropiados para resolver sistemas grandes en los que la matriz
de coeficientes es dispersa.
- No se pretende obtener la solución exacta (en teoría sería necesario realizar infinitas
iteraciones) sino una solución aproximada.
- El criterio de parada es que la distancia absoluta o relativa entre los resultados obtenidos en
las dos últimas iteraciones sea suficientemente pequeña. Para cuantificar esta distancia se
utiliza la norma vectorial de su diferencia x ( k 1)  x ( k ) .

Con esta definición de la distancia entre dos vectores, el criterio de parada se puede
representar en términos de:
el error absoluto:
x
el error relativo:
x
( k +1)
( k +1)
x
x
x
( k +1)
(k )
(k )





Ampliación de Matemáticas – Ing. Técnica de Telecomunicación
Resolución de sistemas de ecuaciones lineales. Métodos iterativos.
23
Recordemos ahora un par de definiciones relativas a dos tipos de matrices, enunciadas en el
capítulo anterior y que vuelven a aparecer en este capítulo, y la definición de radio espectral de
una matriz, para pasar a continuación a enunciar un teorema general relativo a la convergencia de
los métodos iterativos para la resolución de sistemas lineales.
Definición: Se dice que una matriz A de orden n es estrictamente diagonal dominante si:
akk   akj
n
j 1
jk
(k  1, 2, ..., n)
Definición: Se dice que una matriz A de orden n es definida positiva si, siendo x un vector
perteneciente a n:
xt  A  x  0  x , y xt  A  x  0 si x = 0
Definición: Se define el radio espectral de una matriz A de orden n, y se representa como (A),
al mayor de los valores propios de A en valor absoluto o módulo.
Teorema: Sea el sistema de ecuaciones :
Ax b
El esquema iterativo:

x T x  c
x( k 1)  T  x( k )  c
Es convergente si y solo si el radio espectral de la matriz de paso T es menor que 1. En este caso
la sucesión x(k) converge a la solución exacta del sistema cualquiera que sea la aproximación
inicial x(0)
Este teorema es válido para cualquier método iterativo para la resolución de un sistema de
ecuaciones lineales. Sin embargo su aplicación puede resultar complicada ya que requiere el
cálculo del radio espectral de la matriz de paso. La convergencia de los métodos de Jacobi y de
Gauss-Seidel se puede asegurar si la matriz de coeficientes tiene ciertas propiedades.
Se puede demostrar que:
- Si en el sistema de ecuaciones lineales A x = b la matriz A es estrictamente diagonal dominante,
entonces para cualquier aproximación inicial los métodos de Jacobi y de Gauss-Seidel son
convergentes cualesquiera que sean el vector de términos independientes y la aproximación inicial.
Teniendo esto en cuenta, en muchas ocasiones, para obtener la convergencia bastará con
reordenar el sistema colocando en la diagonal principal los coeficientes de mayor valor absoluto.
- El método de Gauss-Seidel también converge cuando la matriz A es definida positiva. En general
el método de Gauss-Seidel converge más rápidamente que el de Jacobi.
- Si A es una matriz definida positiva y 0 <  < 2, entonces el método SOR converge para
cualquier valor inicial x(0) .
A partir de las matrices de paso de los métodos de Jacobi, Gauss-Seidel y SOR se puede
determinar en el caso de que la matriz A sea tridiagonal, además de definida positiva, la elección
óptima del valor de .
Ampliación de Matemáticas – Ing. Técnica de Telecomunicación
Resolución de sistemas de ecuaciones lineales. Métodos iterativos.
4.5.-
24
Métodos iterativos para sistemas no lineales. Conceptos previos.
Para resolver sistemas de ecuaciones no lineales es preciso trabajar con funciones de varias
variables, y hay que usar las derivadas parciales y la matriz jacobiana.
 f1 ( x, y )  0
Sea el sistema no lineal:

 f 2 ( x, y )  0
Definición. (Matriz jacobiana). Sean f1(x,y) y f2(x,y) funciones de dos variables independientes x
e y. Entonces su matriz jacobiana J(x,y) es:
 f1 f1 
 x y 

J ( x, y )  
 f 2 f 2 
 x y 


2.5.1.-
La diferencial
Cuando tenemos una función de varias variables, la diferencial es una magnitud que
podemos usar para mostrar cómo afectan los cambios de las variables independientes a las
variables dependientes. Consideremos las funciones:
u = f1(x,y,z), v = f2(x,y,z) y w = f3(x,y,z)
Supongamos que los valores de las funciones anteriores se conocen en el punto (x0,y0,z0) y
que queremos estimar sus valores en un punto cercano (x,y,z). Si denotamos por du, dv y dw los
cambios diferenciales en las variables dependientes y por dx, dy y dz los cambios diferenciales en
las variables independientes, entonces estos cambios se pueden expresar:
f
f
f
du  1 ( x0 , y0 , z0 )dx  1 ( x0 , y0 , z0 )dy  1 ( x0 , y0 , z 0 )dz
x
y
z
f
f
f
dv  2 ( x0 , y0 , z0 )dx  2 ( x0 , y0 , z0 )dy  2 ( x0 , y0 , z 0 )dz
x
y
z
f
f
f
dw  3 ( x0 , y0 , z0 )dx  3 ( x0 , y0 , z0 )dy  3 ( x0 , y0 , z 0 )dz
x
y
z
Usando notación vectorial, puede escribirse de forma más compacta utilizando la matriz
jacobiana. Si representamos du, dv y dw mediante la función vectorial dF y las diferenciales dx, dy
y dz por dX, entonces:
 du 
 dx 


dF  dv  J ( x0 , y0 , z0 )  dy   J ( x0 , y0 , z0 ) dX
 
 
 dw
 dz 
4.6.-
El método de Newton-Raphson para sistemas no lineales
Vamos a construir el método de Newton-Raphson en el caso bidimensional. Esta
construcción se generaliza fácilmente a dimensiones mayores.
u  f1 ( x, y )
Consideremos el sistema:
v  f 2 ( x, y )
que puede interpretarse como una transformación del plano XOY en el plano UOV. Si estamos
interesados en el comportamiento de esta transformación cerca del punto (x0,y0), cuya imagen es
el punto (u0,v0), y si las dos funciones tienen derivadas parciales continuas, entonces podemos
Ampliación de Matemáticas – Ing. Técnica de Telecomunicación
Resolución de sistemas de ecuaciones lineales. Métodos iterativos.
25
usar la diferencial del sistema para escribir un sistema de aproximaciones incrementales lineales
válidas cerca del punto (x0,y0) en cuestión:
f
f
u  u0  1 ( x0 , y0 )  x  x0   1 ( x0 , y0 )  y  y0 
x
y
f
f
v  v0  2 ( x0 , y0 )  x  x0   2 ( x0 , y0 )  y  y0 
x
y
El sistema anterior es una aproximación lineal local que nos da una idea del efecto que
pequeños cambios en las variables independientes producen en las variables dependientes. Si
usamos la matriz jacobiana J(x0,y0), esta relación se escribe de forma más cómoda como:
f1
 f1

( x0 , y0 )
( x0 , y0 ) 

x
y
 u  u0 
 x  x0 
 x  x0 
 


  J ( x0 , y0 ) 

 v  v0   f 2 ( x , y ) f 2 ( x , y )   y  y0 
 y  y0 
0
0 
 x 0 0
y


Usaremos esta aproximación para desarrollar el método de Newton bidimensional.
Consideremos el sistema de ecuaciones que resulta de igualar u y v a cero en:
0  f1 ( x, y )
0  f 2 ( x, y )
Supongamos que (p,q) es una solución de este sistema, es decir, 0  f1 ( p, q ) , y
0  f 2 ( p, q) . Si consideramos pequeños cambios de las funciones cerca de un punto inicial (p0,q0)
próximo a la solución (p,q):
u  u  u0 ; p  x  p0
v  v  v0 ; q  y  q0
entonces
u  u0  f1 ( p, q )  f1 ( p0 , q0 )  0  f1 ( p0 , q0 )
v  v0  f 2 ( p, q )  f 2 ( p0 , q0 )  0  f2 ( p0 , q0 )
Expresando en forma matricial el sistema lineal cuyas incógnitas son p y q:
f1
 f1

 x ( p0 , q0 ) y ( p0 , q0 )   p 
 f (p ,q )

     1 0 0 
f 2
 f 2
  q 
 f 2 ( p0 , q0 ) 
 x ( p0 , q0 ) y ( p0 , q0 ) 


Si la matriz jacobiana J(p0,q0) es invertible, entonces podemos despejar
P   p q  =  p q    p0 q0 
t
de manera que
t
t
P   J ( p0 , q0 ) 1 F ( p0 , q0 )
Esto nos proporciona la siguiente aproximación P1 a la solución P = [p q]:
P1  P0  P  P0  J ( p0 , q0 ) 1 F ( p0 , q0 )
Hagamos notar que la fórmula anterior es la generalización de la fórmula de iteración del
método de Newton-Raphson para funciones de una variable que, como vimos, es:
p1  p0  f ( p0 ) f ( p0 )
Ampliación de Matemáticas – Ing. Técnica de Telecomunicación
Resolución de sistemas de ecuaciones lineales. Métodos iterativos.
2.6.1.-
Esquema del método de Newton-Raphson
Supongamos que hemos obtenido Pk.
Paso 1. Evaluamos la función
 f1 ( pk , qk ) 
F ( Pk )  

 f 2 ( pk , qk ) 
Paso 2. Evaluamos la matriz jacobiana
 f1
 x ( pk , qk )
J ( Pk )  
 f 2
 x ( pk , qk )

f1

( pk , qk ) 
y

f 2

( pk , qk ) 
y

Paso 3. Calculamos P resolviendo el sistema lineal:
J ( Pk )p   F ( Pk )
Paso 4. Calculamos el siguiente punto:
Pk 1  Pk  P
Y se repite el proceso.
Ampliación de Matemáticas – Ing. Técnica de Telecomunicación
26
Descargar