The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Análisis numérico, 2da Edición - Timothy Sauer-FREELIBROS.ORG

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Marvin's Underground Latino USA, 2018-08-23 12:58:10

Análisis numérico, 2da Edición - Timothy Sauer-FREELIBROS.ORG

Análisis numérico, 2da Edición - Timothy Sauer-FREELIBROS.ORG

CAPITULO

12

Valores y vectores característicos
y valores singulares

La W orld W lde W eb hace q u e cu alq u ier usuario pueda d e valo r p ropio (o característico ) o valo r sin g u lar. Los
tener un fácil acceso a grandes can tidades d e Infor­ m étodos n um éricos para resolver estos p roblem as
mación (de hecho, esta inform ación e s tan vasta, que de alta dim ensión generan proyecciones a subespa-
resulta esencial navegar co n un potente motor d e b ú s­ d o s d im e n sio n a le s Inferiores. Ésta e s e x a cta m e n te la
queda). La tecn olo gía tam bién h a p ro po rcionad o la mi- sim plificación qu e e s requerida e n la m ayoría d e los
nlaturización y senso res d e bajo costo, lo q u e perm ite entornos d e datos com plejos.
que grandes cantidades d e datos estén a disposición de
las personas. ¿C óm o p uede explotarse, d e m an era efi­ (omprotHKlóa
caz, este acceso a grandes cantidades d e inform ación? enktreaUdad En la página 549 se exp lora lo q u e

M u ch os a sp e c to s d e la tecn o lo g ía d e b ú s q u e ­ se ha llam ado el m ayor cálculo en el desarrollo actual
da, y descubrim iento del conocim iento en general, d e un valor p ropio (o valor característico) e n e l m u nd o ,
se benefician d e su tratam iento com o un problem a utilizado por uno d e los m ás ren om b rado s p ro veedo­
res d e b ú sq u ed a e n la web.

Los métodos computacionalcs para localizar valores propios se basan cn la idea fundamental de
la iteración de potencia, un tipo de iteración de punto fijo para espacios propios. Una versión
sofisticada de la idea, llamada el algoritmo QR, es el algoritmo estándar para determinar todos los
valores propios de las matrices típicas.

1.a descomposición del valor singular revela la estructura básica de una matriz y es muy usa­

da en aplicaciones estadísticas para encontrar las relaciones entre los datos. En este capítulo se
analizan los métodos para encontrar los valores y vectores propios (característicos) de una matriz
cuadrada, así com o los valores y los vectores singulares de una matriz general.

12.1 MÉTODOS DE ITERACIÓN DE POTENCIA

No existe un método directo para calcular valores propios (o característicos). La situación es similar
a encontrar raíces, en la que todos los métodos posibles dependen de algún tipo de iteración. Para
comenzar en esta sección se estudiará si el problema puede reducirse a la localización de raíces.

532 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

B i el apéndice A se muestra un método para calcular los valores y los vectores propios (carac­
terísticos) de una matriz de m x m. Este enfoque, basado en la localización de raíces del polinomio
característico de grado m, funciona bien para las matrices de 2 x 2. Para las matrices grandes, el

procedimiento requiere un método para determinar raíces de los estudiados en el capítulo 1.

La dificultad de este método pora encontrar valores propios (característicos) se hace evidente
al recordar el ejemplo del polinomio de Wilkinson del capítulo I. Se encontró que cambios muy
pequeños en los coeficientes de un polinomio pueden cambiar las raíces del polinomio en cantida­
des demasiado grandes. En otras palabras, el número de condición del problema de entrada-salida
que convierte los coeficientes en raíces puede ser extremadamente grande. Debido a que el cálculo
de los coeficientes del polinomio característico estará sujeto a errores del orden del redondeo de
la máquina o mayores, el cálculo de los valores propios mediante este método es susceptible a
grandes errores. Esta dificultad es muy grave com o para justificar la eliminación del método para
encontrar raíces del polinomio característico com o una vía para el cálculo exacto de valores pro-
p o s (característicos).

Un ejemplo simple de la poca precisión de este método se desprende de la existencia del poli­
nomio de Wilkinson. Si se desea encontrar los valores propios de la matriz

10..- 0 ( 12. 1)
02 i
A=

00 20

se calcularán los coeficientes del polinomio característico P (x ) = ( x - 1) ( x - 2) ••• ( x - 20) y se
utilizará un método para determinar raíces. Sin embargo, como se muestra en el capítulo I, algunas
de las raíces de la versión de máquina de P (x) están lejos de las raíces de la versión verdadera de
P (x), que son los valores propios de A .

En esta sección se presentan los métodos basados en la multiplicación reiterada de la matriz
por un vector, que al hacerlo n veces se convierte en el vector propio. La idea se perfeccionará más
adelante, pero es el fundamento principal de los métodos más sofisticados.

12.1.1 Iteración de potencia

La motivación detrás de la iteración de potencia es que la multiplicación por una matriz tiende a
mover los vectores hacia la dirección del vector propio dominante.

A N O T A C IÓ N Condicionam iento Los grandes errores a los q u e está sujeto el 'm étodo del polinom io ca­

racterístico' n o so n cu lp a del m étod o para en co ntrar las rafees. Un m étodo p erfectam en te exacto no
tendrá un m ejor desem peño. Cuando el polinom io se m ultiplica para determ inar los coeficientes de
entrada e n e l m étod o para localizar las rafees, e n general, los co eficientes estarán su jetos a errores en
el orden del épsHon d e la m á q u in a Entonces, se le pedirá al m étod o q u e en cu en tre las ralees d e un p o ­
linom io q u e e s un poco erróneo, lo cual, co m o se ha visto, p u ed e tener co n secu en cia s desastrosas. No
hay u n a solución general a este pro blem a y la ú nica m anera d e com batirlo serla aum entar el tam año
d e la m antisa que representa los n úm eros d e punto flotante; lo q u e tendría el efecto d e bajar el épsllon
d e la m áquina. SI el épsHon d e la m áq uina p udiera hacerse m en o r qu e 1/cond(Pl e n to n ce s podría
aseg u rarse la precisión para los valores propios. Por supuesto, esto no e s e n realidad u n a solución,
sino sólo un paso más en u na carrera arm am entista im posible de ganar. Si se utiliza mayor precisión
d e cálculo, siem pre e s posible extender el polinom io d e W ilkinson a un mayor grado para encontrar un
núm ero d e co ndició n incluso m ás alto.

12.1 Métodos de iteración de potencia | 533

DEFINICIÓN 12.1 Sea A una malriz de m x m. Un v a l o r p r o p i o (característico) d o m i n a n t e de A es un valor propio

A, cuya magnitud es mayor que todos los otros valores propios de A . Si existe, un vector pro­

pio asociado a A se llama v e c t o r p r o p i o (característico) d o m i n a n t e . fl

l a matriz -[!!]

tiene un valor propio dominante de 4 con vector propio [ 1,1 ]T, y un vector propio que es de menor
magnitud. - 1 . con un vector propio asociado [ - 3 , 2 ]r. Observe los resultados de multiplicar la
matriz A por un vector “aleatorio”, por ejemplo f - 5 . 5 ] r:

xi = A xo = ][ 1 0 J5- 5 • 10 1
J "1
X2 = A x o = 10 " ' 10 '
0 = 20
X3 = A 3XQ = 10 ' ‘ 70 ‘

Xa = A * x r 20 60
70 ' ' 250 ] = » [ « ]
■[ 60 . 260

La multiplicación reiterada de un vector de inicio aleatorio por la matriz ha dado com o resultado
el desplazamiento del vector a un punto muy cercano del vector propio dominante de A. Esto no
es casual, com o puede verse al expresar Xocom o una combinación lineal de los vectores propios

xo -■[¡MU

y al revisar el cálculo bajo este conocimiento:

xj = A x o ! ]• [ - i
X2 = A 2x o
X3 = A xo 1 ' + 2 -3
1
*! [ 2
1
1 ' -2 -3
2
'[

X4 “ [ ¡]

256 [: ] «

El punto es que el vector propio correspondiente al valor propio más grande en magnitud dominará
el cálculo después de varios pasos. En este caso, el valor propio 4 es el más grande, por lo que el

cálculo se desplaza más y más hacia un vector propio en su dirección [ 1.1 ) T.

Para evitar que los números se salgan de control.es necesario normalizar el vector a cada paso.
Una forma de haccrcslo es dividir el vector actual entre el mayor valor del vector (normalizar el vec­
tor resultante) antes de cada paso. Las dos operaciones, la normalización y la multiplicación por A
constituyen el método de iteración de potencia.

A medida que los pasos proporcionan mejores vectores propios aproximados, ¿cómo pueden

encontrarse los valores propios aproximados? Para plantear la pregunta de manera más general,
suponga que se conooen una matriz A y un vector propio aproximado. ¿Cuál es la mejor estimación
para el valor propio asociado?

534 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

A N O T A C IÓ N Convergencia La Iteración d e p otencia e s en esen cia una iteración d e punto fijo co n norm aliza-

d ó n a c a d a paso. Al ig u a l q u e la IPF, co n v e rg e lln ealm en te, lo q u e sig n ifica q u e d u ra n te la co n v e rg e n ­
cia, e l error dism inuye e n u n factor co n stan te a cad a paso d e la Iteración. Más adelante e n esta secció n,
se en co ntrará u n a variante cuadráticam ente co nverg ente d e la Iteración d e p otencia llam ada Iteración
del cociente d e Raylelgh.

Se recurrirá a los mínimos cuadrados. Considere la ecuación de valor propio x k = Ar. donde x
es un vector propio aproximado y Aes una incógnita. Vista de esta manera, la matriz de coeficientes
es la matriz x de n x l . Las ecuaciones normales dicen que la respuesta de mínimos cuadrados es
la solución de x T x k = x T A x , o

conocido como el cociente d e Rayleigh. Dado un vector propio aproximado, el cociente de
Rayleigh e s el mejor valor propio aproximado. La aplicación del cociente de Rayleigh al vector
propio normalizado añade una aproximación al valor propio para la iteración de potencia.

Iteración de potencia

Dudo el vector inicial Xq.

for y = 1 .2 .3 ....
u i -1 = x j - \ / \ \ x j-\W*
Xj = Auj-x
k j = u MT A u j - i

end
Uj =X j/ \\ Xj \\ 2

Rúa encontrar el vector propio dominante de la matriz A. com ience con un vector cualquiera.
Cada iteración consiste en normalizar el vector actual y multiplicar por A . El cociente de Rayleigh
se utiliza para aproximar el valor propio. El comando norm de M a t l a b facilita la implementación.

como se muestra en el siguiente código:

% Programa 1 2 .1 I t e r a c ió n de p o te n c ia

% C alcula e l v e cto r p rop io dominante de la m atriz cuadrada

% E ntrada: m a t r iz A, v e c t o r i n i c i a l x ( d i s t i n t o d e c e r o ) , número de p a s o s k

% S a lid a : v a lo r p r o p io dom inante lam, v e c t o r p r o p io u

fun ction [lam ,u ]-p ow erit(A .x.k )

for j s i :k

u«x/norm (x); %n o r m a l i z a e l v e c t o r

x=A*u; \ paso de potencia

lam =u '*x; %c o c i e n t e d e R a y l e i g h

end

u=x/norm (x);

12.1 J1 Convergencia de la iteración de potencia

Se demostrará la convergencia de la iteración de potencia bajo ciertas condiciones que deben cum ­
plir los valores propios. Aunque estas condiciones no son por completo generales, sirven para
demostrar por qué el método tiene éxito cn el caso más claro posible. Después, se construirán
métodos de valores propios que serán sucesivamente más sofisticados, oon base cn el concepto de
la iteración de potencia, que cubre a las matrices más generales.

TEOREMA 12.2 Sea A una matriz d e m x m con valores propios reales A ,.... , A*, que satisfacen |A,| > |Ao| 2: lAj)
a ••• 2 |AJ. Suponga que los vectores propios de A abarcan Para casi cualquier vector inicial.

12.1 Métodos de iteración de potencia | 535

la iteración de potencia converge linealmente a un vector propio asociado a A,, con razón de con ­

vergencia constante S = ^ /A ^ . ■

D em ostración. Sean v l t . . . , vn los vectores propios que forman una base de R n, con los valores
propios correspondientes Aj A,,, respectivamente. Exprese el vector inicial en esta base com o
x 0 = c,v, + ••• + c„v„ para algunos coeficientes c¡. La frase "para casi cualquier vector inicial”
significa que puede asumirse que c h Cj * 0. Al aplicar la iteración de potencia se obtiene

/fx0 = ciA ,v i + c 2A2U2 + ----- 1- c„Xn vn

A 2XQ = ClAjvi + C Í k \ v ¿ + Y c n A;u,

Á *X o = C|A}ui -I- c 2k \\>2 + ••• + c nA jv,

con normalización a cada paso. Cuando el número de pasos k - * » , dominará el primer término del
lado derecho, sin importar cóm o se realice la normalización, porque

A kx 0 /A 2\* /A ff\*
_ j _ = C lt, | + C 2 ^ _ j «* + . » + * ( - )

El supuesto de que |A,| > |A,j para i > I implica que todos los términos excepto el primero de la

derecha convergen a cero con una razón de convergencia S s |AyA||, y exactamente a esa razón,

mientras c2 * 0. Como resultado, el método converge a un múltiplo del vector propio dominante vlt

con valor propio Aj. □

El término “casi todos” cn la conclusión del teorema significa que el conjunto de vectores ini­

ciales x0para los que la iteración falla es un conjunto de dimensión pequeña en R m. En específico,

la iteración tendrá éxito a la razón especificada si xq no está contenido cn la unión de los planos de

dimensión m - 1 abarcados por (vj, U3, ... ,v n | y uw |.

12.1.3 Iteración de potencia inversa

La iteración de potencia se limita a localizar el valor propio de mayor magnitud (valor absoluto).
Si la iteración de potencia se aplica a la inversa de la matriz, pueden encontrarse el valor propio
más pequeño.

LEMA 12.3 Sean los valores propios de la matriz A de m x m indicados por Aj. A2 A^. (a) Los valores pro­

pios de la matriz inversa A ~ x son Aj"1, A^1 A” 1, asumiendo que la inversa existe. Los vectores

propios son iguales a los de A . (b) Los valores propios de la matriz desplazada A - s i son A, - s ,

A^ - s , .... A„ - s, y los vectores propios son ¡guales a los de A. ■

Dem ostración, (a) A v ■ Au implica que v “ AA-1 v y. por lo tanto. A-1 u = ( 1/A)v. Observe

que el vector propio es invariable, (b) Reste i/u de ambos lados de A v “ Au. Entonces (A - s i )

v = (A - s)v es la definición del valor propio para (A - s i) , y de nuevo puede utilizarse el mismo

vector propio. □

De acuerdo con el lenta 12.3, el valor propio oon la mayor magnitud en la matriz. A _l es el
recíproco del valor propio con menor magnitud de A. Al aplicar la iteración de potencia a la matriz
inversa, seguida de la inversión del valor propio resultante de A " 1, se obtiene el valor propio oon
menor magnitud de A.

536 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

Pira evitar el cálculo explícito de la inversa de A, se reescribe la aplicación de la iteración de
potencia sobre A -1 , a saber,

x t + | = A ~ 1x k (12.3)

como el equivalente

Ax*+ i = x * . (12.4)

que después se resuelve parart+1 por eliminación gaussiana.
Ahora se sabe cóm o encontrar el mayor y el menor valor propio de una matriz. En otras pala­

bras. para una matriz de 100 x 100. se ha realizado el 2 por ciento. ¿Cómo se encuentra el restante
98 por ciento?

R lema 12.3(b) sugiere un posible enfoque. Es posible disminuir cualquiera de los otros va­
lores propios al desplazar A hada un valor cercano al valor propio. Si se llega a saber que hay un
valor propio cercano a 10 (por ejemplo, 10.05), entonces A - 10/ tiene un valor propio A = 0.05.
Si es la menor magnitud de valor propio de A — 10/, entonces la iteración de potencia inversa
x k+ j = (A - 10/)” 1x k la localizará. Esto es. la iteración de potenda invenía converge al redproco
l/(.05) = 20. después de lo cual seinvierte a .05 y se suma de nuevo el cambiopara obtener 10.05.
ü t c truco localizará el valor propio más pequeño después d d desplazamiento (que es otramanera
de dedr el valor propio más cercano al desplazamiento). En resumen, se escribe

Iteración de potencia inversa

Dado el vector inidal Xq y el desplazamiento s
for j - 1,2,3,...

U j - I = X7_ i/||X y _ i||2
Solve (A - s l ) x j = u j —\

end
Uj=Xj/\\Xj\\2

Rtra encontrar el valor propio de A más cercano al número real 5, aplique la iteradón de po­
tencia a (A - s í ) ~ l para obtener el valor propio con mayor magnitud de ó de (A - j/ ) - 1. Las ite­
raciones de potenda deben realizarse mediante la diminación gaussiana sobre (A - sl)yk+ ¡ = x k.
Entonces A = b ~ 1 + s es el valor propio de A más cercano a j . El vector propio asodado a A se da
directamente en d cálculo.

% Programa 1 2 .2 I t e r a c ió n de p o te n c ia in v e r s a

1 C alcu la e l v a lo r p r o p io de l a m atriz cuadrada más cercan o a l a en trad a s

1 Entrada: m a triz A, ( d i s t i n t a de cero) v e c to r x , d e sp la za m ien to s . p a so s k

% S a lid a : v a lo r p ro p io dom inante lam, v e c t o r p r o p io de in v (A -s I )

functicn [lam .u ]«invpow erit(A ,x,s,k)

A o-A -o*eye(oize(A ));

for j=l:k

u=x/norm (x); %n o r m a l i z a e l v e c t o r

x«A o\u ; %p a s o d e p o t e n c i a

lara=u'*x; %c o c i e n t e d e R a y l e i g h

end

lam =l/lam +s; u= x/norm (x);

► EJEMPLO 12.1 Suponga que A es una matriz de 5 x 5 con valores propios - 5 , - 2 , 1 /2 ,3 /2 ,4 . Encuentre el valor
propio y la razón de convergenda esperada cuando se aplica (a) la iteración de potenda (b) la
iteración de potencia inversa con desplazamiento s = 0 (c) la iteración de potencia inversa con
desplazamiento s = 2.

(a) La iteración de potenda con un vector inidal aleatorio convergerá al valor propio con ma­

yor magnitud - 5 , con una razón de convergencia S = |A2|/]A|| = 4/5. (b) La iteración de potencia

12.1 Métodos de iteración de potencia | 537

inversa (sin desplazamiento) converge al más pequeño. 1/2, porque su recíproco 2 es mayor que

los recíprocos de los demás - 1 /5 , - 1/2, 2/3 y 1/4. La razón de convergencia será la razón de los

dos valores propios mayores de la matriz inversa, S = (2/3)/2 = 1/3. (c) La iteración de potencia

inversa con desplazamiento s = 2 localizará el valor propio más cercano a 2. que es 3/2. La razón

es que, después de cambiar los valores propios a —7, - 4 , - 3 /2 , - 1 /2 y 2, el más grande de los

recíprocos es - 2 . Después de invertir para obtener —1/2 y de sumar de nuevo el desplazamiento

j = 2, se obtiene 3/2. La razón de convergencia es de nuevo la relación (2/3)/2 = 1 /3 . <

12.1.4 Iteración del cociente de Rayleigh

R cociente de Rayleigh puede utilizarse junto con la iteración de potencia inversa. Se sabe que
converge al vector propio asociado con el valor propio que guarda la menor distanda con el d es­
plazamiento s , y que la convergencia es rápida si esta distancia es pequeña. Si en cualquier paso
del proceso se conoce un valor propio aproximado, éste podría utilizarse com o d desplazamiento s,
para acelerar la convergencia.

H uso dd codente de Rayleigh com o el desplazamiento actualizado en la iteradón de poten­
cia inversa conduce a la iteración del cociente de Rayleigh (ICR).

Iteración del cociente d e Rayleigh

Dado el vector ¡nidal xo.
for / = 1 ,2 ,3 ....

u j - i = x j - i /\\x j - i \\

k j - i = u JT_ l A u j - l
Resuelvo (A - k j _ \ I ) X j = U j - \
end
Uj = X j /\ \ X j \ \2

% Programa 1 2 .3 it e r a c ió n d e l c o c ie n t e de R a y leig h

% E ntrada: m a tr iz A, v e c t o r i n i c i a l x ( d i s t i n t o d e c e r o ) , número de p a s o s k

% S a lid a : v a lo r p r o p io lam y v e c to r p r o p io u

function [lam ,u]=rqi(A ,x,k)

for j«l:k

u-x/norm (x) ; % norm aliza

lam = u '*A *u ; %c o cien te de Rayleigh

x -(A -la m * ey e (siz e(A )) ) \u ; % ite r a c ió n de p o ten cia in v ersa

end

u=x/norm (x);

lam-u* *A*u; % co cien te de Rayleigh

Mientras la iteración de potencia inversa converge linealmente, la iteración del cociente de

Rayldgh es cuadráticamcnte oonveigcntc para los valores propios simples (sin repetición) y

convergerá cúbicamente si la matriz es simétrica. Esto significa que el método del codente de

Rayldgh requiere muy pocos pasos para converger a la predsión de máquina. Después de la con ­

vergencia, la matriz A - / e s singular y no pueden realizarse más pasos. Como resultado, es

necesario utilizar ensayo y error con el programa 12.3 para detener la iteradón justo antes de que

esto ocurra. Observe que la complejidad se ha incrementado con la ICR. La iteradón de potencia

inversa requiere sólo una factorización LU; pero para la ICR. cada paso requiere una factorización

nueva, dado que el desplazamiento ha cambiado. Aun así. la iteración del cociente de Rayleigh es

d método convergente más rápido que se ha presentado cn esta sección para la búsqueda de un

valor propio a la vez. En la siguiente sección se analizan maneras de encontrar todos los valores

propios de una matriz en el mismo cálculo. El motor básico seguirá siendo la iteración de potencia

(sólo los detalles se volverán más sofisticados).

538 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

12.1 Ejercicios

Encuentre el polinomio característico y los valores y vectores propios de las siguientes matrices
simétricas:

[0 2"
í]3.5 -1 .5 " 136 - 4 8
(a) 3.5 (b) [ 2 0 (c) -0.2 -2 .4 (d) - 4 8 164

-2.4 1

2. Encuentre el polinomio característico y los valores y vectores propios de las siguientes matrices:

79 ’261 r .2 0.6 (d) I" 32 45 "
(a) (b)
-6 -8 .4 0.8 I -18 -25

3. Encuentre el polinomio característico y los valores y vectores propios de las siguientes matrices:

'1 0 1' 1 0 -r r 1 1 1-1
01 l “2 “2 “8
(a) 0 3 - 2 (b)
(c) - 1 0 J

00 2 -I I 1_ . -5 i i .

4. Demuestre que una matriz cuadrada y su transpuesta tienen el mismo polinomio característico y.
por lo tanto, el mismo conjunto de valores propios.

5. Suponga que A es una matriz de 3 x 3 con los valores propios dados. Decida a qué valor propio de
la iteración de potencia converge y determine la razón de convergencia constante 5. (a) {3, 1.4}
(b) { 3 .1 .- 4 } (c) { - 1 .2 .4 } (d) {1 .9 .1 0 }

6. Suponga que A es una matriz, de 3 x 3 con los valores propios dados. Decida a qué valor propio de
la iteración de potencia converge y determine la razón de convergencia constante S. (a) {1. 2 .7 }
(b) {1,1. - 4 } (c) {0, - 2 ,5 } (d) {8. - 9 .1 0 }

7. Suponga que A es una matriz de 3 x 3 con los valores propios dados. Decida a qué valor propio
de la iteración de potencia inversa con el desplazamiento dado s convergerá, y determine la ra­

zón de convergencia constante S. (a) {3. 1 .4 }. 5 = 0 (b ) {3, 1, —4}. jr = 0 (c) { - 1 . 2 . 4}, s = 0

(d) {1 .9 .1 0 }. j ■» 6

8. Suponga que A es una matriz de 3 x 3 con los valores propios dados. Decida a qué valor propio
de la iteración de potencia inversa con el desplazamiento dado s convergerá y determine la razón de
convergencia constante S. (a) {3. 1. 4 }. s = 5 (b) {3, 1, - 4 } . s = 4 (c) { - 1 , 2. 4 }. s = I
(d) {1 ,9 ,1 0 }. í = 8

9. Sea A (a) Encuentre todos los valores y vectores propios de A (b) Aplique tres

pasos de la iteración de potencia con el vector inicial xo = (1.0). En cada paso, aproxime el valor
propio mediante el cociente actual de Rayleigh. (c) Prediga el resultado de aplicar la iteración de
potencia inversa con desplazamiento s = 0 (d) con desplazamiento s = 3.

-2 Realice los pasos del ejercicio 9 para esta matriz.
10. Sea A =

3

11. Si A es una matriz de 6 x 6 con valores propios - 6 . - 3 , 1. 2, 5. 7. ¿cuál valor propio de A en­
contrarán los siguientes algoritmos? (a) Iteración de potencia (b) Iteración de potencia inversa
con desplazamiento s = 4 (c) Encuentre las razones de convergencia lineal para los dos cálculos.
¿Cuál de ellos converge más rápido?

12.2 Algoritmo QR | 539

12.1 Problemas de computadora

1. Use el código proporcionado (o el código de su preferencia) para el método de la iteración de po­
tencia. encuentre el vector propio dominante de A y estime el valor propio dominante calculando
un cociente de Rayleigh. Compare sus conclusiones con la parte correspondiente del ejercicio 5.

10 - 1 2 - 6 ' ‘ - 1 4 20 10 '

(a) 5 - 5 - 4 (b) - 1 9 27 12

_ -1 03 23 - 3 2 - 1 3

8 -8 -4 " 12 - 4 - 2 '

(c) 12 -1 5 - 7 (d) 19 - 1 9 - 1 0

- 1 8 26 12 - 3 5 52 27

2. Use el código proporcionado (o el código de su preferencia) para el método de la iteración de po­
tencia inversa, verifique sus conclusiones del ejercicio 7. utilice la matriz apropiada de problema
de computadora 1.

3. Para el método de la iteración de potencia inversa. verifique sus conclusiones del ejercicio 8. uti­
lice la matriz apropiada de problema de computadora 1.

4. Aplique la iteración del cociente de Rayleigh para las matrices del problema de computadora 1.
Pruebe diferentes vectores de inicio hasta encontrar los tres valores propios.

1 2 .2 A LG O R IT M O QR

El objetivo de esta sección es desarrollar métodos para encontrar todos los valores propios a la vez.
Se inicia con un método que funciona para matrices simétricas, y posteriormente se com plem en­
tará a fin de que funcione de manera general. Las matrices simétricas son más fáciles de manejar
debido a que sus valores propios son reales y sus vectores propios forman una base ortonormal de
R m ( \ c a el apéndice A). Esto motiva la aplicación de la iteración de potencia con m vectores en
paralelo, donde se trabaja de manera activa para mantener los vectores ortogonales entre sí.

12.2.1 Iteración simultánea

Suponga que se comienza con m vectores iniciales ortogonales por pares U j,... . vm. Después de

aplicar un paso de la iteración de potencia a cada vector. A v \ ya no se garantiza que sean

ortogonales entre sí. De hecho, con más multiplicaciones por A . todos tenderían a convcigcr al

vector propio dominante, de acuerdo con el teorema 12.2.

ftira evitar esto, se vuelve a ortogonalizar el conjunto de m vectores en cada paso. La multipli­

cación simultánea de los m vectores por A se escribe de manera eficaz com o el producto matricial

¿ [v tl-K J .

Como se encontró en el capítulo 4 , el paso de ortogonalización puede verse com o la factorización
del producto resultante com o Q R . Si los vectores básicos elementales se utilizan com o vectores
iniciales, entonces el primer paso de la iteración de potencia seguido por la reortogonal i/ación es
A I = Q \R \,o

rT -o- ■o' - T» ' r l l r ¡2 — rL "
r 22
0 A 1 ... A 0 ,7» t ;
A II

_ 0_ 0 1_ -

rmm -

540 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

La q ) para i = 1 m son el nuevo conjunto ortogonal de vectores unitarios en el proceso de la
iteración de potencia. Enseguida, se repite el paso:

A Q x = [A q \\A q \l-.\A q 'm\

2
mm J

( 12.6)

En otras palabras, se ha desarrollado una forma matricial de la iteración de potencia que busca los
m vectores propios de una matriz simétrica en forma simultánea.

Iteración simultánea normalizada

Establezca Qo = 1
for y = 1 ,2 ,3 ,...

A Qj = Qj+iRj+1

end

Fn el y-ésimo paso las colum nas de Q j son aproxim aciones a los vectores propios de A y los

elem entos diagonales, r({ r ¿ m. son ap ro x im acio n es a los v alores propios. E ste alg o ritm o , que

se llam ará iteración sim ultánea norm alizada (ISN), puede escribirse en código de M a tla b de

manera muy compacta.

t Programa 1 2 .4 I te r a c ió n sim u ltán ea norm alizada

% C a lcu la lo s v a lo r e s /v e c t o r e s p r o p io s de una m a triz sim é tr ic a

% E ntrada: m a triz A, número de p a s o s k

% S a lid a : v a lo r e s p r o p io s lam y m a tr iz 0 de v e c t o r e s p r o p io s

fu n ction [lam ,Q ]=nsi(A .k)

[ m , n ] = s i z e (A) ;

Q =eye(m ,m );

for ja l:k

[Q ,R]=qr(A*Q); % F a c t o r i z a c i ó n OH

end

lam -diag(Q '*A*Q ) ; * C ociente de R ayleigh

Existe una forma aún más compacta de implemcntar la iteración simultánea normalizada.
Establezca Q q — I . Después, la ISN procede de la siguiente manera:

A Q o = £?i*i
AQ ¡ = Q 2R 2
A Q 2 = Q 1R1

Considere la iteración similar Q 0 — /, y (12.7)
(12.8)
Ao = AQq = Q \R \
A l ~ R [ Q i = Q 2R ,2
Á2 = R2Q 2 = QlRy

12.2 Algoritmo QR | 541

que se llamará el algoritm o Q R sin desplazam iento, luí única diferencia es que A no es necesaria
después del primer paso, sino que se sustituye por la actual Rk. Al comparar (l 2.7) y ( l 2.8) se o b ­
serva que podría elegirse 0 i = Q \ y = /?í en (12.7). Además, com o

02*2 = A Q i = 0 i* ',0 i = Q \R [Q \ = 0102*2. <I2-9 >

podría elegirse 0 2 = Q x Q i ' j *2 = *2 en (12.7). De hecho, si se ha elegido 0 * _ | = 0 i * * 0 * - i
y R j- 1 = *y_ j, entonces

Q jR j = A Q j_| = A 0| ••■Qj-i (12.10)

= 0 2 * 2 0 2 ■Q j - \
= 0203*3 03 ” ‘Q j-l
= 01 0 2 0 3 0 4 * 4 0 4 " ’ Q j —l
= ••• = 01 ■■■Q jRj,

y puede definirse 0 ; = Q i ' Q j y R¡ = *jen (12.7).
Por lo tanto, el algoritmo QR sin desplazamiento hace los mismos cálculos que la iteración simul­
tánea normalizada, con una notación ligeramente diferente. Tenga en cuenta también que

A j- , = Qj Rj = Q jR jQ jQ ] = Q jA jQ ], (12.11)

de modo que todas las matrices A; son similares y tienen el mismo conjunto de valores propios.

% P r o g r a m a 1 2 . 5 A l g o r i t m o QR s i n d e s p l a z a m i e n t o

% C alcula lo s v a lo r e s/v e c to r e s p rop ios de una m atrizsim étrica

% E n tr a d a : m a t r iz A, número d e p a s o s k

% S a lid a : v a lo r e s p r o p io s lam y m a triz de v e c t o r e s p r o p io s Qbar

fu n ctio n (lam ,Q bar]=unshiftedqr(A .k)

(m .n ]= size(A );

Q -eye(m .m );

Qbar=Q; R-A;

for j-l:k

[Q,R] = q r(R * Q ); % f a c t o r i z a c i ó n QR

Q bar-Q bar»Q ; % acumula Q 's

end

lam =diag(R»Q ); % diagonal converge a lo s v a lo re s propios

TEOREMA 12.4 Suponga que A es una matriz simétrica de m x m con valores propios A, que satisfacen |At| > (A^l

> ••• > |AJ. El algoritmo QR sin desplazamiento converge linealmente a los vectores propios y

valores propios de A. Cuando j . A; converge a una matriz diagonal quecontiene los valores

propios en la diagonal principal y Q j = 0 i •• • Q j converge a una matriz ortogonal cuyas colum ­

nas son los vectores propios. ■

Puede encontrar una demostración del teorema 12.4 en Golub y Van Loan [ 19%). La iteración
simultánea normalizada, es en esencia el mismo algoritmo, converge bajo las mismas condiciones.
Tenga en cuenta que el algoritmo QR sin desplazamiento puede follar incluso para matrices sim é­
tricas si no se cumplen los supuestos del teorema. Vea el ejercicio 5.

Aunque la QR sin desplazamiento es una versión mejorada de la iteración de potencia, las
condiciones exigidas por el teorema 12.4 son estrictas, y se requieren un par de mejoras para que
este buscador de valores propios funcione de una manera más general; por ejemplo, en el caso de
las matrices no simétricas. Un problema, que también se presenta para las matrices simétricas, es
que la QR sin desplazamiento no garantiza su funcionamiento en el caso de simetría en el vector
propio dominante. Un ejemplo de esto es

-* = [ ?

542 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

que tiene valores propios 1 y —I. Otra fonna de simetría” se produce cuando los valores propios
son complejos. Los valores propios de la matriz no simétrica

son i y - i , ambos de magnitud compleja 1. Nada en la definición del algoritmo QR sin desplaza­
miento permite calcular valores propios complejos. Por otra parte, la QR sin desplazamiento no
utiliza el truco de la iteración de potencia inversa. Se encontró que la iteración de potencia podría
acelerarse de manera considerable con este truco, y se desea encontrar una manera de aplicar dicha
idea a la nueva implcmcntación. Estas opciones se aplicarán a continuación, después de introducir
el objetivo del algoritmo QR, que es reducir la matriz A a su forma real de Schur.

12.2.2 Forma real de Schur y el algoritmo QR_________________________________________

1.a forma en que el algoritmo QR encuentra valores propios de una matriz A consiste en localizar
una matriz similar cuyos valores propios sean obvios. Un ejemplo de esto último es la forma real
de Schur.

DEFINICIÓN 12.5 Una matriz Ttiene la forma real d e S ch u r si es triangular superior, con la posible excepción de

bloques de 2 x 2 sobre la diagonal principal. (1

Por ejemplo, una matriz de la forma

XXX XX
XXXX

XXX
XXX

X

Tiene una forma real de Schur. De acuerdo con el ejercicio 6 , los valores propios de una matriz con
esta forma son los valores propios del bloque diagonal (entradas diagonales cuando el bloque es
de 1 x 1, o los valores propios del bloque de 2 x 2 en ese caso). De cualquier manera, los valores
propios de la matriz se calculan rápido.

R valor de la definición es que cualquier matriz cuadrada con elementos reales es similar a
una de esta fonna. Ésta es la conclusión del siguiente teorema, demostrado cn Golub y Van Loan
11996]:

TEOREMA 12.6 Sea A una matriz cuadrada con entradas reales. Entonces existe una matriz ortogonal Q y una ma­

triz T con forma real de Schur, tal que A = Q tT Q . ■

La llamada factorización de Schur de la matriz A es una "factorización reveladora de valores
piopios” , lo que significa que si puede llevarse a cabo, se conocerán los valores propios y los vec­
tores propios.

El algoritmo QR completo mueve iterativamente una matriz arbitraria A hacia su factorización
de Schur mediante una serie de transformaciones similares. S e procederá en dos etapas. En primer
lugar recordaremos la iteración de potencia inversa con desplazamientos, y en segundo término la
deflación para desarrollar el algoritmo QR desplazado. Después se desarrollará una versión mejo­
rada que permita valores propios complejos.

La versión modificada es fácil de escribir. Cada paso consiste cn aplicar el desplazamiento,
completando una factorización QR. para después tomar el desplazamiento de nuevo. De manera
simbólica.

Aq — s i = Q \R\

A, = /? ,< ? ,+ s /. (12.12)

12.2 Algoritmo QR | 543

Observe que

A\ - s i - R \Q \
= Q Tx ( A q - s I ) Q x
= Q \ A o £?i - s i

implica que A , es similar a Aq y, por lo tanto, tiene los mismos valores propios. Se repite este paso,
generando una secuencia A k de matrices, todas similares a A = A().

¿Cuáles son algunas buenas opciones para el desplazamiento s i Esto conduce al concepto de
deflación para el cálculo de valores propios. Se elegirá el desplazamiento com o la entrada inferior
derecha de la matriz A ^ Esto hará que la iteración, a medida que converja a la forma real de Schur.
mueva el renglón inferior hacia un renglón de ceros, a excepción de la entrada inferior derecha.
Después de que esta entrada ha convergido a un valor propio, deflactamos la matriz mediante la
eliminación del último renglón y la última columna. Después se procede a encontrar el resto de los
valores propios.

Un primer intento en el algoritmo QR desplazado se da en el código de M a t i . a b que se mues­
tra en el programa 12.6. En cada paso, se aplica un paso de QR desplazado, y después se verifica el
renglón inferior. Si todas las entradas son pequeñas, excepto la entrada diagonal a„n, se declara que
la entrada es un valor propio y se defiacta al no tomar en cuenta la última fila y la última columna
para el resto del cálculo. Este programa tendrá éxito bajo las hipótesis del teorema 12.4. Los valo­
res propios complejos, o valores propios reales con la misma magnitud, pueden causar problemas,
que se resolverán más adelante en una versión más sofisticada. El ejercicio 7 ilustra las deficiencias
de esta versión preliminar del algoritmo QR.

% Programa 1 2 . 6 A l g o r i t m o QR d e s p l a z a d o , v e r s i ó n p r e l i m i n a r

% Calcula lo s valorea propios de m atrices sir. v a lo res propios d e l mismo tamaño

%Entrada: m atriz a

% S a lid a : v a lo r e s p r o p io s lam

fu n ctio n lam=*shiftedqrO(a)

to l= le-1 4 ;

m -aize (a,l);lam «zeros(m , 1 );

n=m;

w hile n>l

w h ile n a x (a b s (a (n, l : n - l ) ) ) > t o l

tru=a(n,n); % d e f i n e e l d e s p l a z a m i e n t o mu

tq.r] =qr(a-m u*eye(n)) ;

a*r»q-HQu»eye(n) ;

end

lam (n)»a(n,n); % declara e l valorpropio
%d e c r e m e n t a n
n=n-1 ;

a«a(l:n ,l:n ) ; %d e f i a c t a

end

lam (l)=a(1 ,1 ); %p e r m a n e c e l a m a t r i z l x l

Finalmente, para calcular los valores propios com plejos, debe permitiise la existencia de b lo­
ques de 2 x 2 sobre la diagonal de la forma real de Schur. Ijx versión mejorada del algoritmo QR
desplazado dado en el programa 12.7 intenta iterar la matriz hasta un bloque diagonal de I x 1 en
la esquina inferior derecha, y si falla (después de un número de intentos especificado por el usua­
rio). declara un bloque de 2 x 2. encuentra el par de valores propios, y después se defiacta en 2.
Esta versión mejorada converge a la forma real de Schur para la mayoría, pero no para todas, las
matrices de entrada. Para redondear algunas ideas finales, así com o hacer que el algoritmo sea más
eficiente, en la siguiente sección se desarrollará una forma superior de Hessenberg.

% P r o g r a m a 1 2 . 7 A l g o r i t m o QR d e s p l a z a d o , v e r s i ó n g e n e r a l
% C alcu la lo s v a lo rea propios r e a le s y com plejos de una m atriz cuadrada
% Entrada: m atriz a

544 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

% S a lid a : v a lo r e a p r o p io s lam

fu n ction lam =shiftedqr(a)

t o l = l e - 1 4 ; k o u n t t o l =50 0 ;

m - n iz e ( a ,1 ) ;la m -zero o (m,1 );

n=tn;

while n>l

kount*0;

while max {aba (a (n,1 :n-l)) )>tol & kount<kounttol

kount-kount+1; % da segu im ien to a l número de q r 's

m u=a(n,n); % e l d e s p l a z a m i e n t o e s mu

(q,rj =qr(a-m u*eye(n));

a-r*q+m u*eye(n) ;

end

i f kount<kounttol %h a a i s l a d o e l b l o q u e d e l x l

lam (n )»a(n ,n ); %d e c l a r a e l v a l o r p r o p i o

n = n -l; %de f l a c t a p o r 1
a»a(l:n,l:n);

else % ha aislado e l bloque de 2x2

di 8 c = ( a ( n - l , n - l ) - a (n,n)) * 2 + 4 * a ( n ,n - 1 ) *a ( n - 1 ,n ) ;

lam(n)• (a(n-1,n-l)+ a ( n , n ) +sqrt(disc))/2;

lam(n-l)=(a (n-1 ,n-1)+a (n,n ) - s q r t ( d i s c ) )/2;

n=n-2; %d e f l a c t a d o p o r 2
a -a (l:n ,l:n );

end

end %s ó l o q u e d a u n b l o q u e d e l x l

i f n > 0 ;la m (l)» a (l, 1 ) ; end

Incluso cn su forma general, el algoritmo QR desplazado falla para el ejemplo siguiente:

00 0 1
0 0 -1 0
0 1 00
-1 0 0 0

Matrices com o ésta, con un valor propio complejo repetido, no pueden moverse hada la forma real
de Schur mediante el algoritmo QR desplazado. La ayuda extra necesaria para estos ejemplos más
difTrilcs consiste en reemplazar A por una matriz similar cn forma superior de Hessenberg. que es
el tema de estudio de la siguiente secdón.

12.2.3 Forma superior de Hessenberg_________________________________________________

La efidencia del algoritmo QR aumenta de manera considerable si primero se pone A en la forma
superior de Hessenberg. La ¡dea es aplicar transformadones similares, antes de comenzar la itera-
d ó n QR. que ponga tantos ceros com o sea posible cn A. preservando al mismo tiempo todos los
valores propios. Además, la forma superior de Hessenberg dirninará la dificultad final de la versión
del algoritmo QR que se ha desarrollado (la convergencia a varios valores propios complejos) ga­
rantizando que la iteración QR siempre procederá hasta los bloques de 1 x 1 o 2 x 2.

DEFINICIÓN 12.7 La matriz A de m x n está en la forma superior d e H essenberg si a¡j = 0 para i > j + 1. □

Una matriz de la forma

XX XX X
XX XX X
XX X
X
XXX

XX

12.2 Algoritmo QR | 545

es superior de Hessenberg. Existe un algoritmo finito para poner matrices en la forma superior de
Hessenberg mediante transformaciones similares de semejanza.

TEOREMA 12.8 Sea A una matriz cuadrada. Existe una matriz ortogonal Q tal que A = Q B Q T y B está en la forma

superior de Hessenberg. ■

Se construirá B usando Householder de la sección 4.3.3, donde se emplearon para construir la
factorización QR. Sin embargo, hay una diferencia importante: ahora se tiene interés en la multipli­
cación por el reflector H a la izquierda y la derecha de la matriz, puesto que se quiere terminar con
una matriz similar con valores propios idénticos. Debido a esto, es necesario ser menos agresivos
en cuanto a los ceros que pueden instalarse en A.

Defina x como el vector de longitud /j - I que consta de todas las entradas excepto la primera
entrada de la primera columna de A. Sea H \ c \ reflector de Householder que mueve a x hacia (±||x||.
0 ...........0). (Como se indicó en el capítulo 4. debe elegirse el signo com o -signo(X |) para evitar
problemas de cancelación en la práctica, pero en la teoría cualquiera de las opciones es válida). Sea
H | la matriz ortogonal formada al insertar H\ en la esquina inferior ( n — 1) x (n - 1) de la matriz
identidad de n x rt. Entonces, se tiene

Ii0 0 0 0 XXX X X XX XX X
XX XX X XXXXX
H\A = XX XX X = 0 X XX X
XXX X X 0 XXXX
H\ XX X XX 0 XXXX

Antes de que se pueda evaluar el éxito al colocar ceros en la matriz, es necesario terminar la
transformación de semejanza multiplicando por / / f 1 a la derecha. Recuerde que los reflectores de
Householder son matrices simétricas ortogonales, por lo que W f1 = H ] = H {. Por lo tanto.

’ X X X X X " " 1 0 0 0 0" XX X X X
XX X X X
XXX X X 0
0XXXX
H \AH \ = 0 X X X X 0 —
0XXXX
0XXX X 0 Ñ\ 0 XXXX

0XXXX 0

Los ceros realizados en W,A no se cambian en la matriz H XA H X. Sin embargo,observe que si se hu­
bieran tratado de eliminar todos los elementos menos uno distinto de cero en la primera columna,
como se hizo en la factorizadón QR de la sección previa, se habría fallado en mantener los ceros al
multiplicar por la derecha. De hecho, no hay ningún algoritmo finito que calcule una transforma­
ción similar entre una matriz arbitraria y una matriz triangular superior. Si lo hubiera, este capítulo
sería mucho más corto, ya que podrían haberse leído los valores propios de la matriz arbitraria a
partir de la diagonal de la matriz similar, triangular superior.

El siguiente paso para lograr la forma superior de Hessenberg es repetir el paso anterior, uti­

lizando para x el vector (n - 2)-dimensional que consiste en las n - 2 entradas inferiores de la

segunda columna. Sea #2 el reflector de Householder de ( n - 2 ) x ( r t - 2) para la nueva x , y defina

H 2 com o la matriz identidad con Ñ 2 en la esquina inferior. Entonces

H 2( H \ A H x) = 10 0 0 0 X X XXX "X X X X X
0 10 0 0 X X XXX X X XXX
00
0 x' X X X = 0 X XXX
00 Ñ2 0 x XXX
00 0 x XXX 0 0 XXX
0 0 XXX

546 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

y, además, compruebe que al igual que / / , , la multiplicación a la derecha por H 2 no afecta de ma­

nera negativa a los ceros ya obtenidos. Si n = 5, entonces después de un paso más, se obtiene la

matriz de 5 x 5

H 7, H 2 H x H { H { = H ^ H 2H ] A ( H i H 7 H x) T = Q A Q T

en la forma superior de Hessenberg. Dado que la matriz es similar a A , tiene los mismos valores
propios y multiplicidades que A. En general, para una matriz A de n x n .s e necesitan n - 2 pasos
de Householder para poner A en la forma superior de Hessenberg.

► EJEMPLO 12.2 Sea 2 10 la forma superior de Hessenberg.
3 5 -5
4 00

Sea x = [ 3 .4J. Anteriormente, se encontró el reflector de Householder

*-[x

POr lo tanto.

'1 0 0" '2 1 0" "21 0"
f h A = 0 0.6 5 -5 =
0.8 3 00 5 3 -3
0 0.8
-0 .6 4 0 4 -4

y

‘2 1 0" ' 1 0 0 " ' 2.0 0.6 0.8 "

A' = H \AH \ = 5 3 -3 0 0.6 0.8 = 5.0 - 0 .6 4.2

0 4 -4 0 0.8 - 0 .6 0.0 - 0 .8 5.6

B resultado es una matriz A ' que está en la forma superior de Hessenberg y es similar a A. <

A continuación se pone cn práctica la estrategia anterior y se crea un algoritmo para la búsque­
da de Q . usando las reflexiones de Householder:

% Programa 1 2 .8 Forma s u p e r io r de H essen b erg
% Entrada: m atriz a
% S a lid a : m a triz a y r e f l e c t o r e s v en forma de H essenberg
% Oso: [a .v ] = h essen (a ) produce una m a triz a s im ila r en
% la forma de H essenberg y una m a triz v cuyas colum nas co n tien en
% la s V s que d efin en lo s r e fle c to r e s de H ouseholder.
fun ction [a.v]= h essen (a)
[m ,n ]=size (a );
v=zeros(m ,ra);
for k=l:m -2

x-a(k + l:m ,k );
v (l:m -k ,k )= -s ig n ( x ( l) +eps)*norra(x)*eye(m -k,1 )-x;
v(l:m -k ,k )= v(l:m -k ,k )/n orm (v(l:m -k ,k )) ;
a ( k + 1 : m , k : m ) - a ( k + 1 : m , k : m ) - 2 * v (1:m-k,k)*v(l:m - k , k ) '*a(k+1 : m , k : m ) ;
a(l:ra,k+l:m)=a(1:m,k+l:m)-2*a(:, k + l : m ) * v(l:m-k,k)*v(1:m - k , k ) ';
end

Una ventaja de la forma superior de Hessenberg para los cálculos de valores propios es que
sólo pueden presentarse bloques de 2 x 2 a lo largo de la diagonal durante el algoritmo QR. con
lo que se elimina la dificultad causada por los valores propios complejos repetidos de la sección
anterior.

12.2 Algoritmo QR | 547

► E JE M P L O 12.3 Encuentre los valores propios de la matriz (12.13).

Para
00 0 1
0 0 -1 0
01 00

-1 0 0 0

la matriz similar con la forma superior de Hessenbcrg dada por los reflectores de Householder es

0 10 0
-1 0 0 0

0 0 0 -1
00 1 0

Donde A ' — Q A Q T y

10 0 0
00 0 I
0 0 -1 0
0 1 00

La matriz A ' ya está en la forma real de Schur. Sus valores propios son los valores propios de las
dos nutrices de 2 x 2 a lo largo de la diagonal principal, que son pares repelidos de {i, —i}. <

Por lo tanto, finalmente se tiene un método completo para buscar todos los valores propios de
una matriz cuadrada arbitraria A . La matriz se pone primero en la forma superior de Hessenbcrg
usando una transformación similares (programa 1 2 8 ), y después se aplica el algoritmo QR despla­
zado (programa 12.7). El comando e i g d e M a t l a b proporciona los valores propios precisos con
base en esta progresión de cálculos.

Existen muchas técnicas alternativas para acelerar la convergencia del algoritmo QR que no
se cubren aquí. El algoritmo QR está diseñado para nutrices completas. Para los grandes sistemas
dispersos, hay métodos alternativos que suelen ser más eficientes, vea Saad [2003].

12.2 Ejercicios

1. Encuentre las siguientes matrices en la forma superior de Hessenbcrg:

1 0 1' ' 0 0 1" '2 1 0' ' 1 1 0'

(a) 1 1 0 (b) 0 1 0 (C) 4 1 1 (d) 2 3 1

10 0 10 0 30 1 2 10

2. Encuentre la matriz 1 0 23 en la forma superior de Hessenbcrg.
■I 0 5 2
2-200
2-120

3. Demuestre que una matriz simétrica en la forma de Hessenberg es tridiagonal.

4. Una matriz cuadrada se llama cstocástica si las entradas de cada columna suman uno. Demuestre
que una matriz estocástica (a) tiene un valor propio igual a uno y (b) que todos los valores propios
son, a lo sumo, uno en valor absoluto.

548 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

5. Realice la iteración simultánea normalizada con las siguientes matrices y explique porque falla el
procedimiento:
0I
(a) (b)
-1 0

6. (a) Demuestre que el determinante de una matriz en la forma real de Schur es el producto de los
determinantes de los bloques de l x 1 y 2 x 2 de la diagonal principal, (b) Demuestre que
los valores propios de una matriz en la forma real de Schur son los valores propios de los bloques
de 1 x 1 y 2 x 2 sobre la diagonal principal.

7. Decida si la versión preliminar del algoritmo QR encuentra los valores propios correctos, tanto
antes como después de cambiar a la fonna de Uessenbcrg.

" 1 0 0' ' 0 0 1‘

(a) 0 0 1 (b) 0 1 0

0 10 10 0

8. Decida si la versión general del algoritmo QR encuentra los valores propios correctos, tamo antes
como después de cambiar a la forma de Hessenbcrg, para las matrices del ejercicio 7.

12.2 Problemas de computadora

1. Aplique el algoritmo QR desplazado (versión preliminar s h i f t e d q r O ) con tolerancia ! 0 -14 di­
rectamente sobre las matrices siguientes:

■ -3 3 5 ' '3 1 2*

1 - 5 - 5 (b) 1 3 - 2

664 22 6

' 17 1 2 ‘ ' -7 -8 1 *

1 17 - 2 (d) 17 18 - 1

2 2 20 -8 -8 2

2. Aplique el método del algoritmo QR desplazado directamente para encontrar todos los valores
propios de las matrices siguientes:

3 1 -2 ' '1 5 4

(a) 4 1 1 (b) 2 -4 -3

—i
■'t

CJ
1
o

i

i


0
01
1

1

" 1 1 -2 ' ' 5 -1 3

(c) 4 2 - 3 (d) 0 6 1

0 -2 2 3 3 -3

3. Aplique el método del algoritmo QR desplazado directamente para encontrar todos los valores
propios de las matrices siguientes:

’ -1 1 3 ' 7 -33 -15 '
2 26 7
(a) 3 3 -2 (b) -4 -50 -13

-5 2 7

8 0 5' " -3 -1 1

(c) - 5 3 - 5 (d) 5 3 -1

10 0 13 -2 -2 0

12.2 Algoritmo QR | 549

4. Repita el problema de computadora 3, pero antes de la aplicación de la iteración QR reduzca a la
forma superior de Hessenbcrg. Imprima la forma de Hessenbcrg y los valores propios.

5. Aplique el algoritmo QR directamente para encontrar todos los valores propios reales y complejos
de las siguientes matrices:

4 31 3 20
(a) - 5 - 3 0 (b) -4 -2 1

3 21 2 10

- 11 4 - 2
7 2 -4 " -10 0 5

(c) - 8 0 7 (d) 41 2
2 -1 -2

6. Utilice el algoritmo QR para encontrar los valores propios. En cada matriz, todos los valores pro­
pios tienen la misma magnitud, de modo que puede ser necesaria la forma de Hessenbcrg. Com­
pare los resultados del algoritmo QR. antes y después de la reducción a la forma de Hessenbcrg.

' -5 -10 -10 5‘ 7 6 6 -3 '

4 16 11 - 8 - 2 6 - 2 0 - 1 9 10
(a) (b)
0 -1 00
12 13 8 - 4

22 48 28 - 1 9 - 3 6 - 2 8 - 2 4 13

13 10 10 - 5
-20 -16 -15 8
(c)
-12 -9 -8 4
- 3 0 - 2 4 - 20 11

1(lón %/ _ _
níarealidad |Q Cómo dosifican los motores de búsqueda la calidad de la página

Los motores de búsqueda en la web, com o Google. con se distinguen por la calidad de sus res­
puestas a las consultas de búsqueda. Se analizará una aproximación al método de Google para
juzgar la calidad de las páginas web usando el conocimiento de la red de vínculos que existen en
la web.

Giando se inicia una búsqueda en internet, hay una serie bastante compleja de tarcas que rea­
liza el motor de búsqueda. Una tarca obvia es la búsqueda de palabras coincidentes, para encontrar
las páginas que contienen las palabras de la consulta, en el título o el cuerpo de la página. Otra
tarea fundamental es clasificar las páginas que se identifican mediante la primera tarea, para ayudar
al usuario a navegar por un conjunto grande de opciones. Rara consultas muy específicas, puede
haber sólo unas pocas coincidencias de texto, todas las cuales pueden presentarse al usuario. (En
los primeros días de la web, había un juego para tratar de descubrir las consultas de búsqueda que
resultaban exactamente en una coincidencia). En el caso de las consultas muy específicas, la cali­
dad de las páginas obtenidas no es tan importante, puesto que puede no ser necesario clasificarlas.
La necesidad de una clasificación de calidad es evidente para las búsquedas más generales. Bar
ejemplo, la consulta en G oogle “automóvil nuevo” devuelve varios millones de páginas, com en­
zando con servicios de compra de automóviles, un resultado bastante útil. ¿Cómo se determina la
clasificación?

La respuesta a esta pregunta es que G o o g le .c o m asigna un número real no negativo, llamado
page rank (evaluación de página), a cada página web que indexa. La clasificación de página es
calculada por Google en la que es una de las más grandes iteraciones de potencia en curso en el
mundo para la determinación de vectores propios. Considere una gráfica com o en la figura 12.1,
donde cada uno de los n nodos representa una página web, y un borde dirigido desde el nodo i hasta
el nodo j significa que la página i contiene un vínculo a la página j . Sea A la matriz d e adyacencia.

550 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

R gu ra 1 2 .1 U na rad d a páginas y vínculos wab. C ada b o rd e d irig id o d e u n a p á g in a a o tr a significa q u e la
prim era p ág in a c o n tie n e al m en o s u n vinculo a la seg u n d a.

una matriz de n x n cuya ij-ésima entrada es l si hay un vínculo desde el nodo i hasta el n o d o y
0 en caso contrario. Para la gráfica de la figura 12 .1, la matriz de adyacencia es

0 10 0 0 0 0 0 10 0 0 0 0 0
0 0 10 10 10 0 0 0 0 0 0 0
0 10 0 0 10 10 0 0 0 0 0 0
00 10 0 00 0 00 0 10 0 0
10 0 0 0 0 0 0 0 10 0 0 0 0
000 000000 1l 0 000
0 00 0 0 0 0 0 0 1 10 0 0 0
0 00 10 0 0 0 0 0 l 0 0 0 0
0 0 0 0 1 I 0 0 0 10 0 0 0 0
0 00 0 0 0 0 0 0 0 0 0 10 0
000 000000000 00 1
0 00 0 0 0 1 10 0 10 0 0 0
0 0 0 0 0 0 0 0 10 0 0 0 10
0 00 0 0 0 0 0 0 1 10 10 1
0 00 0 0 0 0 0 0 0 0 10 10

Los inventores de G oogle imaginaron a un surfista cn una red de n páginas, que se encuentra
en la página i con probabilidad p¡. Enseguida, el surfista se traslada ya sea a una página aleatoria
(con probabilidad fija q , con frecuencia aproximada a 0.15) o bien, con probabilidad 1 - q , hace
clic de manera aleatoria en un vínculo de la página actual i. 1.a probabilidad de que el surfista se
mueva de la página ia la página j después del clic es q /n + (1 - q ) A ^ n ¡,donde es la entrada de
la matriz de adyacencia A y n¡ es la suma de la /-ésima fila de A (en efecto, el número de vínculos
en la página /').

Puesto que el tiempo es arbitrario, la probabilidad de estar cn el nodo j es la suma de esta ex­
presión sobre toda t, y es independiente del tiempo; es decir.

lo que equivale en términos matricules a la ecuación de valor propio (12.14)

p=G p.

12.2 Algoritmo QR | 551

donde p — (/>,) es el vector de n probabilidades de estar en las n páginas y G es la matriz cuya en­
trada ij es q /n + Aj,( 1 — q)/rtj. Se llamará a G la matriz google. Cada columna de la matriz Gsuma
uno, por lo que es una matriz estocástica y, de acuerdo con el ejercido 12.2.4, tiene un valor propio
mayor igual a uno. El vector propio p correspondiente al valor propio 1 es el conjunto de probabi­
lidades de estado estable de las páginas, que son pordefinidón las clasificaciones de página de las
n páginas. (Ésta es la solución de estado estable del proceso de Markov definido por Gr. 1.a idea
original de medir la infiuenda de las probabilidades de estado estable se remonta a Pinski y Narin
[ 1976). La probabilidad de salto q fue añadida por Brin y Page (1998], los creadores de Google).

Se ilustrará la definición de la clasificadón de página con el ejemplo que se muestra en la figura
12.1. Establezca q = 0.15. El vector propio principal (correspondiente al valor propio dominante 1)
de la matriz google G es

“ 0.0268
0.0299
0.0299
0.0268
0.0396
0.0396
0.0396

p = 0.0396
0.0746
0.1063
0.1063
0.0746
0.1251
0.1163
0.1251

El vector propio se ha normalizado, al dividir entre la suma de todas las entradas, para tener una su-
matoria igual a uno, com o debe ser con las probabilidades. El vector propio con esta normalización
contiene las clasificaciones de página. 1.a clasificación de página es más alta para los nodos 13 y
15, seguidos por el nodo 14 y los nodos 10 y 11. Observe que la clasificación no depende sim ple­
mente de la “clasificación interior”, o del número de vínculos que apuntan al interior de la página,
sino que la asignación de evaluaciones de importancia es más sofisticada. Aunque los nodos 10 y
11 tienen el mayor número de vínculos que apuntan hacia adentro, el hecho de que apunten hacia
13 y 15 traasficre el control al nodo que sigue. Ésta es la idea detrás del “bombardeo de google", la
practica de inflar de manera artificial la importancia de un sitio al convencer a sitios de alto tráfico
que se enlacen con él.

Tenga en cuenta que en la definición de la clasificación de página de esta manera se utiliza
la palabra “importancia”, aunque en realidad nadie sabe lo que eso significa. La clasificación de
página es una forma autorrcfcrencial de asignar una importancia que probablemente será suficiente
hasta que se encuentre un mejor método.

Actividades sugeridas:

1. Demuestre que la matriz google G es una matriz estocástica.

2. Construya la matriz G para la red mostrada y verifique el vector propio dominante p dado.

3. Cambie la probabilidad de salto q a (a) 0 y (b) 0.5. Describa los cambios resultantes en la clasifi­
cación de página. ¿Cuál es el propósito de la probabilidad de salto?

4. Suponga que la página 7 en la red quiere mejorar su clasificación de página, en comparación con
su competidor página 6 (por ejemplo, persuadiendo a las páginas 2 y 12 para que muestren de
manera más prominente sus vínculos con la 7). Modele esto al sustituir A27 y A ,i7 por 2 en la
matriz de adyacencia. ¿Tendrá éxito esta estrategia?, ¿qué otros cambios ve en las clasificaciones
de página relativas?

552 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

5. Estudie el efecto de remover la página 10 de la red (todos los enlaces hacia y desde esta página se
suprimen). ¿Cuáles clasificaciones aumentan y cuáles disminuyen?

6. Diseñe su propia red, calcule las clasificaciones de página y haga un análisis de acuerdo con las

preguntas precedentes. ✓

12.3 DESCOMPOSICIÓN DE VALOR SINGULAR

La imagen de la esfera unitaria en R ” bajo una matriz de m x m es un elipsoide. Este hecho intere­
sante subyacc a la descomposición de valor singular, que tiene muchas aplicaciones en el análisis
malricial en general y, en especial, para fines de compresión. En la figura 12.2 se muestra una
ilustración de la elipse que corresponde a la matriz

A-[*0 ? ]. (.115,

y

Figura 1 2 2 Im agan d *l círculo unitario bajo u na m atriz d a 2 x 2 . El círculo u n t a r » e n R2 s e m a p e a c o m o
u n a e lip se d e se m ie je s m a y o re s (3 ,0 ) y { 0 , 1/2) m e d ia n te la m a triz ¿ (1 2 .1 5 ).

Ri la figura 12.2, piense en tomar el vector v correspondiente a cada punto sobre el círculo uni­
tario. multiplicando por A , para después graficar el punto final del vector resultante Av. El resultado
es la elipse mostrada. Con el fin de describir la elipse, resulta útil emplear un conjunto ortononnal
de vectores para definir la base de un sistema de coordenadas.

Se verá en el teorema 12.11 que por cada matriz A de m x n, hay conjuntos ortonormales
( « i , . . . , u m ) y { v , , . . . , un}. junto con los números no negativos j | ^ ^ s„ ^ 0 . que satisfacen

Av i = si« i

A v 2 = S2U2

Av„=s„u„. (12.16)

Los vectores se visualizan en la figura 12.3. Las se llaman los vectores singulares derechos
de la matriz A , las u¡ son los vectores singulares izqu ierdos de A , y las s¡ son los valores sin g u ­
lares de A . (La terminología de estos vectores es un poco extraña, pero las razones se aclararán
en breve).

B te hecho explica de inmediato por qué una matriz de 2 x 2 mapea d círculo unitario en una
dipse. Puede pensarse en las v, como la base de un sistema de coordenadas rectangular en el que A
actúa de una manera sencilla: produce los vectores básicos de un nuevo sistema de coordenadas,
las u, con un poco de extensión cuantificado por los escalares s¡. Los vectores básicos de extensión
s¡Ui son los semiejes mayores de la elipse, como se muestra en la figura 12.3.

1 2 3 Descomposición de valor singular | 553

Figura 12.3 B ip sa asociada a u na m atriz. C ad a m a triz A d e 2 x 2 p u e d e verse d e la s ig u ie n te m a n e ra : e x iste
u n s iste m a d e c o o r d e n a d a s |v ,, v7J p a ra e l q u e A en v ia v , - » SjU, y va - • $ ju > d o n d e (u,. u ^ Jes o tr o sistem a d e
co o rd e n ad a s y s ,,S j so n núm ero s n o negativos. Esta visión se e x tie n d e a para u n a m atriz d e m x m.

► EJEMPLO 12.4 Encuentre los valores singulares y los vectores singulares de la matriz (12.15) representada en la
figura 12.2.

Claramente, la matriz se extiende por 3 cn la dirección x se contrae en un factor de 1/2 cn la
dirección y. Los vectores y valores singulares de A son

r 11 - 3 r 1 1
?l *r?V[ 0 j L «0 jJJ
a\ _ 1r ° 1i . (12.17)

=
k M” 2

Los vectores 3( 1,0) y j(0 ,1 ) forman los semiejes mayores de la elipse. Los vectores singulares de­

rechos son 11.0], ( 0 .1 Jy los vectores singulares izquierdos son [1 .0 ). [ 0 .1 J. Los valores singulares

son 3 y 1/2. <

► EJEMPLO 123 Encuentre los valores singulares y los vectores singulares de (12.18)

o -i -
A= 3 0

00

Ésta es una pequeña variación del ejemplo 12.4. La matriz intercambia los ejes x y y. con algu­
nos cambios cn la escala, y añade un eje z . a lo largo del cual no pasa nada. Los vectores y valores
singulares de A son

Avi - [ ; ] - > 0
1 = siu¡
0

-4?H -1 (12.19)

A v 2 0 = S2U2.
o

Los vectores singulares derechos son [1 ,0 ], [0. IJ y los vectores singulares izquierdos son [0 ,1 . 0J.
[ - 1 . 0 . 0J. Los valores singulares son 3 ,1 /2 . Observe que siempre se requiere que la s¡ sea un nú­
mero no negativo, y cualesquiera signos negativos necesarios son absorbidos cn la u¡ y la v¡. <

Existe una manera estándar de dar seguimiento a esta información, en una factorización ma­
tricial de la matriz A d e m x n . Forme una matriz U de m x m cuyas columnas sean los vectores

554 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

singulares izquierdos u¡, una matriz V de n x n cuyas columnas sean los vectores singulares dere­
chos v¡, y una matriz diagonal 5 de m x n cuyas entradas diagonales sean los valores singulares s¡.
Fntonces. la descom posición d e valor sin gular ( DVS) de la matriz A de m x n es

A = USVt . (12.20)

El ejemplo 12.5 tiene la representación de la DVS

'0 i -i -I 0 ' • 3 un
“3
3 0=
00 0 ( 12.21)

_0 0 01 0

Como U y V son matrices cuadradas con columnas ortonormales, son matrices ortogonales. Ten­
ga en cuenta que fue necesario añadir una tercera columna u3 a U para completar la base de R \
Finalmente, la terminología puede explicarse. Las u¡ (v¡) son los vectores singulares izquierdos
(derechos) porque aparecen en ese lado de la representación matricial (12.20).

12.3.1 Localización de la DVS en general

Se han mostrado dos ejemplos simples de la DVS. Píira demostrar que la DVS existe para una ma­
triz A general, es necesario el siguiente lema:

LEMA 12.10 Sea A una matriz de m x n. Los valores propios de A T A son no negativos. ■

D em ostración. Sea vun vector propio unitario de A T A , y A r A v — k v . Entonces

0 < ll^v ll2 = vt A t A v = k v T v = k. |-j

Pira una matriz A de m x n , la matriz A7 A de n x n es simétrica, por lo que sus vectores pro-
p o s son ortogonales y sus valores propias son reales. El lema 12.10 muestra que los valores propios
son números reales no negativos y por lo tanto deben expresarse com o s, > •• • > s¡}, donde el
correspondiente conjunto ortonormal de vectores propios es {t>,,... ,v „ ). Esto ya proporcionados
terceras partes de la DVS. Use las siguientes instrucciones a fin de encontrar las u¡ para I s i s m :

Si s¡ # 0. defina u¡ mediante la ecuación = Au,. «¡,_|.
Si s¿ = 0, elija u¡ como un vector unitario arbitrario sujeto a ser ortogonal a u (

El lector debe comprobar que esta opción implica que u j , . . . , um son vectores unitarios ortogonales
por pares y, por lo tanto, otra base ortonormal de /F". De hecho, u ¡ , ... , u m forma un conjunto orto-
normal de vectores propios de A A1 (vea el ejercicio 4). En resumen, se ha demostrado el siguiente
teorema:

TEO REM A 12.il S eaA una matriz d em x n. Entonces existen dos bases ortonormales { V |,... ,v „ }d e R n, y { « ,........

um} de /?my los números reales, j | s ••• a s„ ^ 0 tales que Au, - s e p a r a 1 S / S mínjm, nj. Las

columnas de V = [V||...|vnl, los vectores singulares derechos, son el conjunto de vectores propios

ortonormales de Ar A .y las columnas de U = los vectores singulares izquierdos, son el

conjunto de vectores propios ortonormales de A A T. ■

La DVS no es única para una matriz A dada. Por ejemplo, en la ecuación Av, = s ,u ,, si se

sustituye u, por - u , y u, por no cambia la igualdad, pero s í cambian las matrices U y V.

A partir de este teorema se llega a la conclusión de que la imagen de la esfera unitaria de

rectores es un elipsoide de vectores, centrado en el origen, con semiejes mayores s¡u¡. La figura

1 2 3 Descomposición de valor singular | 555

12.3 muestra que el círculo unitario de vectores se mapca en una elipse con ejes s ^u 2}. Para

encontrar dónde A x tiende a un vector x, puede escribirse x = + a ^ (donde a\Vi(<i2»2) es la

proyección de x sobre la dirección V|(t>2)), y entonces Ax =

La representación matricial (12.20) se desprende directamente del teorema 12.11. Defina S

como una matriz diagonal d c m x n cuyas entradas son ^ ^ J|rin|/nvi| ^ 0. Defina U como la

matriz cuyas columnas son U y , . . . , u m. y Vcom o la matriz cuyas columnas son V\ v„. Observe

que U S V T v¡ = j i p a r a i = 1 , . . . , m. Como las matrices A y U SVr concuenJan cn la base U j,. . . ,

V",son matrices idénticas d e m x n .

EJEMPLO 12 .6 Encuentre los valores y los vectores singulares de la matriz de 2 x 2

-<=[o - ! ] • <i2-22>

Los valores propios de

'-[S 51'

ordenadas en tamaño decreciente, son u, = ( 0 ,1 J. s? = 2; y U2 =» (1 ,0 ], s j = 0. Los valores singu­

lares son n/2 y 0. De acuerdo con las indicaciones anteriores, se define mediante

y /2 u \ = Ai>i = £ _ j j

y «2 = [ I /V 2 . l / v ^ l s e elige para ser ortogonal a u ,.L a DVS es

De acuerdo con el comentario de no unicidad que se desprende del teorema 12.11, otra DVS per­
fectamente adecuada para esta matriz es

[:-¡]-bS&][l :][:-!]• ««

La imagen del círculo unitario bajo A es el segmento de línea y [ l , - 1 ] , donde y va de 1 a 1. Así,
la acción de A es extender el círculo unitario hacia una elipse unidimensional con sem iejes mayores
%/2[\/2/2, - v/2/2] y 0.

El com ando d e M ati.ab para la descom posición de valor singular es 8 v d , y

» [u ,8 , v] =svd(a)

devolverá las tres matrices de la factorización.

12.3.2 Caso especial; matrices simétricas_____________________________________________

La localización de la DVS de una matriz simétrica d e m x m es tan sólo una cuestión de encontrar
los valores y los vectores propios. El teorema A.5 del apéndice A garantiza que existe un conjunto
ortonormal de vectores propios. Como los vectores propios se mapean a sí mismos (con una escala

556 | C A P IT U L 0 12 Valores y vectores característicos y valores singulares

A, que es el valor propio), satisfacer la ecuación (12.16) es facil: sólo ordene los valores propios en

magnitud decreciente

|A i|> |A 2|> |A 3|> - - > 1 A .w|. (12.25)

y usándolos para los valores singulares 2 í 2 s Paralas v,, use los vectores propios unitarios

en el orden correspondiente a los valores propios de (12.25), y use

si k¡ > 0 (12.26)
Mi = - v / si A/ < 0

El cambio de signo en (12.26) compensa cualquier signo negativo perdido al tomar los valores
absolutos (12.25).

► EJEMPLO 1 2 .7 Encuentre los valores singulares y los vectores singulares de

(12.27)

Los pares de valor propio/vector propio son 2, [1, 2]r y —5, [ —2. l ] r . Se define v¡ a partir de

los vectores propios unitarios y las u¡ a partir de (12.26):

■ 1■ ‘ 1 “1

Av1 = A 75 =2 7í = A1M|
9

. 75 . . 75 .

Av2 = A 2 ‘ _1 2 = S2«2. (12.28)
75 ~7i
. ”2
I I
~T5 . 75

La DVS es

12 20 12 (12.29)
0 íJ V5 75
[til- 71 ~7 5 2I
21
75 ~ 75
71 7 s

Observe que era necesario cambiar el signo para definir n2, según lo prescrito en (12.26). <

12.3 Ejercicios

1. Encuentre la DVS de las siguientes matrices simétricas mediante un cálculo manual, y describa
geométricamente la acción de la matriz sobre el círculo unitario:

(a) [-11]o o
03
-

r3 1 ’ 0.75 1.25 1
«> I I l (e)

L 2 -2 1.25 0.75 I

2. Encuentre la DVS de las siguientes matrices mediante un cálculo manual:

r 6 -2 1 ro i*
iJ‘ 3 0 1 (c)
(a) (b)
4 0J
[• [00

» [ » « > [.: 1 ]

1 2 .4 Aplicaciones de la DVS | 557

3. 1.a DVS no es única. ¿Cuántas DVS diferentes existen para el ejemplo 12.4? Haga una lista.
4. (a) Demuestre que las u¡ definidas como en el teorema 12.11 son vectores propios de A A r.

(b) Demuestre que las u¡ son vectores unitarios, (c) Pruebe que forman una base ortononnal de FT.

1 2 . 4 APLICACIONES DE LA DVS

En esta sección se reúnen algunas propiedades útiles de la DVS y se señalan algunos de sus usos
generalizados. Por ejemplo, la DVS resulta ser la mejor manera de encontrar el rango de una ma­
triz. El determinante y la inversa de una matriz cuadrada, si existen, pueden encontrarse a partir de
la DVS. Tal vez las aplicaciones más útiles de la DVS se derivan de la propiedad de aproximación
de bajo rango.

12.4.1 Propiedades de la DVS

Suponga en lo sucesivo que A = U S V T es la descomposición de valor singular. F.1 rango de una
matriz A de m x n es el número de renglones (o en forma equivalente, de columnas) linealmente
independientes.

Propiedad 1 El rango de la matriz A = U S V Tes el número de entradas distintas de cero en S.

D em ostración. Como U y V^son matrices ¡nvertibles, rango(A) = rango(S), y la segunda es

el número de entradas diagonales distintas de cero. □

Propiedad 2 Si A es una matriz de |dct(A)j = j , ... s n.

D em ostración. Como U T U = / y V T V = 1, los determinantes de U y VT son 1 o - 1, debido

a que el determinante de un producto es igual al producto de los determinantes, la propiedad 2 se

desprende de la factorización A <* U S X ^ . □

Propiedad 3 Si A es una matriz invcrtiblc de m x m, entonces A 1 = V S “ ‘ i F .

D em ostración. Por la propiedad 1, S es invertible, lo que significa que toda s¡ > 0. Aho­
ra la propiedad 3 se deduce del hecho de que si Aj. A2 y A3 son matrices ¡nvertibles, entonces

(A i A2A3)- 1 = A3 1A 2 *A| '.

F\)r ejemplo, la DVS r1 2
?
niH illu 715
2 J L Ti '75
a partir de (12.29) muestra que la matriz inversa es

558 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

Propiedad 4 La matriz A de m x n puede escribirse com o la suma de matrices con rango uno

r (12.31)
A = ' £ sí uí vJ'.

/= i

donde r e s el rango de A , y u¡ y v¡son las ¿-¿simas columnas de U y V, respectivamente.

D em ostración.

si

A = USVT = U Sr

' Si S2 Sr
=U + + ••• +

= S i U \ v l -r$2U2uJ + + s r u r v Tr

La propiedad 4 es la propiedad de aproximación de bajo rango de la DVS. La mejor aproxi­
mación a A por mínimos cuadrados del rango p ^ r se obtiene al retener los primeras p términos
de (12.31).

‘[ t i l►EJEMPLO 1 2 .8 Encuentre la mejor aproximación de rango uno a la matriz

Al escribir (12.31) se obtiene

r i 21 1 2
[;]]= 75 ” 75 75 Ti
2i r2 °i I
2
_ 75 75 _ L ° u ~Ti
Ti

■t 2' íT2 °1
75 ” 75 vL 0 0J
2
i
. 75
75 .

1 1
= 2 75
75 75 J + 2
2

75

4- I
5
3 + l (12.32)
s io
3-

Observe cóm o la matriz original se separa en una contribución mayor más una contribución más
pequeña, debido a los diferentes tamaños de los valores singulares. La mejor aproximación de
rango uno a la matriz está dada por la primera matriz de rango uno

[!!]■

mientras que la segunda matriz proporciona pequeñas correcciones. Ésta es la ¡dea principal detrás

de la reducción de dimensión y las aplicaciones de compresión de la DVS. *

1 2 .4 Aplicaciones de la DVS | 559

Rn las dos secciones siguientes se presentan dos usos muy relacionados para la DVS. En la
reducción de dimensión, la atención se centra en la aproximación de una gran colección de vec­
tores multidimcnsionales mediante un conjunto de vectores que abarcan menos dimensiones. La
otra aplicación es la compresión con perdidas, reduciendo la cantidad de información necesaria
para representar en forma aproximada una matriz. Ambas aplicaciones se basan en la propiedad 4
concerniente a la aproximación de bajo rango.

12.4.2 Reducción de dimensión

t a idea es proyectar dalos en una dimensión inferior. Suponga que ü \ , . . . , a„ comprenden una
colección de vectores m-dimensionales. En aplicaciones ricas en datos, m es bastante menor que n.
El objetivo de la reducción de dimensión es reemplazar ... , an con n vectores que abarquen
p < m dimensiones, mientras se minimice d error asociado con ello. Por lo general, se inicia con
un conjunto de vectores con media cero. Si no es así. puede restarse la media para alcanzar esta
condición y sumarla de nuevo más tarde.

La DVS proporciona una forma sencilla de llevar a cabo la reduedón de dimensión. Considere
los vectores com o columnas de una matriz de m x n A = [a, ] ••• [«„], y calcule la descom posidón
de valor singular A = U S V T. Sea eyel y-ésimo vector básico elemental (sólo ceros a cxcepdón de la
j - é sima entrada 1). Entonces Ae¿ = a¡. Utilizando la aproximadón de rango p

p
A * ApZz^SiUjvf

i= i

a partir de la propiedad 4 . es posible proyectar Uj en el espacio /^dimensional generado por las
columnas u ¡ , . . . , up d c U mediante

<jy = A e j % A p f j . (12.33)

Puesto que la multiplicadón de una matriz por sólo recoge la j é sima columna, se puede descri­

bir de manera más eficiente d hallazgo realizado de la siguiente manera:

El espacio (mj, ... , up)abarcado por los vectores singulares izquierdos u ¡ , ... , up c s el mejor

subespacio de aproximación en la dimensión p a a u . .. ,« „ e n e l sentido de los mínimos cuadrados,

y las proyecdones ortogonales de las columnas a¡ de A en este espacio son las columnas de Ap . En

otras palabras, la proyección de una colección de vectores ci\ a n a su mejor subespacio p-di-

mensional por mínimos cuadrados es predsainentc la mejor matriz de aproximadón A p de rango p .

► EJEMPLO 12 .9 Encuentre el mejor subespacio unidimensional que ajuste los vectores [3, 2], (2, 4], [ - 2 , - 1 ] ,
1 - 3 .-5J.

Los cuatro vectores, que se muestran en la figura 12.4(a). apuntan aproximadamente a lo largo
del mismo subespacio unidimensional. Se desea encontrar este subespacio, el que minimiza la
suma de los errores cuadráticos de la proyección de los vectores en ese subespacio, y luego encon­
trar los vectores proyectados.

Use los vectores s com o columnas de la matriz

*¿ -- [T 23 42 -- 12 - 53 1
- J-

y encuentre su DVS, que es

[0.5886- 0 . 8 0 8 4 8 . 2 8 0 9 ‘ 0.4085 0.5327 -0.2398 -0.7014'
[0.80840.5886J [ 0 0 0 0 ] -0.6741 0.3985 0.5554 -0.2798
1.8512 0 0 J 0.5743 -0.1892 0.7924 -0.0801 ’

[ 0.2212 0.7223 0.0780 0.6507

con cuatro decimales. El mejor subespacio unidimensional, que se muestra com o una línea pun­
teada en la figura 12.4(b), está dado por «j = [0.5886, 0.8084]. La reducción a un subespacio de

560 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

(a) (b)

Hgura 12.4 Reducción d * dim ensión mediante la DVS. (a) C uatro v e c t o r » q u e d e b e n proyectarse al
m e jo r s u b e s p a c io u n id im e n sio n aL (b) La linea p u n te a d a re p re s e n ta e l m e jo r su b e sp a c io . Las p u n ta s d e flecha
m uestran las proyecciones o rto g o n a le s hacia el subespacio.

dimensión p = I significa establecer j 2 = 0 y reconstruirla matriz. F.n otras palabras. A, “ U S l V T,
donde

f 8.2809 0 0 0 1
^ 0 0 0 0 J*

Así, las columnas de

.9912 2.5964 -1 .1 6 8 9 -3 .4 1 8 8 (12.34)

A \ - fL 22U-.7' 346 3.5657 -1 .6 0 5 2 - 4.6951

son los cuatro vectores proyectados correspondientes a los cuatro vectores de datos originales.

Éstos se muestran cn la figura 12.4(b). <

12.4.3 Compresión________________________________________________________________________

La propiedad 4 también puede utilizarse para comprimir la información en una matriz. Tenga en
cuenta que cada término en la expansión de rango uno de la propiedad 4 se especifica mediante dos
lectores u¡, v ¡ y un número más s¡. Si A es una matriz de n x n. es posible intentar la compresión con
pérdida de A descartando los términos al final de la suma cn la propiedad 4 . los que tienen menor
s,. Cada término en la expansión requiere almacenar o transmitir 2n + 1 números.

Por ejemplo, si rt " 8. la matriz se especifica mediante 64 números, pero podría transmitir o
almacenar el primer término de la expansión usando sólo 2n + 1 = 1 7 números. Si la mayoría de
la información está capturada por el primer término (por ejemplo, si el primer valor singular es
mucho mayor que el resto), puede ahorrarse 75 por ciento del espacio al trabajar de esta manera.

Como ejemplo, regrese al bloque de 8 x 8 pixeles mostrado cn la figura 11.6. Después de res­
tar 128 para centrar los valores de los pixeles alrededor de 0, la matriz se da cn la ecuación (11.16).
Los valores singulares de esta matriz de 8 x 8 son los siguientes:

387.78
216.74

83.77
62.69
34.75
21.47
10.50

4.35

1 2 .4 Aplicaciones de la DVS | 561



(a) (b) (c)

Figura 12.5 Resultado d e le com presión y la descom presión m ed iante la DVS. Número de valores
singulares retenidos (a) p - 1 (b) p - 2 (c) todos

El bloque original se muestra en la figura 12.5(c), junto con las versiones comprimidas en (a)
y (b). La figura 12.5(a) corresponde a sustituir la matriz con el primer término de la expansión de
la propiedad 4, la mejor aproximación de rango uno del valor del pixel en la matriz. Como se ha
comentado antes, éste alcanza una compresión aproximada de 4:1. En la figura 12.5(b) se utilizan
dos términos para una relación de compresión aproximada de 2 :1. (Por supuesto, aquí se simplifica
el análisis al no incluir trucos de cuantificación. Sena de ayuda llevar los coeficientes correspon­
dientes a valores singulares más pequeños con menos precisión, com o se hizo en el capítulo 11).

La imagen en escala de grises de la figura 11.5 es una imagen de 256 x 256 pixclcs. También
puede aplicarse la propiedad 4 a toda la matriz, después de restar 128 en cada entrada de píxel. Los
256 valores singulares de la matriz varían en tamaño desde 8108 hasta 0.46. La figura 12.6 muestra
la imagen reconstruida que resulta de mantener la p de los términos de la expansión de rango uno
en la propiedad 4. Para/? = 8, sólo deben almacenarse 8(2(256) + I) = 4 1 0 4 números, en com ­
paración oon (2S6)2 = 65536 valores de píxel originales, una relación de compresión aproximada
de 16:1. En la figura 12.6(c), donde se mantienen 32 términos, la relación de compresión es de
aproximadamente 4:1.

12.4.4 Cálculo de la DVS__________________________________________________________________

Si A es una matriz simétrica real, la DVS se reduce al cálculo de los valores propios que se ana­
lizó con anterioridad en el presente capítulo. En este caso, los vectores propios forman una base
ortogonal. Si se define una matriz V que contiene los vectores propios com o columnas, entonces
A V = U S expresa la ecuación del vector propio, en donde S e s una matriz diagonal que contiene los

Figura 12.6 Resultado d a la com presión y la descom presión m ad lanta la DVS. Número de valore*
singulares retenidos (a) p - 8 (b) p - 16 (c)p - 32.

562 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

valores ahsolutos de los valores propios y U es igual a V, pero con el signo de la columna cambiado
si el valor propio es negativo, según se analizó en (12.26). Como U y Vson matrices ortogonales,

A = USVT

es una descomposición de valor singular de A .
ftira una matriz A general, no simétrica de m x n, hay dos enfoques distintos de cálculo para

determinarla DVS. El primero y más evidente es el de formar A T A y encontrar sus valores propios.
De acuerdo con el teorema 12.11. esto revela las columnas v¡ de V. y al normalizar los vectores
Av¡ = s¡u¡, se obtienen tanto los valores singulares com o las columnas de U.

Sin embargo, este método no se recomienda para todos los ejemplos, sólo para los sencillos.
Si el número de condición A es grande, entonces el número de condición de A r A , a menudo con
una magnitud del cuadrado del número de condición de A, puede llegar a ser demasiado grande, y
es posible que se pierdan dígitos de precisión.

Pür fortuna, existe un método alternativo para encontrar los vectores propios de A 7 A que evita
la formación del producto matricial. Considere la matriz

* = [ » f ]. (.2 .3 5 )

Tenga en cuenta que B es una matriz simétrica de ( m + n) x (m + n) (verifique su transpuesta).
Por lo tanto, tiene valores propios reales y una base de vectores propios. Sea [v, h ) un vector con
longitud (m + n ) que es un vector propio de B. Entonces

[íHiCtíM :]-

o A v = fav. Al multiplicar a la izquierda por A r sc obtiene (12.36)
A 7Av = X A r w — k 2v,

lo que muestra que u>es un vector propio de A T A con el correspondiente valor propio A2. Observe
que es posible determinar los valores propios y los vectores propios de A 1 A de este modo, sin
formar la matriz A 1 A .

Por lo tanto, el segundo método preferido para calcular los valores y vectores singulares c o ­
mienza con poner la matriz simétrica B en la forma superior de Hessenberg. Debido a la simetría,
la forma superior de Hessenberg es equivalente a la forma tridiagonal. Entonces, pueden aplicarse
métodos com o el algoritmo QR desplazado para encontrar los valores propios, que son los cuadra­
dos de los valores singulares, y los vectores propios, cuyas n entradas superiores son los vectores
singulares v¡. Aunque este enfoque parece duplicar el tamaño de la matriz, evita aumentar el núme­
ro de condición innecesariamente, y hay maneras más eficientes de poner cn practica esta idea (las
cuales no se estudiarán aquí) que evitan un almacenamiento adicional.

12.4 Problemas de computadora

Utilice el comando sv d de M a t l a b para encontrar la mejor aproximación de rango uno a las
matrices siguientes:

1 ,1 ’ 1 4' *1 2 4' 1 5 3"
13 3 2 -3 2
(a) (b) (c) 00 1 (d) -3 1 1
23
LJ

Software y lecturas adicionales | 563

2. Encuentre la mejor aproximación de rango dos a las matrices siguientes:

1 2 4* i 1 5 3*

K1>
■U

1

(a) 1 3 3 (b) 1 -1 2 (c) 2 -3 2

00 I -3 3 -6 -3 1 1

3. Encuentre la mejor línea aproximada por mínimos cuadrados para los siguientes vectores, y las
proyecciones de los vectores sobre el subespacio unidimensional:

1 12 2 43 122 1
(a) 4 t 5 * 4 (b) 0 I * 2 (c)
2 •3 • 1 91

4563

4. Encuentre el mejor plano aproximado por mínimos cuadrados para los siguientes vectores tridi­
mensionales, y las proyecciones de los vectores sobre el subespacio:

12 2 1 2 -1 71

(a) 2 , 3 t 1• 1 (b) 3* 4 * -2 , 1

4563 10 10

5. Escriba un programa en M a t l a b que utilice la matriz de ( 1 2 .3 5 ) para calcular los valores singula­
res de una matriz. Utilice el código superior de Hessenberg dado con anterioridad y utilice el QR
desplazado para resolver el problema de valor propio resultante. Aplique su método para encontrar
los valores singulares de las matrices siguientes:

[i a(a) (b) 6 -2 <c) [::]»[»i:l <•>[.: i]
8l

6. Continuando con el problema de computadora 5, agregue código para encontrar la DVS completa
de las matrices.

7. Utilice el código desarrollado en el problema de computadora 6 para encontrar la DVS completa
de las siguientes matrices, y compare sus resultados con el comando s v d de M a t l a b (su respues­
ta debe coincidir con la elección de los signos negativos en u¡, i>¿):

[1« «3J1 3 O 0 13 0 13 1

(a) 4 5 0 (b) 1 0 2 4*1 (c) 13 1 (d) -1 1 1 0

253 2 -1 3 0 1 3 -1

0 1 -1 2 -1 -1 2

8. Impone una fotografía usando el comando i m r e a d de M a t l a b . Utilice la DVS para crear versio­
nes comprimidas de la fotografía a 8:1,4:1 y 2:1. Si la fotografía es en color, comprima cada uno
de los colores RGB por separado.

Software y lecturas adicionales

La era moderna del cálculo de valores propios se inició con Wilkinson [1965], y el algoritmo QR
y la forma superior de Hessenberg ya estaban presentes en Wilkinson y Reinsch [1971). Otras re­
ferencias importantes en el cálculo de valores propios son Stewart [ 1973]. fórictt [1998], Golub y
Van Loan [1996], y los artículos reveladores de Párlen [2000] y Watkins [1982].

Lapack (Anderson et a i. [1990]) proporciona rutinas para las reducciones a la forma superior
de Hessenberg y para el problema del valor propio simétrico y no simétrico. Estas rutinas son

564 | C A P ÍT U L 0 12 Valores y vectores característicos y valores singulares

descendientes del paquete Eispack (Smith et a l. (1970]), desarrollado en la década de 1960. DGE-
HRD de Netlib reduce una matriz real a la forma superior de Hessenberg usando los reflectores de
Householder, y DHSF.QR implementa el algoritmo QR para calcular los valores propios y la forma
de Schur de una matriz real superior de Hessenberg. NAG proporciona F08NEF y P08PEF, respec­
tivamente. para las mismas dos operaciones. Hay programas análogos para las matrices complejas.

Saad [2003] y Bai et a l. [2000] consideran los métodos más modernos para los problemas
de valores propios de gran tamaño. Cuppen [1981] introdujo el método de divide y vencerás para
el problema de valores propios tridiagonales simétricos. Arpack es una utileria para la iteración
de Amoldi en problemas grandes dispersos, y Parpack es una extensión para los procesadores en
paralelo.

Entrelos algoritmos para la descomposición de valor singular se encuentran el DGESVD, ori­
ginal de Lapack. y el método de divide y vencerás DGESDD que es aconsejable para las matrices
de gran tamaño. Asimismo, también se cuenta con versiones complejas.

CAPITULO

13

Optimización

B descub rim iento d e la estructura e n do b le hélice del El p legad o d e a m in o ácid o s en pro teínas fu n cio ­
AON en 19S3 ha llevado, m edio siglo más tarde, a una nales d ep end e en gran m edida d e las fuerzas d e Van
secuencia casi com pleta del genom a hum ano. La se­ der W aals, la atracción y repulsión m icroscópica en tre
cuencia contiene Instrucciones para el plegado d e ca ­ átom os no enlazados. Los m odelos de conjuntos ató ­
denas d e am inoácidos e n proteínas individuales q u e m icos, donde estas fuerzas se m odelan m ediante el p o ­
realizan las actividades d e la vida, pero escritas e n un tencial d e Lennard-Jones, se estudian para las co n fig u ­
lenguaje codificado. Esta inform ación está a la e sp e ­ raciones m ínim as de energía, co n lo q u e el problem a
ra d e su tra d u cció n , d e m o d o q u e p u e d a ser d irig id a recae en e l ám bito d e la optim ización.
hacia u na co m p rensió n detallad a de la función fisioló­
g ic a U na gran cantidad d e aplicaciones potenciales, (omprobadón
O clu yen d o la terapia g e n ó m ica y e l d iseñ o racional d e
m edicam entos, pueden prom over la p reven ció n te m ­ en la realidad En la p ágin a 580 se ap lica la s té c ­
p ran a el diagnóstico y la cura de enferm edades. nicas d e optim ización del capítulo para resolver este
problem a d e m inim izar la energ ía.

La optimización es encontrar el máximo o mínimo de una función real, llamada función ob je­
tivo. Puesto que la localización del máximo de una función f ( x ) es equivalente a localizar el
mínimo de - /( * ) , para el desarrollo de métodos computacionales basta considerar sólo el proble­
ma de la minimizadón.

Algunos problemas de optimización requieren un mínimo de la función objetivo sujeto a xa­
nas restriedones de igualdad y desigualdad. Por ejemplo, aunque x { es el mínimo global d éla fun­
dón de la figura 13.1, x 2 sería el mínimo sujeto a la restricción r ^ O .E n particular, el campo de la
programación lineal considera los problemas en los que la función objetivo y las restricciones son
lineales. En este capítulo, se mantendrán las cosas simples y se considerará sólo la optimización
no restringida.

Los métodos para la optimización no restringida se dasifican en dos grupos, dependiendo de
si usan o no las derivadas de la función objetivo/(* ). Si una fundón algebraica se conoce paraf ( x ) .

566 | C A P IT U L 0 13 Optimización

v

Figura 1 3.1 Problem a da m inim iza ciór» para fC*)“ Sj(4 + 3jr1 - 4 x í - x + 2. La so lu ció n a l p ro b le m a d e
m inimizar no restringido m ln ,f(x )e sx t.

en la mayoría de los casos, las derivadas pueden determinarse con facilidad usando el álgebra en
papel o en computadora. La información de la derivada se debe utilizar siempre que sea posible,
pero hay varias razones por las que podría no estar disponible. En particular, la función objetivo
puede ser demasiado complicada, tener una dimensión demasiado grande o no contar con una for­
ma conocida que sea diferenciable.

1 3 .1 OPTIMIZACIÓN NO RESTRINGIDA SIN DERIVADAS

fii esta sección se adopta el supuesto de que la función objetivo f ( x ) puede evaluarse para cual­
quier entrada x , pero que la derivada f \ x ) (o las derivadas parciales si f e s una función de varias
variables) no está disponible. Se analizarán tres métodos para optimizar sin derivadas: la búsqueda
de la sección dorada, la interpolación parabólica sucesiva y el método de Nelder-Mead. Los dos
primeros se aplican sólo a las funciones f ( x ) de una variable escalar, mientras que Nelder-Mead
puede buscar a través de varias dimensiones.

13.1.1 Búsqueda de la sección dorada

La búsqueda de la sección dorada es un método eficiente para la búsqueda de un mínimo de una
función /Ce) de una variable, una vez que se conoce un intervalo de confinamiento.

DEFINICIÓN 13.1 La función continua /( * ) se llama unim odal en el intervalo \ a , b ] si hay justo un mínimo o

un máximo relativo en [a, b ] y / es estrictamente decreciente o creciente en todos los demás

puntos. □

Una función unimodal se incrementa hasta un máximo relativo en [a, ¿>Jy después disminuye
a medida que x se mueve desde a hasta b . o bien se reduce hasta un mínimo relativo y después se
incrementa.

Suponga que / e s unimodal y tiene un mínimo relativo en [a, b \ Elija dos puntos x x y x 2 al
interior del intervalo, tal que a < x x < x 2 < b, como se muestra en la figura 13.2 para el caso [a, b ]
= [0, I]. Se reemplazará el intervalo original por uno nuevo más pequeño que sigue confinando un
mínimo relativo, de acuerdo con la siguiente regla: siyCxj) s f ( x 2), entonces coaserve el intervalo
l«, .x j en el paso siguiente. Si /C q ) > f ( x 2\ retenga el intervalo [jq, b].

13.1 Optimización no restringida sin derivadas | 567
yy

Figura 1 3 .2 Búsquada d a la facción d o rad a .(a) Evalúe la fu n c ió n o b je tiv o e n d o s p u n to s x Jf x2e n e l In terv alo
a c tu a l [0 ,1 ]. Si /(x ,) s í(x2X e n to n c e s e l n u e v o In te rv a lo será [0, x2l ( b ) En e l sig u ie n te paso, e s ta b le z c a g = x2 y
rep ita la m ism a com paración c o n x ,g y x j g .

Observe que en cualquier caso el nuevo intervalo contiene un mínimo relativo de la fundón

unimodal/ . Por ejemplo, si J \ x {) < / ( * £ com o se muestra en la figura 13.2, esto debido a la supo­

sición unimodal, el mínimo debe estar a la izquierda de x 2. Lo anterior se debe a q u e /d e b e dism i­

nuir a la izquierda del mínimo, por lo que f ( x j) < f l x j ) significa que x 2 debe estar a la derecha del

mínimo. Del mismo m o d o ,/(x i) > f ( x 2) implica que [jtj. b ] contiene el mínimo. Como el nuevo

intervalo es menor que el intervalo anterior [a, ó], se ha tenido un progreso hacia la localización del

mínimo. Este paso básico se repite hasta que el intervalo que contiene al mínimo sea tan pequeño

como se desea. El método es una rcininisccnda del método de b isecdón para la localización de

raíces.

A continuación se discute cóm o deben colocarse y x 2 en el intervalo [a. b \ En cada

paso, se desea reducir la longitud del intervalo tanto com o sea posible realizando el menor

esfuerzo. La forma de hacer esto se muestra en la figura 13.3 para el intervalo [a, b ] = [0, 1].

Acepte dos criterios para la elección de x x y x 2: (a) Haga que sean sim étricas con respecto al

intervalo (puesto que no se tiene ninguna información sobre el lado del intervalo donde se

encuentra el mínimo), y (b) elíjalos sin importar cuál nuevo intervalo se seleccione, x ( y x 2 se

utilicen en el paso siguiente. Es decir, requiera (a) X\ = 1— *2 y (b) X\ = x \ . C om o se muestra

en la figura 13.3, si el nuevo intervalo es [0. jc21. el criterio (b) garantiza que la X| original será

la “x 2 para el intervalo siguiente; por lo tanto, sólo será necesaria una nueva evaluación de la

fiinción. a saber,/(* ,# ). Del mismo modo, si el nuevo intervalo es [xj, 1], entonces x 2 se con­

vertirá en la nueva Esta capacidad de reutilizar las evaluaciones de la función implica

que después de la primera etapa, sólo se necesita una sola evaluación de la función objetivo

por paso.

Los criterios (a) y (b) en conjunto implican que x \ + X 2 — 1 = 0. La solución positiva de

esta ecuación cuadrática es x 2 = g = ( \/5 — l) /2 . Para iniciar el método, debe saberse que la

función objetivo / es unimodal sobre [a, b], y después/ se evalúa en los puntos interiores x¡ y x 2,

donde a < x \ = a + (1 - g ) ( b - a ) < x 2 = a + g ( b - a ) < b. Tenga en cuenta que jq y x 2 se

establece exactamente en 1 - g y g entre a y b. El nuevo intervalo se escoge com o se ha mostrado

y este paso básico se repite. El nuevo intervalo tiene una longitud de g veces el intervalo anterior,

por lo que después de k pasos el intervalo actual tiene una longitud g k(b — a). El punto medio del

intervalo final es correcto dentro de una inccrtidumbrc de la mitad de la longitud del intervalo final.

g \ b — a)f2. Se ha demostrado el siguiente teorema:

TEOREMA 13 J. Después de k pasos de la búsqueda de la sección dorada con intervalo inicial [a. b]. el punto medio

del intervalo final está a una distancia máxima gk(b - a Y 2 del mínimo, donde g = ( v 5 — 1) /2 =»

0.618. ■

568 | C A P IT U L 0 13 Optimización

J _______________________ I______________ I_______________________ L

0 x, x2 1

J ______________ I________ I______________ L

o X\g X2g g

Figura 1 3 3 S a to cd ó n d * proporcionas an la b úsq u ed a d a la ta cd ó n do rada. La relación d e l s e g m e n to
s u p erio r s o b re e l s e g m e n to In fe rio re s 1 / g « (1 + V § )/2 . la saedón dorada. Los p u n to s x , y x 3 se e lig e n
e x a c ta m e n te , d e m o d o q u e sin Im p o rta r si e l n u e v o Intervalo e s [0 ,x 2] o [x,, 11, u n o d e lo s p u n to s p u e d e
reu tlllzarse c o m o u n n u e v o p u n to interior, lo q u e re d u c e e l n ú m e ro d e n u e v a s e v a lu a c io n e s d e la fu n c ió n
objetivo a una por cada p a s a

Búsqueda de la sección dorada

Dada una /unim odal con un mínimo en [a, b ]

for (— 1 . 2 , 3 , . . .

g = (y/5 - 0 / 2
+ (1 - g ) ( b - a ) ) < f ( a + g ( b - a ) )

b = a + g(b - a)
dse

a = a + (1 - g ) ( b - a )
caá
end

El intervalo final [a, b] contiene un mínimo.

R código de M atum* para la búsqueda de la seoción dorada requiere una evaluación de la
función por cada paso después del prim ero de ellos, com o se m encionó antes.

% Programa 1 3 .1 Búsqueda de la s e c c ió n dorada para un mínimo de f(x)

% I n ic i o con £ (x ) unim odal y e l mínimo en [a.b ]

% Entrada: fu n ció n f , in te r v a lo { a .b j, número de p a so s k

% S a lid a : mínimo aproxim ado y

fun ction y -g a stf.a .b .k )

g = ( s q r t (5)- l ) / 2 ;

x l » a + (l-g ) * (b-a) ;

x2 = a+gMb-a);

flaf(xl);f2-f(x2);

for i-l:k

i f £1 < f2 %s i f ( x l ) < f ( x 2 ) , r e e m p l a z a b p o r x 2

b=x2; x2=xl; x l= a + (1-g )* (b -a );

f 2 - f 1 ; f i > f ( x l ) ; %u n a s o l a e v a l u a c i ó n d e l a f u n c i ó n

e ls e %e n c a s o c o n t r a r i o , r e e m p l a z a a p o r x l

a=xl; xl=x2; x2=a+g*(b-a);

£ 1 = f 2 ; £ 2 = £ ( x 2 ) ; %u n a s o l a e v a l u a c i ó n d e l a f u n c i ó n

end

end

y = (a + b )/2 ;

13.1 Optimización no restringida sin derivadas | 569

ANOTACIÓN C o n verg en cia D e acu erd o c o n el te o re m a 13.2, la b ú sq u e d a d e la se cció n d o ra d a co n v e rg e li­

n e a lm e n te al m ín im o c o n u n a razón d e co n v e rg e n cia lin e a l g sfcO.618. E s in te re san te d e sta ca r las g ra n ­

d es sim ilitudes d e este m étod o co n el m étodo d e b isección del capítulo 1 para la b úsq u ed a d e raíces.

A pesar de que resuelven problem as diferentes, am bos son globalm ente convergentes, lo que significa

q u e si se in icia c o n las c o n d ic io n e s a d e c u a d a s (u nim o d alid ad e n [a, b] p ara la b ú sq u e d a d e la se cció n

<0dorada, y f[a) f(b) para la bisección), am b os garantizan su co n verg en cia a u na so lución . N inguno

de los d o s requiere inform ación d e las derivadas. Am bos requieren una evaluación d e la función por

paso y am b o s son llnealm ente co n verg en tes. La b isección es un p o co m ás rápida, co n la razón d e c o n ­

ve rg e n cia lineal K = 0.5 < g • 0.618. A m b o s p e rte n e c e n a la ca te g o ría v a lio sa d e los m é to d o s 'le n to s ,

pero seguros*.

► EJEMPLO 13.1 Utilice la búsqueda de la sección dorada para encontrar el mínimo d e /( x ) = x6 - 1 lx3 + 17x2
- 7x + I en el intervalo 10, l J.

En la ligura 13,2 se muestran los dos primeros pasos del método. En el primer paso xj = 1 —g
y x2 “ g , donde g = (VB - l) /2 . Como / ( Xj) < / ( x j ) , el intervalo [0, 1] se sustituye por [0, gj.
Las nuevas Xi, x 2 son las anteriores, Xjg, x ^ , respectivamente. En el segundo paso, de nuevo / ( * , )

< / U 2). P°r *° 9 ue e * intervalo [0, g] se sustituye con [0, jr2). En la siguiente tabla se muestran las

primeras 15 iteraciones:

iteración a X| X2 b
0 0.0000 0.3820 0.6180 1.0000
1 0.0000 0.2361 0.3820 0.6180
2 0.0000 0.1459 0.2361 0.3820
0.1459 0.2361 0.2918 0.3820
3 0.2361 0.2918 0.3262 0.3820
4 0.2361 0.2705 0.2918 0.3262
5 0.2705 0.2918 0.3050 0.3262
6 0.2705 0.2837 0.2918 0.3050
7 0.2705 0.2786 0.2837 0.2918
8 0.2786 0.2837 0.2868 0.2918
9 0.2786 0.2817 0.2837 0.2868
10 0.2817 0.2837 0.2849 0.2868
11 0.2817 0.2829 0.2837 0.2849
12 0.2829 0.2837 0.2841 0.2849
13 0.2829 0.2834 0.2837 0.2841
14 0.2834 0.2837 0.2838 0.2841
15

Después de 15 iteraciones, puede decirse que el mínimo está entre 0.2834 y 0.2838. <

13.1.2 Interpolación parabólica sucesiva

En la búsqueda de la sección dorada, las evaluaciones de la fu n ció n /(x ,) y / ( x 2) sólo se usan con
fines de comparación. Se toma una decisión sobre cóm o proceder, sin importar que una evalua­
ción sea más grande que la otra. En esta sección, se describe un nuevo método que economiza la
evaluación de los valores de la función; los utiliza para construir un modelo local de la función/ .

El modelo local elegido es una parábola que, como se vio en el capítulo 3. puede determinarse
sólo con tres puntos. Se inicia con tres puntos r, s y ; en las proximidades del mínimo, com o se
muestra en la figura 13.4. Evalúe la función objetivo / en los tres puntos y dibuje la parábola que
pasa a través de ellos. Las diferencias divididas son

570 | C A P IT U L 0 13 Optimización

R gu ra 1i A Interpolación p arab ólica sucesiva, (a) So dibuja una parábola a travós do los tros puntos
actuales t i , f,y la x mínima do la parábola so usa para sustituir la sactu al (b) El paso so repite con lasnucvas
CS.L

f(r)

dx

f(s) ch

di

no

donde d \ = ( / ( s ) - / ( r ) ) / ( s - r), d i = ( / ( / ) - f ( s ) ) / ( t - s ) , y d i = ( d 2 ~ d \ ) / { t - r). POr lo
tanto, la parábola puede expresarse como

P ( x ) = / ( r ) + dx (x - r ) + d ¡ ( x - r ) ( x - s ). (13.1)

Si se establece la derivada de P ( x ) » 0 para encontrar el mínimo de la parábola se obtiene la

fórmula

r+s (/(a ) - /(/■))(/ - r)(/ - s) (13.2)
x=
21(5 - r ) ( f ( t ) - f ( s ) ) - ( f ( s ) - / ( r ) ) ( / - 5)]

En la nueva aproximación para el mínimo. En la IPS, la nueva x puede sustituir al punto menos
reciente o menos óptimo entre r, s y /, y el paso se repite según sea necesario. No hay ninguna
girantía de convergencia de la IPS, a diferencia de la búsqueda de la sección dorada. Sin embargo,
cuando converge suele hacerlo más rápido, puesto que utiliza la información de la evaluación de la
función de manera más eficiente.

Interpolación parabólica sucesiva

Inicie con los mínimos aproximados r, s, 1

for / = 1 ,2 ,3 ,...

r+s (f ( s ) " /(/■))(/ - r)(/ - s)
x= 2[(s - r ) ( f ( t ) - f ( s ) ) - ( / ( s ) - /(/■))(/ - s ) ]

t —s

s=r

r =x

end

En el siguiente código de M atlab, el m ínim o de la parábola sustituye al m enos reciente de los tres
puntos actuales:

% Programa 1 3 .2 I n te r p o la c ió n p a r a b ó lic a su c e s iv a
% Entrada: fu n ción f , e stim a cio n e s i n i c i a l e s r, s, t , pasos k
% S a lid a : mínimo aproxim ado x

13.1 Optimización no restringida sin derivadas | 571

function x = s p i(f,r ,s ,t,k )

x (l)* r ;x (2 )» 0 ;x (3 )-t;

f r = f (r ) ; fa= f ( s ) ; £ t = f ( t ) ;

for Í-4:k+3

x ( i ) = ( r+s) / 2 - ( f s - fr ) * ( t - r ) M t - s ) / (2* ( ( s - r ) M f t - f s )

- (fa-fr) * (t-a )) ) ;

t-a ;8 -r;r» x (i);

ft= fs;fs= fr;fr= f(r); % una aola evalu ación de la función

end

► EJEMPLO 1 3 .2 Use la interpolación parabólica sucesiva para encontrar el mínimo d e/ ( * ) ■ x 6 - 1 1a3 + IT*2 -
I x + I en el intervalo [ 0 , 1J.
Usando los puntos de inicio r = 0, j = 0.7, / = I, se calculan las siguientes aproximaciones:

iteración X /<*)
0 1.(XXXKXXXXXXXXX)
0 1.00000000000000 0.774649<XXXXX)(X)
0 0.70000000000000 1.00000000000000
1 O.(XXXXXXXXXXXXX) 0.39062500000000
2 0.50000000000000 0.20147287814500
3 0.38589683548538 0.14844165724673
4 0.33175129602524 0.14933737764402
5 0.23735573316721 0.13172660338164
6 0.28526617269372 0.13172426136234
7 0.28516942161639 0.13170646451792
8 0.28374069464218 0.13170639859035
9 0.28364647631123 0.13170639856301
10 0.28364826437569 0.13170639856295
II 0.28364835832962 0.13170639856295
12 0.28364835808377 0.13170639856295
0.28364833218729

Se concluye que el mínimo está cerca de x m(n = 0.2836483. Tenga cn cuenta que después de 12

iteraciones se ha superado mucho la precisión de la búsqueda de la sección dorada con un menor

número de evaluaciones de la función. No se ha utilizado ninguna información sobre las derivadas

de la función objetivo, aunque se ha utilizado el conocimiento de los valores exactos d e/ . mientras

que para la BSD sólo era necesario conooer las comparaciones entre los valores.

Observe también en la tabla, una curiosidad cercana al final. Como se analizó en el capítulo 1,

las funciones son muy planas cerca de los máximos y mínimos relativos. Los valores calculados

con una aproximación de 10-7 de dan el mismo valor cn la función, no es posible una mayor

precisión cuando se usa la IEEE de doble precisión, sin importar cuántos pasos puedan ejecutarse.

Ya que los mínimos ocuiTcn por lo regular en los puntos donde las derivadas de la función son

iguales a cero, esta dificultad no se atribuye al método de optimización, sino que es endémica del

cálculo en punto flotante.

La secuencia de la BSD a la IPS es similar a la del método de bisección, al método de la se­

cante y a la interpolación cuadrática inversa. 1.a construcción de un modelo local de la función y su

consideración oomo la función objetivo ayudan a acelerar la convergencia. <

13.1.3 Búsqueda de Nelder-Mead

fóra una función de más de una variable, los métodos se vuelven más sofisticados. 1.a búsqueda de
Nelder-Mead intenta rodar un poliedro cuesta abajo hasta el nivel más bajo posible, fo re sta razón,
también se le llama el método sim plex cuesta abajo. No utiliza información de la derivada sobre
la función objetivo.

572 | C A P IT U L 0 13 Optimización

Suponga que la función a minimizar es una función / d e n variables. El método comienza con
n + 1 vectores estimados iniciales X \ ,. . . , x „ +] que pertenecen a Rn y juntos forman los vértices
de un simplex n-dimensional. Por ejemplo, si n = 2. las tres aproximaciones iniciales forman los
vértices de un triángulo en el plano.

Los vértices del simplex se prueban y se colocan cn orden ascendente de acúcalo con sus va­
lores de la función Vi < y 2 < ••• < y„+i = >•/>. El vector simplex xA = xrt+| que es el menos óptimo
se sustituye de acuerdo con el diagrama de flujo mostrado en la figura 13.5. En primer lugar se
define el centroide i de la cara del simplex que omite xh. Después se prueba el valor de la función
y r = f ( x r) del punto de reflexión x r = 2x — xa,tal com o se muestra en la figura 13.5(a). Si el nuevo
valor y r está cn el rango y \ < y r < vn. se reemplaza el peor punto x„ con x,, se ordenan los vértices
de acuerdo con sus valores de la función y se repite el paso.

(b)

Figura 13.5 Bútquada da Naldar-Maad.(a) Se p ru e b a n los p u n to s a lo largo d e la linea q u e c o n ec ta al p u n to
m á s a lto d e la fu n c ió n y e l c e n tr o id e x. (b) D iag ram a d e flujo q u e d e sc rib e u n p a s o d e l m ó to d o .

En caso de que yrsea inferior al mínimo actual y j, se hace un intento de extrapolación, utili­

zando x e = 3x - I t* . para ver si debe avanzar aún más en esta dirección. Se acepta el mejor entre

x e y xr para el paso. Por otro lado, en caso de que y r sea mayor que y„ (el máximo actual una vez

que xn+i se descarta), se realiza una prueba adicional, ya sea en el punto de contracción exterior

Xoc = I -5x — 0.5x/, o en el punto de contracción interior x¡c = 0.5x + 0.5x*,com o se muestra en

la figura. Si no se presenta mejoría cn cualquiera de estos puntos, entonces no hay avance al rami-

ficar hacia afuera y el método debe mirar más a nivel local para encontrar el óptimo. Esto se logra

mediante la reducción del simplex por un factor de 2 en la dirección del mínimo actual Xj antes de

ir al paso siguiente. A continuación se presenta el código de M a t l a b . I-a función/ debe definirse

a i las variables x ( l ) , x ( 2 ) , x (n ).

13.1 Optimización no restringida sin derivadas | 573

% Programa 1 3 .3 Búsqueda de Nelder-M ead

% Entrada: fu n ción f , mejor e stim a c ió n xbar (v e cto r oolum na),

% r a d io de búsqueda i n i c i a l rad y número de p asos k

% S a lid a : m atriz x cuyas columnas son lo s v é r t ic e s de un sim p lex,

% valores de la función y de esos v é rtic e s

fun ction (x,y)=nelderm ead(f ,xb ar,rad ,k)

n -le n g th (x b a r);

x (:,l)= xb ar; %c a d a c o l u m n a d e x e s u n v é r t i c e s i m p l e x

x ( : , 2 : n + l)= x b a r * o n e s (1 ,n ) + r a d * e y e ( n ,n ) ;

for jal:n *l

y ( j ) « = f ( x ( : , j ) ) ; %e v a l ú a l a f u n c i ó n o b j f e n caula v é r t i c e

end

[y ,r]= so rt(y ); %o r d e n a l o a v a l o r e s d e l a f u n c i ó n e n fo r m a a s c e n d e n t e

x= x(:,r); % y c l a s i f i c a l o s v é r t i c e s de la misma forma

for i« l:k

:4>ar=mean(x(:, l : n ) ' ) ' ; % xbar e s e l c e n tr o id e de la cara

xh= x(:,n +l); % om itiendo e l peor v é r t ic e xh

xr • 2*xbar - xh; y r ■ f ( x r ) ;

if yr < y(n)

if yr < y (l) %i n t e n t a l a e x p a n s i ó n x e

xe » 3*xbar - 2*xh; ye ■ f(x e ) ;

i f ye < y r I acepta la expansión

x (:,n + l) • xe; y(n+l) ■ f(x e );

e ls e %a c e p t a l a r e f l e x i ó n

x ( : , n+1) = x r; y(n + l) = f (xr) ;

end

e ls e %x r e s l a m i t a d d e l p a q u e t e , a c e p t a l a r e f l e x i ó n

x (:,n * l) « xr; y(n+l) » f (xr) ;

end

e ls e I xr sigue siendo e l peor v é rtice , contraer

if yr < y(n*l) %intenta contracción externa xoc

xoc • 1.5*xbar- 0.5*xh; yoc ■ f(x o c );

i f yoc < yr %a c e p t a l a c o n t r a c c i ó n e x t e r n a

x (:,n + l) » xoc; y(n+l) • f(x o c );

e ls e %e n c o g e e l s i m p l e x h a c i a e l m e j o r p u n t o

for j»2:n+l

x (:,j ) - 0.5*x(:.l)+0.5*x(:.j)f y(j) - f(x (:,j));

end

end

e ls e %x r e s a ú n p e o r q u e e l p e o r a n t e r i o r

xic » 0.S*xbar+0.5*xh; y ic a f ( x i c ) ;

i f y ic < y(n+l) % acepta la contracción interna

x (:,n + l) = x ic ; y(n+l) a f ( x i c ) ;

e ls e %encoge e l sim plex hacia e l mejor punto

for j-2:n + l

x ( : fj) a 0 .S * x (:,l)+ 0 .5 * x (:,j); y(j) = f ( x ( : , j ) ) ;

end

end

end

end

[y,r] = s o r t ( y ) ; %reordena lo s valores de la función obj

xax( : , r ) ; % y c l a s i f i c a l o s v é r t i c e s d e l a misma manera

end

El código representa al diagrama de flujo de la figura 13.5(b). Se requiere como entrada, el
número de pasos de iteración. El problema de computadora 8 le pide al lector que vuelva a escribir
el código con un criterio de terminación basado en la tolerancia al enror dada por el usuario. Un

574 | C A P IT U L 0 13 Optimización

15

10

5

0
I

Figura 13.6 Gráfica da su parA d a d a u na fu n d ó n bicMmanslonal. Gráfica do z - 5V* + 4r 'y - x y 3 + 4 / - x.

Mediante el método de Nelder-Mcad, se encuentra q u e el mínimo se produce en % (0.4923, -0.3643).

criterio de terminación común consiste en requerir que el tamaño del simplex 9e haya reducido
dentro de una pequeña cantidad de cifras, y que la extensión máxima de los valores de la función en
los vértices esté dentro de una tolerancia pequeña. M a t l a b implcmenta el método de Nelder-Mcad
mediante su comando f m inoearch.

► EJEMPLO 1 3 .3 Localice el mínimo de la función f ( x , y ) ■ 5 x 4 + 4x2y - jry3 + 4y4 - x , usando el método de
Nelder-Mcad.

La función se muestra en la figura 1 3 ,6 .1.a fundón / d e dos variables se define mediante
» f= ® (x ) 5*x (1) ~ 4 + 4 * x ( l ) ' “2 * x ( 2 ) - x (1) * x (2) ~ 3 + 4 * x (2 ) * 4 - x (1)
y se ejecutan 60 iteraciones del método de Nelder-Mead en d programa 13.3 con el comando
» [x,y]«n eld erm ead (f, [1 ;1 ],1 ,6 0 )

Xa

0 .4 9 2 3 0 7 7 7 8 7 5 1 5 7 3 0 .4 9 2 3 0 7 7 7 3 8 2 2 8 4 0 0 .4 9 2 3 0 7 8 0 7 6 1 7 6 2 8
-0 .3 6 4 2 8 5 5 5 8 2 4 5 5 3 1 -0 .3 6 4 2 8 5 5 4 2 1 8 9 2 8 4 -0 .3 6 4 2 8 5 5 6 2 1 7 9 8 7 2

y= -0 .4 5 7 5 2 1 6 2 2 6 3 4 0 7 0 -0 .4 5 7 5 2 1 6 2 2 6 3 4 0 6 9

-0 .4 5 7 5 2 1 6 2 2 6 3 4 0 7 1

Se utilizó el vector [jr, y] = 1 1 . 1] como la estimación inicial y un radio inicial de 1. pero hay

una amplia variedad de opciones que pueden funcionar. Después de 60 iteraciones, el simplex se ha

reducido a un triángulo cuyos vértices son las tres columnas del vector de salida x . Hasta cuatro afras

dedmales correctas, el mínimo de -0 .4 5 7 5 ocurre en el punto fx.y] = [0.4923, -0 .3 6 4 3 ], *

13 .2 Optimización no restringida con derivadas | 575

13.1 Ejercicios

1. Demuestre que las funciones son unimodales en algunos intervalos, encuentre el mínimo absoluto
y dónde se produce, (a) / ( x ) = e* + (b) / < x ) = x 6 (c) / < x ) = 2 x 4 + x (d) / ( x ) = x - In x .

2. Encuentre el mínimo absoluto en los intervalos dados y en qué x se produce.
(a) / ( x ) = c o s x ,[ 3 .4 1 ( b ) /( x ) = 2x3 + 3 x 2 - 12x + 3 . | 0 , 2 |
(c) / ( x ) = x 3 + 6 x 2 + 5. [ - 5 ,5 ] (d) / ( x ) = 2x + e ~ x . [ - 5 . 5]

13.1 Problemas de computadora

1. Grafique la función y ■ /(x ) y encuentre un intervalo de inicio de longitud uno sobre el cual / sea
unimodal en tomo a cada mínimo relativo. Después aplique la búsqueda de la sección dorada para
localizar cada uno de los mínimos relativos de la función con cinco dígitos correctos.
(a) / ( x ) = 2x4 + 3x2 - 4x + 5 (b) / ( x ) = 3x4 + 4 x 3 - 12x2 + 5
(c) / ( x ) = x 6 + 3x4 - 2x3 + x 2 - x - 7 (d) / ( x ) = x6 + 3x4 - 12x3 + x 2 - x - 7

2. Aplique la interpolación parabólica sucesiva a las funciones del problema de computadora I. Ix>-
calice los mínimos con cinco dígitos correctos.

3. Encuentre el punto sobre la hipérbola y - 1/x m is cercano al punto (2 ,3 ) de dos maneras diferen­
tes: (a) por medio del método de Newton aplicado para encontrar un punto crítico, (b) mediante la
búsqueda de la sección dorada sobre el cuadrado de la distancia entre un punto del cono y (2,3).

4. Encuentre el punto sobre la elipse 4X2 + fy 2 = 4 más alejado de ( 1 ,5), utilizando los métodos (a)
y (b) del problema de computadora 3.

5. Use el método de Ncldcr-Mcad para encontrar el mínimo de
f ( x , y ) = e “ *í r + (x - l) 2 + ( y - l ) 2. Pruebe diferentes condiciones iniciales y compare las
respuestas. ¿Cuántos dígitos correctos pueden obtenerse mediante el uso de este método?

6. Aplique el método de Nelder-Mead para encontrar los mínimos de las siguientes funciones con
seis posiciones decimales correctas (cada función tiene dos mínimos):
(a) / ( x , y ) = x4 + v4 + l x 1/ + 6x y - 4x - 4 y + I
(b) / ( x . y ) = x 6 + / + 3 x y - x 2 - / - 2 x y

7. Aplique el método de Ncldcr-Mcad para encontrar el mínimo de la función de Roscnbrock
f ( x , y ) = 1 0 0 0 ' - x 2)2 + (x - O2-

8. Reescriba el programa 13.3 e incorpore un criterio de terminación para Nelder-Mead basado en
una tolerancia al error especificada por el usuario. Pruebe su programa localizando los mínimos
de las funciones objetivo del problema de computadora 6 hasta seis decimales correctos.

1 3 . 2 OPTIMIZACIÓN NO RESTRINGIDA CON DERIVADAS

luis derivadas contienen información acerca de la rapidez de crecimiento y disminución de una
función, y en el caso de las derivadas parciales, también acerca de las direcciones de más rápido
crecimiento y disminución. Si se cuenta con dicha información sobre la función objetivo, entonces
ésta puede aprovecharse para encontrar el óptimo de una manera más eficiente.

576 | C A P IT U L 0 13 Optimización

13.2.1 M étodo d e N ew ton

Si la función es continuamente difcrcnciablc y es posible evaluar la derivada, entonces el problema
de optimización puede expresarse como un problema de localización de raíces. Se iniciará en una
dimensión, donde la interpretación es más sencilla.

En un mínimo x * de una función continua diferenciable f ( x ) , la primera derivada debe ser
oero. La ecuación resultante/Or) = 0 puede resolverse empleando los métodos del capítulo 1. Si la
función objetivo es unimodal y tiene un mínimo en un intervalo, entonces, empezando la aplicación
del método de Newton con una estimación inicial cercana al mínimo x * tendrá convergencia a x*.
El método de Newton aplicado a f ' ( x ) = 0 se convierte en la iteración

fin ) (13.3)

Xk+1 = X k -
rw

Aunque el método de Newton (13.3) encontrará puntos en los quef ' ( x ) = 0, en general, dichos

puntos no tienen que ser mínimos. Es importante tener un valor inicial razonablemente cercano al

óptimo y comprobar que una vez localizados sean los óptimos.

Para la optimización de una función f ( x { x*) se utiliza el método de Newton con varias

variables. Como en el caso unidimensional, se desea igualar la derivada a cero y resolver. Así que

se tiene

V / = 0. (13.4)

donde

v / = K (jí' *■*•••• *•>]

indica el gradiente d e/ .
El método de Newton para las funciones con valores vectoriales del capítulo 2 permite resolver

(13.4). Si se establece F (x ) = V / ( x ) , e l paso iterativo del método de Newton se establece com o
xk+ | = x k + v, donde v e s la solución de D F ( x k)v = —F (x k). La matriz jacobiana D F dcl gradiente
es

«Taxi 9Y

H f — DF = 3xi 3x,

ay JLf (13.5)
9xñ9x„
- 3x.3xi

que es la matriz hessiana d e / . Por lo tanto, el paso de Newton es (13.6)

Hr (xk ) v = - V f ( x k)
x*+ l = X k + V

► EJEMPLO 1 3 .4 Localice el mínimo de la función f { x , y ) - 5x4 + 4x * y — jry3 + 4y4 — x, usando el método de
Newton.

l a función se muestra en la figura 13.6. El gradiente es V / = (2 0 x 3 + 8xv - j»3 - l,4 .t 2
- 3 x y * + 1 6 ^ ). y la hessiana es

„ / . f 60x2 + J8.x - 3y2 ]

H f{ x , y) - 8x _ _6xy + 4 S y2 •

13.2 Optimización no restringida con derivadas | 577
Rn 10 iteraciones del método de Newton (13.6) resulta:

iteración .r y /(Jf.y)
0 1.00000000000000 1.00000000000000 11.00000000000000
1 0.64429530201342 0.63758389261745 1.77001867827422
2 0.43064034542956 0.39233298702231 0.10112006537534
0.33877971433352 0.19857714160717
3 0.50009733696780 -0.44771929519763 -0.17818585977225
4 0.49737350571430 -0.37972645728644 -0.42964065053918
5 0.49255000651877 -0.36497753746514 -0.45673719664708
6 0.49230831759106 -0.36428704569173 —0 .4 5 7 5 2 0 0 9 0 0 7 7 5 7
7 0.49230778672681 -0.36428555993321 -0.45752162262701
8 0.49230778672434 -0.36428555992634 -0.45752162263407
9 0.49230778672434 -0.36428555992634 -0.45752162263407
10 -0.45752162263407

El método de Newton converge dentro de la precisión de máquina a un valor mínimo cercano a

-0 .4 5 7 5 . Observe otra característica de la disminución del error usando el método de Newton:

se ha logrado la precisión de máquina en la solución, a diferencia del caso unidimensional de la

interpolación parabólica sucesiva. La razón es que ya no se trabaja con la función objetivo, sino

que se ha replanteado el problema sólo como un problema de localización de raíces que involucra

al gradiente. Como V / tiene una raíz simple en el óptimo, no hay dificultad en conseguir un error

hacia adelante cercano al épsilon máquina. <

Con frecuencia, el método de Newton se elige si es posible calcular la hessiana. En problemas
bidimensionalcs la hessiana casi siempre está disponible. En una dimensión n alta puede ser facti­
ble sólo calcular el gradiente (un vector w-dimensional) en cada punto, pero no factible construir la
hessiana de n x n. Los siguientes dos métodos suelen ser más lentos que el de Newton, pero sólo
requieren calcular el gradiente en varios puntos.

13.2.2 Gradiente descendente

La idea fundamental detrás del j a d íe n t e descendente, también llamado búsqueda del grad ien ­
te, es la localización de un mínimo de la función al moverse en la dirección de la máxima incli­
nación a partir del punto actual. Como los puntos del gradiente V / en la dirección de la máxima
inclinación de / , la dirección opuesta - V / e s la línea de declinación. ¿Hasta dónde debe llegarse
a lo largo de esta dirección? Ahora que se ha reducido el problema a una minimización a lo largo
de una línea, uno de los métodos unidimensionales debe decidir hasta dónde llegar. Después de
localizar el nuevo mínimo a lo largo de la línea de declinación, repita el proceso, a partir de ese
punto. Es decir, encuentre el gradiente en el nuevo punto, y haga una minimización unidimensional
en la nueva dirección.

El algoritmo del gradiente descendente es un ciclo iterativo.

Gradiente descendente

for i = 0 ,1 ,2 ,,..
u = V /(x ,)
Minimizar f ( x - su ) para el escalar s = s*
x/+i = x t - s* v

end

Se aplicará el gradiente descendente a la función objetivo del ejemplo 13.3.

578 | C A P ÍT U L 0 13 Optimización

► EJEMPLO 1 3 .5 Localice el mínimo de la función f [ x , y ) = + 4j r y - xy3 + Ay* - x usando el gradienie des­
cendente.

Se siguen los pasos anteriores, utilizando la interpolación parabólica sucesiva com o método
unidimensional. Los resultados cn 25 iteraciones son los siguientes:

iteración X y f U . y)
- I.OOÍXXXXXXXXXXX)
0 I.OOOOOÍXXKXXXXM) —0.27992088271756 1 1 .0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.40314579518113 -0.36216404374206
5 0.49196895085112 -0.36426635686172 —0.41964888830651
10 0.49228284433776 -0.36428539567277 -0.45750680523754
15 0.49230786417532 -0.36428556578033 -0.45752161934016
20 0.49230778262142 -0.45752162263389
25 -0.45752162263407

La convergencia es más lenta comparada con el método de Newton. por una buena razón. El mé­

todo de Newton consiste en resolver una ecuación y utiliza la primera y segunda derivadas (inclu­

yendo el hessiano). El gradiente descendente es en realidad una minimización siguiendo la direc­

ción de descenso y sólo utiliza la información de la primera derivada. <

13.2.3 Búsqueda del gradiente conjugado

En el capítulo 2 el método del gradiente conjugado se usó para resolver ecuaciones matricialcs
simétricas definidas positivas. Ahora se empleara de nuevo el método, visto desde una diferente
perspectiva.

La resolución de A x ■ wcuando A es simétrica y definida positiva es equivalente a la localiza­
ción del mínimo de un paraboloide. Por ejemplo, en dos dimensiones la solución del sistema lineal

es el mínimo del paraboloide (13.8)

f ( x \ . x 2) = i a x ? + b x 1x 2 + ^ c x \ - e x \ - f x 2.

La razón es que el gradiente d e / es + b x 2 ~ e. b x 1 + C X 2 — f \ .
V/=

0 gradiente es cero cn el mínimo, lo que da la ecuación matridal anterior. El signo positivo sign i­
fica que el paraboloide es cóncavo hacia arriba.

La observación clave es que el residuo r = w - A rd el sistema lineal (13,7) es - V f ( x ) , la
dirección de la declinación de la función / e n el punto x . Suponga que se ha elegido una dirección
de búsqueda, indicada por el vector d . La minimización d e / e n (13.8) a lo largo de esa direc­
ción consiste en encontrar la a q u e minimice la función h ( a ) = f ( x + a d ) . La derivada se igualará
a cero para encontrar el mínimo:

0 = V /-¿

= (A (x + a d ) - (e, f ) T) • d

— (a A d — r ) Td .

Esto implica que

r Td _ r Tr
d TAd d 1Ad

donde la última igualdad se desprende del teorema 2.16 referente al método del gradiente conju­
gado.

13 .2 Optimización no restringida con derivadas | 579

De este cálculo se concluye que podría resolverse de manera alternativa para el mínimo de un
paraboloide mediante el método del gradiente conjugado, pero reemplazando

r,= -V /

y

a, = « q u e disminuye mínimo/( * ,_ | +

De hecho, al vedo de esta manera, observe que se ha expresado el gradiente conjugado por com ple­
to en términos de / . Sigue sin hacerse mención de la matriz A. Es posible ejecutar el algoritmo cn
esta forma para u na/general. Cerca de las regiones d on d e/tien e una forma parabólica, el método
se mueve muy rápido hacia la parte inferior. El nuevo algoritmo tiene los siguientes pasos:

Búsqueda del gradiente conjugado
Sea x Qla estilitación inicial y establezca d 0 = r0 ** - V / .

for / = 1 ,2 ,3 ,...

a ¡ = a tal que minimice a f ( x ¡ - 1 + a d ¡ - i )

x¡ = xi- \ + a ,d j- \

r, = - V f O a )

d¡ = r ¡ + f i i d i - i
end

Se probara el nuevo método en un ejemplo muy conocido.

► EJEMPLO 1 3 .6 Localice el mínimo de la función/ ( x, y ) = 5 / + Ax2}' - xy3 + 4y4 - x , usando la búsqueda del
gradiente conjugado.

Se siguen los pasos anteriores, utilizando la interpolación parabólica sucesiva com o el método
unidimensional. Los resultados para 20 iteraciones son los siguientes:

iteración X y /(.t.y)
0 .ll.(XXXXXXXXXXXMX)
5 l.(XXXXXXXXXXXXK) -I.(XXHXXXXXXXXXX)
10 0.46038657599935 -0.38316114029860 —0.44849953420621
15 0.49048892807181 -0.36106561127830 -0.45748477171484
20 0.49243714956128 - 0.36421661473526
0.49231477751583 -0.36429817275371 -0.45752147604312
-0.45752162206984

El tema de la optimización no restringida es muy amplia, y los métodos de este capítulo repre­
sentan sólo la punta del iceberg. Los m étodos de la región d e confianza forman modelos locales,
como lo hacen la interpolación parabólica sucesiva o la búsqueda del gradiente conjugado, pero
permiten su uso sólo dentro de una región determinada que se estrecha a medida que avanza la bús­
queda. La rutina fm in u n ed e la caja de herramientas de optimización en M a t l a b es un ejemplo de
un método de la región de confianza. El tem plado sim ulado es un método estocástico que trata
de avanzar más abajo cn la fundón objetivo, pero aceptará un paso hacia arriba con una proba­
bilidad pequeña, positiva, con el fin de evitar la convergenda a un mínimo local no óptimo. Los
algoritm os genéticos y la computación evolutiva, en general, proponen enfoques muy novedosos
para la optimización y todavía se siguen estudiando de manera activa.

La optimización restringida toma como meta la minimización de una fundón objetivo sujeta
a un conjunto de restricciones. El subconjunto más común de estos problemas, la programación
lineal, se ha resuelto mediante el método simplex desde su desarrollo a mediados del siglo xx;

580 | C A P IT U L 0 13 Optimización

aunque recientemente se han desarrollado nuevos algoritmos más rápidos y que se basan en los
métodos de punto interior. Ix>s problemas de programación no lineal y cuadrárteos requieren méto­
dos más sofisticados. Consulte las referencias donde encontrará los puntos de entrada a la literatura
relacionada con estos métodos.

13.2 Problemas de computadora

1. UtilioeelmétododeNewtonparaencontrarelmínimode / ( x . y ) = e ~ x -f (x — l)2 + ( y - l) 2.
Pruebe diferentes condiciones iniciales y compare las respuestas. ¿Cuántos dígitos correctos pue­
den obtenerse con este método?

2. Aplique el método de Newton para encontrar los mínimos de las siguientes funciones con seis
posiciones decimales correctas (cada función tiene dos mínimos):
(a) / ( x . y ) = x 4 + y4 + 2x2/ + 6 x y - 4x - A y + I

(b) / ( x , y) = x6 + / + 3 x 2/ - x 2 - y 2 - 2 x y

3. Encuentre el mínimo de la función de Rosenbrock / ( x , y) = 100(y —x 2)2 + (x — l) 2 mediante
(a) el método de Newton y (b) el gradiente descendente. Use la estimación inicial (2,2). ¿Después
de cuántos pasos la solución deja de mejorar? Explique la diferencia en la precisión que se logra.

4. Utilice el gradiente descendente para encontrar los mínimos de las funciones del problema de
computadora 2.

5. Use la búsqueda del gradiente conjugado para encontrar los mínimos de las funciones del proble­
ma de computadora 2.

6. Encuentre los mínimos con cinco dígitos correctos mediante la búsqueda del gradiente conjugado:
(a) / ( x . y ) = x 4 + 2y4 + 3 x 2f + 6x2y - 3xy2 + 4x - 2y
(b) / ( x . y) = x6 + x 2y4 + / + 3x + 2y

Comprobación __

enk¡realidad | £ j C o n fo rm a ció n m o le c u la r y o p tim iz a d ó n n u m é ric a

La función de una proteína sigue su forma: los nudos y los pliegues de las formas moleculares per­
miten los enlaces y bloqueos que son parte integral de sus funciones. I.as fuerzas que gobiernan la
oonform ación.o el doblamicnto, de los aminoácidos cn proteínas se deben a los enlaces entre los
áoin os individuales y a las interacciones intcrmolccularcs débiles entre átomos no unidos como las
fuerzas electrostáticas y las fuerzas de Van der Waals. Para las moléculas densamente agrupadas,
como las proteínas, éstas últimas son muy importantes.

Un enfoque actual para predecir las conformaciones de las proteínas consiste en encontrar
la energía potencial mínima de la configuración total de los aminoácidos. Las fuerzas de Van der
Waals se modelan mediante el potencial de Lennard-Jones

U (r)= 4 - 4 .

donde r indica la distancia entre dos átomos. F.n la figura 13.7 se muestra el pozo de energía que se
define mediante el potencial. 1.a fuerza es atractiva para las distancias r > 1, pero se vuelve fuerte-
irente repulsiva cuando los átomos tratan de acercarse a más de r = 1. Para un grupo de átomos con
posiciones ( X | , y j , Z j ) . . . . , (xrt. y n. ^ , ) . la función objetivo a minimizar es la suma de los potenciales
de Lennard-Jones por pares


Click to View FlipBook Version