Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos...

28
Clase No. 8 (Parte 1): Métodos iterativos para resolver sistemas de ecuaciones lineales MAT–251 Dr. Alonso Ramírez Manzanares Depto. de Matemáticas Univ. de Guanajuato e-mail: alram@ cimat.mx web: http://www.cimat.mx/salram/met_num/ Dr. Joaquín Peña Acevedo CIMAT A.C. e-mail: joaquin@ cimat.mx Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 1 / 22

Transcript of Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos...

Page 1: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Clase No. 8 (Parte 1):

Métodos iterativos para resolversistemas de ecuaciones lineales

MAT–251 Dr. Alonso Ramírez ManzanaresDepto. de MatemáticasUniv. de Guanajuatoe-mail: [email protected]: http://www.cimat.mx/salram/met_num/

Dr. Joaquín Peña AcevedoCIMAT A.C.e-mail: [email protected]

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 1 / 22

Page 2: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Matrices estrictamente diagonal dominante

Proposición

Sea A una matriz estrictamente diagonal dominante. Entonces la matriz esinvertible.

Por contradicción, supongamos que es singular. Entonces podemos hallarx 6= 0 tal que Ax = 0. Supongamos que

|xk | = max1≤i≤n

|xi|.

Entonces

n∑

j=1

akjxj = 0 =⇒ akkxk = −n∑

j=1j 6=i

akjxj

|akk | |xk | ≤n∑

j=1j 6=i

|akj| |xj| =⇒ |akk | ≤n∑

j=1j 6=i

|akj||xj||xk |

≤n∑

j=1j 6=i

|akj|

lo cual es una contradicción.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 2 / 22

Page 3: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Normas para vectores

Definición de norma vectorial

Una norma en Rn es una función ‖ · ‖ : Rn → R que tiene las propiedades:1 ‖x‖ ≥ 0 ∀x ∈ Rn,2 ‖x‖ = 0 si y sólo si x = 0,3 ‖αx‖ = |α| ‖x‖ ∀x ∈ Rn, α ∈ R,4 ‖x+y‖ ≤ ‖x‖+ ‖y‖ ∀x,y ∈ Rn.

Ejemplos: Para x = (x1,x2, ...,xn)>

‖x‖2 =

n∑

i=1

x2i (Norma l2)

‖x‖1 =n∑

i=1

|xi| (Norma l1)

‖x‖∞ = max1≤i≤n

|xi| (Norma l∞)

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 3 / 22

Page 4: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Normas para matricesDefinición de norma matricial

Una norma en Rn×n es una función ‖ · ‖ : Rn×n → R que tiene las propiedadespara todo A,B ∈ Rn×n y α ∈ R:

1 ‖A‖ ≥ 0 y ‖A‖ = 0 si y sólo si A = 0,2 ‖αA‖ = |α| ‖A‖,3 ‖A+B‖ ≤ ‖A‖+ ‖B‖,4 ‖AB‖ ≤ ‖A‖‖B‖.

Ejemplos: Para A = [aij],

‖A‖F =

n∑

i=1

n∑

j=1

a2ij

1/2

(Norma de Frobenius)

‖A‖∞ = max1≤i≤n

n∑

j=1

|aij| (Norma l∞)

‖A‖ = maxx 6=0

‖Ax‖‖x‖

(Norma natural)

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 4 / 22

Page 5: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Introducción a los métodos iterativos

Una separación de A es una descomposición A =Q−P, con Q una matriz nosingular.

Una separación puede producir un método iterativo:

b = Ax =Qx−Px =⇒ x =Q−1(Px+b) =Mx+ c

Queremos un método en el que demos un vector inicial x0 y generemos unasucesión mediante

xt =Mxt−1 + c (1)

tal que xt → x∗, donde x∗ es la solución del sistema Ax = b.

En el proceso iterativo, como la matriz M y el vector c no cambian, se diceque el método es estacionario.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 5 / 22

Page 6: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Introducción a los métodos iterativos

Una separación de A es una descomposición A =Q−P, con Q una matriz nosingular.

Una separación puede producir un método iterativo:

b = Ax =Qx−Px =⇒ x =Q−1(Px+b) =Mx+ c

Queremos un método en el que demos un vector inicial x0 y generemos unasucesión mediante

xt =Mxt−1 + c (1)

tal que xt → x∗, donde x∗ es la solución del sistema Ax = b.

En el proceso iterativo, como la matriz M y el vector c no cambian, se diceque el método es estacionario.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 5 / 22

Page 7: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Introducción a los métodos iterativos

Tenemos que la solución x∗ de Ax = b satisface

x∗ =Mx∗ + c (2)

Restando (2) de (1) se obtiene

xt − x∗ =M(xt−1 − x∗)

=⇒ ‖xt − x∗‖ ≤ ‖M‖ ‖xt−1 − x∗‖

Proposición

Si ‖M‖ < 1, entonces la sucesión {xt}, con xt = Mxt−1 + c, converge paracualquier x0.

‖xt − x∗‖ ≤ ‖M‖ ‖xt−1 − x∗‖ < ‖xt−1 − x∗‖

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 6 / 22

Page 8: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Introducción a los métodos iterativos

Tenemos que la solución x∗ de Ax = b satisface

x∗ =Mx∗ + c (2)

Restando (2) de (1) se obtiene

xt − x∗ =M(xt−1 − x∗)

=⇒ ‖xt − x∗‖ ≤ ‖M‖ ‖xt−1 − x∗‖

Proposición

Si ‖M‖ < 1, entonces la sucesión {xt}, con xt = Mxt−1 + c, converge paracualquier x0.

‖xt − x∗‖ ≤ ‖M‖ ‖xt−1 − x∗‖ < ‖xt−1 − x∗‖

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 6 / 22

Page 9: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Un comentario sobre las normas en Rn

En general, no conocemos x∗. Por ello, un criterio para terminar de iterar elalgoritmo es cuando se cumpla

‖xt − xt−1‖1+ ‖xt‖

< tol o‖Axt −b‖1+ ‖b‖

< tol

Proposición

Si ‖ · ‖a y ‖ · ‖b son dos normas en Rn, entonces existen constantes α, β ∈ Rtales que para todo x ∈ Rn

α‖x‖a ≤ ‖x‖b ≤ β‖x‖a

En general, cuando dos normas cumplen las desigualdades anteriores sedice que son equivalentes.

Desde el punto de vista computacional, esto nos da la libertad de usar enlos algoritmos una norma que no sea costosa de calcular y que nointroduzca demasiados errores al calcularla.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 7 / 22

Page 10: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Un comentario sobre las normas en Rn

En general, no conocemos x∗. Por ello, un criterio para terminar de iterar elalgoritmo es cuando se cumpla

‖xt − xt−1‖1+ ‖xt‖

< tol o‖Axt −b‖1+ ‖b‖

< tol

Proposición

Si ‖ · ‖a y ‖ · ‖b son dos normas en Rn, entonces existen constantes α, β ∈ Rtales que para todo x ∈ Rn

α‖x‖a ≤ ‖x‖b ≤ β‖x‖a

En general, cuando dos normas cumplen las desigualdades anteriores sedice que son equivalentes.

Desde el punto de vista computacional, esto nos da la libertad de usar enlos algoritmos una norma que no sea costosa de calcular y que nointroduzca demasiados errores al calcularla.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 7 / 22

Page 11: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Un comentario sobre las normas en Rn

En general, no conocemos x∗. Por ello, un criterio para terminar de iterar elalgoritmo es cuando se cumpla

‖xt − xt−1‖1+ ‖xt‖

< tol o‖Axt −b‖1+ ‖b‖

< tol

Proposición

Si ‖ · ‖a y ‖ · ‖b son dos normas en Rn, entonces existen constantes α, β ∈ Rtales que para todo x ∈ Rn

α‖x‖a ≤ ‖x‖b ≤ β‖x‖a

En general, cuando dos normas cumplen las desigualdades anteriores sedice que son equivalentes.

Desde el punto de vista computacional, esto nos da la libertad de usar enlos algoritmos una norma que no sea costosa de calcular y que nointroduzca demasiados errores al calcularla.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 7 / 22

Page 12: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Método de Jacobi

Queremos resolver Ax = b haciendo una separación de la matrizA = [aij] =Q−P. Dado que x =Q−1(Px+b), conviene elegir Q de modo quesu inversa sea fácil de calcular.

En el método de Jacobi se elige

Q =

a11 0 · · · 00 a22 · · · 0...

.... . .

...0 0 · · · ann

, P =

0 −a22 · · · −a1n−a21 0 · · · −a2n

......

. . ....

−an1 −an2 · · · 0

Si b = (b1, ...,bn)>, xt−1 = (xt−11 ,xt−1

2 , ...,xt−1n

)>, entonces parai = 1,2, ...,n, la componente i-ésima de xt está dada por

xti=

1

aii

bi −n∑

j=1j 6=i

aijxt−1j

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 8 / 22

Page 13: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Método de Jacobi

Queremos resolver Ax = b haciendo una separación de la matrizA = [aij] =Q−P. Dado que x =Q−1(Px+b), conviene elegir Q de modo quesu inversa sea fácil de calcular.

En el método de Jacobi se elige

Q =

a11 0 · · · 00 a22 · · · 0...

.... . .

...0 0 · · · ann

, P =

0 −a22 · · · −a1n−a21 0 · · · −a2n

......

. . ....

−an1 −an2 · · · 0

Si b = (b1, ...,bn)>, xt−1 = (xt−11 ,xt−1

2 , ...,xt−1n

)>, entonces parai = 1,2, ...,n, la componente i-ésima de xt está dada por

xti=

1

aii

bi −n∑

j=1j 6=i

aijxt−1j

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 8 / 22

Page 14: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Método de Jacobi

Queremos resolver Ax = b haciendo una separación de la matrizA = [aij] =Q−P. Dado que x =Q−1(Px+b), conviene elegir Q de modo quesu inversa sea fácil de calcular.

En el método de Jacobi se elige

Q =

a11 0 · · · 00 a22 · · · 0...

.... . .

...0 0 · · · ann

, P =

0 −a22 · · · −a1n−a21 0 · · · −a2n

......

. . ....

−an1 −an2 · · · 0

Si b = (b1, ...,bn)>, xt−1 = (xt−11 ,xt−1

2 , ...,xt−1n

)>, entonces parai = 1,2, ...,n, la componente i-ésima de xt está dada por

xti=

1

aii

bi −n∑

j=1j 6=i

aijxt−1j

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 8 / 22

Page 15: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Convergencia del método de Jacobi

Note que

M =Q−1P = I−Q−1A

donde I es la matriz identidad de tamaño n. Entonces

‖M‖∞ = max1≤i≤n

n∑

j=1j 6=i

|aij||aii|

Si para todo i tenemos que

|aii| >n∑

j=1j 6=i

|aij| =⇒ ‖M‖∞ < 1

y por tanto la sucesión es convergente.

Proposición

Si la matriz A es estrictamente diagonal dominante, entonces el método deJacobi converge para cualquier vector inicial x0.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 9 / 22

Page 16: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Ejemplo 1.

A =

15 5 0 2 65 14 0 1 −14 2 −18 1 63 6 2 12 05 −4 4 1 15

Elegimos

x∗ =

100020003000−2000−1000

, =⇒ b = Ax∗ =

1500032000−54000−3000−8000

Iniciamos con x0 =

00000

.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 10 / 22

Page 17: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Ejemplo 1.

t=1 t=3 t=5 t=7 t=9 t=11x1 1000.000 1065.794 996.807 996.451 998.268 999.303x2 2285.714 2191.327 2050.923 2012.788 2003.548 2001.011x3 3000.000 2853.889 2986.866 2997.922 2999.722 3000.026x4 -250.000 -1872.778 -1969.974 -1995.201 -1999.320 -1999.953x5 -533.333 -919.048 -982.239 -992.414 -997.533 -999.193

t=13 t=15 t=17 t=19 t=21 t=23x1 999.747 999.912 999.970 999.990 999.997 999.999x2 2000.297 2000.090 2000.028 2000.009 2000.003 2000.001x3 3000.031 3000.015 3000.006 3000.002 3000.001 3000.000x4 -2000.023 -2000.016 -2000.007 -2000.003 -2000.001 -2000.000x5 -999.736 -999.914 -999.972 -999.991 -999.997 -999.999

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 11 / 22

Page 18: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Otra condición suficiente.

Decimos que v es un eigenvector de la matriz A si existe λ ∈ R tal que

Av = λv,

y llamamos a λ es un eigenvalor asociado a v.

El radio espectral ρ(A) de una matriz A se define como

ρ(A) = max{ |λ| : λ es eigenvalor de A}

Proposición

Sea A una matriz n× n. Entonces ρ(A) ≤ ‖A‖ para cualquier norma natural.Además, Ak → 0 si y sólo si ρ(A) < 1.

Proposición

La sucesión xt =Mxt−1 + c converge para cualquier x0 si ρ(M) < 1.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 12 / 22

Page 19: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Ejemplo 2.Consideremos las matrices de la forma

A=

1 0 0 · · · 0 0 0−1 2 −1 · · · 0 0 0

0 −1 2 · · · 0 0 0...

......

. . ....

......

0 0 0 · · · 2 −1 00 0 0 · · · −1 2 −10 0 0 · · · 0 0 1

50 100 150 200

3.90

3.92

3.94

3.96

3.98

4.00

Dimension

Rad

io e

spec

tral

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 13 / 22

Page 20: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Ejemplo 2.

Fijamos n = 100. Sea b = (0.5,0,0, ...,0,0,0.5)>. Entonces, inicializamos elmétodo de Jacobi con el siguiente vector x0:

0 20 40 60 80 100

0.0

0.5

1.0

1.5

3

Componente

Res

ulta

do p

arci

al

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 14 / 22

Page 21: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Ejemplo 2.

0 20 40 60 80 100

0.0

0.5

1.0

1.5

4

Componente

Res

ulta

do p

arci

al

0 20 40 60 80 100

0.0

0.5

1.0

1.5

13

ComponenteR

esul

tado

par

cial

Iteración 1 Iteración 10

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 15 / 22

Page 22: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Ejemplo 2.

0 20 40 60 80 100

0.0

0.5

1.0

1.5

23

Componente

Res

ulta

do p

arci

al

0 20 40 60 80 100

0.0

0.5

1.0

1.5

53

ComponenteR

esul

tado

par

cial

Iteración 20 Iteración 50

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 16 / 22

Page 23: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Ejemplo 2: Iteración 350

0 20 40 60 80 100

0.0

0.5

1.0

1.5

350

Componente

Res

ulta

do p

arci

al

0 20 40 60 80 100

0.0

0.1

0.2

0.3

0.4

0.5

Iteracion

A*x

^t

0 50 100 150 200 250 300 350

0.1

0.2

0.3

0.4

0.5

Iteracion

Err

or

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 17 / 22

Page 24: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Ejemplo 2: Iteración 950

0 20 40 60 80 100

0.0

0.5

1.0

1.5

950

Componente

Res

ulta

do p

arci

al

0 20 40 60 80 100

0.0

0.1

0.2

0.3

0.4

0.5

Iteracion

A*x

^t

0 200 400 600 800

0.0

0.1

0.2

0.3

0.4

0.5

Iteracion

Err

or

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 18 / 22

Page 25: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Ejemplo 2: Iteración 1250

0 20 40 60 80 100

0.0

0.5

1.0

1.5

1250

Componente

Res

ulta

do p

arci

al

0 20 40 60 80 100

0.0

0.1

0.2

0.3

0.4

0.5

Iteracion

A*x

^t

0 200 400 600 800 1000 1200

0.0

0.1

0.2

0.3

0.4

0.5

Iteracion

Err

or

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 19 / 22

Page 26: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Ejemplo 2: Iteración 1550

0 20 40 60 80 100

0.0

0.5

1.0

1.5

1550

Componente

Res

ulta

do p

arci

al

0 20 40 60 80 100

0.0

0.1

0.2

0.3

0.4

0.5

Iteracion

A*x

^t

0 500 1000 1500

0.0

0.1

0.2

0.3

0.4

0.5

Iteracion

Err

or

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 20 / 22

Page 27: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Ejemplo 2: Iteración 1850

0 20 40 60 80 100

0.0

0.5

1.0

1.5

1850

Componente

Res

ulta

do p

arci

al

0 20 40 60 80 100

0.0

0.1

0.2

0.3

0.4

0.5

Iteracion

A*x

^t

0 500 1000 1500

0.0

0.1

0.2

0.3

0.4

0.5

Iteracion

Err

or

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 21 / 22

Page 28: Métodos iterativos para resolver SELjoaquin/mn11/clase08.pdf · Introducción a los métodos iterativos Una separación de A es una descomposición A = Q P, con Q una matriz no singular.

Ejemplo 2: Iteración 2150

0 20 40 60 80 100

0.0

0.5

1.0

1.5

2150

Componente

Res

ulta

do p

arci

al

0 20 40 60 80 100

0.0

0.1

0.2

0.3

0.4

0.5

Iteracion

A*x

^t

1000 1200 1400 1600 1800 2000

0.00

50.

006

0.00

70.

008

Iteracion

Err

or

0 500 1000 1500 2000

0.0

0.1

0.2

0.3

0.4

0.5

Iteracion

Err

or

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 12.09.2011 22 / 22