Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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 tenemos que
Diag
1 , 1, . . . , 1 r11
q 1 a2
r12 a1 r11
an .
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 x x x0 0 x x0 0 x x) x x Q1 A
Q
2
Q
3
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.
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
1 .c
om
v u
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+
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
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
ic a
1 .c
om
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.
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
De la misma forma
ww
w.
1 .c
om
(
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
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.
}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
(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
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
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
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 " !
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 " !
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.
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).
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
... 0 0
ri1 i1
Ai
( 0 0 0 )
Como Qi
DiagpIi1Qu q
i
1 .c
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
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.
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 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)
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
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
7.3.1.
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.
si y slo si se cumple cualquiera de las siguientes condiciones que son equivalentes: o (i) Ax0 (ii) (iii)
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.
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
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
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
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
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.
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.
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
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
w.
at em at
y
Ur r 0 V x Ur Ur b.
ic a
r 0 0 0
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.
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