1 EJERCICIO RESUELTO SOBRE MÉTODOS ITERATIVOS DE

Anuncio
Programación y Métodos Numéricos
Carlos Conde, Arturo Hidalgo y Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
EJERCICIO RESUELTO SOBRE MÉTODOS ITERATIVOS DE RESOLUCIÓN
DE SISTEMAS DE ECUACIONES LINEALES
Dado el sistema de ecuaciones lineales:
⎧ x + 2y = 3
⎨
⎩2 x + 5y = 7
Se pide:
a)
Determinar si es resoluble por el método de gradiente
conjugado.
b)
Obtener la funcional cuadrática asociada a este sistema.
c)
Realizar dos iteraciones del método de gradiente conjugado a
partir del vector semilla x(0) = (2, 2)T.
Solución:
a)
El sistema dado puede escribirse como Ax = b, con:
⎛1 2⎞
A=⎜
⎟
⎝2 5⎠
⎛ 3⎞
b=⎜ ⎟
⎝7⎠
⎛ x⎞
x=⎜ ⎟
⎝ y⎠
Para que el método de gradiente conjugado pueda aplicarse es necesario que la
matriz A sea definida positiva, lo cual puede comprobarse viendo si todos sus valores
propios son reales y estrictamente positivos:
2 ⎞
⎧ λ1 = 5.82…
⎛1 − λ
det ( Α − λ I ) = det ⎜
⎟ = (1 − λ )( 5 − λ ) − 4 = 0 ⇒ ⎨λ = 0.17 …
5−λ⎠
⎝ 2
⎩ 2
luego la matriz A es definida positiva.
b)
La funcional cuadrática asociada es:
J ( x, y ) =
=
c)
⎡1 2⎤ ⎛ x ⎞
⎛ x⎞
y) ⎢
⎜ ⎟ − (3 7) ⎜ ⎟ + c =
⎥
⎣2 5⎦ ⎝ y ⎠
⎝ y⎠
1 T
1
x Ax - bT x + c = ( x
2
2
1 2
5
x + 2 xy + y 2 − 3 x + 7 y + c
2
2
La primera dirección de descenso es:
⎛ 3 ⎞ ⎡ 1 2 ⎤ ⎛ 2 ⎞ ⎛ −3 ⎞
0
0
0
d( ) = r ( ) = b − Ax( ) = ⎜ ⎟ − ⎢
⎥⎜ ⎟ = ⎜ ⎟
⎝ 7 ⎠ ⎣ 2 5 ⎦ ⎝ 2 ⎠ ⎝ −7 ⎠
y el parámetro de descenso:
1
Programación y Métodos Numéricos
ρ=
( )
( d( ) ) A d( )
d(
0
0)
T
T
d(
0)
0
Carlos Conde, Arturo Hidalgo y Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
⎛ 3⎞
7) ⎜ ⎟
58
⎝7⎠
=
=
= 0.1715976331
⎛ 1 2 ⎞⎛ 3 ⎞ 338
(3 7) ⎜
⎟⎜ ⎟
⎝ 2 5 ⎠⎝ 7 ⎠
(3
⎛ 2⎞
⎛ −3 ⎞ ⎛ 1.485207101 ⎞
1
0
0
x( ) = x( ) + ρ d( ) = ⎜ ⎟ + 0.1715976331⎜ ⎟ = ⎜
⎟
⎝ 2⎠
⎝ −7 ⎠ ⎝ 0.798816568 ⎠
⎛ −3 ⎞
⎛ 1 2 ⎞ ⎛ −3 ⎞ ⎛ -0.082840237 ⎞
1
0
0
r ( ) = r ( ) − ρ Ad( ) = ⎜ ⎟ − 0.1715976331⎜
⎟⎜ ⎟ = ⎜
⎟
⎝ −7 ⎠
⎝ 2 5 ⎠ ⎝ −7 ⎠ ⎝ 0.035502957 ⎠
( )
(r( ) )
r( )
1
α=
0
( -0.082840237
T
r( )
T
( 0)
1
r
=
⎛ -0.082840237 ⎞
0.035502957 ) ⎜
⎟
⎝ 0.035502957 ⎠ = 0.0001400511176
⎛ 3⎞
(3 7) ⎜ ⎟
⎝7⎠
⎛ -0.082840237 ⎞
⎛ -3 ⎞ ⎛ -0.08326039035 ⎞
1
1
0
d( ) = r ( ) + α d( ) = ⎜
⎟ + 0.0001400511176 ⎜ ⎟ = ⎜
⎟
⎝ 0.035502957 ⎠
⎝ -7 ⎠ ⎝ 0.03452259918 ⎠
(r ) r
(d( ) ) Ad( )
T
(1)
ρ=
1
T
(1)
1
⎛ -0.082840237 ⎞
0.035502957 ) ⎜
⎟
0.035502957 ⎠
⎝
=
=
⎛ 1 2 ⎞ ⎛ -0.08326039035 ⎞
( -0.08326039035 0.03452259918 ) ⎜
⎟⎜
⎟
⎝ 2 5 ⎠ ⎝ 0.03452259918 ⎠
( -0.082840237
= 5.827586205
⎛ 1.485207101 ⎞
⎛ -0.08326039035 ⎞ ⎛ 0.9999999988 ⎞
2
1
1
x( ) = x( ) + ρ d ( ) = ⎜
⎟ + 5.827586205 ⎜
⎟=⎜
⎟
⎝ 0.798816568 ⎠
⎝ 0.03452259918 ⎠ ⎝ 0.9999999907 ⎠
NOTA: puede comprobarse fácilmente que la solución del sistema propuesto es (1,1)T
y esta debería haber sido la solución obtenida por el método de gradiente conjugado al
ser éste un método exacto en n iteraciones. La diferencia se debe exclusivamente a los
errores de redondeo.
2
Descargar