Método de Gauss-Seidel

De testwiki
Ir a la navegación Ir a la búsqueda

En análisis numérico el método de Gauss-Seidel es un método iterativo utilizado para resolver sistemas de ecuaciones lineales. El método se llama así en honor a los matemáticos alemanes Carl Friedrich Gauss y Philipp Ludwig von Seidel y es similar al método de Jacobi.

Aunque este método puede aplicarse a cualquier sistema de ecuaciones lineales que produzca una matriz (cuadrada, naturalmente pues para que exista solución única, el sistema debe tener tantas ecuaciones como incógnitas) de coeficientes con los elementos de su diagonal no-nulos, la convergencia del método solo se garantiza si la matriz es diagonalmente dominante o si es simétrica y, a la vez, definida positiva.

Descripción

Es un método iterativo, lo que significa que se parte de una aproximación inicial y se repite el proceso hasta llegar a una solución con un margen de error tan pequeño como se quiera. Buscamos la solución a un sistema de ecuaciones lineales, en notación matricial:

Ax=b,

donde:

A=(a11a12a1na21a22a2nan1an2ann),x=(x1x2xn),b=(b1b2bn).

El método de iteración Gauss-Seidel se computa, para la iteración (k+1):

x(k+1)=Mx(k)+c.

donde

A=NP

definimos

M=N1P

y

c=N1b,

donde los coeficientes de la matriz N se definen como nij=aij si ij, nij=0 si i>j, esto es, la matriz N es triangular superior.

Considerando el sistema Ax=b, con la condición de que aii0,i=1,...,n. Entonces podemos escribir la fórmula de iteración del método

xi(k+1)=1ji1aijxj(k+1)i+1jnaijxj(k)+biaii,i=1,...,n(*)

La diferencia entre este método y el de Jacobi es que, en este último, las mejoras a las aproximaciones no se utilizan hasta completar las iteraciones.

Convergencia

Plantilla:Teorema

Para ver los casos en que converge el método primero mostraremos que se puede escribir de la siguiente forma:

x(k+1)=Mx(k)+c,k=1,2,3... (**)

(el término x(k) es la aproximación obtenida después de la k-ésima iteración) este modo de escribir la iteración es la forma general de un método iterativo estacionario.

Primeramente debemos demostrar que el problema lineal Ax=b que queremos resolver se puede representar en la forma (**), por este motivo debemos tratar de escribir la matriz A como la suma de una matriz triangular inferior, una diagonal y una triangular superior A=(L+D+U), D=diag(aii). Haciendo los despejes necesarios escribimos el método de esta forma

x(k+1)=(L+D)1Ux(k)+(L+D)1b

por lo tanto M=-(L+D)-1 U y c=(L+D)-1b

Ahora podemos ver que la relación entre los errores, el cual se puede calcular al substraer x=Bx+c de (**)

x(k+1)x=M(x(k)x)=...=M(k+1)(x(0)x).

Supongamos ahora que λi, i= 1, ..., n, son los valores propios que corresponden a los vectores propios ui, i= 1,..., n, los cuales son linealmente independientes, entonces podemos escribir el error inicial

x(0)x=α1u1+...+αnun
x(k)x=α1λ1ku1+...+αnλnkun(***)

Por lo tanto la iteración converge si y sólo si |λi|<1, i=1,,n. De este hecho se desprende el siguiente teorema:

Plantilla:Teorema

Algoritmo

El método de Gauss-Seidel se puede escribir en forma de algoritmo de la siguiente manera:

Plantilla:Algoritmo

Véase también

Enlaces externos


Plantilla:Control de autoridades