Programaci´ on: M´ etodos iterativos de Jacobi y de Gauss–Seidel

Download (0)

Full text

(1)

Programaci´ on: M´ etodos iterativos de Jacobi y de Gauss–Seidel

Objetivos. Programar los m´etodos de Jacobi y Gauss–Seidel para resolver sistemas de ecuaciones lineales.

1. Idea de los m´etodos iterativos. Se considera un sistema de ecuaciones lineales Ax = b. En ambos m´etodos se construye una sucesi´on de vectores x(0), x(1), x(2), . . . , que bajo ciertas condiciones converge a la soluci´on exacta del sistema.

2. Terminar el proceso si llegamos a un punto fijo. Terminar el proceso iterativo si kx − yk2 < ε, donde ε es un n´umero dado, x es el vector obtenido en la ´ultima iteraci´on, y es el vector obtenido en la iteraci´on anterior y k · k2 es la norma euclideana. Vamos a denotar kx − yk2 por d.

3. N´umero m´aximo de iteraciones. En algunas situaciones los m´etodos iterativos no convergen. Por eso desde el inicio elegimos el n´umero m´aximo de iteraciones pmax, en una variable p contamos el n´umero de las iteraciones realizadas y salimos del ciclo si p >= pmax.

4. Condici´on de terminaci´on y condici´on de continuaci´on. Vamos a terminar el ciclo si la soluci´on actual es muy cercana a la soluci´on encontrada en el paso anterior o si el n´umero de iteraciones hechas es mayor o igual al n´umero m´aximo de iteraciones:

Condici´on de terminaci´on: (d < eps) ∨ (p≥ pmax).

La condici´on de continuaci´on del ciclo obtenemos como la negaci´on de la condici´on de terminaci´on:

Condici´on de continuaci´on:

| {z }

?

∧ | {z }

?

.

Programaci´on: m´etodos de Jacobi y de Gauss–Seidel, p´agina 1 de 2

(2)

5. Estructura del algoritmo para m´etodos iterativos.

Entrada: A, b, eps, pmax.

Variables locales: ... . n := longitud de b;

x := vector nulo de longitud n;

d := 2 * eps;

p := ...;

Mientras ...:

y := x;

... (construir x nuevo) ...

d := norma del vector (x - y);

p += 1;

Salida: x, p.

F´ormula del m´etodo de Jacobi. En cada paso las componentes del vector nuevo x se calculan a trav´es del vector anterior z mediante las siguientes f´ormulas:

xi := 1

Ai,i bi− Xi−1

j=1

Ai,jyj− Xn j=i+1

Ai,jyj

! .

6. Problema SyslineqJacobi (2 %). Entradas: A, b, eps, pmax, donde A es una matriz cuadrada de orden n, b es un vector de longitud n. Salida: vector x y n´umero de iteraciones realizadas p.

F´ormula del m´etodo de Gauss–Seidel.

xi := 1

Ai,i bi− Xi−1

j=1

Ai,jxj− Xn j=i+1

Ai,jyj

! .

7. Problema SyslineqGaussSeidel (1 %). Entradas: A, b, eps, pmax, donde A es una matriz cuadrada de orden n, b es un vector de longitud n. Salida: vector x y n´umero de iteraciones realizadas p.

8. Comprobaci´on. Aplique los m´etodos de Jacobi y de Gauss–Seidel al siguiente sistema:

−5 1 −2

1 −4 1

1 3 5

 x =

 8

−1 3

 .

Compare el n´umero iteraciones en estos dos m´etodos aplicados al mismo sistema y con el mismo eps = 0.001.

Programaci´on: m´etodos de Jacobi y de Gauss–Seidel, p´agina 2 de 2

Figure

Updating...

References

Related subjects :