EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA...

24
Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid 1 EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA RESOLUCIÓN DE SISTEMAS LINEALES DE ECUACIONES PROPUESTOS EN EXÁMENES DE LA ASIGNATURA CURSO 2001-2002 Examen de control Siendo a un número real tal que a 0 se considera el sistema compatible determinado homogéneo: 1 .x 0 2 a .y 0 2 = = Dicho sistema se desea resolver mediante el método de gradiente con paso óptimo partiendo de un vector semilla (x (1) , y (1) ) (0,0) . Además se supone que todos los cálculos aritméticos se realizan sin ningún error de redondeo. Señala entre las opciones siguientes cuál es la única correcta en su totalidad: a) Las coordenadas (x (i+1) , y (i+1) )del vector obtenido en cada iteración se relacionan con las coordenadas (x (i) , y (i) ) del vector con el que se comienza dicha iteración mediante la expresión: 2 (i) 2 (i 1) (i) (i) 2 3 (i) 2 a .(a 1).(y ) x .x (x ) a .(y ) + = + , (i) 2 (i 1) (i) (i) 2 3 (i) 2 (1 a).(x ) y .y (x ) a .(y ) + = + b) Las coordenadas (x (i+1) , y (i+1) )del vector obtenido en cada iteración se relacionan con las coordenadas (x (i) , y (i) ) del vector con el que se comienza dicha iteración mediante la expresión: (i) 2 2 (i) 2 (i 1) (i) (i) 2 3 (i) 2 3.(x ) a .(a 1).(y ) x .x (x ) a .(y ) + + + = + , (i) 2 2 (i) 2 (i 1) (i) (i) 2 3 (i) 2 3.(x ) a .(a 1).(y ) y .y (x ) a .(y ) + + + = + c) Las coordenadas (x (i+1) , y (i+1) )del vector obtenido en cada iteración se relacionan con las coordenadas (x (i) , y (i) ) del vector con el que se comienza dicha iteración mediante la expresión: 2 (i) 2 (i 1) (i) (i) 2 3 (i) 2 a .(a 1).(y ) x .x (x ) a .(y ) + = + , 2 (i) 2 (i 1) (i) (i) 2 3 (i) 2 a .(1 a).(y ) y .y (x ) a .(y ) + = + d) Ninguna de las otras tres opciones de este ejercicio es correcta.

Transcript of EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA...

Page 1: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

1

EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA RESOLUCIÓN DE SISTEMAS LINEALES DE ECUACIONES

PROPUESTOS EN EXÁMENES DE LA ASIGNATURA

CURSO 2001-2002 Examen de control Siendo a un número real tal que a 0≠ se considera el sistema compatible determinado homogéneo:

1.x 02

a .y 02

⎧ =⎪⎪⎨⎪ =⎪⎩

Dicho sistema se desea resolver mediante el método de gradiente con paso óptimo partiendo de un vector semilla (x(1), y(1)) (0,0)≠ . Además se supone que todos los cálculos aritméticos se realizan sin ningún error de redondeo. Señala entre las opciones siguientes cuál es la única correcta en su totalidad:

a) Las coordenadas (x(i+1) , y(i+1) )del vector obtenido en cada iteración se relacionan con las coordenadas (x(i), y(i)) del vector con el que se comienza dicha iteración mediante la expresión:

2 (i) 2(i 1) (i)

(i) 2 3 (i) 2

a .(a 1).(y )x .x(x ) a .(y )

+ −=

+ ,

(i) 2(i 1) (i)

(i) 2 3 (i) 2

(1 a).(x )y .y(x ) a .(y )

+ −=

+

b) Las coordenadas (x(i+1) , y(i+1) )del vector obtenido en cada iteración

se relacionan con las coordenadas (x(i), y(i)) del vector con el que se comienza dicha iteración mediante la expresión:

(i) 2 2 (i) 2

(i 1) (i)(i) 2 3 (i) 2

3.(x ) a .(a 1).(y )x .x(x ) a .(y )

+ + +=

+,

(i) 2 2 (i) 2(i 1) (i)

(i) 2 3 (i) 2

3.(x ) a .(a 1).(y )y .y(x ) a .(y )

+ + +=

+

c) Las coordenadas (x(i+1) , y(i+1) )del vector obtenido en cada iteración

se relacionan con las coordenadas (x(i), y(i)) del vector con el que se comienza dicha iteración mediante la expresión:

2 (i) 2

(i 1) (i)(i) 2 3 (i) 2

a .(a 1).(y )x .x(x ) a .(y )

+ −=

+ ,

2 (i) 2(i 1) (i)

(i) 2 3 (i) 2

a .(1 a).(y )y .y(x ) a .(y )

+ −=

+

d) Ninguna de las otras tres opciones de este ejercicio es correcta.

Page 2: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

2

SOLUCIÓN: La matriz del sistema dado ([A]) y el vector de segundos términos ({b}) son en este caso:

1 02[A]

a02

⎡ ⎤⎢ ⎥

= ⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

, { } 0b

0⎧ ⎫

= ⎨ ⎬⎩ ⎭

En una iteración genérica del método de gradiente con paso óptimo se partirá del punto (x(i) , y(i)). En él, el vector residuo puede determinarse mediante:

{ } { }(i) (i) (i)

(i)(i) (i) (i)

x x x1r b [A]. [A]. .2y y a.y

⎧ ⎫ ⎧ ⎫ ⎧ ⎫= − = − = −⎨ ⎬ ⎨ ⎬ ⎨ ⎬

⎩ ⎭ ⎩ ⎭ ⎩ ⎭

verificándose por tanto que:

{ } { }(i)

(i) (i)2 (i)

x1z [A]. r .4 a .y

⎧ ⎫= = − ⎨ ⎬

⎩ ⎭

por lo que el parámetro de descenso estará dado por:

{ } { }{ } { }

( )

( )( )

( )

T (i) 2 2 (i) 2(i) (i) (i) 2 2 (i) 2

i T (i) 2 3 (i) 2(i) (i) (i) 2 3 (i) 2

1 . (x ) a .(y )r r 2. (x ) a .(y )41 (x ) a .(y )r [A] r . (x ) a .(y )8

+ +ρ = = =

++

i

i i

Todo lo anterior nos conduce finalmente a que:

{ } ( )( )

(i) 2 2 (i) 2(i 1) (i) (i) (i)(i)

i(i 1) (i) (i) (i)(i) 2 3 (i) 2

2. (x ) a .(y )x x x x1. r . .2y y y a.y(x ) a .(y )

+

+

+⎧ ⎫ ⎧ ⎫ ⎧ ⎫ ⎧ ⎫⎛ ⎞= + ρ = + − =⎨ ⎬ ⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎜ ⎟+ ⎝ ⎠⎩ ⎭ ⎩ ⎭ ⎩ ⎭ ⎩ ⎭

( )( )( )( )

(i) 2 2 (i) 2(i)

(i) 2 3 (i) 2

(i) 2 2 (i) 2(i)

(i) 2 3 (i) 2

(x ) a .(y )x . 1

(x ) a .(y )

(x ) a .(y )y . 1 a.

(x ) a .(y )

⎧ ⎫⎛ ⎞+⎪ ⎪⎜ ⎟−

⎜ ⎟⎪ ⎪+⎪ ⎝ ⎠ ⎪= =⎨ ⎬⎛ ⎞+⎪ ⎪⎜ ⎟−⎪ ⎪⎜ ⎟+⎪ ⎪⎝ ⎠⎩ ⎭

( )

( )

(i) 2 3 (i) 2 (i) 2 2 (i) 2(i)

(i) 2 3 (i) 2

(i) 2 3 (i) 2 (i) 2 3 (i) 2(i)

(i) 2 3 (i) 2

(x ) a .(y ) (x ) a .(y )x .(x ) a .(y )

(x ) a .(y ) a.(x ) a .(y )y .(x ) a .(y )

⎧ ⎫⎛ ⎞+ − −⎪ ⎪⎜ ⎟⎜ ⎟⎪ ⎪+⎪ ⎝ ⎠ ⎪= =⎨ ⎬

⎛ ⎞⎪ ⎪+ − −⎜ ⎟⎪ ⎪⎜ ⎟+⎪ ⎪⎝ ⎠⎩ ⎭

Page 3: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

3

2 (i) 2(i)

(i) 2 3 (i) 2

(i) 2(i)

(i) 2 3 (i) 2

a .(a 1).(y ) .x(x ) a .(y )

(1 a).(x ) .y(x ) a .(y )

⎧ ⎫−⎪ ⎪+⎪ ⎪= ⎨ ⎬

−⎪ ⎪⎪ ⎪+⎩ ⎭

por lo que la opción correcta es la opción a). Considera el sistema de ecuaciones lineales:

x y 1y 1

+ =⎧⎨ =⎩

cuya solución es (x*=0, y*=1). Dicho sistema se desea resolver por el método de la ecuación normal (es decir transformando el sistema [A].{x} = {b} en el sistema equivalente [A]T.[A].{x} = [A]T.{b} y aplicando al sistema así obtenido el método de gradiente conjugado). Si en dicho método se utiliza como vector semilla el vector (x(1) = -1, y(1) = 0) indica cual, entre las siguientes opciones, recoge el valor de la dirección de descenso que se seguiría al realizar la segunda iteración (es decir para determinar (x(3), y(3)) a partir de (x(2), y(2))):

a) No ha lugar a realizar una segunda iteración pues en la primera se obtiene la solución exacta.

b) El vector de descenso a seguir en la segunda iteración es:

5149 15

−⎧ ⎫⋅ ⎨ ⎬⎩ ⎭

c) El vector de descenso a seguir en la segunda iteración es:

10411156 65

⎧ ⎫⋅ ⎨ ⎬−⎩ ⎭

d) El vector de descenso a seguir en la segunda iteración es:

121 .25 8

⎧ ⎫⎨ ⎬−⎩ ⎭

SOLUCIÓN:

Page 4: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

4

Según el enunciado, la matriz del sistema ([A]) y el vector de segundos términos ({b}) son:

1 1[A]

0 1⎡ ⎤

= ⎢ ⎥⎣ ⎦

, { } 1b

1⎧ ⎫

= ⎨ ⎬⎩ ⎭

Puesto que la matriz no es simétrica aplicaremos el método de la ecuación normal tal cual se describe en el enunciado, es decir, multiplicaremos la matriz del sistema y el vector de segundos términos por la traspuesta de la matriz del sistema:

T 1 0[A]

1 1⎡ ⎤

= ⎢ ⎥⎣ ⎦

con lo que llamaremos: T 1 1

[M] [A] .[A]1 2

⎡ ⎤= = ⎢ ⎥

⎣ ⎦ , { } { }T 1

c [A] . b2

⎧ ⎫= = ⎨ ⎬

⎩ ⎭

y aplicaremos el método de gradiente conjugado al sistema (equivalente al dado) [M].{x} = {b}. Para ello el enunciado nos indica que partamos del vector semilla:

(x(1) = -1, y(1) = 0) en el que:

{ } { }(1) 1 1 1 2r c [M].

0 2 1 3− −⎧ ⎫ ⎧ ⎫ ⎧ ⎫ ⎧ ⎫

= − = − =⎨ ⎬ ⎨ ⎬ ⎨ ⎬ ⎨ ⎬−⎩ ⎭ ⎩ ⎭ ⎩ ⎭ ⎩ ⎭

El vector residuo así obtenido marcará también la primera dirección de descenso que por tanto será:

{ }(1) 2d

3⎧ ⎫

= ⎨ ⎬⎩ ⎭

Llamando:

{ } { }(1) (1) 5z [M]. d

8⎧ ⎫

= = ⎨ ⎬⎩ ⎭

puede calcularse el parámetro de descenso en esta iteración como:

{ } { }{ } { }

(1) (1)

1 (1) (1)

r r 1334d z

ρ = =i

i

por lo que:

{ }(2) (1)

(1)1(2) (1)

1 2 8x x 13 1. d . .0 34 3 34 39y y− −⎧ ⎫ ⎧ ⎫ ⎧ ⎫ ⎧ ⎫ ⎧ ⎫

= + ρ = + =⎨ ⎬ ⎨ ⎬ ⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎩ ⎭ ⎩ ⎭ ⎩ ⎭⎩ ⎭ ⎩ ⎭

El nuevo vector residuo en este punto será:

{ } { } { }(2) (1) (1)1

2 5 313 1r r . z . .3 34 8 34 2

⎧ ⎫ ⎧ ⎫ ⎧ ⎫= − ρ = − =⎨ ⎬ ⎨ ⎬ ⎨ ⎬−⎩ ⎭ ⎩ ⎭ ⎩ ⎭

por lo que el parámetro usado en la corrección del vector de descenso resultará:

{ } { }{ } { }

T(2) (2)2

1 T 2(1) (1)

1 .(9 4)r r 13413 34r r

+α = = =

i

i

resultando finalmente que el nuevo vector de descenso estará dado por:

Page 5: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

5

{ } { } { }(2) (2) (1)1 2

3 2 3 21 1 1 1d r . d . . . .34 2 3 34 2 34 334

⎛ ⎞⎧ ⎫ ⎧ ⎫ ⎧ ⎫ ⎧ ⎫= + α = + = + =⎨ ⎬ ⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎜ ⎟− −⎩ ⎭ ⎩ ⎭ ⎩ ⎭ ⎩ ⎭⎝ ⎠

104 1041 1 1. . .

34 34 65 1156 65⎛ ⎞⎧ ⎫ ⎧ ⎫

= =⎨ ⎬ ⎨ ⎬⎜ ⎟− −⎩ ⎭ ⎩ ⎭⎝ ⎠

Por tanto la opción correcta es la opción c). NOTA: Aunque no se pide en el ejercicio puede comprobarse que en la segunda iteración 2ρ = (34 / 13) y (x(2), y(2) ) = (0, 1) que es la solución exacta del sistema dado. Examen final – Convocatoria de septiembre de 2002 Considera la funcional cuadrática:

J(x, y, z) = 2.x2 + y2 + z2 + x.y + 2.x.z + y.z – x + z + 16.

Se pide responder razonadamente a las siguientes cuestiones:

a) Determina el sistema de ecuaciones simétrico cuya solución se corresponde con las coordenadas del punto en el que la funcional anterior alcanza un extremo.

b) Realiza, si es posible, las dos primeras iteraciones del método de gradiente conjugado para determinar las coordenadas del punto en el que J(x,y,z) alcanza su extremo. Si es posible aplicar el método inicializa la primera iteración en el punto de coordenadas (0, 0, 0) y detalla todos los pasos de cada iteración. Si no fuese posible realizar las iteraciones pedidas justifica el motivo de ello.

c) Razona si el extremo que posee la funcional es un máximo o un

mínimo.

Solución:

Page 6: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

6

a) Si se considera el sistema de ecuaciones determinado y de matriz simétrica, A.x = b, las componentes del vector solución son las coordenadas del punto singular que tenga la funcional cuadrática J(x) = (½).xT:A.x – xT.b + c, pudiendo asignársele al escalar “c” cualquier valor. En el caso que nos ocupa la funcional dada depende de tres variables (x, y , z). Por tanto el sistema al que puede vincularse será de la forma:

11 12 13 1

12 22 23 2

13 23 33 3

a a a x ba a a . y ba a a z b

⎡ ⎤ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪⎢ ⎥ =⎨ ⎬ ⎨ ⎬⎢ ⎥⎪ ⎪ ⎪ ⎪⎢ ⎥⎣ ⎦ ⎩ ⎭ ⎩ ⎭

por lo que:

J(x,y,z) = { } { }11 12 13 1

12 22 23 2

13 23 33 3

a a a x b1 . x y z a a a . y x y z b c2

a a a z b

⎡ ⎤ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪⎢ ⎥ − + =⎨ ⎬ ⎨ ⎬⎢ ⎥⎪ ⎪ ⎪ ⎪⎢ ⎥⎣ ⎦ ⎩ ⎭ ⎩ ⎭

2 2 2

11 22 33 12 13 231 .(a .x a .y a .z ) a .x.y a .x.z a .y.z2

= + + + + + - b1.x – b2.y – b3.z + c

Identificando los coeficientes de la expresión anterior con los de la funcional dada en el enunciado resultará que:

a11 = 4, a12 = 1, a13 = 2, a22 = 2, a23 = 1, a33 = 2, b1 = 1, b2 = 0, b3 = -1, c = 0

por lo que el sistema buscado es: 4 1 2 x 11 2 1 . y 02 1 2 z 1

⎛ ⎞ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪⎜ ⎟ =⎨ ⎬ ⎨ ⎬⎜ ⎟⎪ ⎪ ⎪ ⎪⎜ ⎟ −⎝ ⎠ ⎩ ⎭ ⎩ ⎭

NOTA: Una forma más rápida de obtener el sistema buscado consiste en considerar que el punto singular de la funcional cuadrática dada se obtendrá como aquél en el que se anule el gradiente por lo que:

4.x y 2.z 0x 2.y z 0

2.x y 2.z 0

+ +⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪∇ = ⇔ + + =⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪+ +⎩ ⎭ ⎩ ⎭

J(x, y, z) 0

b) Al ser la funcional anterior una funcional cuadrática el método de gradiente conjugado conduce a las coordenadas de su punto singular y por tanto sí que es aplicable. Realicemos la primera iteración.

Page 7: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

7

El vector residuo en el punto (0, 0, 0) coincide en este caso con la dirección de descenso a seguir y está dado por:

1 4 1 2 0 10 1 2 1 . 0 01 2 1 2 0 1

⎧ ⎫ ⎡ ⎤ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎢ ⎥= − = =⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎢ ⎥⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎢ ⎥− −⎩ ⎭ ⎣ ⎦ ⎩ ⎭ ⎩ ⎭

(0) (0)r d

Denotemos por { } { }T1

. 1 0 1 . 0 21

⎧ ⎫⎪ ⎪β = = − =⎨ ⎬⎪ ⎪−⎩ ⎭

(0) (0)r r y por z(0) al vector:

4 1 2 1 21 2 1 . 0 02 1 2 1 0

⎡ ⎤ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪⎢ ⎥= = =⎨ ⎬ ⎨ ⎬⎢ ⎥⎪ ⎪ ⎪ ⎪⎢ ⎥ −⎣ ⎦ ⎩ ⎭ ⎩ ⎭

(0) (0)z A.d

El parámetro de descenso de esta iteración se obtendrá mediante:

{ }{ }

0 T

2 2 12 2.

1 0 1 . 00

βρ = = = =

⎧ ⎫⎪ ⎪− ⎨ ⎬⎪ ⎪⎩ ⎭

(0) (0)d z

Con ello se tiene que:

{ } { }(1)

(1)0

(1)

x 0 1 1. y 0 1. 0 0

z 0 1 1

⎧ ⎫ ⎧ ⎫ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪= + ρ ⇒ = + =⎨ ⎬ ⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪− −⎩ ⎭ ⎩ ⎭ ⎩ ⎭⎩ ⎭

(1) (0) (0)x x d

Antes de abordar la segunda iteración procedamos a actualizar el vector residuo (residuo del sistema en (1, 0, -1) y la dirección de descenso que se seguirá en la segunda iteración. Para ello:

0

1 2 1. 0 1. 0 0

1 0 1

−⎧ ⎫ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪= − ρ = − =⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪− −⎩ ⎭ ⎩ ⎭ ⎩ ⎭

(1) (0) (0)r r z

2γ = β =

{ } { }T1

. 1 0 1 . 0 21

−⎧ ⎫⎪ ⎪β = = − − =⎨ ⎬⎪ ⎪−⎩ ⎭

(1) (1)r r

Page 8: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

8

0 1βα = =

γ

0

1 1 0. 0 1. 0 0

1 1 2

−⎧ ⎫ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪= + α = + =⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪− − −⎩ ⎭ ⎩ ⎭ ⎩ ⎭

(1) (1) (0)d r d

Procedamos a realizar la segunda iteración. Para ello denotemos por por z(1) al vector:

4 1 2 0 41 2 1 . 0 22 1 2 2 4

−⎡ ⎤ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪⎢ ⎥= = = −⎨ ⎬ ⎨ ⎬⎢ ⎥⎪ ⎪ ⎪ ⎪⎢ ⎥ − −⎣ ⎦ ⎩ ⎭ ⎩ ⎭

(1) (1)z A.d

El parámetro de descenso de esta iteración se obtendrá mediante:

{ }{ }

1 T

2 2 14 8 4.

0 0 2 . 24

βρ = = = =

−⎧ ⎫⎪ ⎪− −⎨ ⎬⎪ ⎪−⎩ ⎭

(1) (1)d z

Con ello se tiene que:

{ } { }(2)

(2)1

(2)

x 1 0 11. y 0 . 0 04

z 1 2 3/ 2

⎧ ⎫ ⎧ ⎫ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪= + ρ ⇒ = + =⎨ ⎬ ⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪− − −⎩ ⎭ ⎩ ⎭ ⎩ ⎭⎩ ⎭

(2) (1) (1)x x d

En este punto el vector residuo estará dado por:

1

1 4 01. 0 . 2 1/ 24

1 4 0

− −⎧ ⎫ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪= − ρ = − − =⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪− −⎩ ⎭ ⎩ ⎭ ⎩ ⎭

(2) (1) (1)r r z

NOTA: Aunque no se pide en el enunciado, para realizar la tercera iteración se tiene que:

2γ = β =

{ }T0

1 1. 0 0 . 1/ 22 4

0

⎧ ⎫⎪ ⎪⎧ ⎫β = = =⎨ ⎬ ⎨ ⎬

⎩ ⎭ ⎪ ⎪⎩ ⎭

(2) (2)r r

11/ 4 1

2 8β

α = = =γ

Page 9: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

9

1

0 0 01. 1/ 2 . 0 1/ 28

0 2 1/ 4

⎧ ⎫ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪= + α = + =⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪− −⎩ ⎭ ⎩ ⎭ ⎩ ⎭

(2) (2) (1)d r d

4 1 2 0 01 2 1 . 1/ 2 3/ 42 1 2 1/ 4 0

⎡ ⎤ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪⎢ ⎥= = =⎨ ⎬ ⎨ ⎬⎢ ⎥⎪ ⎪ ⎪ ⎪⎢ ⎥ −⎣ ⎦ ⎩ ⎭ ⎩ ⎭

(2) (2)z A.d

{ }{ }

2 T

1/ 4 20 3.

0 1/ 2 1/ 4 . 3 / 40

βρ = = =

⎧ ⎫⎪ ⎪− ⎨ ⎬⎪ ⎪⎩ ⎭

(2) (2)d z

{ } { }(3)

(3)2

(3)

x 1 0 12. y 0 . 1/ 2 1/ 33

z 3/ 2 1/ 4 5 / 3

⎧ ⎫ ⎧ ⎫ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪= + ρ ⇒ = + =⎨ ⎬ ⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪− − −⎩ ⎭ ⎩ ⎭ ⎩ ⎭⎩ ⎭

(3) (2) (2)x x d

En este punto el vector residuo estará dado por:

2

0. 0

0

⎧ ⎫⎪ ⎪= − ρ = ⎨ ⎬⎪ ⎪⎩ ⎭

(3) (2) (2)r r z

c) Puesto que en el enunciado se afirma que la funcional J(x, y, z) posee un extremo (es decir un máximo o un mínimo) descartándose que sea un punto singular de otro tipo, para saber si es un máximo o un mínimo bastará con comparar el valor de la funcional en s punto singular (1, 1/3, -5/3) hallado en la “NOTA” realizada al apartado anterior con el valor de la funcional en cualquier otro punto (que por simplicidad tomaremos como el (0, 0, 0)). De esta forma se tiene que:

J(1, 1/3, -5/3) = 14.6666 < 16 = J(0, 0, 0) podemos afirmar que el extremo es un mínimo. NOTAS: 1ª) Otra forma de llegar a la conclusión anterior consiste en determinar si la matriz [A] es definida positiva o definida negativa. Para ello puede observarse que la matriz [A] tiene por polinomio característico:

p( λ ) = det(A- λ .I) = 3 28. 14. 6−λ + λ − λ + busquemos una raíz por el método de Newton-Raphson. Puesto que p(0) = 6 > 0 y p(1) = -1 habrá una raíz en [0, 1] lo que nos indica que 0 0.5λ = puede ser un buen valor semilla con el que arrancar el esquema:

Page 10: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

10

3 2

i 1 i 2i i

8. 14. 63. 16. 14+

−λ + λ − λ +λ = λ −

− λ + λ −

De esta forma se obtiene que: λ 1 = 0.629629... , λ 2 = 0.650556... , λ 3 = 0.651105... , λ 4 = 0.651105.... Por ello tomaremos como uno de los valores propios el valor 0.651105. Para determinar los otros dos expresaremos p( λ ) en la forma:

3 28. 14. 6−λ + λ − λ + = ( λ - 0.651105).(a. λ 2 + b. λ + c) de donde a = 1, b = -7.348894... y c = 9.215092... Resolviendo la ecuación de segundo grado:

λ 2 – 7.348894. λ + 9.215092 = 0 se obtienen las otras dos raíces del polinomio característico que son 1.604... y 5.744...

Al ser todas ellas positivas puede afirmarse que la matriz [A] es definida positiva y por

tanto J(x, y, z) tiene un mínimo.

2ª. Una tercera forma de responder este apartado consiste en analizar en el punto singular de la funcional dada su matriz Hessiana (formada por las derivadas parciales segundas). Como dicha matriz es:

2 2 2

2

2 2 2

2

2 2 2

2

J J J(x, y, z) (x, y, z) (x, y, z)x y x zx

J J JH(x, y, z) (x, y, z) (x, y, z) (x, y, z)y x y zy

J J J(x, y, z) (x, y, z) (x, y, z)z x z y z

⎡ ⎤∂ ∂ ∂⎢ ⎥∂ ∂ ∂ ∂∂⎢ ⎥⎢ ⎥∂ ∂ ∂

= =⎢ ⎥∂ ∂ ∂ ∂∂⎢ ⎥

⎢ ⎥∂ ∂ ∂⎢ ⎥

∂ ∂ ∂ ∂ ∂⎢ ⎥⎣ ⎦

= 4 1 21 2 12 1 2

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

independiente del punto en que se evalúe, se puede analizar su carácter definido positivo o negativo teniendo en cuenta que sus menores principales son:

H1 = H11 = 4 > 0

H2 = 4 1

8 1 7 01 2

= − = >

H3=4 1 21 2 1 6 02 1 2

= >

Al ser la sucesión de signos de los menores principales + , +, + puede concluirse que J(x,y,z) alcanza en el punto singular un mínimo.

Page 11: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

11

CURSO 2002-03 Examen final – Convocatoria de diciembre de 2002 Considera el sistema lineal de ecuaciones dado por:

+ + =⎧⎪ + + =⎨⎪ + + =⎩

4·x y 2·z 1x 2·y z 3

2·x y 2·z 3

Denotando por [A] a la matriz del sistema y por {b} al vector de segundos miembros:

⎡ ⎤⎢ ⎥= ⎢ ⎥⎢ ⎥⎣ ⎦

4 1 21 2 12 1 2

[A] , { }⎧ ⎫⎪ ⎪= ⎨ ⎬⎪ ⎪⎩ ⎭

133

b

se pide:

a) Determinar el polinomio característico p(λ) de la matriz [A]. b) Sabiendo que la raíz de menor módulo del polinomio característico

de [A], p(λ), pertenece al intervalo [0, 1], determina una contracción g(λ) definida en [0, 1] tal que la ecuación p(λ) = 0 sea equivalente a la ecuación λ = g(λ). Analiza la función g(x) para demostrar que efectivamente es una contracción en [0, 1] y utilízala para determinar la raíz de menor módulo de p(λ) partiendo de λ 0 = 0.5. En el proceso de búsqueda de la raíz debes realizar a lo sumo 5 iteraciones pudiendo detenerse el proceso cuando la distancia entre dos aproximaciones de la raíz buscada no supere el valor ε = 0.01.

c) Con la misma función g(λ) utilizada en el apartado anterior, determina el número mínimo de iteraciones que asegurarían que la distancia a la raíz buscada y la aproximación que se obtuviera en la última iteración es menor o igual que la milésima parte de la distancia entre la raíz y el valor λ 0 con el que se inicialice el método.

d) Sabiendo que la raíz de mayor módulo del polinomio característico de [A], p(λ), pertenece al intervalo [5, 6], determina dicha raíz mediante el método de la secante partiendo de los dos valores iniciales λ 0 = 5 y λ 1 = 6. En el proceso de búsqueda de la raíz debes realizar a lo sumo 5 iteraciones pudiendo detener el proceso

Page 12: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

12

cuando la distancia entre dos aproximaciones de la raíz buscada no supere el valor ε = 0.01.

e) Utilizando los resultados de apartados anteriores, determina el valor del condicionamiento de la matriz [A] en el sentido de la norma ||·||2 .

f) Resuelve mediante el método de gradiente conjugado el sistema lineal planteado partiendo del vector semilla {x(0) = 0, y(0) = 1, z(0) = 1}

Solución: a) El polinomio característico de la matriz del sistema se obtendrá mediante:

− λλ = − λ = − λ − λ + − − λ − − λ − − λ =

− λ

2

(4 ) 1 2p( ) 1 (2 ) 1 (4 )·(2 ) 4 4·(2 ) (2 ) (4 )

2 1 (2 )

= −λ + λ − λ +3 28· 14· 6 b) Una de las opciones para transformar la ecuación p(λ) = 0 en otra ecuación de la forma λ = g(λ) consiste en despejar λ del término de primer grado de la ecuación p(λ) = 0. Más concretamente:

−λ + λ − λ +3 28· 14· 6 = 0 λ = −λ + λ +3 21 ( 8· 6)14

= g(λ)

Analicemos si esta elección de g(λ) asegura la convergencia del método de aproximaciones sucesivas en el intervalo [0, 1]. Para ello se tiene que:

λ = −λ + λ + →3 21g( ) ( 8· 6)14

→ λ = − λ + λ →21g '( ) ( 3· 16· )14

→ λ = − λ +1g"( ) ( 6· 16)

14

Al ser g(λ) y g’(λ) dos funciones polinómicas es evidente que ambas serán continuas en toda la recta real lo que nos permite afirmar que g(λ) ∈C1([0,1]). Por otra parte g”(λ) es un polinomio de primer grado (una recta) que se anula en el punto λ = 16/6 = 2.6666.. > 1. Es decir que en el intervalo [0, 1] la función g”(λ) no

Page 13: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

13

cambia de signo. Y como g”(0) = 8/7 > 0 se verifica que g”(x) > 0 [ ]∀λ ∈ 0,1 . Esto

implica que g’(λ) es un función creciente en [0, 1]. Y como g’(0) = 0 y g’(1) = 13/14 puede concluirse que 0 < g’(λ) < 13/14 < 1 [ ]∀λ ∈ 0,1 .

El razonamiento anterior nos muestra también que g’(λ) es una función no negativa en el intervalo [0, 1]. Ello implica que g(λ) es una función no decreciente en dicho intervalo por lo que sus valores estarán comprendidos entre los valores que tome en los extremos de dicho intervalo. Puesto que estos son: g(0) = 3/7 y g(1) = 13/14 se tiene que:

[ ]⎡ ⎤λ ∈ ⊂⎢ ⎥⎣ ⎦

3 13g( ) , 0,17 14

[ ]∀λ ∈ 0,1

En resumen, la aplicación g(λ) es una contracción en el intervalo [0,1].

Con esta contracción λ = −λ + λ +3 21g( ) ( 8· 6)14

, partiendo del valor λ0 = 0.5, el método

de aproximaciones sucesivas conduce a: λ0 = 0.5 λ1 = g(λ0) = 0.5625... |λ1 – λ0| = 0.0625…. λ2 = g(λ1) = 0.5966... |λ2 – λ1| = 0.0341…. λ3 = g(λ2) = 0.6168... |λ3 – λ2| = 0.0201…. λ4 = g(λ3) = 0.6292... |λ4 – λ3| = 0.0123…. λ5 = g(λ4) = 0.6370... |λ5 – λ4| = 0.0077…. En esta quinta iteración ya se verifica la condición de convergencia dada en el enunciado: la distancia entre las dos últimas aproximaciones de la solución es inferior a 0.01. Por ello se tomará como valor aproximado del valor propio de menor módulo: λ =min 0.63701 .

c) La constante de Lipschitz de la contracción utilizada en el apartado anterior es:

K = [ ]λ∈

λ = =0,1

13max g '( ) g '(1)14

Por otra parte, denotando por λ* a la raíz existente en [0, 1], se tiene que:

− − − −λ − λ = λ − λ ≤ λ − λ = λ − λ ≤ λ − λ = =2i i 1 i 1 i 2 i 2* g( ) g( *) K· * K· g( ) g( *) K · * ...

−= λ − λ ≤ λ − λi 1 i

0 0K · g( ) g( *) K · *

Page 14: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

14

por lo que para garantizar que |λi – λ*| < ε·| λ0 - λ*| basta con asegurar que: Ki < ε. En este caso esta desigualdad nos conduce a que:

− −⎛ ⎞ ⎛ ⎞≤ ε ⇒ ≤ ⇒ ≤ − ⇒ ≥ =⎜ ⎟ ⎜ ⎟ ⎛ ⎞⎝ ⎠ ⎝ ⎠⎜ ⎟⎝ ⎠

ii 313 13 3·ln(10)K 10 i·ln 3·ln(10) i 93.21...

1314 14 ln14

Es decir que la precisión pedida se garantizaría realizando un mínimo de 94 iteraciones. d) El método de la secante en una iteración genérica, aplicado a la resolución de la ecuación f(λ) = 0, puede escribirse en la forma:

− −+

− −

λ λ λ − λ λλ = λ − =

λ − λ λ − λλ − λ

i i 1 i i i 1i 1 i

i i 1 i i 1

i i 1

f( ) ·f( ) ·f( )f( ) f( )

(i = 1, 2, ....)

Siendo λ = −λ + λ − λ +3 2f( ) 8· 14· 6 y tomando como λ0 = 5 y λ1 = 6, se tiene que:

λ0 = 5, λ1 = 6 λ2 = 5.64705.... |λ2 – λ 1| = 0.35294.... λ 3 = 5.73445.... |λ 3 – λ2| = 0.08739.... λ 4 = 5.74528.... |λ 4 – λ 3| = 0.01082.... λ 5 = 5.74482.... |λ 5 – λ 4| = 0.00046....

En esta quinta iteración ya se verifica la condición de convergencia dada en el enunciado: la distancia entre las dos últimas aproximaciones de la solución es inferior a 0.01. Por ello se tomará como valor aproximado del valor propio de mayor módulo: λ =max 5.74482 .

e) El condicionamiento en el sentido de la norma ||·||2 de una matriz simétrica puede evaluarse mediante:

cond2([A]) = λλ

max

min

por lo que en este caso:

cond2([A]) ≈ =5.74482 9.018...0.6370

NOTA: El condicionamiento exacto de la matriz es 8.82.... La diferencia entre el valor exacto y el valor aproximado hallado es debida al redondeo realizado en las aproximaciones de los valores propios de mayor y menor módulo que resultan ser: λmin = 0.6370191103... y λmax = 5.774823982.....

Page 15: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

15

f) Resolvamos el sistema de ecuaciones lineales mediante el método de gradiente conjugado. Inicialización: {x(0)}T = {0, 1, 1}

{r(0)} = {b} – [A]·{x(0)} = −⎧ ⎫ ⎡ ⎤ ⎧ ⎫ ⎧ ⎫

⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎢ ⎥− =⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎢ ⎥⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎢ ⎥⎩ ⎭ ⎣ ⎦ ⎩ ⎭ ⎩ ⎭

1 4 1 2 0 23 1 2 1 · 1 03 2 1 2 1 0

{d(0)} = {r(0)} =−⎧ ⎫

⎪ ⎪⎨ ⎬⎪ ⎪⎩ ⎭

200

, β = {r(0)}T· {r(0)} = 4, tol = ||{r(0)}||2 = 2

1ª Iteración:

{z(0)} = [A]·{d(0)} = − −⎡ ⎤ ⎧ ⎫ ⎧ ⎫

⎪ ⎪ ⎪ ⎪⎢ ⎥ = −⎨ ⎬ ⎨ ⎬⎢ ⎥⎪ ⎪ ⎪ ⎪⎢ ⎥ −⎣ ⎦ ⎩ ⎭ ⎩ ⎭

4 1 2 2 81 2 1 · 0 22 1 2 0 4

ρ = β/ ({d(0)}T· {z(0)}) = 4 / 16 = ¼

{x(1)} = {x(0)} + ρ·{d(0)} = − −⎧ ⎫ ⎧ ⎫ ⎧ ⎫

⎪ ⎪ ⎪ ⎪ ⎪ ⎪+ =⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎩ ⎭ ⎩ ⎭ ⎩ ⎭

0 2 11 11 · 0 · 24 2

1 0 2

{r(1)} = {r(0)} - ρ·{z(0)} = − −⎧ ⎫ ⎧ ⎫ ⎧ ⎫

⎪ ⎪ ⎪ ⎪ ⎪ ⎪− − =⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪−⎩ ⎭ ⎩ ⎭ ⎩ ⎭

2 8 01 10 · 2 · 14 2

0 4 2, tol = ||{r(1)}||2 = 5

2

γ = β = 4, β = {r(1)}T· {r(1)} = 5/4, α = β / γ = 5/16

{d(1)} = {r(1)} + α·{d(0)} = − − −⎧ ⎫ ⎧ ⎫ ⎧ ⎫ ⎧ ⎫

⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪+ = =⎨ ⎬ ⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎩ ⎭ ⎩ ⎭ ⎩ ⎭ ⎩ ⎭

0 2 10 51 5 1 1· 1 · 0 · 8 · 42 16 16 8

2 0 16 8

2ª Iteración:

Page 16: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

16

{z(1)} = [A]·{d(1)} = −⎡ ⎤ ⎧ ⎫ ⎧ ⎫

⎪ ⎪ ⎪ ⎪⎢ ⎥ =⎨ ⎬ ⎨ ⎬⎢ ⎥⎪ ⎪ ⎪ ⎪⎢ ⎥⎣ ⎦ ⎩ ⎭ ⎩ ⎭

4 1 2 5 01 1· 1 2 1 · 4 · 118 8

2 1 2 8 10

ρ = β/ ({d(1)}T· {z(1)}) = = =5 80 204

1 124 31·(124)64

{x(2)} = {x(1)} + ρ·{d(1)} = − − −⎧ ⎫ ⎧ ⎫ ⎧ ⎫

⎪ ⎪ ⎪ ⎪ ⎪ ⎪+ =⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎩ ⎭ ⎩ ⎭ ⎩ ⎭

1 5 281 20 1 1· 2 · · 4 · 412 31 8 31

2 8 51

{r(2)} = {r(1)} - ρ·{z(1)} = ⎧ ⎫ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪− = −⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎩ ⎭ ⎩ ⎭ ⎩ ⎭

0 0 01 20 1 1· 1 · · 11 · 122 31 8 31

2 5 6, tol = ||{r(2)}||2 = 180

31

γ = β = 5/4 , β = {r(2)}T· {r(2)} = 180 / 312, α = β / γ = 144 / 312

{d(2)} = {r(2)} + α·{d(1)} = − −⎧ ⎫ ⎧ ⎫ ⎧ ⎫

⎪ ⎪ ⎪ ⎪ ⎪ ⎪− + = −⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎩ ⎭ ⎩ ⎭ ⎩ ⎭

2 2

0 5 901 144 1 1· 12 · · 4 · 30031 31 8 31

6 8 330

3ª Iteración:

{z(2)} = [A]·{d(2)} = −⎡ ⎤ ⎧ ⎫ ⎧ ⎫

⎪ ⎪ ⎪ ⎪⎢ ⎥ − = −⎨ ⎬ ⎨ ⎬⎢ ⎥⎪ ⎪ ⎪ ⎪⎢ ⎥⎣ ⎦ ⎩ ⎭ ⎩ ⎭

2 2

4 1 2 90 01 1· 1 2 1 · 300 · 360

31 312 1 2 330 180

ρ = β/ ({d(2)}T· {z(2)}) = = =+

22

4

180180·31 3131

1 167400 30·(300·360 330·180)31

{x(3)} = {x(2)} + ρ·{d(2)} = − − −⎧ ⎫ ⎧ ⎫ ⎧ ⎫

⎪ ⎪ ⎪ ⎪ ⎪ ⎪+ − =⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎩ ⎭ ⎩ ⎭ ⎩ ⎭

2

28 90 11 31 1· 41 · · 300 131 30 31

51 330 2

Page 17: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

17

{r(3)} = {r(2)} - ρ·{z(2)} = ⎧ ⎫ ⎧ ⎫ ⎧ ⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪− − − =⎨ ⎬ ⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎩ ⎭ ⎩ ⎭ ⎩ ⎭

2

0 0 01 31 1· 12 · · 360 031 30 31

6 180 0, tol = ||{r(3)}||2 = 0

Por tanto la solución del sistema es x = -1, y = 1, z = 2. Examen final – Convocatoria de junio de 2003 Dada la funcional cuadrática:

( ) = + + +2 21 2 1 1 2 2 1 2

1J x ,x x x x x - x - 3x c2

con ∈c , se pide:

a) Demostrar que admite un único extremo (mínimo). b) Suponiendo que el punto {5, -2} sea el mínimo de J(x1, x2) cuya

existencia se ha demostrado en el apartado a) y partiendo del punto {1,1}, determinar qué método de descenso de los propuestos a continuación proporciona una primera dirección de descenso tal que el mínimo de J(x1, x2) según esa dirección esté más próximo al mínimo absoluto de J(x1, x2) en el sentido de las normas

1 2. , . y .

∞:

b1) Gauss-Seidel b2) Gradiente con paso óptimo b3) Gradiente conjugado

Solución: La funcional cuadrática del enunciado se puede escribir como:

( ) ( ) ( )11 2 1 2 1 2

2

2 1 1,

1 1 3x

J x x x x x x cx

⎛ ⎞⎛ ⎞ ⎛ ⎞= − +⎜ ⎟⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠⎝ ⎠

a) La condición necesaria y suficiente para que admita un único extremo y

que este extremo sea mínimo es que la matriz:

2 11 1

⎛ ⎞= ⎜ ⎟

⎝ ⎠A

sea definida positiva, para lo cual sus valores propios han de ser reales y

positivos, es decir:

Page 18: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

18

( ) ( )( ) 1

2

2.6180339892 1det det 2 1 1 0

0.38196601121 1λλ

λ λ λλλ

=− ⎧⎛ ⎞− = = − − − = ⇒ ⎨⎜ ⎟ =−⎝ ⎠ ⎩

A I

y, por tanto, efectivamente, la matriz A es definida positiva. b) Los métodos de descenso consisten en, a partir de un vector dado,

( ) ( ) ( ){ }0 0 01 2,x x=x , generar una sucesión de vectores ( ){ }

0

i

i

=x mediante:

( ) ( )

( )( ) ( )

( )( ) ( )

( ) ( ) ( )1

i i

Ti i

Ti i

i i i

ρ

ρ+

=

⋅=

⋅ ⋅

= +

r b - Ax

r d

d A d

x x d

Siendo la elección del vector d(i) propia de cada método. En cualquier caso:

( ) ( )0 0 1 2 1 1 23 1 1 1 1

−⎛ ⎞ ⎛ ⎞⎛ ⎞ ⎛ ⎞= − = − =⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠⎝ ⎠ ⎝ ⎠r b Ax

b1) Método de Gauss-Seidel. La primera dirección de descenso es d(0) =

{1,0}, por tanto:

( )( ) ( )

( )( ) ( )

( )

( )

12 1

0 2 12 1 1 2

1 01 1 0

Ti i

Ti iρ

⎛ ⎞− ⎜ ⎟⋅ −⎝ ⎠= = = = −

⎛ ⎞⎛ ⎞⋅ ⋅ ⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠

r d

d A d

luego:

( ) ( ) ( )1 0 0 1 1 0

11 0 1

ρ⎛ ⎞ ⎛ ⎞ ⎛ ⎞

= + = − ⋅ =⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ ⎝ ⎠

x x d

Si llamamos h al vector x(1) – xs, es decir al vector que une el

mínimo obtenido según la primera dirección de descenso y el mínimo absoluto:

Page 19: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

19

( ) ( )

( )

1

1

2 2

2

(0 5, 1 2) 5, 3

5 3 8.0

5 3 5.830951895

max 5 , 3 5.0

s

= − = − + = −

= − + =

= − + =

= − =

h x x

h

h

h

b2) Método de gradiente con paso óptimo. La primera dirección de

descenso es d(0) = r(0) = {-2,1}, por tanto:

( )( ) ( )

( )( ) ( )

( )

( )

22 1

1 5 12 1 2 5

2 11 1 1

Ti i

Ti iρ

−⎛ ⎞− ⎜ ⎟⋅ ⎝ ⎠= = = =

−⎛ ⎞⎛ ⎞⋅ ⋅ − ⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠

r r

r A r

( ) ( ) ( )1 0 0 1 2 1

11 1 2

ρ− −⎛ ⎞ ⎛ ⎞ ⎛ ⎞

= + = + ⋅ =⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ ⎝ ⎠

x x d

( ) ( )

( )

1

1

2 2

2

( 1 5, 2 2) 6, 4

6 4 10.0

6 4 7.211102551

max 6 , 4 6.0

s

= − = − − + = −

= − + =

= − + =

= − =

h x x

h

h

h

b3) Método de gradiente conjugado. La primera dirección de descenso es

la misma que la usada en el método de gradiente con paso óptimo, por tanto, el apartado b3) es idéntico al apartado b2)

En consecuencia, en el sentido de cualquiera de las tres normas utilizadas, el mínimo obtenido según la primera dirección de descenso del método de Gauss-Seidel es el que está más próximo al mínimo absoluto. NOTA: El mínimo de la funcional dada en el apartado a) se alcanza en el punto {-2, 5} (coordenadas que pueden obtenerse fácilmente resolviendo el sistema de ecuaciones asociado a la funcional).

Page 20: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

20

Examen final – Convocatoria de septiembre de 2003 Dado el sistema de ecuaciones lineales:

2 32 5 7x yx y

+ =⎧⎨ + =⎩

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 32 5 7

xy

⎛ ⎞ ⎛ ⎞ ⎛ ⎞= = =⎜ ⎟ ⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠ ⎝ ⎠A b x

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:

( ) ( )( ) 1

2

5.821 2det det 1 5 4 0

0.172 5λλ

λ λ λλλ

=− ⎧⎛ ⎞Α − = = − − − = ⇒ ⎨⎜ ⎟ =−⎝ ⎠ ⎩

I……

luego la matriz A es definida positiva. b) La funcional cuadrática asociada es:

( ) ( ) ( )

2 2

1 21 1, 3 72 52 2

1 52 3 72 2

T T x xJ x y c x y c

y y

x xy y x y c

⎡ ⎤ ⎛ ⎞ ⎛ ⎞= + = − + =⎜ ⎟ ⎜ ⎟⎢ ⎥

⎣ ⎦ ⎝ ⎠ ⎝ ⎠

= + + − + +

x Ax - b x

c) La primera dirección de descenso es:

( ) ( ) ( )0 0 0 3 1 2 2 37 2 5 2 7

−⎛ ⎞ ⎡ ⎤ ⎛ ⎞ ⎛ ⎞= = − = − =⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎢ ⎥ −⎝ ⎠ ⎣ ⎦ ⎝ ⎠ ⎝ ⎠

d r b Ax

y el parámetro de descenso:

Page 21: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

21

( )( ) ( )

( )( ) ( )

( )

( )

0 0

0 0

33 7

7 58 0.17159763311 2 3 338

3 72 5 7

T

⎛ ⎞⎜ ⎟⎝ ⎠= = = =

⎛ ⎞⎛ ⎞⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠

d d

d A d

( ) ( ) ( )1 0 0 2 3 1.485207101

0.17159763312 7 0.798816568

ρ−⎛ ⎞ ⎛ ⎞ ⎛ ⎞

= + = + =⎜ ⎟ ⎜ ⎟ ⎜ ⎟−⎝ ⎠ ⎝ ⎠ ⎝ ⎠x x d

( ) ( ) ( )1 0 0 3 1 2 3 -0.082840237

0.17159763317 2 5 7 0.035502957

ρ− −⎛ ⎞ ⎛ ⎞⎛ ⎞ ⎛ ⎞

= − = − =⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟− −⎝ ⎠ ⎝ ⎠⎝ ⎠ ⎝ ⎠r r Ad

( )( ) ( )

( )( ) ( )

( )

( )

1 1

0 0

-0.082840237-0.082840237 0.035502957

0.0355029570.0001400511176

33 7

7

T

⎛ ⎞⎜ ⎟⎝ ⎠= = =

⎛ ⎞⎜ ⎟⎝ ⎠

r r

r r

( ) ( ) ( )

( )( ) ( )

( )( ) ( )

( )

( )

1 1 0

1 1

1 1

-0.082840237 -3 -0.083260390350.0001400511176

0.035502957 -7 0.03452259918

-0.082840237-0.082840237 0.035502957

0.0355029571 2

-0.08326039035 0.034522599182 5

T

T

α

ρ

⎛ ⎞ ⎛ ⎞ ⎛ ⎞= + = + =⎜ ⎟ ⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠ ⎝ ⎠⎛ ⎞⎜ ⎟⎝ ⎠= =

⎛ ⎞⎜⎝

d r d

r r

d Ad

( ) ( ) ( )2 1 1

5.827586205-0.083260390350.03452259918

1.485207101 -0.08326039035 0.99999999885.827586205

0.798816568 0.03452259918 0.9999999907ρ

=⎛ ⎞

⎟⎜ ⎟⎠⎝ ⎠

⎛ ⎞ ⎛ ⎞ ⎛ ⎞= + = + =⎜ ⎟ ⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠ ⎝ ⎠x x d

Nota 1: 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.

Dado el sistema de ecuaciones lineales: + =

=+ =

2 3

2

x zay a

x z

en donde a es un número real distinto de cero, se pide:

Page 22: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

22

a) Determinar el valor de a para que sea resoluble utilizando el método de gradiente con paso óptimo.

b) Calcular el condicionamiento del sistema según la norma-2.

c) ¿Qué valores de a dan lugar a un sistema mejor condicionado?

Solución: a) Para que se pueda utilizar el método del gradiente con paso óptimo es

necesario que la matriz del sistema sea definida positiva, lo que se puede comprobar viendo si todos sus valores propios son reales y positivos.

( ) ( )( )1

2

3

2 0 10 01 0 1

2 0 1det( ) 0 0 2 1 1 0 2.618033989

1 0 1 0.381966011

a

aa a

λ λλ λ λ λ λ λ

λ λ

⎛ ⎞⎜ ⎟= ⎜ ⎟⎜ ⎟⎝ ⎠

− =⎧⎪− = − = − − − − = ⇒ =⎡ ⎤ ⎨⎣ ⎦⎪− =⎩

A

A I

Luego bastará con que a sea mayor que 0 para que la matriz A sea definida positiva.

b) ( )2M

m

condλλ

=A

siendo λM el valor propio de mayor módulo de A y λm el valor propio de menor módulo de A. Consideremos los diferentes valores de a:

22.6180339890.381966011 0.381966011

M

m

a aa condλ

λ=⎧

> ⇒ ⇒ =⎨ =⎩

2

2.6180339890.381966011 2.618033989

0.3819660112.618033989 6.8541019710.381966011

M

m

a

cond

λλ

=⎧≤ ≤ ⇒ ⇒⎨ =⎩

⇒ = =

2

2.618033989 2.6180339890 0.381966011 M

m

a conda a

λλ

=⎧< < ⇒ ⇒ =⎨ =⎩

c) Evidentemente, el menor valor que se puede obtener para el

condicionamiento en norma-2 es 6.854101971, correspondiente a

valores de a comprendidos entre 0.381966011 y 2.618033989.

Page 23: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

23

CURSO 2003-04

Examen final - Convocatoria de diciembre de 2003 Dado el sistema de ecuaciones lineales homogéneo:

ax + y = 0 x + ay = 0 donde a es un número real no nulo, se pide:

a) Determinar para qué valores de “a” se puede resolver el sistema dada mediante un método de descenso.

b) Si se utiliza un método de Gauss - Seidel a partir del vector inicial

(α, β), determinar cual ha de ser este vector para que el mínimo según la tercera dirección de descenso de la funcional cuadrática asociada sea la solución del sistema.

Solución:

a) Para que se pueda aplicar un método de descenso la funcional cuadrática asociada al sistema debe ser cudrática y estrictamente convexa. Ello equivale a

que la matriz del sistema, a 1

A1 a⎡ ⎤⎢ ⎥= ⎢ ⎥⎣ ⎦

sea definida positiva. La simetría de la

matriz es evidente. Por ello para que sea definida positiva lo único que hace falta verificar es que sus dos valores propios son estrictamente positivos. Puesto que el polinomio característico de esta matriz es:

( ) 2 2a 1p( ) det 2a (a 1)

1 a−λ

λ = −λ = =λ − λ+ −−λ

A I

se verifica que los valores propios (raíces del polinomio característico) son:

2 22 22a 4a 4(a 1)

a a (a 1) a 12

± − −λ= = ± − − = ±

Para que 1λ = (a+1) y 2λ = (a-1) sean ambos estrictamente positivos se debe

tomar el parámetro a como cualquier valor tal que a > 1. b) El método de Gauss-Seidel aplicado a este sistema consiste en, partiendo de un

valor (x0, y0) dado, en lo siguiente:

Page 24: EJERCICIOS DE MÉTODOS ITERATIVOS PARA LA …ocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos… · Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo

Programación y Métodos Numéricos Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

24

• Cuando se realiza una iteración “i” con i impar seguir la dirección dada por el vecor (1, 0) obteniendo el vector (xi , yi) mediante:

xi = -yi-1 / a , yi = yi-1 • Cuando se realiza una iteración “i” con i par seguir la dirección

dada por el vecor (0, 1) obteniendo el vector (xi , yi) mediante: xi = xi-1 , yi = -xi-1/a

Por tanto, partiendo de (α, β) el método de Gauss-Seidel tras seguir la primera dirección de descenso (dada por el vector (1, 0)) nos conduce al punto (x1, y1) dado por :

1x a−β= , 1y = β

Tras seguir la segunda dirección de descenso (dada por el vector (0, 1))se obtendrá el punto (x2, y2) dado por:

2x a−β= , 2

a2 ay

a

−ββ=− =

Finalmente, tras seguir la tercera dirección de descenso (dada nuevamente por el vector (1, 0)) se tiene el punto (x3, y3) dado por:

2

3a

3 axa

β−β=− = , 23 ay β=

Puesto que la solución exacta del sistema dado es (0, 0) y en dicho punto está el mínimo de la funcional asociada al sistema, la condición para que (x3 , y3) sea la solución del sistema es que 0β= .

En resumen, si se parte de cualquier vector con su segunda componente nula ( ,0α ) puede asegurarse que en la tercera1 iteración se obtendrá la solución

exacta.

1 Obsérvese que, de hecho, se puede asegurar que en la primera iteración ya se obtiene la solución exacta.