Sei sulla pagina 1di 26

7.1.

Introduccin o

Hay otros dos mtodos importantes para calcular la descomposicin QR de una e o matriz: las reexiones de Householder y las rotaciones de Givens. Ambos comparten la propiedad de ser procesos que conducen a una triangularizacin de la matriz dada o mediante transformaciones ortogonales (caso real) o unitarias (caso complejo). En este curso estudiaremos el primero de los dos mtodos (el de las reexiones de e Householder). Una buena referencia para el mtodo de las rotaciones de Givens es e el libro de Golub y van Loan [6]. En realidad, estos dos mtodos, son el resultado e de aplicar un teorema general de algebra que establece que toda transformacin o ortogonal (o unitaria) es un producto de simetr (reexiones o giros). as Los mtodos de Householder y Givens dieren de los de Gram-Schmidt en un e hecho bsico fundamental. Para ver esta diferencia analicemos, de nuevo, el proecedia  $ miento de ortonormalizacin de Gram-Schmidt: dada A  a1 a2 an Fmn o
ww w.

at em

at

ic

a1

.c om

(F=R o C) denimos q1

,  r1 a1 con r11  }a1}2. As si


11

R1 tenemos que

 Diag

1 , 1, . . . , 1 r11

 AR1  A continuacin, ponemos r22  }a2 }2 y o


A2 q2 Si denimos 1 "0 " " R2  "0 ". !. . 0 tenemos que A3

q 1 a2

r12 a1 r11

an .


1 pa2 pq1 a2qq1q  r1 r22 22

a2

 r1 a2 r r12 r
22

a1

11 22

r r

1 r22

12 22

ic a

at em at

1 .c
1

0 . . .

0 0 1 . .. . . . 0

0 00 0 00 0 .0 .) .

om

 A2R2  A1R1R2 
w.

q 1 q 2 a3

an .

Procediendo de esta forma sucesivamente podemos construir, para la matriz dada A, matrices R1 , R2 ,. . . , Rn de modo que AR1 . . . Rn

 Q, 

siendo Q una matriz cuyas columnas son ortonormales. Se pone, entonces, R 1 . . . R1 y se obtiene A  QR, la descomposicin QR, reducida, de A. Rn o 1

El mtodo de Householder; y tambin el de Givens, cambia completamente el e e punto de vista: se trata de realizar sobre la matriz A una serie de transformaciones unitarias (u ortogonales, en el caso real) Q1 , Q2 . . . , Qn tales que Qn . . . Q1 A  R sea una matriz triangular superior. En lo sucesivo hablaremos de transformaciones y matrices unitarias pero se debe entender que si A es real las transformaciones y matrices son ortogonales.

ww

Lo primero que hay que observar es que mientras los mtodos de ortonormalie zacin de Gram-Schmidt produce una factorizacin QR reducida, el de Householder o o produce una factorizacin completa. En aquel caso Q es de tamao m n y R es o n n n. En el mtodo de Householder cada Qi es unitaria (o, insistimos por ultima e vez, ortogonal en el caso real);por lo tanto, de tamao m m. Y R ser de tamao n a n m n. Sucintamente, el mtodo de Householder consiste en construir matrices unitarias e elementales (reexiones) que operan sucesivamente sobre las columnas de A para reducir esta matriz a una forma triangular superior. Esquemticamente el proceso a ser el siguiente: a
"x x x0 " 0 "x x x0 " 0 !x x x)

x x x

(
Q
1

Se debe observar que Qk no acta sobre las primeras k 1 las de Ak1 ; es decir, u las deja intactas, por lo que tendr la siguiente forma: a Qk

ww

Q1 opera sobre las las 1 a 5 para hacer ceros en todas las posiciones de la primera columna excepto en la posicin de la diagonal. A continuacin se construye una o o matriz Q2 , unitaria u ortogonal en el caso real, que opera sobre las las 2 a 5 de la matriz obtenida en el paso anterior, para hacer ceros en todas las posiciones de la segunda columna por debajo de la diagonal principal. Y as sucesivmente. Es decir, para k  1, 2, . . . , n, Qk opera sobre Ak p1 : k, 1 : nq haciendo ceros en las posiciones pk 1, kq, pk 2, kq,. . . , pm, kq, donde A1  A y para k 1, Ak  Qk1Ak1.
w.

at em at

ic a

1 .c

om

x x x

x "0 " "0 " !0 0

x x x x0 0 x x0 0 x x) x x Q1 A

Q
2

x x x " x x0 " 0 " 0 x0 " 0 ! 0 x) 0 x Q2 Q1 A

Q
3

x x x " x x0 " 0 " x0 " 0 ! 0) 0 Q3 Q2 Q1 A

Ik1 0 0 Qk

&

siendo Qk una matriz unitaria cuyo objetivo es reducir el vector formado por los elementos en las posiciones pk, k q, pk 1, k q,. . . , pm, k q de Ak1 a un vector cuya unica componente posiblemente no nula sea la primera: x x "x 0 " 0 0 " 0 " 0 Qk " . 0  " . 0 . !.) !.) . . x 0
( (

La primera cuestin surge de forma natural: existe siempre, para cualquier o vector, una matriz unitaria que lo reduce a otro cuya unica componente no nula sea, posiblemente, la primera?. Como veremos enseguida la respuesta es armativa y es la base del mtodo de Householder. e

7.2.

Las reexiones de Householder

El objetivo es resolver el siguiente problema: dado un vector x Cn1 construir una matriz unitaria Q Cnn tal que siendo e1 el vector p1, 0, . . . , 0q. Qx  e1

w.

La idea de Householder fu construir tal matriz como la matriz de una reexin: e o 2 una simetr respecto de un hiperplano. El caso particular de R nos servir como a a 2 gu de lo que queremos conseguir: dado un vector x R debemos encontrar una a hiperplano (en este caso, una recta que pase por el origen) tal que el simtrico de x e respecto de este hiperplano sea e1 (Figura 7.1).

ww

v1 x v

| |2 e1 |x|

at em at

Suponiendo que 0, dicha recta (H en la gura) es la bisectriz del ngulo que fora ma los vector x y e1 . Sea v  e1 x  }x}2e1 x (este vector es el de la Figura 7.1 pero trasladado al origen). Como el tringulo formado por los vectores x, a }x}2e1 y v (trasladado desde el origen al extremo de x) es issceles, resulta que H o es perpendicular a v. Es decir, H

ic a

||2  }Qx}2  xQQx  xx  }x}2, 2 2 de donde deducimos que }x}2  ||.

Antes de nada debemos observar que, como Q es unitaria,

1 .c

om

 v u

Figura 7.1: Reexin sobre el eje o de abscisas

Cul es la transformacin que lleva x soa o bre }x}2 e1 ?

Enseguida notamos que v1 es la proyeccin ortogonal de x sobre v a lo largo de o v H. Por lo tanto, si q  o }v}2 es el vector unitario en la direccin de v, tenemos que la proyeccin ortogonal sobre v es Pq  qq ; y o

 Pq x  qqx. Como, nalmente, v  2v1 y x v  }x}2 e1 conclu mos que pI 2qqqx  }x}2e1. As pues, la matriz Q que representa la reexin respecto de v u y que hace que o Qx  }x}2 e1 es Q  I 2qq v donde q  }v} y v  }x}2e1 x.
v1
2

at em at

Razonando como antes, pero respecto de la Figura 7.2, ser Q1  I 2q1 q1 con a u q1  }u}2 y u  }x}2 e1 x. Todo lo anterior nos permite asegurar que en el caso R2 , para un vector x dado, siempre podemos encontrar una transformacin ortogonal Q de forma que Qx  o }x}2e1. Adems, nos dice que la matriz Q a es una reexin. Es decir, Q  I 2q1 q1 o u con Q1  }u}2 y u  }x}2 e1 x. esta es nuestra gu para demostrar que lo mismo a es posible en Cn .
ww w.

ic a

Q1 x  }x}2 e1 .

1 .c

om

Hay otra forma de reejar x sobre el eje de abscisas: hacerlo sobre la direccin neo gativa de ste. Es decir, la reexin ser e o a

H
u1 u | | e1 |x|2 x v +| | e1 |x|2

H+

Figura 7.2: Las dos reexin sobre o el eje de abscisas

x1 ".0 Lema 7.1 Sea x  ! . ) Cn y escribamos x1  |x1 |ei . Existen vectores unitarios . xn n u1 , u2 C tales que si Qui  pIn 2ui u q, i  1, 2, entonces Qu1  }x}2 ei e1 y i Qu2  }x}2 ei e1 .

Observacin: En el caso complejo no se puede asegurar, en general, que la primera o componente de Qui x vaya a ser real. Demostracin.- Elegimos los vectores u1 y u2 siguiendo la orientacin marcada por o o el caso R2 . Denimos v1 y u1

 }x}2ei e1 x,  }v1} , v
1

v2

 }x}2ei e1 x,
v  }v2} .
2

u2

Veremos que, en efecto, Qu1 x  }x}2 ei e1 . La demostracin de que Qu2 o se hace igual. Qu1 x  pIn 2u1 u qx  x 2pu xqu1 1 1 Ahora bien

 }x}2ei e1

1 1

Por lo tanto Qu1 x  x 2

}x}2p}x}2 |x1|q v  x v  x }x} ei e x  }x} ei e , 1 1 2 1 2 1 2}x}2 p}x}2 |x1 |q

tal y como se quer mostrar. a Antes de continuar veamos un ejemplo en R4 . Ejemplo 7.2 Sea x  p3, 1, 5, 1q. Encontrar una reexin Qu tal que Qu x  p, 0, 0, 0q. o

ww

w.

v1 v1

    

p}x}2ei eT xqp}x}2ei e1 xq  1 }x}2eT e1 }x}2ei eT x }x}2ei xe1 xx  2 1 1 }x}2 }x}2ei x1 }x}2ei x1 }x}2  2 2 2 i |x1 |ei }x}2 ei |x1 |ei  2}x}2 }x}2 e 2}x}2 2|x1 |}x}2  2}x}2 p}x}2 |x1 |q. 2

at em at

v1 x

 p}x}2ei eT xqx  }x}2ei x1 xx  1  }x}2ei ei |x1| }x}2  }x}2p|x1| }x}2q. 2

ic a

1 .c

om

v x v  x 2 pvvv1 x1{2 pvv1q1{2  x 2 v1v v1. q


1 1 1 1

Las operaciones las haremos con ayuda de MATLAB. Segn el Lema 7.1 debemos poner u v Ahora Por lo tanto v Entonces u1 As Qu1 Entonces

 }x}2ei e1 x c

y u

v }v}2 .

}x}2 

9 1 25 1  6 y x1
4

 3.

v  p6, 0, 0, 0q p3, 1, 5, 1q  p3,9, 1,1, 5,5, 1q11v2 p q  1 p3, 1, 5, 1q 6


y v2

 c 1 p9, 1, 5, 1q.
116 5 {6 1{6 5{18 1{180 . 0 7{18 5{18) 5{18 17{18
(

at em at

1{2 1{6 " 1{6 17{18  pI4 2u1uq  " 5{6 5{18 1 ! 1{6 1{18

ic a

6 "00 Qu1 x  " 0 . !0) 0

De la misma forma

ww

w.

1 .c

om
(

Qu2 Y Qu2 x  6e1 .

1{2 1{6 5{6 1{6 "1{6 53{54 5{54 1{540  pI4 2u2uq  "5{6 5{54 29{54 5{540 . 2 ! ) 1{6 1{54 5{54 53{54

Ahora podemos describir el proceso de triangularizacin de Householder. La induco cin del siguiente teorema lo pone claramente de maniesto. o

Teorema 7.3 Sea A Cmn y m n. Existen vectores unitarios u1 , . . . , un tales que para i  1, . . . , n, ui Cmi1 y si Qui  Imi1 2ui u y i Qi entonces
m m

Ii1 0 0 Qui

&

Cmm

superior cuyos elementos diagonales son nmeros reales. u

siendo D C una matriz diagonal unitaria y R Cmn una matriz triangular

Qn . . . Q1 A  DR

Demostracin.- Procederemos por induccin sobre n. Si n  1 entonces A Cm1 . o o Si A  0 escogemos cualquier vector unitario u Cm1 y ponemos D  Im y R  0 Cm1 . Claramente, Qu A  DR. Si A $ 0, por el Lema 7.1 existe u1 Cm1 , unitario, tal que Qu1 A  }A}2 ei e1 (con se quiere decir que se puede elegir u1 para que Qu1 A  }A}2 ei e1 y se puede elegir u1 para que Qu1 A  }A}2 ei e1 . Arrastraremos esta notacin), siendo o el argumento de la primera componente de A. Entonces

at em at

Qu1 A  DR

ic a

1 .c
xT B
&

om

con D

Supongamos el teorema verdadero para matrices hasta con n 1 columnas y sea  $ A Cmn . Escribamos A  a1 A1 . Por el primer paso de la induccin, existe o u1 Cm1 , unitario, tal que Qu1 a1  }a1 }2 ei e1 . As

ww

 Diagpei , Im1q
w.

" 0 " y R" . ! . . 0

}A}2

( 0 0 0. )

M
1

}a1}2ei Qu A  0

con x Cpn1q1 y B Cpm1qpn1q . Aplicamos la hiptesis de induccin a B. o o Existen vectores unitarios u2 , . . . , un tales que para i  2, . . . , n, ui Cpmi1q1 y si Qui  Imi1 2ui u y i  & Ii2 0 Qi  0 Qui

(Q2

 Qu ) entonces
2

siendo D Cpm1qpm1q una matriz diagonal unitaria y R Cpm1qpn1q una matriz triangular superior cuyos elementos diagonales son nmeros reales. Sea Q1  Qu1 y u Qi Entonces

Qn . . . Q2 C

 DR,

1 0 0 Qi

&

Cmm,


i  2, . . . , n. xT . DR xT R
& &

}a1}2ei Qn . . . Q2 Q1 A  0
D  Diagpe , Dq,
i

Poniendo

}a1}2 R 0
om

obtenemos el resultado deseado. Observaciones 7.4 1. Las matrices de la forma Qu  In 2uu , con u Cn1 unitario, se llaman matrices de Householder o transformaciones de Householder o reexiones de Householder, por ser Householder quien puso de maniesto su inters en el clculo numrico. Estas matrices tienen algunas propiedades e a e importantes:
w.

Q u

(ii) Son unitarias:

(iii)

 pIn 2uuqpIn 2uuq  In 4uu 4uuuu  In donde hemos utilizado que u u  1 porque u es unitario. De las dos propiedades anteriores se deduce que Q1  Q  Qu . Es u u
decir, la inversa de una matriz de Householder es ella misma.

Qu Q u

2. Para que una matriz D Cmm sea diagonal y unitaria debe ser de la forma D  Diagpei1 , . . . , eim q. Por lo tanto, si A Rmn es real en el Teorema 7.3, debemos concluir que D  Im y que las matrices Qui y R son reales. Es decir, en el caso real las matrices de Householder son ortogonales.

ww

(i) Son matrices herm ticas (simtricas en el caso real). En efecto, e

 pIn 2uuq  In 2uu  In 2uu  Qu

at em at

ic a

1 .c

3. En el Teorema 7.3 no se ha jado el signo de los elementos diagonales de la matriz R. Ello es debido a que dos elecciones de vectores ui es posible. Es decir, es posible elegir tanto vi  }ai }2 ei e1 ai como vi  }ai }2 ei e1 ai . Para ambas elecciones, deniendo ui  vi {}vi }2 , las matrices Qui  I 2ui u i permiten llevar la matriz A a forma triangular. El signo de los elementos diagonales depende de la eleccin realizada. Ahora bien, esta eleccin no es o o inocua desde el punto de vista del clculo numrico. El siguiente ejemplo, hecho a e con MATLAB, lo pone de maniesto: >> A=[2 3; 10^(-7) 4] A = 2.000000000000000 0.000000100000000

3.000000000000000 4.000000000000000

>> u1=v1/norm(v1), u2=v2/norm(v2) u1 = 0.000000022204460 -1.000000000000000 u2 = -1.000000000000000 -0.000000025000000 >> Q1=eye(2)-2*u1*u1, Q2=eye(2)-2*u2*u2 Q1 = 0.999999999999999 0.000000044408921 0.000000044408921 -0.999999999999999 Q2 = -0.999999999999999 -0.000000050000000 -0.000000050000000 0.999999999999999
ww w.

at em at

>> v1=norm(A(:,1))*[1;0]-A(:,1), v2=-norm(A(:,1))*[1;0]-A(:,1) v1 = 1.0e-07 * 0.000000022204460 -1.000000000000000 v2 = -4.000000000000002 -0.000000100000000

ic a

1 .c

om

>> Q1*Q1, Q2*Q2 ans = 1.000000000000000 -0.000000000000000 ans = 1.000000000000001 0.000000000000000 >> R1=Q1*A, R2=Q2*A R1 = 2.000000000000002 -0.000000011182158 R2 = -2.000000000000003 -0.000000000000000

-0.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000

3.000000177635681 -3.999999866773233

Este ejemplo no es especialmente rebuscado, sucede muy a menudo. Si los vector x Rm1 y }x}2 e1 son casi iguales (i.e., x1 }x}2 , x2 , x3 ,. . . , xm son casi cero), al hacer la diferencia

ww

La primera columna, a1 , de A est casi en la direccin de e1  p1, 0q. Si a o elegimos v1  }a1 }2 e1 a1 la matriz Q1 es ortogonal pero el elemento de la posicin p2, 1q de R1  Q1 A es del orden de 108 , un orden ms que el elemento o a p2, 1q de A. Sin embargo, si elegimos v2  }a1}2e1 a1 entonces Q2 es un poco menos ortogonal que Q1 , pero R2  Q2 A es perfectamente triangular (hasta la precisin con la que trabajamos 1016 ). o
w.

at em at

ic a

1 .c
v

om

-3.000000199999997 3.999999849999995

 }x}e1 x  " !

}x}2 x1 " x 0 2 " 0


. . . xm
0 )

tenemos que hacer la resta }x}2 x1 de dos cantidades casi iguales. Este problema, tal y como se ve en los problemas del Cap tulo 4, est mal condicionado a y los errores de redondeo pueden dar lugar a clculos inexactos. Esto no sucede a

si elegimos v

 }x}e1 x  " !

}x}2 x1 " x2 0 " 0


. . . xm
0 )

porque entonces lo que tenemos que hacer es sumar |x}2 x1 , y la suma es un problema bien condicionado De la misma forma si x y }x}2e1 x.

}x}2e1 son casi iguales y debemos elegir v 

En conclusin, la eleccin apropiada para v es o o

v que es la eleccin habitual. o


ww

 signpx1q}x}2ei e1 x,

u 4. Teniendo en cuenta que Q1  Qu y que, segn el Teorema 7.3 para cada u mn AC existen matrices de Householder Qui , i  1, . . . , n tales que Qun . . . Qu1 A  DR, tenemos que A  Qu1 . . . Qun DR. A  QR es una factorizacin QR de A. Esta es una factorizacin QR completa; para o o obtener una factorizacin reducida basta suprimir de Q las ultimas m n o columnas y de R sus ultima m n las (que son las cero).

Si ponemos Q  Qu1 . . . Qun D, resulta que

w.

at em at

debe observar que MATLAB no considera el caso en que x1 pueda ser cero y hay que denirlo expl citamente. Debe observarse tambin que puesto que e se puede, igualmente, elegir Qu  I 2uu

ic a

1 .c

 signpx1q}x}2ei e1 x donde signpx1 q es el signo de x1 ; es decir, signpx1 q  1 si x1 0 y signpx1 q  1 si x1 0. Y para ser completamente exahustivos en este punto debemos considerar el caso en que x1  0. En este caso se dene signpx1 q  1. Se
v
om

5. Vamos a hacer expl cito el proceso constructivo de factorizacin QR que est detr o a a de la induccin en el Teorema 7.3. El objetivo es formular un algoritmo que o produzca una factorizacin QR de una matriz arbitraria A Rmn . Por ello, o nos centraremos en el caso real. Supongamos A Rmn dada. El Teorema 7.3 nos dice que existen vectores unitarios u1 , u2 ,. . . , un , ui Rmi1 tales que si Qui  Imi1 2ui u y Qi  DiagpIi1 , Qui q entonces i
"

r11

" Qi1 . . . Q1 A  " 0 ! 0

... 0 0

ri1 i1

Ai

( 0 0 0 )

Como Qi

 DiagpIi1Qu q
i

1 .c

" Qi Qi1 . . . Q1 A  " 0 ! 0

om

"

r11

..

ic a

0 0

ri1i1

Qui Ai

( 0 0 0 )

Es decir la accin de Qi sobre la matriz obtenida hasta el paso i 1 slo afecta o o a la submatriz Ai . Y
w.

Qui Ai
ww

Esta es la operacin que tenemos que realizar en cada paso de el proceso o iterativo sobre A. Algo similar sucede con la matriz Q. Recordemos que Q r ponemos Qi  Q1 Q2 qi , i  1, . . . n tenemos que
r r Qi  Qi1 

at em at

 pImi1 2uiuqAi  Ai 2uiuAi. i i  Q1Q2 Qn. Si

Ii1 0 . 0 Qui

&

Por lo tanto, en el paso i slo quedan afectadas las m i ultimas columnas de o r Qi. As pues
r Qi p:, i : mqQui r r  Qi1p:, i : mq 2Qi1p:, i : mquiu. i

Algoritmo QR de Householder (Caso real) Dada A Rmn R  A, Q  Im for k  1 to n x  Rrpk, . . . , mq|pk qs u  signpx1 q}x}2 e1 x u u }u}2 Rrpk, . . . , mq|pk, . . . , nqs

Rrpk, . . . , mq|pk, . . . , nqs 2uu Rrpk, . . . , mq|pk, . . . , nqs Qp:, k : mq  Qp:, k : mq 2Qp:, k : mquu end for

Una observacin nal: El algoritmo QR de Householder, en el caso real, devuelve o una matriz triangular superior R cuyos elementos diagonales son nmeros reales pero u que pueden ser positivos o negativos. Los algoritmos de GramSchmidt devuelven matrices R con nmeros reales positivos en la diagonal. Se puede conseguir que u el algoritmo de Householder tambin proporcione matrices R con nmeros reales e u positivos (o negativos) en la diagonal. Para ello, si el elemento en la posicin pk, k q o es, digamos, negativo, multiplicamos la k-sima la de R por 1 y tambin la ke e sima columna de Q por 1. Es decir, si Ek  Diagp1, . . . , 1, . . . , 1q (1 en la e k-sima posicin) entonces A  QEk Ek R. Como Ek es unitaria, tambin lo es QEk . e o e Y tambin Ek R es triangular superior. En el algoritmo bastar aadir las siguientes e a n l neas de cdigo justo antes de nalizar el bucle for: o
ww w.

if Rpk, k q 0 Rpk, k : nq  Rpk, k : nq Qp:, k q  Qp:, k q end if

at em at

ic a

La salida de este algoritmo debe ser: una matriz ortogonal Q y una matriz triangular superior R tales que A  QR. Se trata, como ya se ha dicho, de una factorizacin o QR completa de A. Ya se ha indicado ms arriba como conseguir una factorizacin a o reducida a partir de sta. e

1 .c

om

7.3.

El problema de m nimos cuadrados

El problema del ajuste de datos; es decir, descubrir una funcin matemtica que o a pueda explicar de la mejor forma posible el comportamiento de algn mecanismo o u grupo de seres u objetos que puede ser medido, y del cual conocemos algunos datos (con sus posibles errores de medicin), es un problema clsico y ha supuesto un reto o a para la comunidad matemtica desde su planteamiento por Gauss y Legendre hacia a 1800. En lenguaje de lgebra lineal consiste en encontrar la solucin de un sistema lineal a o mn Ax  b siendo A C con m n. En A y b se recogen todos los datos del experimento que se quieren ajustar. Enseguida veremos algunos ejemplos. Sabemos que el sistema tiene solucin si y slo si b Im A, condicin que dif o o o cilmente se cumple si m es mucho mayor que n. Si m n diremos que el sistema Ax  b est sobredeterminado; y si no existe ningn x Cn1 tal que Ax  b lo que se a u puede intentar es buscar un x de forma que el vector r

Problema de m nimos cuadrados: Sea F  R o C. Dada una matriz A Fmn y un vector b Fm ,(m n) encontrar x Cn1 para que }Ax b}2 sea mnimo. La eleccin de la norma eucl o dea se puede justicar desde varios puntos de vista: histrico, geomtrico, estad o e stico, . . . ; pero sobre todo porque es la norma habitual, conduce a los algoritmos ms sencillos y as como todas las normas son funciones a continuas de los vectores, la norma eucl dea es, adems, diferenciable. Como, por a aadidura, la funcin }Ax b}2 alcanza su mximo absoluto en un mximo local, n o a a este mximo puede calcularse igualando a cero las derivadas parciales de dicha funa cin. Este proceso conduce a lo que se llaman las ecuaciones normales del problema o de m nimos cuadrados. Estas ecuaciones nos las encontraremos ms adelante procea dentes de un contexto completamente diferente.

ww

w.

que se llama residuo o vector residual, sea lo ms pequeo posible. Lo grande a n o pequeo que sea r lo mediremos mediante una norma. El problema de m n nimos n 1 cuadrados consiste en encontrar x C para que el vector residuo tenga la menor norma eucl dea posible. Su formulacin precisa ser la siguiente: o a

at em at

ic a

 Ax b Cm,

1 .c

om

Ejemplo 7.5 El ejemplo ms tpico de ajuste de datos por mnimos cuadrados es a el clculo del polinomio de interpolacin: dados m puntos del plano pxi , yi q, a o i  1, . . . , m, de forma que xi $ xj para i $ j, se trata de encontrar un polinomio de grado a lo ms m, ppxq  a0 a1 x am1 xm1 , que pase por los n puntos. a Se trata, entonces, de encontrar los coecientes a0 , a1 ,. . . , am1 , para que ppxi q  yi , Esto equivale a resolver el sistema lineal
m a0 a1 xi am1 xi 1

i  1, . . . , m.

 yi ,

i  1, . . . , m
(

(7.1)

cuya matriz de coecientes es


m 1 x1 x2 x1 1 1 m  j 1 $ "1 x2 x2 x2 1 0 2 0 " A  xi  " .. .. .. . . . .. 0 ) !. . . . 2 m 1 1 xm xm xm

det A 
w.

Por consiguiente A es invertible y el sistema (7.1) tiene una unica solucin. En o la Figura 7.3 se muestra la grca del polinomio de interpolacin que pasa por a o los 11 puntos pi, 0q con i  5, 4, . . . , 1, 0, 1, . . . , 4, 5. Se trata de un polinomio de grado 10. A su derecha se ha escrito el cdigo de MATLAB que obtiene los o coecientes del polinomio de interpolacin: c  Azb y que da la grca: plot(t, o a polyval(p,t),a,b,r*,markersize,10);. El comando polyval(p,t) devuelve un vector: el valor del polinomio p en las componentes del vector t. Ntese el o uso de las sentencias fliplr y flipud para obtener la matriz de los coecientes del sistema y los coecientes del polinomio de interpolacin en la forma apropiao da. La sentencia zeroaxes hace que los ejes cartesianos se dibujen en la forma que se acostumbra a utilizar en la pizarra: dos l neas perpendiculares que se cortan en p0, 0q. Indudablemente el polinomio de interpolacin se ajusta perfectamente a los datos, o pero a menudo stos proceden de experimentos y lo que se pretende es buscar una e
ww

at em at

i j

Esta es una matriz de Vandermonde cuyo determinante es

pxi xj q.

ic a

1 .c

om

5 4 3 2 1 6 4 2 1 2 3 2 4 6

Figura 7.3: a=-5:5; A=fliplr(vander(a)); b=[0 0 0 1 1 1 0 0 0 0 0]; c=Azb; p=flipud(c); t=linspace(-5.05,5.05); plot(t, polyval(p,t),a,b,r*,...; markersize,10); zeroaxes

Siguiendo los mismos pasos que en el ejemplo anterior lo que buscamos es un polinomio de grado a lo ms n 1 m 1 a ppxq  a0 a1 x an1 xn1 tal que }ppxq y }2 sea m nimo. Aqu ppxq es el vector cuya i-sima componente es , e ppxi q y el vector y es el que tiene por i-sima componente yi . e Ahora bien, si
n 1 x1 x2 x1 1 1 n1 0 2 "1 x x2 x2 0 2 " A  ". . 0 . .. . . ) !. .. . . . . . 2 n1 1 xm xm xm

ww

w.

Ejemplo 7.6 (Ajuste por m nimos cuadrados) Con los mismos datos del ejemplo anterior calcular el polinomio de grado 7 que mejor se ajusta a los datos en el sentido de los mnimos cuadrados.

at em at

ic a

curva que interprete los datos obtenidos. Como las mediciones se realizan en momentos puntuales, tal grca deber reejar, salvo que se tengan motivos para pensar a a lo contrario, una comportamiento suave entre dos datos consecutivos, y no la uctuacin que muestra el polinomio de interpolacin de nuestro ejemplo. Quiz un o o a polinomio de menor grado pueda mostrar un mejor comportamiento. Tal polinomio no pasar por algunos de los puntos. Pero la medicin de todo proceso real conlleva a o errores que podr explicar tal fenmeno. an o

1 .c

om

es la matriz de Vandermonde truncada y c  pa0 , a1 , . . . , an1 q es el vector de los coecientes de p tenemos que ppxq  Ac. As que se trata de hallar un vector c en el que se alcance m n }Ax y }2 . n
x C

En la Figura 7.4 se presenta la grca producida por MATLAB del polinomio de a grado 7 que mejor se ajusta a los datos pai , bi q en el sentido de los m nimos cuadrados. El problema de m nimos cuadrados correspondiente se calcula en el interior de la sentencia ployfit. El resto del cdigo de MATLAB que se muestra es el mismo que o en el apartado anterior.
5 4 3 2 1 6 4 2 1 2 3 2 4 6

Una observacin nal antes de abordar la solucin del problema de m o o nimos cuadrados y los algoritmos correspondientes. Una variante del problema de encontrar el polinomio de grado a lo ms n 1 que mejor se ajusta a una nube de m puntos, a pxi, yiq, distribu en el plano es el de encontrar la funcin dos o pxq  c1 1 pxq c2 2 pxq cn n pxq, que mejor se ajusta a una de tales nubes de puntos. Aqu 1 , 2 ,. . . , n son funciones dadas, o de las que uno sospecha que una combinacin lineal de ellas puede ajustarse o bien a los datos. En este caso el problema se reduce a calcular el vector c donde se alcanza el m nimo: m }Ax y }2 , n siendo A Fmn la matriz cuyo elemento en la posicin pi, j q es j pxi q y siendo y el o vector cuyas componetes son y1 , . . . , ym .
x C

ww

w.

at em at

Figura 7.4: a=-5:5 A=fliplr(vander(a)) b=[0 0 0 1 1 1 0 0 0 0 0]; p=polyfit(a,b,7); t=linspace(-5.3,5.3); plot(t, polyval(p,t),a,b,r*,... markersize,10); axis([-6 6 -3 5]); zeroaxes

ic a

1 .c

om

r=Ax b
0

Im A

Ax0

Figura 7.5: La solucin del problema de m o nimos cuadrados

7.3.1.

La solucin del problema de m o nimos cuadrados


om

Teorema 7.7 Sean A Fmn , F  R o C, y b Fm1 , m n. Sea PA la proyeccin o ortogonal sobre Im A. Entonces, Ax0 cumple

ww

w.

at em at

En esta seccin demostramos el resultado que nos da la solucin del problema de o o m nimos cuadrados. Geomtricamente la situacin es muy simple (vase la Figura e o e 7.5): el vector de Im A cuya distancia a b es m nima es la proyeccin ortogonal de b o sobre Im A. Y la distancia m nima es la norma del residuo. Esto es lo que nos dice el siguiente Teorema.

}Ax0 b}2  m }Ax b}2 n xF


n

si y slo si se cumple cualquiera de las siguientes condiciones que son equivalentes: o (i) Ax0 (ii) (iii)

 PAb. b Ax0 pIm Aqu . A Ax0  A b.

Adems, la solucin x0 es unica si y slo si rang A  n. a o o En la demostracin se usa el teorema de Pitgoras: Si x, y Cn son ortogonales o a 2 2 2 entonces }x y }2  }x}2 }y }2 . En efecto, }x y }2  px y q px y q  x x y 2

ic a

1 .c

x y y x  x x y y x e y son ortogonales.

 }x}2 }y}2, donde hemos usado que xy  yx  0 porque 2 2

Demostracin.- Todo se basa en la demostracin de la idea geomtrica expuesta o o e ms arriba: a m n }Ax b}2  }PA b b}2 . n
x C

Vemaos que esto es as En efecto .

De aqu deducimos que }Ax0 PA b}2 PA b  Ax0


ww w.

Slo queda demostrar la equivalencia entre las tres condiciones. Por una parte o

b Ax0  b PAb  pI PAqb pIm Aqu. Y si b Ax0 pIm Aqu entonces PA pb Ax0 q  0 de modo que PA b  PA Ax0 . Pero como Ax0 Im A tenemos que PA Ax0  Ax0 . Esto demuestra la equivalencia entre
las condiciones (i) y (ii). Finalmente, como pIm Aqu  Ker A tenemos que b Ax0 A pb Ax0 q  0; i. e., A Ax0  A b.

at em at

}PAb b}2  xC }Ax b}2  }Ax0 b}2  }Ax0 PAb}2 }PAb b}2. m n 2 2 2 2 2  0; es decir, Ax0  PAb.

ic a

Ahora, si Ax0 es el vector que hace m nima la distancia de Ax a b entonces

1 .c

}Ax b}2  }Ax PAb PAb b}2  }Ax PAb}2 }PAb b}2 2 2 2 2 porque Ax PA b Im A y PA b b  pI PA qb pImAqu y aplicando el Teorema de Pitgoras. Por lo tanto, para todo x Cn a }Ax b}2 }PAb b}2. Pero como PA b Im A, existe x1 Cn tal que Ax1  PA b; i.e., }Ax1 b}2  }PA bb}2 . Por lo tanto m }Ax b}2  }PA b b}2 , tal y como desebamos mostrar. n a xC
n

om

pIm Aqu si y slo si o

Falta demostrar que la solucin del problema de m o nimos cuadrados es unica si y A es invertible. Una forma slo si rang A  n. Ahora bien, rang A  n si y slo si A o o de ver esto es, por ejemplo, la siguiente: rang A  n si y slo si n pAq $ 0. Como o los valores singulares de A son las ra cuadradas positivas de los valores propios ces A, n $ 0 si y slo si todos los valores propios de A A son distintos de cero; de A o

i.e. detpA Aq $ 0. Pero A A es invertible si y slo si el sistema A Ax o solucin unica. o

 Ab tiene

Este teorema nos da las claves para calcular un vector x0 que solucione el problema de m nimos cuadrados. En primer lugar, el sistema A Ax  A b recibe el nombre de ecuaciones normales del problema de m nimos cuadrados. Es el sistema que aparece al calcular el m nimo local de la funcin o f pxq  }Ax b}2 . Es decir, el sistema

da lugar al sistema A Ax  A b. Como la funcin f es convexa, alcanza su m o nimo absoluto en un m nimo local. Para resolver el sistema A Ax  A b numricamente, tendremos en cuenta la ese A: es herm tructura especial de la matriz A tica (simtrica en el caso real). Como e toda matriz herm tica, admite una factorizacin de Cholesky (en MATLAB el coo mando chol(A) devuelve la factorizacin de Cholesky de A si sta es herm o e tica). Recordemos que una factorizacin de Cholesky de una matriz hem o tica, A, es una factorizacin de la forma o A  LL siendo L una matriz triangular superior. Esta factorizacin es especialmente aproo piada para resolver sistemas lineales mediante sustitucin hacia adelante y hacia o atrs. a Una forma especialmente simple de obtener una factorizacin de Cholesky en nuestro o caso; i.e., para la matriz A A es utilizando una factorizacin QR de A. Concretao mente, si A  QR es una factorizacin reducida de A, entonces o A A  R Q QR  R R  LL , donde hemos utilizado que Q Q  In , por tener Q columnas ortonormales, y hemos puesto L  R . esto nos muestra que si A es de rango completo, la factorizacin de o A es unica. Cholesky de A Teniendo en cuenta todo esto podemos dar un primer algoritmo para la resolucin o del problema de m nimos cuadrados.
ww w.

ff pxq  0, f xi

i  1, . . . , n

at em at

ic a

1 .c

om

Algoritmo m nimos cuadrados via ecuaciones normales Dada A Fmn y dado b Fm 1. Frmense las matrices A A y A b. o 2. Calclese la factorizacin de Cholesky de A A  LL , (chol(A)) u o 3. Resulvase Ly e 4.

 Ab (z o sustitucin hacia adelante) o Resulvase L x  y.(z o sustitucin hacia atrs) e o a

Algoritmo m nimos cuadrados via factorizacin QR o Dada A Fmn y dado b Fm 1. Hllese la factorizacin QR, reducida, de A a o 2. Calclese Q b. u 3. Resulvase Rx  Q b (z o sustitucin hacia atrs) e o a
ww w.

Estos dos algoritmos pueden presentar problemas si la matriz A es singular. En este caso, ni la factorizacin de Cholesky, ni la QR tienen por qu ser unicas. Lo mismo o e podemos decir si A est prxima a ser singular (mal condicioinada); i.e., 2 pAq es a o muy grande. Si la situacin es sta, tenemos una alternativa: los valores singulares. o e

at em at

En el segundo algoritmo se trata de conseguir la solucin, x0 , como solucin del o o sistema Ax0  PA b. Para ello, debemos conseguir PA , que es la proyeccin ortogonal o sobre Im A. Recordemos que PA  QQ , donde Q es una matriz cuyas columnas son una base ortonormal de Im A. Recordemos que si A  QR es una factorizacin o QR de A entonces las columnas de Q son una base ortonormal de Im A y, por consiguiente, QQ es la proyeccin ortogonal sobre Im A. o

ic a

1 .c

om

7.3.2.

El problema de m nimos cuadrados y la inversa MoorePenrose

La inversa generalizada de Moore-Penrose se puede denir como la matriz que soluciona el problema de m nimos cuadrados. Es decir, de la misma que la solucin del o 1 b siempre que A sea invertible, la solucin del problema sistema Ax  b es x  A o de m nimos cuadrados es x0  AX b. Veremos que esto es, en efcto as y que este , hecho nos proporciona un mtodo algoritmo alternativo para resolver el problema e de m nimos cuadrados. Recordemos que x0 es solucin del problema se m o nimos cuadrados si y slo si es o solucin del sistema Ax  PA b, siendo PA la proyeccin ortogonal sobre Im A. Reo o cordemos tambin que si r  rang A y A  U V es una descomposicin completa e o de A en valores singulares, entonces las r primeras columnas de U son una base ortonormal de Im A. (Proposicin 3.10). Sea Ur la submatriz de U fromada por sus r o primeras columnas. Como son una base ortonormal de Im A, la matriz Ur Ur es la . As pues, si ponemos proyeccin ortogonal sobre Im A. Es decir, PA  Ur Ur o

1 .c


entonces el sistema Ax  PA b es equivalente a


 $

Y como r es diagonal, la solucin general de este sistema es o c1 {1 "c2 {2 0 " 0 " . 0 . " . 0
" y r 1 0 " . 0 ! . ) . (

ww

Pongamos c  Ur b y y

 Vrx.Si r  Diagp1, . . . , r q entonces  $ Ax  PA b r 0 y  c.

w.

at em at
y

Ur r 0 V x  Ur Ur b.

ic a

r 0 0 0

 "cr {r 0 " 0 " 0


yn

con yr1 ,. . . , yn , nmeros arbitrarios. Si el rango de A es completo, n, la solucin del u o sistema queda completamente determinada; cosa que ya hab amos demostrado. Pero

om

&

si rang A n entonces hay innitas soluciones del problema de m nimos cuadrados. Entre ellas, se suele escoger la solucin de norma m o nima. Y sta es la que se consigue e x, tenemos que x  V y. haciendo yr1   yn  0. Finalmente, como y  V Adems, }x}2  }V y }2  }y }2 . En denitiva, el vector x0 de norma m a nima que soluciona el problema de m nimos cuadrados es: c1 {1 "c2 {2 0 " 0 " . 0 . 0 " .
( (

c1 {1 "c { 0 " 0 " 2 20 x0  V y0  V "cr {r 0  Vr " . 0 , " 0 ! . ) . " 0 0 " . 0 cr {r ! . ) . 0 donde Vr es la submatriz de V formada por sus r primeras columnas. Ahora vamos a volver hacia atrs.a n de recuperar la solucin del problema en a o trminos de los datos originales: A y b. Recordemos antes de nada que con las e notaciones introducidas A  Ur r Vr es una descomposicin reducida de A en valores o singulares. En consecuencia

ww

Ahora bien,

w.

es la inversa generalizada o Moore-Penrose de A. c1 {1 "c { 0 " 2 20 x0  Vr " . 0  Vr 1 c  Vr 1 Ur b, r r . ) ! . cr {r


(

porque c  Ur b. As pues, el vector de norma m nima que soluciona el problema de m nimos cuadrados es
x0 tal y como hab amos anunciado. Este proceso, adems, nos proporciona un algoritmo para calcular la solucin del a o problema de m nimos cuadrados en el caso ms general. a

at em at
AX

 Vr 1Ur r

 Vr 1Urb  AXb r

ic a

1 .c

om

Algoritmo m nimos cuadrados via valores singulares Dada A Fmn y dado b Fm 1. Calcular la descomposicin reducida de A en valores singulares: o , U Fmr , V Fnr y  Diagp1 , . . . , r q. A  U V 2. Calcular c  U b. 3. Calcular x  V 1 c. Este es el vector de menor norma que soluciona el problema de m nimos cuadrados.

Cul de los tres algoritmos que hemos visto es el ms apropiado?. Depende mucho a a del problema concreto que tengamos entre manos. Tal y como veremos en la siguiente leccin, los dos ultimos algoritmos (factorizacin QR y valores singulares) son ms o o a estables que el primero (factorizacin de Cholesky). Y entre los dos primeros, el de o valores singulares es ms estable para matrices mal condicionadas o singulares. Sin a embargo, la factorizacin de Cholesky precisa de menos operaciones que la factorio zacin QR, y sta menos operaciones que el clculo de los valores singulares. Si la o e a matriz es de rango completo y est bien condicionada, el algoritmo basado en las a ecuaciones normales y la factorizacin de Cholesky ser el preferible. Si la matriz no o a est muy bien condicionada, el basado en la factorizacin QR producir resultados a o a ms ables. Y si la matriz est muy mal condicionada o es claramente singular, el a a algoritmo basado en los valores singulares es el que se deber adoptar. a
ww w.

at em at

ic a

1 .c

om

ww w.

M at em at ic a 1 .c
om

Potrebbero piacerti anche