• No se han encontrado resultados

Proyecciones y bases ortonormales

N/A
N/A
Protected

Academic year: 2021

Share "Proyecciones y bases ortonormales"

Copied!
21
0
0

Texto completo

(1)

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 ortonormal y un vector que no est´a en el subespacio, se proyecta ´este sobre el or-togonal de aqu´el a fin de conseguir una base ortonormal para un subespacio de dimensi´on una unidad mayor. Procediendo recursivamente desde un vector dado se puede conseguir una base ortonormal de todo el espacio. Todo este procedimiento

(2)

est´a basado en el concepto de proyecci´on ortogonal que repasamos brevemente a continuaci´on, para volver luego sobre dos algoritmos diferentes ligados, ambos, al m´etodo de Gram-Schmidt.

6.2.

Proyecciones

Comenzamos definiendo lo que entendemos por proyecci´on:

Definici´on 6.1 Una matriz P P Cnˆn se dice que es una proyecci´on si es una matriz idempotente. Es decir, si P2 “P.

Algunas consecuencias inmediatas de esta definici´on son las siguientes

Proposici´on 6.2 Si P P Cnˆn es una proyecci´on tambi´en lo es In´P. A ´esta se

le llama proyecci´on complemetaria de P y cumple que KerP “ ImpIn´Pq y

KerpIn´Pq “ImP.

Demostraci´on.- En primer lugar pIn´Pq2 “ In´2P `P2 “ In´P porque

P2 P. As´ı pues, I

n´P es una proyecci´on.

Adem´as,yPImpIn´Pq ô pIn´Pqx“ypara alg´unx. Y de aqu´ı,P y “PpIn´

Pqx “ pP ´P2qx “ pP ´Pqx “ 0, lo que indica que y P KerP. Rec´ıprocamente, yPKerP ñP y “0ñ pIn´Pqy“yñyPImpIn´Pq.

La identidad KerpIn´Pq “ ImP se demuestra cambiando los papeles deIn´P

y P.

Proposici´on 6.3 Si P PCnˆn es una proyecci´on entonces ImP ‘KerP “Cn

Demostraci´on.- En primer lugar, la suma ImP `KerP es directa porque, de acuerdo con la Proposici´on anterior, ImP “KerpIn´Pqy sixPKerpIn´PqXKerP

(3)

6.3 Proyecciones ortogonales 133

Por otra parte ImP`KerP ĎCn. Y sixPCn es un vector cualquiera entonces

x“P x` pIn´Pqx. PeroP xPImP y pIn´PqxPImpIn´Pq “KerP.

Esta simple Proposici´on tiene una consecuencia importante: siP es una proyec-ci´on, ´esta determina dos subespacios mutuamente suplementarios: ImP y KerP. El rec´ıproco tambi´en es cierto. SiS1 y S2 son subespacios deCn tales queS1‘S2 “Cn entonces hay una proyecci´on P tal queS1 “ImP y S2 “KerP. En efecto, siendo

S1 ‘S2 “ Cn, cualquier matriz queda completamente determinada por su acci´on sobre los vectores de S1 y S2. En concreto, si definimos P P Cnˆn como la matriz que cumple

P x“

"

x sixP S1 0 sixP S2

resulta que en cualquier base de Cn obtenida como reuni´on de bases de S1 y S2, la matriz de P, como aplicaci´on lineal, es

Ip 0

0 0 

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

Conclusi´on: Si P es una proyecci´on, proyecta Cn sobre ImP a lo largo de KerP.

6.3.

Proyecciones ortogonales

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

Definici´on 6.4 Una proyecci´on P P Cnˆn es ortogonal si KerP “ pImPqK.

Es f´acil demostrar que para cualquier matriz A P Cmˆn, pImAqK

“KerA˚. En

efecto, xP KerA˚ ô A˚x“0 ô x˚A“0 ô x˚Ay“0 para todo yP Cn ôxK z

(4)

Proposici´on 6.5 Una proyecci´on P es ortogonal si y s´olo si P “ P˚ (i.e., es

herm´ıtica).

Demostraci´on.- En primer lugar, si P es proyecci´on tambi´enP˚ lo es. Ahora,

siP es una proyecci´on ortogonal entonces KerP “ pImPqK “KerpP˚q. Tambi´en se

cumple que ImP “ImpP˚q. As´ı es, pImP˚

qK “KerpP˚

q˚ “KerP “ pImPqK,

por definici´on de proyecci´on 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 P x “ P˚x x para x P ImP ImpP˚q y P x“P˚x“0 paraxP KerP “KerpP˚q, tenemos que P “P˚.

Resultar´a m´as ´util la siguiente caracterizaci´on de las proyecciones ortogonales. Proposici´on 6.6 Una matriz P P Cnˆn de rango r es una proyecci´on ortogonal si y s´olo si existe una matrizQP Cnˆr, con columnas ortonormales, tal queP “QQ˚.

Demostraci´on.- Supongamos primero que P “ QQ˚ para alguna matriz Q P

Cnˆr con columnas ortonormales. Entonces

P2 “QQ˚QQ˚ “QpQ˚QqQ˚ “QQ˚,

porque Q˚Q I

r por tener Q las columnas ortonormales. Por lo tanto P2 “P; es

decir, P es una proyecci´on. Adem´as

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

As´ı que, por la Porposici´on anterior P es una proyecci´on ortogonal.

Supongamos ahora queP es una proyecci´on ortogonal y seatq1, . . . , qruuna base

ortonormal de ImP. Pongamos Q““q1 q2 ¨ ¨ ¨ qr

. Veamos queP “QQ˚. Para

ello probaremos que P x“QQ˚x para todoxP

Cnˆn.

Seaxun vector cualquiera deCn. ComoP es una proyecci´onCn “KerP‘ImP. Por lo tanto existen unos ´unicos vectores x1 P ImP y x2 P KerP tales que x “

(5)

6.3 Proyecciones ortogonales 135

Por una parte

QQ˚x “Q » — — — – q˚ 1x q˚ 2x .. . q˚ rx fi ffi ffi ffi fl “ r ÿ i“1 pq˚ ixqqi. (6.1)

Ahora bien, como qi PImP y x2 PKerP “ pImPqK

ix“qi˚x1`qi˚x2 “qi˚x1.

Pero, ImP “ăq1, . . . , qr ą, por lo que x1 “a1q1` ¨ ¨ ¨ `arqr y q˚ix1 “ai.

Sustitu-yendo en (6.1) QQ˚x “ r ÿ j“1 aiqi “x1.

En conclusi´onP x“QQ˚x para todo x

PCn y P “QQ˚.

Observaciones 6.7 1. SiQ tiene columnas ortonormales entoncesP “QQ˚ es

la proyecci´on ortogonal sobre ImP a lo largo de KerP “ pImPqK “ KerP˚.

Ahora bien, como P “ QQ˚ y Q es de rango completo, ImP

“ ImQ y

KerP˚

“KerQ˚. En conclusi´onQQ˚ es la proyecci´on ortogonal sobre ImQ a

lo largo de KerQ˚ “ pImQqK.

2. In´QQ˚ tambi´en es una proyecci´on, la complementaria de QQ˚. Y tambi´en

es ortogonal porquepIn´QQ˚q˚ “In´QQ˚. Por la Porposici´on 6.2, ImpIn´

QQ˚

q “ KerpQQ˚q “ KerQ˚ “ pImQqK y KerppIn ´QQ˚q “ ImpQQ˚q “

ImQ. Por lo tanto, es la proyecci´on ortogonal sobre pImQqK a lo largo de

ImQ.

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

Pq“qq˚

siendo q un vector unitario. Por lo dicho anteriormente, qq˚ es la proyecci´on

ortogonal sobre Imq“ăq ąa lo largo de pImqqK “ăqąK.

De la misma formaIn´qq˚ es una proyecci´on de rangon´1: es la proyecci´on

(6)

6.4.

El algoritmo cl´

asico de Gram-Schmidt

Recordemos que el m´etodo de ortonormalizaci´on de Gram-Schmidt consiste, a grandes rasgos, en lo siguiente: Dado un sistema de vectores a1, . . . , an P Cm, que

supondremos linealmente independientes, se trata de conseguir una base ortonormal

tq1, . . . , 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}2

2. Para j “ 2,3, . . ., qj es la proyecci´on ortogonal de aj sobre el subespacio

ăa1, . . . , aj´1 ąK“ăq1, . . . , qj´1 ąK dividido por su norma. Ahora bien, hemos visto en la Observaci´on 6.7 que si

Qj´1 “ “

q1 ¨ ¨ ¨ qj´1 ‰

entonces la proyecci´on ortogonal sobre ăq1, . . . , qj´1 ąK es Im´Qj´1Q˚j´1. Por lo tanto,

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

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

qj “ vj }vj}2 “ pIm´Qj´1Q ˚ j´1qaj }pIm´Qj´1Q˚j´1qaj}2 .

Dado que esta construcci´on es inductiva puede implementarse algor´ıtmicamente. En primer lugar vj “ pIm´Qj´1Q˚j´1qaj “aj´Qj´1Q˚j´1aj “aj´Qj´1 » — — — – q˚ 1aj q˚ 2aj .. . q˚ j´1aj fi ffi ffi ffi fl “aj´ j´1 ÿ i“1 pq˚ iajqqi. y qj “ vj }vj}2 .

(7)

6.4 El algoritmo cl´asico de Gram-Schmidt 137

Por lo tanto, si ponemos

v1 “a1

rjj “ }vj}2

rij “q˚iaj

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 fi ffi ffi ffi fl

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 fi ffi ffi ffi fl .

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

A se le llama factorizaci´on QR reducida de A. Y, tal y como hemos visto, el m´etodo de ortonormalizaci´on de Gram-Scmidt nos proporciona un algoritmo par obtener esta factorizaci´on:

(8)

Algoritmo cl´asico de Gram-Schmidt DadaA““a1 a2 ¨ ¨ ¨ an ‰ P Fmˆn, měn, rangpAq “ n, (F“R o C) R=zeros(n,n) Q=A forj “1:n for i“1:j´1 rij “q˚iaj qj “qj ´rijqi end for rjj “ }qj}2 qj “ qj rjj end for

La salida de este algoritmo debe ser una matriz triangular superiorRconriią0

y una matriz Q con columnas ortonormales.

6.5.

El algoritmo modificado de Gram-Schmidt

Hay otro procedimiento te´orico que produce tambi´en una base ortonormal como la del m´etodo de Gram-Schmidt. Partimos de la siguiente observaci´on: Si QPCmˆn tiene columnas ortonormales la proyecci´on ortogonalQQ˚ es suma denproyecciones

ortogonales de rango 1. En efecto

QQ˚ ““q1 q2 ¨ ¨ ¨ qn ‰ » — — — – q˚ 1 q˚ 2 .. . q˚ n fi ffi ffi ffi fl “q1q˚1 `q2q˚2 ` ¨ ¨ ¨ `qnqnast.

Ahora recordemos que en el m´etodo cl´asico de Gram-Schmidt cada qj se obtiene

proyectando aj sobre ăq1, . . . , qj´1 ąK, y despu´es normalizando. Es decir,

qj “

pIm´Qj´1Q˚j´1qaj

}pIm´Qj´1Q˚j´1qaj}2

(9)

6.5 El algoritmo modificado de Gram-Schmidt 139

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´2qj˚´2q ¨. . .¨ pIm´q1q˚1q y tenemos en cuenta queq˚

iqj “0 si i‰j, resulta que este producto es

Im´qj´1q˚j´1´qj´2q˚j´2´. . .´q1q1˚ “I´Qj´1Q˚j´1.

En definitiva, si ponemosPi “Im´qiqi˚ entonces

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

¿Cu´al es la interpretaci´on geom´etrica de esta igualdad?. En primer lugar, Im´

Qj´1Q˚j´1 es la proyecci´on ortogonal sobre pImQj´1qK “ă q1, . . . , qj´1 ąK. En se-gundo lugar, Pi “ Im ´qiqi˚ es la proyecci´on sobre ă qi ąK. Por lo tanto, para un

vector x P Cn cualquiera, pIm´Qj´1Q˚j´1qx es la proyecci´on ortogonal de x sobre

ă q1, . . . , qj´1 ąK y Pix es la proyecci´on 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. Esto esP2P1x.

3. El vector obtenido,P2P1xlo proyectamos ortogonalmente sobreăq3 ąK. Esto esP3P2P1x.

4. As´ı sucesivamente hasta proyectar Pj´2¨ ¨ ¨. . .¨P2P1x sobre ăqj´1 ąK. La identidad (6.2) nos dice que es lo mismo hacer este proceso de proyecciones sucesivas que hacer directamente la proyecci´on de x sobre ă q1, . . . , qj´1 ąK. Esto segundo es lo que hace el m´etodo cl´asico de Gram-Schmidt. Pero el resultado te´orico es el mismo si se hacen las proyecciones sucesivas de rangon´1. La implementaci´on

(10)

de este procedimiento es lo que denominaremosalgoritmo modificado de Gram-Schmidt.

La implementaci´on pr´actica del algoritmo difiere muy poco de la del algoritmo cl´asico. De hecho s´olo hay que cambiar una l´ınea:

Algoritmo modificado de Gram-Schmidt DadaA““a1 a2 ¨ ¨ ¨ an ‰ P Fmˆn, měn, rangpAq “ n, (F“R o C) R=zeros(n,n) Q=A forj “1:n for i“1:j´1 rij “q˚iqj rij “qi˚qj rij “q˚iqj (M´etodo Cl´asico: rij “qi˚aj) qj “qj ´rijqi end for rjj “ }qj}2 qj “ qj rjj end for

Puede no ser evidente por qu´e la simple sustituci´on de rij “qi˚aj por rij “q˚iqj

produce el mismo resultado en aritm´etica exacta, y puede que tampoco sea evidente por qu´e este algoritmo produce

qj “ pIn´qj´1q˚j´1q ¨ ¨ ¨ pIn´q1q1˚qaj.

Para comprenderlo analicemos con detalle el progreso de las operaciones rij “q˚iqj

seguida de qj “ qj ´ rijqi para un j fijo y para i “ 1, . . . , j ´ 1. La notaci´on

que usaremos es la del ordenador; es decir, las variables no lo son en el sentido matem´atico sino en el del ordenador (lugares f´ısicos en la memoria del mismo) y “iguladad”significa “asignaci´on”. As´ı, para la expresi´on:

qj “qj´r1jq1

se debe entender que a la variable qj se le asigna el valor de restar al valor previo

deqj el producto r1jq1.

(11)

6.6 N´umero de operaciones 141

for i“1:j´1

rij “qi˚qj

qj “qj ´rijqi

end for

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

r1j “q˚1qj “q1˚aj qj “qj ´r1jq1 “aj ´ pq1˚ajqq1 “aj´ pq1q˚1qaj “ pIn´q1q˚1qaj. Parai“2 r2j “ q2˚qj “q˚2pIn´q1q˚1qaj qj “ qj ´r2jq2 “ pIn´q1q1˚qaj´q˚2pIn´q1q˚1qajq2 “ “ pIn´q1q˚1qaj ´q2q2˚pIn´q1q1˚qaj “ pI´q2q2˚qpIn´q1q1˚qaj.

Siguiendo as´ı sucesivamente obtendr´ıamos para i“j´1

qj “ pI´qj´1qj˚´1q ¨ ¨ ¨ pI´q2q2˚qpIn´q1q1˚qaj.

Por (6.2) resulta que

qj “ pIn´Qj´1Q˚j´1qaj

de modo que el valor de qj, en aritm´etica exacta, obtenido por los procedimientos

cl´asico y modificado de Gram-Schmidt es el mismo.

Debe notarse que con ambos m´etodos, los elementos diagonales deRsonn´ ume-ros realespositivos independientemente de si la matriz original es de n´umeros reales o complejos.

Observaciones 6.8 Cuando el tama˜no de la matriz A es muy grande y puede haber problemas para alojar en memoria las matrices Q y R, en vez de asignar

Q=A, se pueden ir sustituyendo las columnas de A por las de Q a medida que ´esta se va construyendo. Con los ordenadores actuales ´este es un problema menor, pero todav´ıa hay algoritmos que contemplan esta posibilidad.

6.6.

umero de operaciones

Al igual que con el algoritmo LU, para los algoritmos que estudiemos en este curso iremos calculando su coste operacional; es decir, una estimaci´on del n´umero

(12)

de flops (“floating point operations”) que conlleva la implementaci´on pr´actica del mismo. Para ambos algoritmos de Gram–Schmidt tenemos el siguiente resultado:

Teorema 6.9 Los algoritmos cl´asico y modificado de Gram–Schmidt requieren „

2mn2 flops para calcular la factorizaci´on QR de una matriz mˆn.

Recordemos que el n´umero de flops es un polinomio en el tama˜no de la matriz y que de este polinomio s´olo se suele destacar el t´ermino de grado mayor dado que el resto son poco significativos salvo que n y m sean peque˜nos. As´ı, el Teorema 6.9 nos dice que el coste de los algoritmos de Gram–Schmidt es del orden „ 2mn2 o

Op2mn2q; teniendo estos s´ımbolos el habitual significado asint´otico:

l´ım

m,nÑ8

n´umero de flops 2mn2 “1.

Demstraci´on. El Teorema puede demostrarse de la siguiente forma: Cuandom

y n son grandes, el mayor n´umero de operaciones se encuentran en las dos siguiente sentencias:

rij “q˚iqj (M´etodo Cl´asico: rij “qi˚aj)

qj “qj ´rijqi

La primera l´ınea calcula el producto escalar q˚

iqj y requiere m multiplicaciones y

m´1 sumas. Y la segunda fila calcula qj “qj´rijqi precisandom multiplicaciones

y mrestas. As´ı pues, el trabajo que se hace en cada iteraci´on es del orden de„4m. Como hay que haceri“1 :j´1 iteraciones paraj “1 :n, el n´umero total de flops

necesarios es asint´otico a

n ÿ j“1 j´1 ÿ i“1 4m “4m n ÿ j“1 pj ´1q “4m n´1 ÿ j“1 j “4mpn´1qn 2 “2mn 2 `Opmnq.

6.7.

Existencia y unicidad de la factorizaci´

on QR

Hemos exigido que los vectores a1, . . . , an sean linealmente independientes. En

estas circunstancias la descomposici´onQR deA ““a1 ¨ ¨ ¨an

es ´unica. En efecto, ambos m´etodos utilizan proyecciones ortogonales, y ´estas son ´unicas. Por ejemplo, el m´etodo cl´asico, empieza construyendo q1 “

a1

}a1}2

(13)

6.7 Existencia y unicidad de la factorizaci´on QR 143

de forma ´unica; y para j “ 2, . . . , n , qj es la proyecci´on ortogonal de aj sobre el

subespacio ă a1, . . . , aj´1 ąK y luego normalizado. La proyecci´on ortogonal de aj

sobre un subespacio fijo es ´unica; y, por supuesto, la norma del vector obtenido tambi´en. 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 ´unica factorizaci´on QR.

No obstante, debe notarse que hay varias formas de escribirA“QRcon Quna matriz con columnas ortonormales yR triangular superior. Por ejemplo, siA “QR

tambi´en A“ peiθQqpe´iθRq. cumple que ˜Q“ peiθQq tiene columnas ortonormales y

˜

R“e´iθR es triangular superior. Pero la condici´onr

ii PR` exige que θ “0.

Analizamos ahora el caso en que rangpAq no es completo. En este caso, habr´ıa una columna, digamosaj, que ser´ıa combinaci´on lineal de a1, . . . , aj´1. Es decir,

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

Como qj es la proyecci´on ortogonal de aj sobre el subespacio ă a1, . . . , aj´1 ąK una vez normalizado, y aj Pă q1, . . . , qj´1 ą tenemos que qj “ 0. Mejor dicho,

la proyecci´on 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 algoritmo en el punto en que se hace la divisi´on

qj “

qj

rjj

.

Este hecho parecer´ıa indicar que no existe factorizaci´onQR. Sin embargo, te´ ori-camente, podr´ıamos escoger paraqj 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 pr´actica no hay posibilidad de escoger de manera adecuada el vectorqj

ortonor-mal aăq1, . . . , qj´1 ą. Esto s´olo es una posibilidad te´orica que nos permite asegurar que, incluso cuando A no es de rango completo, siempre admite una factorizaci´on

(14)

Teorema 6.11 Toda matriz APCmˆn (m ěn) admite una factorizaci´on QR.

Debe observarse que siA no tiene rango completo entonces habr´ıa factorizaci´on

QR de A, pero no se cumplir´ıa que ImQ“ImA.

En la pr´actica, dif´ıcilmente el valor calculado por el ordenador ser´a exactamente

rjj “0, debido al redondeo. Muchos programas, como MATLAB, si el n´umero por

el que se va a dividir es muy peque˜no, emiten un aviso de divisi´on por cero. Pero los errores de redondeo pueden ser de tal magnitud que MATLAB no detecte que tal divisi´on 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 ning´un tipo

de aviso. Vemos, enseguida, que las dos ´ultimas filas de R son casi cero. Esto nos indica que algo raro sucede. Si hacemos

>> Q’*Q ans =

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

(15)

6.8 Factorizaci´on QR reducida y completa 145

observamos queQ no es unitaria. El algoritmo nos devuelve una factorizaci´on deA

en dos matrices Q y R. R es triangular superior con riią 0 peroQ no es unitaria.

Por lo tanto, no se trata de una factorizaci´onQR deA. Este fen´omeno es bastante frecuente con los algoritmos de Gram-Schmidt y lo analizaremos con m´as detalle en la ´ultima secci´on de este Tema.

6.8.

Factorizaci´

on QR reducida y completa

Al igual que con los valores singulares existe una factorizaci´on reducida y una factorizaci´on completa de cualquier matrizAPCmˆn(m ěn). La reducida ya hemos visto lo que es: una descomposici´on deA en dos factoresQPCmˆn yR PCnˆn, con

Quna matriz cuyas columnas son ortonormales y R una matriz triangular superior con elementos diagonales n´umeros reales positivos (si A es de rango completo) o cero (siA no es de rango completo).

Para obtener una factorizaci´onQRcompleta deAse a˜naden aQ m´ncolumnas ortonormales para formar una matriz ˜QPCmˆm que sea unitaria. Y se a˜naden a R

m´n filas de ceros para obtener la matriz

˜ R “ „ R 0pm´nqˆn 

Claramente A “ Q˜R˜, pero esta factorizaci´on no tiene por qu´e ser ´unica, debido

a la arbitrariedad de la elecci´on de las ´ultima m´n columnas de ˜Q. A cualquier descomposici´on deA en dos factores ˜Qy ˜R con estas propiedades (i.e. ˜Qunitaria y

˜

RP Cmˆnconrij “0 paraiąj yrjj ě0) se le llamafactorizaci´onQR completa

deA.

Los algoritmos de Gram-Schmidt proporcionan factorizaciones reducidas. En la pr´oxima lecci´on estudiaremos otro algoritmo que da una factorizaci´on completa. Ya hemos dicho c´omo pasar de una factorizaci´on reducida a una completa. El rec´ıproco es obvio: si A“Q˜R˜ es una factorizaci´on completa de AP Cmˆn y m ěn, entonces se obtiene una factorizaci´on reducida eliminando de ˜Q sus ´ultimas m´n columnas

(16)

6.9.

Un an´

alisis experimental de la estabilidad de

los algoritmos de Gram-Schmidt

El experimento que se expone a continuaci´on, hecho con MATLAB, tiene como finalidad explorar la diferencia en la estabilidad num´erica entre los algoritmos cl´asico y modificado de Gram-Schmidt.

Primero constru´ımos una matriz A de tama˜no 80ˆ80 con vectores singulares aleatorios y valores singulares en progresi´on geom´etrica desde 2´1 hasta 2´80 de raz´on 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 cl´asico 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 ambos

algoritmos con una escala logar´ıtmica:

axis([1 80 10^(-25) 10^0]) semilogy(1:80, diag(RC),’*’) hold on 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, m´as algunas sentencias para presentar la gr´afica con el texto apropiado, proporciona la Figura 6.1, que interpretamos a continuaci´on.

Por una parte rjj “ }vj}2 con vj “ pIm´QjQ˚jqaj, de modo que rjj nos da una

(17)

6.9 Un an´alisis experimental de la estabilidad de los algoritmos de Gram-Schmidt147 10 20 30 40 50 60 70 80 10−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 descomposici´on QR de A calculados con MATLAB mediante los algoritmos cl´asico y modificado de G-S. El algoritmo cl´asico produce los n´umeros representados por ˚ y el modificado, los representados

por˝.

en la figura querjj es una funci´on decreciente dej y que este decrecimiento se hace,

sobre todo al principio, a lo largo de la recta 2´j. Esto es bastante razonable porque

A“U SVT “ 80 ÿ i“1 siuiviT “2´ 1 u1vT1 `2´ 2 u2v2T ` ¨ ¨ ¨ `s´ 80 u80v80T , y laj-´esima columna deA es aj “2´1vj1u1`2´2vj2u2` ¨ ¨ ¨ `2´80vj,80u80. 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.

(18)

As´ı pues aj “80´1{2 ` 2´1 u1`2´2u2` ¨ ¨ ¨ `2´80u80 ˘ .

Todos losui son vectores unitarios por lo que la componente deaj en la direcci´on de

uies el doble que su componente en la direcci´on deui`1. En particular, la componente m´as fuerte de aj es en la direcci´on deu1. Pero al hacer la descomposici´onQR deA,

q1 tiene la direcci´on 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´2u 2` ¨ ¨ ¨ `2´80u80 ˘ «80´1{22´2u 2, as´ı queq2 «u2 y r22«80´1{22´2. Y as´ı sucesivamente. Esto justifica por qu´e losrjj

decrecen aproximadamente pegados a la recta 2´j.

Lo segundo que llama la atenci´on 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 cl´asico de Gram-Schmidt y en eps para el modificado. Esto es una consecuencia del redondeo. Con el algoritmo cl´asico los rjj nunca son menores de

10´8 mientras que con el modificado se reducen del orden de 8 d´ıgitos decimales m´as, hasta, aproximadamente, 10´16; el orden del ´epsilon de la m´aquina,eps. Nada mejor es esperable.

Algunos algoritmos son m´as sensibles que otros a los errores de redondeo. Es conocido que al algoritmo cl´asico le pueden afectar mucho. Por ello rara vez se usa.

6.10.

erdida num´

erica de ortogonalidad

Hay otro tipo de inestabilidad que afecta a ambos algoritmos del que ya hemos visto un ejemplo m´as arriba: ambos pueden calcular matrices Q que est´an lejos de tener columnas ortonormales. Una medida de la ortogonalidad de las columnas de una matriz nos la da el siguiente procedimiento: Si las columnas de QP Cmˆn son ortonormales entonces Q˚Q I

n. Si las columnas de Q son “casi” ortonormales

entonces Q˚Q es “casi” I

n; es decir, los elementos de la matriz Q˚Q´In son casi

cero. O equivalentemente

}Q˚Q

(19)

6.10 P´erdida num´erica de ortogonalidad 149

La p´erdida de ortogonalidad ocurre cuando A est´a pr´oxima a no tener rango completo; es decir, cuando σn « 0. Y como en la mayor parte de los fen´omenos

de inestabilidad, ´esta aparece incluso en matrices de dimensi´on peque˜na. Vamos a presentar dos ejemplos, uno para hacer a mano y otro con MATLAB.

Consideremos la siguiente matriz

A“

0,70000 0,70711 0,70001 0,70711 

en un hipot´etico ordenador que redondea los resultados a 5 d´ıgitos de exactitud relativa. Los algoritmos cl´asico y modificado de Gram-Schmidt son id´enticos para matrices de dos columnas. Observemos, en primer lugar, que σ2pAq “5,0252¨10´6 es la distancia deAa las matrices de rango 1. Calculemos la descomposici´onQRque se obtendr´ıa en esta situaci´on (recordemosque lo hacemos redondeando a 5 d´ıgitos significativos). En el primer paso del algoritmo

a1 “ „ 0,70000 0,70001  ñr11“ }a1}2 “ a 0,72`0,700012 0,98996ñ ñq1 “a1{r11 “ „ 0,70710 0,70711  En el segundo paso r12“q1˚a2 “ “ 0,70710 0,70711‰ „ 0,70711 0,70711  “1,0000p045. . .q v2 “a2´ pq1˚a2qq1 “ „ 0,70711 0,70711  ´1 „ 0,70710 0,70711  “ „ 0,00001 0,00000 

Los errores de redondeo en este c´alculo dev2 son determinantes. De hecho q2 “ „ 1 0  y la matriz Q obtenida es Q“ „ 0,70710 1 0,70711 0  ,

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

0 1 

, muy lejos de q1. De hecho

}Q˚Q

(20)

un n´umero muy grande.

En un ordenador con 16 d´ıgitos de precisi´on como los habituales usamos MATLAB con la siguiente matriz de Vandermonde de tama˜no 25ˆ15: A ““pji´1‰ donde los

pi se toman igualmente espaciados en el intervalor0 1s.

>> p=linspace(0,1,25);

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

Las matrices de Vandermonde para puntos muy pr´oximos est´an mal condicionadas. Para esta matriz κ2pAq “ 3,6ˆ1010. Si Qp y Rp representan las matrices calculadas por los m´etodos de Gram-Schmidt we have:

CGS: }A´QpRp}2 “3,9ˆ10´16, }QpTQp´I}2 “4,2,

MGS: }A´QpRp}2 “4,9ˆ10´16, }QpTQp´I}2 “6,5ˆ10´7.

Ambos m´etodos producen un residuo peque˜no para la factorizaci´onQR (i.e, el error

}A´QpR}p ) es peque˜no). Por otra parte, mientras el m´etodo cl´asico de Gram-Schmidt produce una matrizQpque no tiene ning´un parecido con una matriz ortogonal, para el modificado se tiene que

}QpTQp´I}2 « 1

12,4κ2pAqM.

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

Teorema 6.12 SeaAP Rmˆnde rangon y seanQpPRmˆn yRpPRnˆn las matrices calculadas mediante elm´etodo modificado de Gram-Schmidt. Entonces existen constantesci (que dependen dem yn),i“1,2,3, y matrices δAi, i“1,2, tales que

A`δA1 “QpR,p }δA1} ďc1}A}2M. (6.3)

}QpTQp´In}2 ďc2κ2pAqM `Oppκ2pAqMq2q, (6.4) y existe una matriz (exactamente) ortogonal Q tal que

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

Este teorema nos dice tres cosas. Primero, las factoresQpyRpcalculados median-te el m´etodo modficado de Gram-Schmidt producen siempre un residuo peque˜no.

(21)

6.10 P´erdida num´erica de ortogonalidad 151

Segundo, la p´erdida de ortogonalidad deQpest´a acotada por un m´ultiplo deκ2pAqM de modo que est´a garantizado que Qp est´a cerca de ser ortogonal cuandoA est´a bien condicionada. Y tercero, oR es el factor triangular exacto de la factorizaci´onQR de una matriz pr´oxima a A(en el sentido de que las columnas de A y la pr´oxima est´an muy pr´oximas).

Para el m´etodo cl´asico la cota (6.3) sigue siendo verdadera pero no existe una cota similar a (6.4) cuando ną2.

En la siguiente lecci´on veremos que hay otra forma de calcular la factorizaci´on

QR que proporciona un remedio a la p´erdida de ortogonalidad de los m´etdos de Gram-Schmidt. Ese m´etodo es conocido comofactorizaci´onQR mediante reflexiones de Householder y se implementa en MATLAB con el comando qr. Aplicado al ejemplo de la matriz de Vandermonde de m´as arriba produce el siguiente resultado:

qr: }A´QpR}p 2 “1,6ˆ10´15, }QpTQp´I}2 “6,9ˆ10´16.

Aunque el error en el residuo es (aproximadamente) 3 veces peor que el m´etodo modificado de Gram-Schmidt, la matriz Qp est´a tan cerca de ser ortogonal como se puede esperar: el error es del orden de la m´aquina con una constante muy peque˜na.

Referencias

Documento similar