Cap´ıtulo 6 Proyecciones y bases ortonormales

22
Cap´ ıtulo 6 Proyecciones y bases ortonormales 6.1. Introducci´ on Este es el primero de los dos cap´ ıtulos dedicados a la factorizaci´ on QR y a la soluci´on del problema de m´ ınimos cuadrados. La factorizaci´on QR es una ma- nera matricial de presentar el ya conocido procedimiento de ortonormalizaci´on de Gram-Schmidt. No perseguimos volver a presentar este procedimiento sino mostrar que hay varias formas de conseguir bases ortonormales que producen algoritmos con distintas propiedades. En este cap´ ıtulo nos centraremos en algoritmos ligados al m´ etodo de Gram-Schmidt y en el siguiente estudiaremos las reflexiones de Hou- seholder. Veremos que los principios que fundamentan ambos tipos de algoritmos son completamente diferentes. Debemos recordar que, b´asicamente, el m´ etodo de ortonormalizaci´on de Gram- Schmidt consiste en lo siguiente: Dado un subespacio del que se conoce una base 131

Transcript of Cap´ıtulo 6 Proyecciones y bases ortonormales

Page 1: Cap´ıtulo 6 Proyecciones y bases ortonormales

Capıtulo 6

Proyecciones y basesortonormales

6.1. Introduccion

Este es el primero de los dos capıtulos dedicados a la factorizacion QR y ala solucion del problema de mınimos cuadrados. La factorizacion QR es una ma-nera matricial de presentar el ya conocido procedimiento de ortonormalizacion deGram-Schmidt. No perseguimos volver a presentar este procedimiento sino mostrarque hay varias formas de conseguir bases ortonormales que producen algoritmoscon distintas propiedades. En este capıtulo nos centraremos en algoritmos ligadosal metodo de Gram-Schmidt y en el siguiente estudiaremos las reflexiones de Hou-seholder. Veremos que los principios que fundamentan ambos tipos de algoritmosson completamente diferentes.

Debemos recordar que, basicamente, el metodo de ortonormalizacion de Gram-Schmidt consiste en lo siguiente: Dado un subespacio del que se conoce una base

131

Page 2: Cap´ıtulo 6 Proyecciones y bases ortonormales

132 Proyecciones y bases ortonormales

ortonormal y un vector que no esta en el subespacio, se proyecta este sobre el or-togonal de aquel a fin de conseguir una base ortonormal para un subespacio dedimension una unidad mayor. Procediendo recursivamente desde un vector dado sepuede conseguir una base ortonormal de todo el espacio. Todo este procedimientoesta basado en el concepto de proyeccion ortogonal que repasamos brevemente acontinuacion, para volver luego sobre dos algoritmos diferentes ligados, ambos, almetodo de Gram-Schmidt.

6.2. Proyecciones

Comenzamos definiendo lo que entendemos por proyeccion:

Definicion 6.1 Una matriz P P Cnˆn se dice que es una proyeccion si es unamatriz idempotente. Es decir, si P 2 “ P .

Algunas consecuencias inmediatas de esta definicion son las siguientes

Proposicion 6.2 Si P P Cnˆn es una proyeccion tambien lo es In ´ P . A esta sele llama proyeccion complemetaria de P y cumple que KerP “ ImpIn ´ P q yKerpIn ´ P q “ ImP .

Demostracion.- En primer lugar pIn ´ P q2 “ In ´ 2P ` P 2 “ In ´ P porqueP 2 “ P . Ası pues, In ´ P es una proyeccion.

Ademas, y P ImpIn´P q ô pIn´P qx “ y para algun x. Y de aquı, Py “ P pIn´P qx “ pP ´ P 2qx “ pP ´ P qx “ 0, lo que indica que y P KerP . Recıprocamente,y P KerP ñ Py “ 0 ñ pIn ´ P qy “ y ñ y P ImpIn ´ P q.

La identidad KerpIn´P q “ ImP se demuestra cambiando los papeles de In´Py P .

Proposicion 6.3 Si P P Cnˆn es una proyeccion entonces ImP ‘KerP “ Cn

Page 3: Cap´ıtulo 6 Proyecciones y bases ortonormales

6.3 Proyecciones ortogonales 133

Demostracion.- En primer lugar, la suma ImP `KerP es directa porque, deacuerdo con la Proposicion anterior, ImP “ KerpIn´P q y si x P KerpIn´P qXKerPentonces pIn ´ P qx “ 0 y Px “ 0. De aquı, x “ 0.

Por otra parte ImP `KerP Ď Cn. Y si x P Cn es un vector cualquiera entoncesx “ Px` pIn ´ P qx. Pero Px P ImP y pIn ´ P qx P ImpIn ´ P q “ KerP .

Esta simple Proposicion tiene una consecuencia importante: si P es una proyec-cion, esta determina dos subespacios mutuamente suplementarios: ImP y KerP . Elrecıproco tambien es cierto. Si S1 y S2 son subespacios de Cn tales que S1‘S2 “ Cn

entonces hay una proyeccion P tal que S1 “ ImP y S2 “ KerP . En efecto, siendoS1 ‘ S2 “ Cn, cualquier matriz queda completamente determinada por su accionsobre los vectores de S1 y S2. En concreto, si definimos P P Cnˆn como la matrizque cumple

Px “"x si x P S1

0 si x P S2

resulta que en cualquier base de Cn obtenida como reunion de bases de S1 y S2, lamatriz de P , como aplicacion lineal, es

„Ip 00 0

siendo p “ dimS1. En cualquier otra base de Cn, la matriz serıa semejante a esta.Es claro que P es una proyeccion y que ImP “ S1 y KerP “ S2. Es la proyeccionsobre S1 a lo largo de (o paralelamente a) S2. Ası pues

Conclusion: Si P es una proyeccion, proyecta Cn sobre ImP a lo largo deKerP .

6.3. Proyecciones ortogonales

Como su nombre indica las proyecciones ortogonales son las que proyectan a lolargo del ortogonal.

Definicion 6.4 Una proyeccion P P Cnˆn es ortogonal si KerP “ pImP qK.

Page 4: Cap´ıtulo 6 Proyecciones y bases ortonormales

134 Proyecciones y bases ortonormales

Es facil demostrar que para cualquier matriz A P Cmˆn, pImAqK “ KerA˚. Enefecto, x P KerA˚ ô A˚x “ 0 ô x˚A “ 0 ô x˚Ay “ 0 para todo y P Cn ô x K zpara todo z P ImA ô x P pImAqK.

Proposicion 6.5 Una proyeccion P es ortogonal si y solo si P “ P ˚ (i.e., eshermıtica).

Demostracion.- En primer lugar, si P es proyeccion tambien P ˚ lo es. Ahora,si P es una proyeccion ortogonal entonces KerP “ pImP qK “ KerpP ˚q. Tambien secumple que ImP “ ImpP ˚q. Ası es,

pImP ˚qK “ KerpP ˚q˚ “ KerP “ pImP qK,

por definicion de proyeccion ortogonal. Como para cualquier subespacio de Cn,pSKqK “ S, conlcuımos que ImP “ ImP ˚.

Ahora bien, dos aplicaciones lineales que coinciden sobre dos subespacios su-plementarios son la misma. Como Px “ P ˚x “ x para x P ImP “ ImpP ˚q yPx “ P ˚x “ 0 para x P KerP “ KerpP ˚q, tenemos que P “ P ˚.

Resultara mas util la siguiente caracterizacion de las proyecciones ortogonales.

Proposicion 6.6 Una matriz P P Cnˆn de rango r es una proyeccion ortogonal siy solo si existe una matriz Q P Cnˆr, con columnas ortonormales, tal que P “ QQ˚.

Demostracion.- Supongamos primero que P “ QQ˚ para alguna matriz Q PCnˆr con columnas ortonormales. Entonces

P 2 “ QQ˚QQ˚ “ QpQ˚QqQ˚ “ QQ˚,

porque Q˚Q “ Ir por tener Q las columnas ortonormales. Por lo tanto P 2 “ P ; esdecir, P es una proyeccion. Ademas

P ˚ “ pQQ˚q˚ “ pQ˚q˚Q˚ “ QQ˚ “ P.

Ası que, por la Porposicion anterior P es una proyeccion ortogonal.

Page 5: Cap´ıtulo 6 Proyecciones y bases ortonormales

6.3 Proyecciones ortogonales 135

Supongamos ahora que P es una proyeccion ortogonal y sea tq1, . . . , qru una baseortonormal de ImP . Pongamos Q “ “

q1 q2 ¨ ¨ ¨ qr‰. Veamos que P “ QQ˚. Para

ello probaremos que Px “ QQ˚x para todo x P Cnˆn.

Sea x un vector cualquiera de Cn. Como P es una proyeccion Cn “ KerP‘ImP .Por lo tanto existen unos unicos vectores x1 P ImP y x2 P KerP tales que x “x1`x2. Entonces Px “ Px1 “ x1 y Px2 “ 0. Es decir, Px “ x1. Calculemos QQ˚x.

Por una parte

QQ˚x “ Q

»———–

q1xq2x

...qrx

fiffiffiffifl “

rÿ

i“1

pq˚i xqqi. (6.1)

Ahora bien, como qi P ImP y x2 P KerP “ pImP qK

q˚i x “ q˚i x1 ` q˚i x2 “ q˚i x1.

Pero, ImP “ă q1, . . . , qr ą, por lo que x1 “ a1q1 ` ¨ ¨ ¨ ` arqr y qi x1 “ ai. Sustitu-yendo en (6.1)

QQ˚x “rÿ

j“1

aiqi “ x1.

En conclusion Px “ QQ˚x para todo x P Cn y P “ QQ˚.

Observaciones 6.7 1. Si Q tiene columnas ortonormales entonces P “ QQ˚ esla proyeccion ortogonal sobre ImP a lo largo de KerP “ pImP qK “ KerP ˚.Ahora bien, como P “ QQ˚ y Q es de rango completo, ImP “ ImQ yKerP ˚ “ KerQ˚. En conclusion QQ˚ es la proyeccion ortogonal sobre ImQ alo largo de KerQ˚ “ pImQqK.

2. In ´QQ˚ tambien es una proyeccion, la complementaria de QQ˚. Y tambienes ortogonal porque pIn´QQ˚q˚ “ In´QQ˚. Por la Porposicion 6.2, ImpIn´QQ˚q “ KerpQQ˚q “ KerQ˚ “ pImQqK y KerppIn ´ QQ˚q “ ImpQQ˚q “ImQ. Por lo tanto, es la proyeccion ortogonal sobre pImQqK a lo largo deImQ.

3. Nos interesan muy especialmente las proyecciones ortogonales de rango 1. Sonlas de la forma

Pq “ qq˚

Page 6: Cap´ıtulo 6 Proyecciones y bases ortonormales

136 Proyecciones y bases ortonormales

siendo q un vector unitario. Por lo dicho anteriormente, qq˚ es la proyeccionortogonal sobre Im q “ă q ą a lo largo de pIm qqK “ă q ąK.

De la misma forma In´ qq˚ es una proyeccion de rango n´ 1: es la proyeccionortogonal sobre ă q ąK a lo largo de ă q ą.

6.4. El algoritmo clasico de Gram-Schmidt

Recordemos que el metodo de ortonormalizacion de Gram-Schmidt consiste, agrandes rasgos, en lo siguiente: Dado un sistema de vectores a1, . . . , an P Cm, quesupondremos linealmente independientes, se trata de conseguir una base ortonormaltq1, . . . , qnu del subespacio ă a1, . . . , an ą de modo que

ă q1, . . . , qj ą“ă a1, . . . , aj ą, j “ 1, . . . , n.

Para ello se procede de la siguiente forma:

1. q1 “ a1

}a1}22. Para j “ 2, 3, . . ., qj es la proyeccion ortogonal de aj sobre el subespacioă a1, . . . , aj´1 ąK“ă q1, . . . , qj´1 ąK dividido por su norma.

Ahora bien, hemos visto en la Observacion 6.7 que si

Qj´1 ““q1 ¨ ¨ ¨ qj´1

entonces la proyeccion ortogonal sobre ă q1, . . . , qj´1 ąK es Im ´ Qj´1Qj´1. Por lotanto,

vj “ pIm ´Qj´1Q˚j´1qaj

es la proyeccion ortogonal de aj sobre ă q1, . . . , qj´1 ąK, y ası

qj “ vj}vj}2 “

pIm ´Qj´1Qj´1qaj}pIm ´Qj´1Qj´1qaj}2

.

Page 7: Cap´ıtulo 6 Proyecciones y bases ortonormales

6.4 El algoritmo clasico de Gram-Schmidt 137

Dado que esta construccion es inductiva puede implementarse algorıtmicamente.En primer lugar

vj “ pIm´Qj´1Q˚j´1qaj “ aj´Qj´1Q

˚j´1aj “ aj´Qj´1

»———–

q1ajq2aj

...qj´1aj

fiffiffiffifl “ aj´

j´1ÿ

i“1

pq˚i ajqqi.

y

qj “ vj}vj}2 .

Por lo tanto, si ponemosv1 “ a1

rjj “ }vj}2rij “ qi aj

tenemos que para j “ 1, 2, . . . , n

aj “ vj `j´1ři“1

rijqi “

“ }vj}2qj `j´1ři“1

rijqi “

“jři“1

rijqi “

“ “q1 q2 ¨ ¨ ¨ qj

»———–

r1j

r2j...rjj

fiffiffiffifl

Si construımos una matriz con los vectores ai, A “ “a1 a2 ¨ ¨ ¨ an

‰ P Cmˆn,entonces A tiene rango completo y

A “ “a1 a2 ¨ ¨ ¨ an

‰ “ “q1 q2 ¨ ¨ ¨ qj

»———–

r11 r12 ¨ ¨ ¨ r1n

0 r22 ¨ ¨ ¨ r2n...

.... . .

...0 0 ¨ ¨ ¨ rnn

fiffiffiffifl .

Es decir, A “ QR con Q P Cmˆn una matriz con columnas ortonormales y R “rrijs P Cnˆn una matriz triangular superior con rii ą 0. A esta forma de expresar

Page 8: Cap´ıtulo 6 Proyecciones y bases ortonormales

138 Proyecciones y bases ortonormales

A se le llama factorizacion QR reducida de A. Y, tal y como hemos visto, elmetodo de ortonormalizacion de Gram-Scmidt nos proporciona un algoritmo parobtener esta factorizacion:

Algoritmo clasico de Gram-Schmidt

Dada A “ “a1 a2 ¨ ¨ ¨ an

‰ P Fmˆn, m ě n, rangpAq “ n, (F “ R o C)

R=zeros(n,n)Q=Afor j “ 1:n

for i “ 1:j ´ 1rij “ qi ajqj “ qj ´ rijqi

end forrjj “ }qj}2qj “ qj

rjjend for

La salida de este algoritmo debe ser una matriz triangular superior R con rii ą 0y una matriz Q con columnas ortonormales.

6.5. El algoritmo modificado de Gram-Schmidt

Hay otro procedimiento teorico que produce tambien una base ortonormal comola del metodo de Gram-Schmidt. Partimos de la siguiente observacion: Si Q P Cmˆn

tiene columnas ortonormales la proyeccion ortogonal QQ˚ es suma de n proyeccionesortogonales de rango 1. En efecto

QQ˚ “ “q1 q2 ¨ ¨ ¨ qn

»———–

q1

q2...qn

fiffiffiffifl “ q1q

˚1 ` q2q

˚2 ` ¨ ¨ ¨ ` qnqanst.

Page 9: Cap´ıtulo 6 Proyecciones y bases ortonormales

6.5 El algoritmo modificado de Gram-Schmidt 139

Ahora recordemos que en el metodo clasico de Gram-Schmidt cada qj se obtieneproyectando aj sobre ă q1, . . . , qj´1 ąK, y despues normalizando. Es decir,

qj “pIm ´Qj´1Qj´1qaj}pIm ´Qj´1Qj´1qaj}2

.

De acuerdo con lo que acabamos de ver

Im ´Qj´1Q˚j´1 “ Im ´

j´1ÿ

i“1

qiq˚i .

Pero si hacemos el producto

pIm ´ qj´1q˚j´1qpIm ´ qj´2q

˚j´2q ¨ . . . ¨ pIm ´ q1q

˚1 q

y tenemos en cuenta que qi qj “ 0 si i ‰ j, resulta que este producto es

Im ´ qj´1q˚j´1 ´ qj´2q

˚j´2 ´ . . .´ q1q

˚1 “ I ´Qj´1Q

˚j´1.

En definitiva, si ponemos Pi “ Im ´ qiqi entonces

Im ´Qj´1Q˚j´1 “ Pj´1Pj´2 ¨ . . . ¨ P1. (6.2)

¿Cual es la interpretacion geometrica de esta igualdad?. En primer lugar, Im ´Qj´1Qj´1 es la proyeccion ortogonal sobre pImQj´1qK “ă q1, . . . , qj´1 ąK. En se-gundo lugar, Pi “ Im ´ qiqi es la proyeccion sobre ă qi ąK. Por lo tanto, para unvector x P Cn cualquiera, pIm ´ Qj´1Qj´1qx es la proyeccion ortogonal de x sobreă q1, . . . , qj´1 ąK y Pix es la proyeccion ortogonal de x sobre ă qi ąK. Ası pues,Pj´1Pj´2 ¨ . . . ¨ P1x es el vector resultante de hacer lo siguiente:

1. Proyectamos x ortogonalmente sobre ă q1 ąK. Esto es P1x

2. El vector obtenido, P1x, lo proyectamos ortogonalemnte sobre ă q2 ąK. Estoes P2P1x.

3. El vector obtenido, P2P1x lo proyectamos ortogonalmente sobre ă q3 ąK. Estoes P3P2P1x.

4. Ası sucesivamente hasta proyectar Pj´2 ¨ ¨ ¨ . . . ¨ P2P1x sobre ă qj´1 ąK.

Page 10: Cap´ıtulo 6 Proyecciones y bases ortonormales

140 Proyecciones y bases ortonormales

La identidad (6.2) nos dice que es lo mismo hacer este proceso de proyeccionessucesivas que hacer directamente la proyeccion de x sobre ă q1, . . . , qj´1 ąK. Estosegundo es lo que hace el metodo clasico de Gram-Schmidt. Pero el resultado teoricoes el mismo si se hacen las proyecciones sucesivas de rango n´1. La implementacionde este procedimiento es lo que denominaremos algoritmo modificado de Gram-Schmidt.

La implementacion practica del algoritmo difiere muy poco de la del algoritmoclasico. De hecho solo hay que cambiar una lınea:

Algoritmo modificado de Gram-Schmidt

Dada A “ “a1 a2 ¨ ¨ ¨ an

‰ P Fmˆn, m ě n, rangpAq “ n, (F “ R o C)

R=zeros(n,n)Q=Afor j “ 1:n

for i “ 1:j ´ 1rij “ qi qjrij “ qi qjrij “ qi qj (Metodo Clasico: rij “ qi aj)qj “ qj ´ rijqi

end forrjj “ }qj}2qj “ qj

rjjend for

Puede no ser evidente por que la simple sustitucion de rij “ qi aj por rij “ qi qjproduce el mismo resultado en aritmetica exacta, y puede que tampoco sea evidentepor que este algoritmo produce

qj “ pIn ´ qj´1q˚j´1q ¨ ¨ ¨ pIn ´ q1q

˚1 qaj.

Para comprenderlo analicemos con detalle el progreso de las operaciones rij “ qi qjseguida de qj “ qj ´ rijqi para un j fijo y para i “ 1, . . . , j ´ 1. La notacionque usaremos es la del ordenador; es decir, las variables no lo son en el sentidomatematico sino en el del ordenador (lugares fısicos en la memoria del mismo) y“iguladad”significa “asignacion”. Ası, para la expresion:

qj “ qj ´ r1jq1

Page 11: Cap´ıtulo 6 Proyecciones y bases ortonormales

6.5 El algoritmo modificado de Gram-Schmidt 141

se debe entender que a la variable qj se le asigna el valor de restar al valor previode qj el producto r1jq1.

Supongamos entonces fijado j P t1, . . . , nu y procedamos con el bucle:

for i “ 1:j ´ 1rij “ qi qjqj “ qj ´ rijqi

end for

recordando que el valor de qj al comienzo del mismo es aj. Para i “ 1

r1j “ q1qj “ q1ajqj “ qj ´ r1jq1 “ aj ´ pq1ajqq1 “ aj ´ pq1q1 qaj “ pIn ´ q1q1 qaj.

Para i “ 2

r2j “ q2qj “ q2 pIn ´ q1q1 qajqj “ qj ´ r2jq2 “ pIn ´ q1q1 qaj ´ q2 pIn ´ q1q1 qajq2 “

“ pIn ´ q1q1 qaj ´ q2q2 pIn ´ q1q1 qaj “ pI ´ q2q2 qpIn ´ q1q1 qaj.Siguiendo ası sucesivamente obtendrıamos para i “ j ´ 1

qj “ pI ´ qj´1q˚j´1q ¨ ¨ ¨ pI ´ q2q

˚2 qpIn ´ q1q

˚1 qaj.

Por (6.2) resulta queqj “ pIn ´Qj´1Q

˚j´1qaj

de modo que el valor de qj, en aritmetica exacta, obtenido por los procedimientosclasico y modificado de Gram-Schmidt es el mismo.

Debe notarse que con ambos metodos, los elementos diagonales de R son nume-ros reales positivos independientemente de si la matriz original es de numeros realeso complejos.

Observaciones 6.8 Cuando el tamano de la matriz A es muy grande y puedehaber problemas para alojar en memoria las matrices Q y R, en vez de asignarQ=A, se pueden ir sustituyendo las columnas de A por las de Q a medida que estase va construyendo. Con los ordenadores actuales este es un problema menor, perotodavıa hay algoritmos que contemplan esta posibilidad.

Page 12: Cap´ıtulo 6 Proyecciones y bases ortonormales

142 Proyecciones y bases ortonormales

6.6. Numero de operaciones

Al igual que con el algoritmo LU , para los algoritmos que estudiemos en estecurso iremos calculando su coste operacional; es decir, una estimacion del numerode flops (“floating point operations”) que conlleva la implementacion practica delmismo. Para ambos algoritmos de Gram–Schmidt tenemos el siguiente resultado:

Teorema 6.9 Los algoritmos clasico y modificado de Gram–Schmidt requieren „2mn2 flops para calcular la factorizacion QR de una matriz mˆ n.

Recordemos que el numero de flops es un polinomio en el tamano de la matrizy que de este polinomio solo se suele destacar el termino de grado mayor dado queel resto son poco significativos salvo que n y m sean pequenos. Ası, el Teorema 6.9nos dice que el coste de los algoritmos de Gram–Schmidt es del orden „ 2mn2 oOp2mn2q; teniendo estos sımbolos el habitual significado asintotico:

lımm,nÑ8

numero de flops

2mn2“ 1.

Demstracion. El Teorema puede demostrarse de la siguiente forma: Cuando my n son grandes, el mayor numero de operaciones se encuentran en las dos siguientesentencias:

rij “ qi qj (Metodo Clasico: rij “ qi aj)qj “ qj ´ rijqi

La primera lınea calcula el producto escalar qi qj y requiere m multiplicaciones ym´ 1 sumas. Y la segunda fila calcula qj “ qj ´ rijqi precisando m multiplicacionesy m restas. Ası pues, el trabajo que se hace en cada iteracion es del orden de „ 4m.Como hay que hacer i “ 1 : j´ 1 iteraciones para j “ 1 : n, el numero total de flopsnecesarios es asintotico a

nÿ

j“1

j´1ÿ

i“1

4m “ 4mnÿ

j“1

pj ´ 1q “ 4mn´1ÿ

j“1

j “ 4mpn´ 1qn

2“ 2mn2 `Opmnq.

Page 13: Cap´ıtulo 6 Proyecciones y bases ortonormales

6.7 Existencia y unicidad de la factorizacion QR 143

6.7. Existencia y unicidad de la factorizacion QR

Hemos exigido que los vectores a1, . . . , an sean linealmente independientes. Enestas circunstancias la descomposicion QR de A “ “

a1 ¨ ¨ ¨ an‰

es unica. En efecto,ambos metodos utilizan proyecciones ortogonales, y estas son unicas. Por ejemplo,

el metodo clasico, empieza construyendo q1 “ a1

}a1}2 , de modo que esta definido

de forma unica; y para j “ 2, . . . , n , qj es la proyeccion ortogonal de aj sobre elsubespacio ă a1, . . . , aj´1 ąK y luego normalizado. La proyeccion ortogonal de ajsobre un subespacio fijo es unica; y, por supuesto, la norma del vector obtenidotambien. Ası pues, la matriz Q obtenida es unica.

Por su parte, los elementos de R son las componentes de cada aj en la baseă q1, . . . , qn ą, que son unicos.

Estos argumentos prueban

Teorema 6.10 Si A P Cmˆn (m ě n) tiene rango completo admite una unicafactorizacion QR.

No obstante, debe notarse que hay varias formas de escribir A “ QR con Q unamatriz con columnas ortonormales y R triangular superior. Por ejemplo, si A “ QRtambien A “ peiθQqpe´iθRq. cumple que Q “ peiθQq tiene columnas ortonormales yR “ e´iθR es triangular superior. Pero la condicion rii P R` exige que θ “ 0.

Analizamos ahora el caso en que rangpAq no es completo. En este caso, habrıauna columna, digamos aj, que serıa combinacion lineal de a1, . . . , aj´1. Es decir,

aj Pă a1, . . . , aj´1 ą“ă q1, . . . , qj´1 ą .

Como qj es la proyeccion ortogonal de aj sobre el subespacio ă a1, . . . , aj´1 ąKuna vez normalizado, y aj Pă q1, . . . , qj´1 ą tenemos que qj “ 0. Mejor dicho,la proyeccion ortogonal, vj, de aj sobre ă a1, . . . , aj´1 ąK es el vector cero y asırjj “ }vj}2 “ 0. Esto imposibilita construir el vector unitario y continuar el algoritmoen el punto en que se hace la division

qj “ qjrjj.

Page 14: Cap´ıtulo 6 Proyecciones y bases ortonormales

144 Proyecciones y bases ortonormales

Este hecho parecerıa indicar que no existe factorizacion QR. Sin embargo, teori-camente, podrıamos escoger para qj un vector unitario en ă q1, . . . .qj´1 ąK y prose-guir con el proceso de Gram-Schmidt; y hacerlo tantas veces cuantas sea necesario.En la practica no hay posibilidad de escoger de manera adecuada el vector qj ortonor-mal a ă q1, . . . , qj´1 ą. Esto solo es una posibilidad teorica que nos permite asegurarque, incluso cuando A no es de rango completo, siempre admite una factorizacionQR.

Teorema 6.11 Toda matriz A P Cmˆn (m ě n) admite una factorizacion QR.

Debe observarse que si A no tiene rango completo entonces habrıa factorizacionQR de A, pero no se cumplirıa que ImQ “ ImA.

En la practica, difıcilmente el valor calculado por el ordenador sera exactamenterjj “ 0, debido al redondeo. Muchos programas, como MATLAB, si el numero porel que se va a dividir es muy pequeno, emiten un aviso de division por cero. Perolos errores de redondeo pueden ser de tal magnitud que MATLAB no detecte quetal division por cero se ha producido y nos devuelva un resultado. Por ejemplo

>> A=ones(3);

>> [Q,R]=clgs(A)

Q =

5.7735e-01 -5.7735e-01 5.7735e-01

5.7735e-01 -5.7735e-01 5.7735e-01

5.7735e-01 -5.7735e-01 5.7735e-01

R =

1.7321e+00 1.7321e+00 1.7321e+00

0 3.8459e-16 3.8459e-16

0 0 8.5397e-32

Claramente rangpAq “ 1 pero MATLAB lleva a cabo el algoritmo sin ningun tipode aviso. Vemos, enseguida, que las dos ultimas filas de R son casi cero. Esto nosindica que algo raro sucede. Si hacemos

>> Q’*Q

ans =

Page 15: Cap´ıtulo 6 Proyecciones y bases ortonormales

6.8 Factorizacion QR reducida y completa 145

1.0000e+00 -1.0000e+00 1.0000e+00

-1.0000e+00 1.0000e+00 -1.0000e+00

1.0000e+00 -1.0000e+00 1.0000e+00

>> Q*R

ans =

1 1 1

1 1 1

1 1 1

observamos que Q no es unitaria. El algoritmo nos devuelve una factorizacion de Aen dos matrices Q y R. R es triangular superior con rii ą 0 pero Q no es unitaria.Por lo tanto, no se trata de una factorizacion QR de A. Este fenomeno es bastantefrecuente con los algoritmos de Gram-Schmidt y lo analizaremos con mas detalle enla ultima seccion de este Tema.

6.8. Factorizacion QR reducida y completa

Al igual que con los valores singulares existe una factorizacion reducida y unafactorizacion completa de cualquier matriz A P Cmˆn (m ě n). La reducida ya hemosvisto lo que es: una descomposicion de A en dos factores Q P Cmˆn y R P Cnˆn, conQ una matriz cuyas columnas son ortonormales y R una matriz triangular superiorcon elementos diagonales numeros reales positivos (si A es de rango completo) ocero (si A no es de rango completo).

Para obtener una factorizacion QR completa de A se anaden a Q m´n columnasortonormales para formar una matriz Q P Cmˆm que sea unitaria. Y se anaden a Rm´ n filas de ceros para obtener la matriz

R “„

R0pm´nqˆn

Claramente A “ QR, pero esta factorizacion no tiene por que ser unica, debidoa la arbitrariedad de la eleccion de las ultima m ´ n columnas de Q. A cualquierdescomposicion de A en dos factores Q y R con estas propiedades (i.e. Q unitaria yR P Cmˆn con rij “ 0 para i ą j y rjj ě 0) se le llama factorizacion QR completade A.

Page 16: Cap´ıtulo 6 Proyecciones y bases ortonormales

146 Proyecciones y bases ortonormales

Los algoritmos de Gram-Schmidt proporcionan factorizaciones reducidas. En laproxima leccion estudiaremos otro algoritmo que da una factorizacion completa. Yahemos dicho como pasar de una factorizacion reducida a una completa. El recıprocoes obvio: si A “ QR es una factorizacion completa de A P Cmˆn y m ě n, entoncesse obtiene una factorizacion reducida eliminando de Q sus ultimas m´ n columnasy de R sus ultimas m´ n filas de ceros.

6.9. Un analisis experimental de la estabilidad de

los algoritmos de Gram-Schmidt

El experimento que se expone a continuacion, hecho con MATLAB, tiene comofinalidad explorar la diferencia en la estabilidad numerica entre los algoritmos clasicoy modificado de Gram-Schmidt.

Primero construımos una matriz A de tamano 80 ˆ 80 con vectores singularesaleatorios y valores singulares en progresion geometrica desde 2´1 hasta 2´80 derazon 2´1:

disp(’Escogidas U y V matrices ortogonales 80x80 aleatorias’)

S=diag(2.^(-1:-1:-80));

A=U*S*V’;

Y usamos los algoritmos clasico y modificado de Gram-Schmidt para calcular facto-rizaciones QR de A:

[QC,RC]=clgs(A);

[QM,RM]=mgs(A);

Finalmente, dibujamos los elementos diagonales rjj de R producidos por ambosalgoritmos con una escala logarıtmica:

axis([1 80 10^(-25) 10^0])

semilogy(1:80, diag(RC),’*’)

hold on

Page 17: Cap´ıtulo 6 Proyecciones y bases ortonormales

6.9 Un analisis experimental de la estabilidad de los algoritmos de Gram-Schmidt147

10 20 30 40 50 60 70 8010−25

10−20

10−15

10−10

10−5

100

j

r jj

2−j

eps1/2

eps

Figura 6.1: Elementos diagonales de R en la descomposicion QR de A calculadoscon MATLAB mediante los algoritmos clasico y modificado de G-S. El algoritmoclasico produce los numeros representados por ˚ y el modificado, los representadospor ˝.

semilogy(1:80,diag(RM),’o’);

semilogy(1:80, 2.^(-1:-1:-80),’r.-’);

plot(1:80,sqrt(eps).*ones(80),1:80,eps.*ones(80))

Esto, mas algunas sentencias para presentar la grafica con el texto apropiado,proporciona la Figura 6.1, que interpretamos a continuacion.

Por una parte rjj “ }vj}2 con vj “ pIm ´QjQj qaj, de modo que rjj nos da unaidea del tamano del vector proyeccion de aj sobre ă a1, . . . , aj´1 ąK. Salta a la vistaen la figura que rjj es una funcion decreciente de j y que este decrecimiento se hace,sobre todo al principio, a lo largo de la recta 2´j. Esto es bastante razonable porque

A “ USV T “80ÿ

i“1

siuivTi “ 2´1u1v

T1 ` 2´2u2v

T2 ` ¨ ¨ ¨ ` s´80u80v

T80,

y la j-esima columna de A es

aj “ 2´1vj1u1 ` 2´2vj2u2 ` ¨ ¨ ¨ ` 2´80vj,80u80.

Page 18: Cap´ıtulo 6 Proyecciones y bases ortonormales

148 Proyecciones y bases ortonormales

Ahora bien, las filas de V ˚ son ortonormales ası que

}vj}2 “80ÿ

i“1

|vji|2 “ 1,

y, como V es aleatoria, podemos suponer que todos los |vji| son, aproximadamente,de la misma magnitud. Es decir,

|vji| “ˆ

1

80

˙1{2“ 80´1{2 « 0,1.

Ası pues

aj “ 80´1{2 `2´1u1 ` 2´2u2 ` ¨ ¨ ¨ ` 2´80u80

˘.

Todos los ui son vectores unitarios por lo que la componente de aj en la direccion deui es el doble que su componente en la direccion de ui`1. En particular, la componentemas fuerte de aj es en la direccion de u1. Pero al hacer la descomposicion QR de A,q1 tiene la direccion de a1, que es, aproximadamente, la de u1. Es decir, q1 « u1 y,por lo tanto, r11 « 2´1 ˆ 80´1{2.

En el segundo paso,

v2 “ a2 ´ pq˚1a2qq1 « a2 ´ pu˚1a2qu1 “ 80´1{2 `2´2u2 ` ¨ ¨ ¨ ` 2´80u80

˘ « 80´1{22´2u2,

ası que q2 « u2 y r22 « 80´1{22´2. Y ası sucesivamente. Esto justifica por que los rjjdecrecen aproximadamente pegados a la recta 2´j.

Lo segundo que llama la atencion es que este comportamiento de rjj de ir pe-gado a la recta 2´j se detiene en un cierto punto. Aproximadamente en

?eps para

el algotitmo clasico de Gram-Schmidt y en eps para el modificado. Esto es unaconsecuencia del redondeo. Con el algoritmo clasico los rjj nunca son menores de10´8 mientras que con el modificado se reducen del orden de 8 dıgitos decimalesmas, hasta, aproximadamente, 10´16; el orden del epsilon de la maquina, eps. Nadamejor es esperable.

Algunos algoritmos son mas sensibles que otros a los errores de redondeo. Esconocido que al algoritmo clasico le pueden afectar mucho. Por ello rara vez se usa.

Page 19: Cap´ıtulo 6 Proyecciones y bases ortonormales

6.10 Perdida numerica de ortogonalidad 149

6.10. Perdida numerica de ortogonalidad

Hay otro tipo de inestabilidad que afecta a ambos algoritmos del que ya hemosvisto un ejemplo mas arriba: ambos pueden calcular matrices Q que estan lejos detener columnas ortonormales. Una medida de la ortogonalidad de las columnas deuna matriz nos la da el siguiente procedimiento: Si las columnas de Q P Cmˆn sonortonormales entonces Q˚Q “ In. Si las columnas de Q son “casi” ortonormalesentonces Q˚Q es “casi” In; es decir, los elementos de la matriz Q˚Q ´ In son casicero. O equivalentemente

}Q˚Q´ In}2 « εM .

La perdida de ortogonalidad ocurre cuando A esta proxima a no tener rangocompleto; es decir, cuando σn « 0. Y como en la mayor parte de los fenomenosde inestabilidad, esta aparece incluso en matrices de dimension pequena. Vamos apresentar dos ejemplos, uno para hacer a mano y otro con MATLAB.

Consideremos la siguiente matriz

A “„

0,70000 0,707110,70001 0,70711

en un hipotetico ordenador que redondea los resultados a 5 dıgitos de exactitudrelativa. Los algoritmos clasico y modificado de Gram-Schmidt son identicos paramatrices de dos columnas. Observemos, en primer lugar, que σ2pAq “ 5,0252 ¨ 10´6

es la distancia de A a las matrices de rango 1. Calculemos la descomposicion QR quese obtendrıa en esta situacion (recordemosque lo hacemos redondeando a 5 dıgitossignificativos). En el primer paso del algoritmo

a1 “„

0,700000,70001

ñ r11 “ }a1}2 “

a0,72 ` 0,700012 “ 0,98996 ñ

ñ q1 “ a1{r11 “„

0,707100,70711

En el segundo paso

r12 “ q1a2 ““0,70710 0,70711

‰ „0,707110,70711

“ 1,0000p045 . . .q

v2 “ a2 ´ pq1a2qq1 “„

0,707110,70711

´ 1

„0,707100,70711

“„

0,000010,00000

Page 20: Cap´ıtulo 6 Proyecciones y bases ortonormales

150 Proyecciones y bases ortonormales

Los errores de redondeo en este calculo de v2 son determinantes. De hecho q2 “„

10

y la matriz Q obtenida es

Q “„

0,70710 10,70711 0

,

que es una matriz lejos de ser ortogonal. Para serlo la primera columna deberıa ser„01

, muy lejos de q1. De hecho

}Q˚Q´ In}2 “ 0,70710,

un numero muy grande.

En un ordenador con 16 dıgitos de precision como los habituales usamos MATLABcon la siguiente matriz de Vandermonde de tamano 25 ˆ 15: A “ “

pj´1i

‰donde los

pi se toman igualmente espaciados en el intervalo r0 1s.>> p=linspace(0,1,25);

>> A=fliplr(vander(p)); A=A(:,1:15);

Las matrices de Vandermonde para puntos muy proximos estan mal condicionadas.Para esta matriz κ2pAq “ 3,6 ˆ 1010. Si pQ y pR representan las matrices calculadaspor los metodos de Gram-Schmidt we have:

CGS: }A´ pQ pR}2 “ 3,9ˆ 10´16, } pQT pQ´ I}2 “ 4,2,

MGS: }A´ pQ pR}2 “ 4,9ˆ 10´16, } pQT pQ´ I}2 “ 6,5ˆ 10´7.

Ambos metodos producen un residuo pequeno para la factorizacion QR (i.e, el error

}A´ pQ pR}) es pequeno). Por otra parte, mientras el metodo clasico de Gram-Schmidt

produce una matriz pQ que no tiene ningun parecido con una matriz ortogonal, parael modificado se tiene que

} pQT pQ´ I}2 « 1

12,4κ2pAqεM .

En realidad hay un resultado general que dice que esto debe ser ası. Lo damos sindemostracion porque esta requiere un desarrollo muy largo.

Teorema 6.12 Sea A P Rmˆn de rango n y sean pQ P Rmˆn y pR P Rnˆn las matricescalculadas mediante el metodo modificado de Gram-Schmidt. Entonces existenconstantes ci (que dependen de m y n), i “ 1, 2, 3, y matrices δAi, i “ 1, 2, tales que

A` δA1 “ pQ pR, }δA1} ď c1}A}2εM . (6.3)

Page 21: Cap´ıtulo 6 Proyecciones y bases ortonormales

6.10 Perdida numerica de ortogonalidad 151

} pQT pQ´ In}2 ď c2κ2pAqεM `Oppκ2pAqεMq2q, (6.4)

y existe una matriz (exactamente) ortogonal Q tal que

A` δA2 “ Q pR, }δA2p:, jq}2 ď c3}aj}2εM , j “ 1, . . . , n : (6.5)

Este teorema nos dice tres cosas. Primero, las factores pQ y pR calculados median-te el metodo modficado de Gram-Schmidt producen siempre un residuo pequeno.Segundo, la perdida de ortogonalidad de pQ esta acotada por un multiplo de κ2pAqεMde modo que esta garantizado que pQ esta cerca de ser ortogonal cuando A esta biencondicionada. Y tercero, oR es el factor triangular exacto de la factorizacion QR deuna matriz proxima a A (en el sentido de que las columnas de A y la proxima estanmuy proximas).

Para el metodo clasico la cota (6.3) sigue siendo verdadera pero no existe unacota similar a (6.4) cuando n ą 2.

En la siguiente leccion veremos que hay otra forma de calcular la factorizacionQR que proporciona un remedio a la perdida de ortogonalidad de los metdos deGram-Schmidt. Ese metodo es conocido como factorizacion QR mediante reflexionesde Householder y se implementa en MATLAB con el comando qr. Aplicado alejemplo de la matriz de Vandermonde de mas arriba produce el siguiente resultado:

qr: }A´ pQ pR}2 “ 1,6ˆ 10´15, } pQT pQ´ I}2 “ 6,9ˆ 10´16.

Aunque el error en el residuo es (aproximadamente) 3 veces peor que el metodo

modificado de Gram-Schmidt, la matriz pQ esta tan cerca de ser ortogonal como sepuede esperar: el error es del orden de la maquina con una constante muy pequena.

Page 22: Cap´ıtulo 6 Proyecciones y bases ortonormales

152 Proyecciones y bases ortonormales