Вы находитесь на странице: 1из 20

6.1.

Introduccin o

Este es el primero de los dos cap tulos dedicados a la factorizacin QR y a o la solucin del problema de m o nimos cuadrados. La factorizacin QR es una mao nera matricial de presentar el ya conocido procedimiento de ortonormalizacin de o 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 mtodo de Gram-Schmidt y en el siguiente estudiaremos las reexiones de Houe seholder. Veremos que los principios que fundamentan ambos tipos de algoritmos son completamente diferentes. Debemos recordar que, bsicamente, el mtodo de ortonormalizacin de Grama e o Schmidt consiste en lo siguiente: Dado un subespacio del que se conoce una base ortonormal y un vector que no est en el subespacio, se proyecta ste sobre el ora e togonal de aqul a n de conseguir una base ortonormal para un subespacio de e dimensin una unidad mayor. Procediendo recursivamente desde un vector dado se o puede conseguir una base ortonormal de todo el espacio. Todo este procedimiento
ww w.

at

em

at ic a1

.c om

est basado en el concepto de proyeccin ortogonal que repasamos brevemente a a o continuacin, para volver luego sobre dos algoritmos diferentes ligados, ambos, al o mtodo de Gram-Schmidt. e

6.2.

Proyecciones

Comenzamos deniendo lo que entendemos por proyeccin: o Denicin 6.1 Una matriz P Cnn se dice que es una proyeccin si es una o o matriz idempotente. Es decir, si P 2  P . Algunas consecuencias inmediatas de esta denicin son las siguientes o Proposicin 6.2 Si P Cnn es una proyeccin tambin lo es In P . A sta se o o e e le llama proyeccin complemetaria de P y cumple que Ker P  ImpIn P q y o KerpIn P q  Im P . Demostracin.- En primer lugar pIn P q2 o P 2  P . As pues, In P es una proyeccin. o
ww w.

at em at

ic a

1 .c

Adems, y ImpIn P q pIn P qx  y para algn x. Y de aqu P y  P pIn a u , P qx  pP P 2 qx  pP P qx  0, lo que indica que y Ker P . Rec procamente, y Ker P P y  0 pIn P qy  y y ImpIn P q. La identidad KerpIn P q  Im P se demuestra cambiando los papeles de In P y P. Proposicin 6.3 Si P o

Cnn es una proyeccin entonces Im P Ker P  Cn o

Demostracin.- En primer lugar, la suma Im P Ker P es directa porque, de o acuerdo con la Proposicin anterior, Im P  KerpIn P q y si x KerpIn P q Ker P o entonces pIn P qx  0 y P x  0. De aqu x  0. ,

 In 2P P 2  In P

om

porque

Por otra parte Im P Ker P Cn . Y si x Cn es un vector cualquiera entonces x  P x pIn P qx. Pero P x Im P y pIn P qx ImpIn P q  Ker P . Esta simple Proposicin tiene una consecuencia importante: si P es una proyeco cin, sta determina dos subespacios mutuamente suplementarios: Im P y Ker P . El o e rec proco tambin es cierto. Si S1 y S2 son subespacios de Cn tales que S1 S2  Cn e entonces hay una proyeccin P tal que S1  Im P y S2  Ker P . En efecto, siendo o n S1 S2  C , cualquier matriz queda completamente determinada por su accin o nn sobre los vectores de S1 y S2 . En concreto, si denimos P C como la matriz que cumple 4 x si x S1 Px  0 si x S2 resulta que en cualquier base de Cn obtenida como reunin de bases de S1 y S2 , la o matriz de P , como aplicacin lineal, es o P

6.3.

Proyecciones ortogonales

Como su nombre indica las proyecciones ortogonales son las que proyectan a lo largo del ortogonal. Denicin 6.4 Una proyeccin P o o

ww

w.

o Conclusin: Si P es una proyeccin, proyecta Cn sobre Im P a lo largo de o Ker P .

Es fcil demostrar que para cualquier matriz A Cmn , pIm Aqu  Ker A . En a efecto, x Ker A A x  0 x A  0 x Ay  0 para todo y Cn x u z para todo z Im A x pIm Aqu .

at em at

siendo p  dim S1 . En cualquier otra base de Cn , la matriz ser semejante a sta. a e Es claro que P es una proyeccin y que Im P  S1 y Ker P  S2 . Es la proyeccin o o sobre S1 a lo largo de (o paralelamente a) S2 . As pues

ic a

Cnn es ortogonal si Ker P  pIm P qu.

1 .c

om

Ip 0 0 0

&

Proposicin 6.5 Una proyeccin P es ortogonal si y slo si P o o o hermtica).

P (i.e., es

Demostracin.- En primer lugar, si P es proyeccin tambin P lo es. Ahora, o o e u  KerpP q. Tambin se si P es una proyeccin ortogonal entonces Ker P  pIm P q o e cumple que Im P  ImpP q. As es,

pIm P qu  KerpP q  Ker P  pIm P qu,

por denicin de proyeccin ortogonal. Como para cualquier subespacio de Cn , o o u qu  S, conlcu pS mos que Im P  Im P . Ahora bien, dos aplicaciones lineales que coinciden sobre dos subespacios suplementarios son la misma. Como P x  P x  x para x Im P  ImpP q y P x  P x  0 para x Ker P  KerpP q, tenemos que P  P .
om

Resultar ms util la siguiente caracterizacin de las proyecciones ortogonales. a a o Proposicin 6.6 Una matriz P Cnn de rango r es una proyeccin ortogonal si o o y slo si existe una matriz Q Cnr , con columnas ortonormales, tal que P  QQ . o

at em at

ic a

porque Q Q  Ir por tener Q las columnas ortonormales. Por lo tanto P 2 decir, P es una proyeccin. Adems o a P

ww

P2

 QQQQ  QpQQqQ  QQ,


w.

Demostracin.- Supongamos primero que P o nr C con columnas ortonormales. Entonces

1 .c

 QQ para alguna matriz Q  P ; es

 pQQq  pQqQ  QQ  P.

As que, por la Porposicin anterior P es una proyeccin ortogonal. o o Supongamos ahora que P es una proyeccin ortogonal y sea tq1 , . . . , qr u una base o  $ ortonormal de Im P . Pongamos Q  q1 q2 qr . Veamos que P  QQ . Para ello probaremos que P x  QQ x para todo x Cnn . Sea x un vector cualquiera de Cn . Como P es una proyeccin Cn  Ker P Im P . o Por lo tanto existen unos unicos vectores x1 Im P y x2 Ker P tales que x  x1 x2 . Entonces P x  P x1  x1 y P x2  0. Es decir, P x  x1 . Calculemos QQ x.

Por una parte

q1 x r " 0 x  Q "q2 x0  pq xqq . QQ " . 0 i i ! . ) . qr x


i 1

(6.1)

Ahora bien, como qi

Im P

y x2

Ker P  pIm P qu  qix1.

q i x  q i x1 q i x2
Pero, Im P  q1 , . . . , qr yendo en (6.1)

, por lo que x1  a1q1 ar qr y qix1  ai. Sustitur x  a q  x . QQ i i 1 j 1

2. In QQ tambin es una proyeccin, la complementaria de QQ . Y tambin e o e es ortogonal porque pIn QQ q  In QQ . Por la Porposicin 6.2, ImpIn o QQ q  KerpQQ q  Ker Q  pIm Qqu y KerppIn QQ q  ImpQQ q  Im Q. Por lo tanto, es la proyeccin ortogonal sobre pIm Qqu a lo largo de o Im Q. 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 proyeccin o ortogonal sobre Im q  q a lo largo de pIm q qu  q u .
ww w.

De la misma forma In qq es una proyeccin de rango n 1: es la proyeccin o o u a lo largo de q . ortogonal sobre q

Observaciones 6.7 1. Si Q tiene columnas ortonormales entonces P  QQ es la proyeccin ortogonal sobre Im P a lo largo de Ker P  pIm P qu  Ker P . o Ahora bien, como P  QQ y Q es de rango completo, Im P  Im Q y Ker P  Ker Q . En conclusin QQ es la proyeccin ortogonal sobre Im Q a o o  pIm Qqu . lo largo de Ker Q

at em at

ic a

1 .c

om

En conclusin P x  QQ x para todo x Cn y P o

 QQ.

6.4.

El algoritmo clsico de Gram-Schmidt a

Recordemos que el mtodo de ortonormalizacin de Gram-Schmidt consiste, a e o grandes rasgos, en lo siguiente: Dado un sistema de vectores a1 , . . . , an 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 ,
Para ello se procede de la siguiente forma: 1. q1 a  }a 1}

 1, . . . , n.

1 2

2. Para j  2, 3, . . ., qj es la proyeccin ortogonal de aj sobre el subespacio o a1, . . . , aj1 u q1, . . . , qj1 u dividido por su norma.

Dado que esta construccin es inductiva puede implementarse algor o tmicamente. En primer lugar vj  pIm Qj 1 Q1 qaj j y qj

ww

w.

es la proyeccin ortogonal de aj sobre o

entonces la proyeccin ortogonal sobre q1 , . . . , qj 1 u es Im Qj 1 Q1 . Por lo o j tanto, vj  pIm Qj 1 Q1 qaj j

Qj 1

q1

q1, . . . , qj1 u, y as pIm Qj1Q1qaj vj  }pI Q Qj qa } . qj  }vj }2 m j 1 j 1 j 2

at em at

ic a

1 .c
q j 1
$

Ahora bien, hemos visto en la Observacin 6.7 que si o

om

 aj Qj1Q1aj j

 aj

" " Qj 1 " !

q j 1 aj

q 1 aj q 2 aj . . .

( 0 0 0 )

 aj pqiaj qqi.
i 1

j 1

 }vvj}

j 2

Por lo tanto, si ponemos v1  a1 rjj  }vj }2 rij  qi aj tenemos que para j

 1, 2, . . . , n
aj

  

vj

rij qi 
j 1 i 1

 }vj }2qj rij qi 


j 1 i 1 j i 1

om

rij qi

at em at

ic a

q1 q2

r1j "r 0 $ " 2j 0 qj " . 0 ! . ) . rjj

1 .c

ww

Si constru mos una matriz con los vectores ai , A entonces A tiene rango completo y
w.

a1 a2

an

Cmn ,

A  a1 a2

an

q1 q2

r11 r12 $ " 0 r22 " qj " . . . ! . . . 0 0

...

r1n r2n 0 0 . 0. . ) . rnn

Es decir, A  QR con Q Cmn una matriz con columnas ortonormales y R  rrij s Cnn una matriz triangular superior con rii 0. A esta forma de expresar A se le llama factorizacin QR reducida de A. Y, tal y como hemos visto, el o mtodo de ortonormalizacin de Gram-Scmidt nos proporciona un algoritmo par e o obtener esta factorizacin: o

Algoritmo clsico de Gram-Schmidt a Dada A  a1 a2




an

Fmn, m n, rangpAq  n, (F  R o C)

R=zeros(n,n) Q=A for j  1:n for i  1:j 1 rij  qi aj qj  qj rij qi end for rjj  }qj }2 qj qj  rjj end for
om

6.5.

El algoritmo modicado de Gram-Schmidt


ww w.

Hay otro procedimiento terico que produce tambin una base ortonormal como o e la del mtodo de Gram-Schmidt. Partimos de la siguiente observacin: Si Q Cmn e o es suma de n proyecciones tiene columnas ortonormales la proyeccin ortogonal QQ o ortogonales de rango 1. En efecto QQ

q 1 q2

q1 "q 0 $ " 20 a qn " . 0  q1 q1 q2 q2 qn qn st. !.) . qn

Ahora recordemos que en el mtodo clsico de Gram-Schmidt cada qj se obtiene e a u , y despus normalizando. Es decir, proyectando aj sobre q1 , . . . , qj 1 e qj

pI Q Q qa  }pI m Q j1Qj1qa j}
m j 1

at em at

ic a

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

1 .c

j 1

j 2

De acuerdo con lo que acabamos de ver


j 1  I q q. Im Qj 1 Qj 1 m i i i1

Pero si hacemos el producto

pIm qj1qj1qpIm qj2qj2q . . . pIm q1q1 q y tenemos en cuenta que qi qj  0 si i $ j, resulta que este producto es Im qj 1 qj 1 qj 2 qj 2 . . . q1 q1  I Qj 1 Q1 . j
En denitiva, si ponemos Pi

 Im qiqi entonces Im Qj 1 Q1  Pj 1 Pj 2 . . . P1 . j

(6.2)

w.

Cul es la interpretacin geomtrica de esta igualdad?. En primer lugar, Im a o e es la proyeccin ortogonal sobre pIm Qj 1 qu  q1 , . . . , qj 1 u . En seo Qj 1 Qj 1 gundo lugar, Pi  Im qi qi es la proyeccin sobre qi u . Por lo tanto, para un o n vector x C cualquiera, pIm Qj 1 Q1 qx es la proyeccin ortogonal de x sobre o j u y Pi x es la proyeccin ortogonal de x sobre qi u . As pues, q 1 , . . . , q j 1 o Pj 1 Pj 2 . . . P1 x es el vector resultante de hacer lo siguiente:

at em at

ic a

1. Proyectamos x ortogonalmente sobre

ww

1 .c

q1 u. Esto es P1x q2 u. Esto u. Esto

2. El vector obtenido, P1 x, lo proyectamos ortogonalemnte sobre es P2 P1 x.

3. El vector obtenido, P2 P1 x lo proyectamos ortogonalmente sobre q3 es P3 P2 P1 x. 4. As sucesivamente hasta proyectar Pj 2 . . . P2 P1 x sobre

om

qj1 u.

La identidad (6.2) nos dice que es lo mismo hacer este proceso de proyecciones sucesivas que hacer directamente la proyeccin de x sobre q1 , . . . , qj 1 u . Esto o segundo es lo que hace el mtodo clsico de Gram-Schmidt. Pero el resultado terico e a o es el mismo si se hacen las proyecciones sucesivas de rango n 1. La implementacin o

de este procedimiento es lo que denominaremos algoritmo modicado de GramSchmidt. La implementacin prctica del algoritmo diere muy poco de la del algoritmo o a clsico. De hecho slo hay que cambiar una l a o nea:

Algoritmo modicado de Gram-Schmidt Dada A  a1 a2




an

Fmn, m n, rangpAq  n, (F  R o C)

Puede no ser evidente por qu la simple sustitucin de rij  qi aj por rij  qi qj e o produce el mismo resultado en aritmtica exacta, y puede que tampoco sea evidente e por qu este algoritmo produce e
qj

Para comprenderlo analicemos con detalle el progreso de las operaciones rij  qi qj seguida de qj  qj rij qi para un j jo y para i  1, . . . , j 1. La notacin o que usaremos es la del ordenador; es decir, las variables no lo son en el sentido matemtico sino en el del ordenador (lugares f a sicos en la memoria del mismo) y iguladadsignica asignacin. As para la expresin: o , o
qj

 pIn qj1qj1q pIn q1q1 qaj .

ww

w.

se debe entender que a la variable qj se le asigna el valor de restar al valor previo de qj el producto r1j q1 . Supongamos entonces jado j

at em at

R=zeros(n,n) Q=A for j  1:n for i  1:j 1 e a rij  qi qj (Mtodo Clsico: rij qj  qj rij qi end for rjj  }qj }2 qj qj  rjj end for

 qiaj )
om

 qj r1j q1

t1, . . . , nu y procedamos con el bucle:

ic a

1 .c

for i  1:j 1 rij  qi qj qj  qj rij qi end for recordando que el valor de qj al comienzo del mismo es aj . Para i  1

Para i  2 r2j qj

r1j  q1 qj  q1 aj qj  qj r1j q1  aj

pq1 aj qq1  aj pq1q1 qaj  pIn q1q1 qaj .

Por (6.2) resulta que qj

Observaciones 6.8 Cuando el tamao de la matriz A es muy grande y puede n 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 sta e se va construyendo. Con los ordenadores actuales ste es un problema menor, pero e todav hay algoritmos que contemplan esta posibilidad. a

6.6.

Existencia y unicidad de la factorizacin QR o

Hemos exigido que los vectores a1 , . . . , an sean  linealmente independientes. En $ estas circunstancias la descomposicin QR de A  a1 an es unica. En efecto, o

ww

Debe notarse que con ambos mtodos, los elementos diagonales de R son n mee u ros reales positivos independientemente de si la matriz original es de nmeros reales u o complejos.
w.

at em at

de modo que el valor de qj , en aritmtica exacta, obtenido por los procedimientos e clsico y modicado de Gram-Schmidt es el mismo. a

ic a

 pIn Qj1Q1qaj j

1 .c

om

 q2 qj  q2 pIn q1q1 qaj  qj r2j q2  pIn q1q1 qaj q2 pIn q1q1 qaj q2  qaj q2 q pIn q1 q qaj  pI q2 q qpIn q1 q qaj .  pIn q1q1 2 1 2 1 Siguiendo as sucesivamente obtendr amos para i  j 1 qj  pI qj 1 qj 1 q pI q2 q2 qpIn q1 q1 qaj .

ambos mtodos utilizan proyecciones ortogonales, y stas son unicas. Por ejemplo, e e a1 el mtodo clsico, empieza construyendo q1  e a a }a1}2 , de modo que est denido de forma unica; y para j  2, . . . , n , qj es la proyeccin ortogonal de aj sobre el o subespacio a1 , . . . , aj 1 u y luego normalizado. La proyeccin ortogonal de aj o sobre un subespacio jo es unica; y, por supuesto, la norma del vector obtenido tambin. As pues, la matriz Q obtenida es unica. e 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.9 Si A Cmn (m n) tiene rango completo admite una unica facto rizacin QR. o No obstante, debe notarse que hay varias formas de escribir A  QR con Q una matriz con columnas ortonormales y R triangular superior. Por ejemplo, si A  QR tambin A  pei Qqpei Rq. cumple que Q  pei Qq tiene columnas ortonormales y e R  ei R es triangular superior. Pero la condicin rii R exige que  0. o Analizamos ahora el caso en que rangpAq no es completo. En este caso, habr a una columna, digamos aj , que ser combinacin lineal de a1 , . . . , aj 1 . Es decir, a o
ww
om

aj

a1, . . . , aj1  q1, . . . , qj1 .


w.

Como qj es la proyeccin ortogonal de aj sobre el subespacio a1 , . . . , aj 1 u o una vez normalizado, y aj q1 , . . . , qj 1 tenemos que qj  0. Mejor dicho, la proyeccin ortogonal, vj , de aj sobre a1 , . . . , aj 1 u es el vector cero y as rjj  o }vj }2  0. Esto imposibilita construir el vector unitario y continuar el algoritmo en el punto en que se hace la divisin o qj

Este hecho parecer indicar que no existe factorizacin QR. Sin embargo, teria o o u y prosecamente, podr amos escoger para qj un vector unitario en q1 , . . . .qj 1 guir con el proceso de Gram-Schmidt; y hacerlo tantas veces cuantas sea necesario.

at em at
 rqj .
jj

ic a

1 .c

En la prctica no hay posibilidad de escoger de manera adecuada el vector qj ortonora mal a q1 , . . . , qj 1 . Esto slo es una posibilidad terica que nos permite asegurar o o que, incluso cuando A no es de rango completo, siempre admite una factorizacin o QR. Teorema 6.10 Toda matriz A Cmn (m n) admite una factorizacin QR. o Debe observarse que si A no tiene rango completo entonces habr factorizacin a o QR de A, pero no se cumplir que Im Q  Im A. a En la prctica, dif a cilmente el valor calculado por el ordenador ser exactamente a rjj  0, debido al redondeo. Muchos programas, como MATLAB, si el nmero por u el que se va a dividir es muy pequeo, emiten un aviso de divisin por cero. Pero n o los errores de redondeo pueden ser de tal magnitud que MATLAB no detecte que tal divisin por cero se ha producido y nos devuelva un resultado. Por ejemplo o >> 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 R = 1.7321e+00 1.7321e+00 0 3.8459e-16 0 0
ww w.

Claramente rangpAq  1 pero MATLAB lleva a cabo el algoritmo sin ningn tipo u de aviso. Vemos, enseguida, que las dos ultimas las 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

at em at

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

1.7321e+00 3.8459e-16 8.5397e-32

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

ic a

1 .c

om

>> Q*R ans = 1 1 1

1 1 1

1 1 1

observamos que Q no es unitaria. El algoritmo nos devuelve una factorizacin de A o en 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 factorizacin QR de A. Este fenmeno es bastante o o frecuente con los algoritmos de Gram-Schmidt y lo analizaremos con ms detalle en a la ultima seccin de este Tema. o

6.7.

Factorizacin QR reducida y completa o

Para obtener una factorizacin QR completa de A se aaden a Q m n columnas o n Cmm que sea unitaria. Y se aaden a R ortonormales para formar una matriz Q n m n las de ceros para obtener la matriz
ww w.

at em at
R


Al igual que con los valores singulares existe una factorizacin reducida y una o mn factorizacin completa de cualquier matriz A C o (m n). La reducida ya hemos visto lo que es: una descomposicin de A en dos factores Q Cmn y R Cnn , con o Q una matriz cuyas columnas son ortonormales y R una matriz triangular superior con elementos diagonales nmeros reales positivos (si A es de rango completo) o u cero (si A no es de rango completo).

R 0pmnqn

Claramente A  QR, pero esta factorizacin no tiene por qu ser unica, debido o e a la arbitrariedad de la eleccin de las ultima m n columnas de Q. A cualquier o descomposicin de A en dos factores Q y R con estas propiedades (i.e. Q unitaria y o m n RC con rij  0 para i j y rjj 0) se le llama factorizacin QR completa o de A. Los algoritmos de Gram-Schmidt proporcionan factorizaciones reducidas. En la prxima leccin estudiaremos otro algoritmo que da una factorizacin completa. Ya o o o hemos dicho cmo pasar de una factorizacin reducida a una completa. El rec o o proco

ic a
&

1 .c

om

es obvio: si A  QR es una factorizacin completa de A Cmn y m n, entonces o se obtiene una factorizacin reducida eliminando de Q sus ultimas m n columnas o sus ultimas m n las de ceros. y de R

6.8.

Un anlisis experimetal de la estabilidad de a los algoritmos de Gram-Schmidt

El experimento que se expone a continuacin, hecho con MATLAB, tiene como o nalidad explorar la diferencia en la estabilidad numrica entre los algoritmos clsico e a y modicado de Gram-Schmidt. Primero constru mos una matriz A de tamao 80 80 con vectores singulares n aleatorios y valores singulares en prograsin geomtrica desde 21 hasta 280 de o e razn 21 : o disp(Escogidas U y V matrices ortogonales 80x80 aleatorias) S=diag(2.^(-1:-1:-80)); A=U*S*V; Y usamos los algoritmos clsico y modicado de Gram-Schmidt para calcular factoa 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))
ww w.

at em at

ic a

1 .c

om

10

10

eps1/2
10
10

rjj
10
15

eps

10

20

2j
10 20 30 40 50 60 70 80

10

25

Esto, ms algunas sentencias para presentar la grca con el texto apropiado, a a proporciona la Figura 6.1, que interpretamos a continuacin. o Por una parte rjj  }vj }2 con vj  pIm Qj Q qaj , de modo que rjj nos da una j idea del tamao del vector proyeccin de aj sobre a1 , . . . , aj 1 u . Salta a la vista n o en la gura que rjj es una funcin decreciente de j y que este decrecimiento se hace, o sobre todo al principio, a lo largo de la recta 2j . Esto es bastante razonable porque A  U SV T

80 i 1

ww

T si ui vi

y la j-sima columna de A es e aj

 21vj1u1 22vj2u2 280vj,80u80. }vj }2 


80 i 1

Ahora bien, las las de V son ortonormales as que

w.

at em at


T T T  21u1v1 22u2v2 s80u80v80,

|vji|2  1,

ic a

Figura 6.1: Elementos diagonales de R en la descomposicin QR de A calculados o con MATLAB mediante los algoritmos clsico y modicado de G-S. El algoritmo a clsico produce los nmeros representados por y el modicado, los representados a u por .

1 .c

om

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

|vji| 
As pues aj

1 80

1{2

 801{2  0,1.

 801{2

21 u1 22 u2 280 u80 .

Todos los ui son vectores unitarios por lo que la componente de aj en la direccin de o ui es el doble que su componente en la direccin de ui1 . En particular, la componente o ms fuerte de aj es en la direccin de u1 . Pero al hacer la descomposicin QR de A, a o o q1 tiene la direccin de a1 , que es, aproximadamente, la de u1 . Es decir, q1  u1 y, o por lo tanto, r11  21 801{2 . En el segundo paso,
om

v2

 a2 pq1 a2qq1  a2 pua2qu1  801{2 1

22 u2 280 u80

 801{222u2,

Lo segundo que llama la atencin es que este comportamiento de rjj de ir peo j se detiene en un cierto punto. Aproximadamente en ceps para gado a la recta 2 el algotitmo clsico de Gram-Schmidt y en eps para el modicado. Esto es una a consecuencia del redondeo. Con el algoritmo clsico los rjj nunca son menores de a 8 mientras que con el modicado se reducen del orden de 8 d 10 gitos decimales 16 ; el orden del psilon de la mquina, eps. Nada ms, hasta, aproximadamente, 10 a e a mejor es esperable. Algunos algoritmos son ms sensibles que otros a los errores de redondeo. Es a conocido que al algoritmo clsico le pueden afectar mucho. Por ello rara vez se usa. a
ww w.

6.9.

Prdida numrica de ortogonalidad e e

Hay otro tipo de inestabilidad que afecta a ambos algoritmos del que ya hemos visto un ejemplo ms arriba: ambos pueden calcular matrices Q que estn lejos de a a tener columnas ortonormales. Una medida de la ortogonalidad de las columnas de

at em at

as que q2  u2 y r22  801{2 22 . Y as sucesivamente. Esto justica por qu los rjj e j . decrecen aproximadamente pegados a la recta 2

ic a

1 .c

una matriz nos la da el siguiente procedimiento: Si las columnas de Q Cmn son ortonormales entonces Q Q  In . Si las columnas de Q son casi ortonormales entonces Q Q es casi In ; es decir, los elementos de la matriz Q Q In son casi cero. O equivalentemente }QQ In}2  0. La prdida de ortogonalidad ocurre cuando A est prxima a no tener rango e a o completo; es decir, cuando n  0. Y como en la mayor parte de los fenmenos o de inestabilidad, sta aparece incluso en matrices de dimensin pequea. Vamos a e o n 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

a1

q1  a1{r11 
En el segundo paso

0,70710 0,70711
ww

w.

0,70000 0,70001

&

at em at

en un hipottico ordenador que redondea los resultados a 5 d e gitos de exactitud relativa. Los algoritmos clsico y modicado de Gram-Schmidt son idnticos para a e matrices de dos columnas. Observemos, en primer lugar, que 2 pAq  5,0252 106 es la distancia de A a las matrices de rango 1. Calculemos la descomposicin QR que o se obtendr en esta situacin (recordemosque lo hacemos redondeando a 5 d a o gitos signicativos). En el primer paso del algoritmo

ic a
 

r11  }a1}2 
&

0,72 0,700012

1 .c
&

om

 0,98996

 $ 0,70711 r12  q1 a2  0,70710 0,70711

0,70711

 1,0000p045 . . .q
&

v2

 a2 p q 1 a2 q q 1 

0,70711 0,70711

&

1 0,70710 0,70711
&

0,00001 0,00000

&  &

Los errores de redondeo en este clculo de v2 son determinantes. De hecho q2 a y la matriz Q obtenida es Q


1 0

0,70710 1 , 0,70711 0

que es una matriz lejos de ser ortogonal. Para serlo la primera columna deber ser a  & 0 , muy lejos de q1 . De hecho 1

}QQ In}2  0,70710,


un nmero muy grande. u En un ordenador con 16 d gitos de precisin como los habituales y usando o MATLAB con esta misma matriz: >> A=[ 0.70000 0.70711; 0.70001 0.707111]; >> [Q,R]=mgs(A); >> norm(Q*Q-eye(2)) produce

>> [Q,R]=qr(A); >> norm(Q*Q-eye(2)) ans = 2.3514e-16 que es del orden del psilon de la mquina. e a

ww

w.

un nmero pequeo pero muy grande comparado con el psilon de la mquina, u n e a eps, que es del orden de 2.2204e-16. Si hacemos lo mismo con el algoritmo QR implementado por MATLAB y que estudiaremos en la prxima leccin obtenemos o o

at em at

2.3014e-11

ic a

ans=

1 .c

om

ww w.

M at em at ic a 1 .c
om