métodos iterativos para sistemas de ecuaciones lineales

20
Métodos iterativos para sistemas de ecuaciones lineales

Upload: giselle-winters

Post on 02-Jan-2016

77 views

Category:

Documents


1 download

DESCRIPTION

Métodos iterativos para sistemas de ecuaciones lineales. Métodos iterativos para sistemas de ecuaciones lineales. Introducción Ecuación del Calor Método de Jacobi Método de Gauss-Seidel Método de Sobrerrelajación Problema del Condensador. DIRECTOS Ax =b x = A\ b Tamaño moderado - PowerPoint PPT Presentation

TRANSCRIPT

Métodos iterativos para sistemas de ecuaciones

lineales

Métodos iterativos para sistemas de ecuaciones

lineales

Métodos iterativos para sistemas de ecuaciones

lineales

Métodos iterativos para sistemas de ecuaciones

linealesIntroducciónEcuación del CalorMétodo de JacobiMétodo de Gauss-SeidelMétodo de SobrerrelajaciónProblema del Condensador

Métodos directos frente a métodos iterativos

Métodos directos frente a métodos iterativos

DIRECTOSDIRECTOS

Ax =b

x = A\ b

Tamaño moderado

Modifican la estructura

Error de redondeo

ITERATIVOSITERATIVOS

x = Cx + d

x(k+1) = Cx(k) + d

Tamaño grande

Conservan los ceros

Error de truncamiento

Convergencia y número de operaciones

Convergencia y número de operaciones

Coste (para matrices densas) Directos: n3 Iterativos: k.n2

Convergencia Criterio de parada:

x x tol; p 1,2,...,inf(k+1) (k)

p

Ax b tol; p 1,2,...,inf(k)

p

Ecuación del CalorEcuación del Calor

Sistema de ec. lin. Matriz asociada

T (T T ) / 2

T (T T ) / 2

T (T T ) / 2

T (T T ) / 2

1 0 2

2 1 3

3 2 4

n n-1 n+1

2 - 1

- 1 2 - 1

- 1 2

- 1

- 1 2

T0 T1 T2 . . . Tn Tn+1

Matriz de la Ecuación del Calor con MATLAB

Matriz de la Ecuación del Calor con MATLAB

function A = mcalor1(n)v = ones(1,n-1);A = 2*eye(n) - diag(v,1) - diag(v,-1);

El método de JacobiEl método de Jacobi

Sistema de ecuaciones lineales

a x

a x

a x

a x

a x a x a x

a x a x a x

a x a x a x

a x a x a x

b

b

b

b

11 1

21 1

31 1

n1 n

12 2 13 3 1n n

22 2 23 3 2n n

32 2 33 3 3n n

n2 2 n3 3 nn n

1

2

3

n

Ecuación de punto fijoEcuación de punto fijo

x (b

x (b

x (b

x (b

a x a x a x ) / a

a x a x a x ) / a

a x a x a x ) / a

a x a x a x ) / a

1 1

1 2

2 3

n n

12 2 13 3 1n n 11

21 1 23 3 2n n 22

31 1 32 2 3n n 33

n1 1 n2 2 n,n 1 n 1 nn

Iteración de JacobiIteración de Jacobi

x (b

x (b

x (b

x (b

a x a x a x ) / a

a x a x a x ) / a

a x a x a x ) / a

a x a x a x ) / a

1(k+1)

1

2(k+1)

2

3(k+1)

3

n(k+1)

n

12 2(k)

13 3(k)

1n n(k)

11

21 1(k)

23 3(k)

2n n(k)

22

31 1(k)

32 2(k)

3n n(k)

33

n1 1(k)

n2 2(k)

n,n 1 n 1(k)

nn

Expresión matricialResolución con MATLAB

Expresión matricialResolución con MATLAB

U = triu(A,1); L = tril(A,-1);d = diag(A);x = (b-(L+U)*x)./d

A L D U

x D (b (L U)x )(k 1) 1 (k)

Condición suficiente de convergencia

Condición suficiente de convergencia

Matriz estrictamente diagonalmente estrictamente diagonalmente dominantedominante: para i=1,2,...,n

Si A es estrictamente diagonalmente estrictamente diagonalmente dominantedominante, los iterados de Jacobi convergen a la solución del sistema partiendo de cualquier estimación inicial.

|a | |a | |a | |a | |a |ii i1 i,i 1 i,i 1 in

Iteración de Gauss-SeidelIteración de Gauss-Seidel

x (b

x (b

x (b

x (b

a x a x a x ) / a

a x a x a x ) / a

a x a x a x ) / a

a x a x a x ) / a

1(k+1)

1

2(k+1)

2

3(k+1)

3

n(k+1)

n

12 2(k)

13 3(k)

1n n(k)

11

21 1(k+1)

23 3(k)

2n n(k)

22

31 1(k+1)

32 2(k+1)

3n n(k)

33

n1 1(k+1)

n2 2(k+1)

n,n 1 n 1(k+1)

nn

Expresión matricialResolución con MATLAB

Expresión matricialResolución con MATLAB

A L D U

(L D)x b Ux

x (L D) (b Ux )

(k 1) (k)

(k 1) 1 (k)

d = diag(A); D = diag(d);U = triu(A,1); L = tril(A,-1);x = (L + D)\(b - U*x)

Método de sobrerrelajaciónMétodo de sobrerrelajación

Gauss Seidel:

x x z

Sobrerrelajacion:

x x wz ; 0 < w < 2

z x x

x (1 w)x wx

i(k+1)

i(k)

i

i(k+1)

i(k)

i

i i(k+1)

i(k)

i(k+1)

i(k)

i(k+1)

xik

zi xik+1

ik+1x

Paso de sobrerrelajaciónPaso de sobrerrelajación

x (1 )x (b

x (1 )x (b

x (1 )x (b

x (1 )x (b

a x a x a x ) / a

a x a x a x ) / a

a x a x a x ) / a

1(k+1)

1(k)

1

2(k+1)

2(k)

2

3(k+1)

3(k)

3

n(k+1)

n(k)

n

12 2(k)

13 3(k)

1n n(k)

11

21 1(k+1)

23 3(k)

2n n(k)

22

31 1(k+1)

32 2(k+1)

3n n(k)

33

a x a x a x ) / an1 1(k+1)

n2 2(k+1)

n,n 1 n 1(k+1)

nn

Expresión matricialResolución con MATLAB

Expresión matricialResolución con MATLAB

D = diag(diag(A));c = *b; C = (1-)*D - *Ux = (L + D)\(c + C*x)

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

( L D)x b ((1 )D U)x(k+1) (k)

A L D U

Condición suficiente de convergencia

Condición suficiente de convergencia

Matriz simétrica definida positivasimétrica definida positiva:

AT = A, xTAx > 0

Si A es simétrica definida positivasimétrica definida positiva y 0<w<2, los iterados de SR convergen a la única solución del sistema, partiendo de cualquier estimación inicial.

Ecuación del Calor en un rectángulo

Ecuación del Calor en un rectángulo

VC = (VN + VS + VE + VW)/4

C

N

EW

S

Generación de la matriz con MATLAB

Generación de la matriz con MATLAB

function A = mcalor2(m,n)p = m*n;v = ones(1,p-1);for k=n:n:p-1, v(k) = 0; endw = ones(1,p-n);

A = 4*eye(p) ...

- diag(v,1) - diag(v,-1) ... - diag(w,n) - diag(w,-n);

ResumenResumen

Los métodos iterativos se aplican a matrices grandesgrandes y dispersasdispersas.

El coste por iteración es O(nO(n22)) o menor si se aprovecha la dispersidad

Se espera que converjan en menos de nn pasos.

La matriz ha de cumplir ciertas condiciones para que el método converja.