Está en la página 1de 20

6.1.

Introducci´on

www.Matematica1.com

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

www.Matematica1.com

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 C n n se dice que es una proyecci´on si es una matriz idempotente. Es decir, si P 2 P.

Algunas consecuencias inmediatas de esta definici´on son las siguientes

Proposici´on 6.2 Si P C n n

le llama proyecci´on complemetaria de P y cumple que Ker P Im I n P y

Ker I n P Im P .

es una proyecci´on tambi´en lo es I n P . A ´esta se

P

Demostraci´on.- En primer lugar

I n P 2 I n 2P P 2 I n P

2 P . As´ı pues, I n P es una proyecci´on.

porque

P

y

P x y para alg´un x. Y de aqu´ı, P y P I n

x P P 2 x P P x 0, lo que indica que y Ker P . Rec´ıprocamente,

Ker P P y 0 I n P y y y Im I n P .

Adem´as, y Im I n P

I

n

La identidad Ker I n P Im P se demuestra cambiando los papeles de I n P y P.

se demuestra cambiando los papeles de I n P y P . Proposici´on 6.3 Si P

Proposici´on 6.3 Si P C n n es una proyecci´on entonces Im P Ker P C n

Demostraci´on.- En primer lugar, la suma Im P Ker P es directa porque, de acuerdo con la Proposici´on anterior, Im P Ker I n P y si x Ker I n P Ker P entonces I n P x 0 y P x 0. De aqu´ı, x 0.

www.Matematica1.com

Por otra parte Im P Ker P C n . Y si x C n es un vector cualquiera entonces

x Px I n P x. Pero P x Im P

y I n P x Im I n P Ker P .

P y I n P x Im I n P Ker P . Esta simple Proposici´on

Esta simple Proposici´on tiene una consecuencia importante: si P es una proyec- ci´on, ´esta determina dos subespacios mutuamente suplementarios: Im P y Ker P . El rec´ıproco tambi´en es cierto. Si S 1 y S 2 son subespacios de C n tales que S 1 S 2 C n entonces hay una proyecci´on P tal que S 1 Im P y S 2 Ker P . En efecto, siendo S 1 S 2 C n , cualquier matriz queda completamente determinada por su acci´on sobre los vectores de S 1 y S 2 . En concreto, si definimos P C n n como la matriz que cumple

Px x

0

si x S 1

si x S 2

resulta que en cualquier base de C n obtenida como reuni´on de bases de S 1 y S 2 , la matriz de P , como aplicaci´on lineal, es

P

I p

0

0

0

siendo p dim S 1 . En cualquier otra base de C n , la matriz ser´ıa semejante a ´esta.

Es claro que P es una proyecci´on y que Im P S 1 y Ker P S 2 . Es la proyecci´on

sobre S 1 a lo largo de (o paralelamente a) S

2

. As´ı pues

Conclusi´on: Si P es una proyecci´on, proyecta C n sobre Im P a lo largo de

Ker P .

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 C n n es ortogonal si Ker P Im P .

Es f´acil demostrar que para cualquier matriz A C m n , Im A Ker A . En efecto, x Ker A A x 0 x A 0 x Ay 0 para todo y C n x z para todo z Im A x Im A .

www.Matematica1.com

Proposici´on 6.5 Una proyecci´on P es ortogonal si y s´olo si P herm´ıtica).

P

(i.e., es

Demostraci´on.- En primer lugar, si P es proyecci´on tambi´en P lo es. Ahora, si P es una proyecci´on ortogonal entonces Ker P Im P Ker P . Tambi´en se cumple que Im P Im P . As´ı es,

Im P Ker P Ker P

Im P ,

por definici´on de proyecci´on ortogonal. Como para cualquier subespacio de C n , S S, conlcu´ımos que Im P Im P .

Ahora bien, dos aplicaciones lineales que coinciden sobre dos subespacios su- plementarios son la misma. Como P x P x x para x Im P Im P y Px P x 0 para x Ker P Ker P , tenemos que P P .

x Ker P Ker P , tenemos que P P . Resultar´a m´as util´ la siguiente

Resultar´a m´as util´

la siguiente caracterizaci´on de las proyecciones ortogonales.

Proposici´on 6.6 Una matriz P C

y s´olo si existe una matriz Q C

n

n

de rango r es una proyecci´on ortogonal si

n

r

, con columnas ortonormales, tal que P QQ .

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

C n r con columnas ortonormales. Entonces

P

2 QQ QQ Q Q Q Q QQ ,

porque Q Q I r por tener Q las columnas ortonormales. Por lo tanto P 2 P ; es decir, P es una proyecci´on. Adem´as

P QQ Q Q QQ P.

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

, q r una base

ortonormal de Im P . Pongamos Q q 1 q 2 q r . Veamos que P QQ . Para

ello probaremos que P x QQ x para todo x C n n .

Supongamos ahora que P es una proyecci´on ortogonal y sea q 1 ,

Sea x un vector cualquiera de C n . Como P es una proyecci´on C n Ker P Im P . Por lo tanto existen unos unicos´ vectores x 1 Im P y x 2 Ker P tales que x x 1 x 2 . Entonces P x P x 1 x 1 y Px 2 0. Es decir, P x x 1 . Calculemos QQ x.

www.Matematica1.com

Por una parte

QQ x Q

q

q

q

1

2

.

.

.

r

x

x

x

r

i

1

q

i

x q i .

(6.1)

Ahora bien, como q i Im P y x 2 Ker P Im P

q

i

x q

i

x 1 q

i

x 2 q

i

x 1 .

Pero, Im P q 1 ,

yendo en (6.1)

, q r , por lo que x 1 a 1 q 1 a r q r y q

QQ x

r

j 1

a

i q i x 1 .

En conclusi´on P x QQ

x para todo x C n y P QQ .

P x QQ x para todo x C n y P QQ . i x 1

i

x 1 a i . Sustitu-

Observaciones 6.7 1. Si Q tiene columnas ortonormales entonces P QQ es

la proyecci´on ortogonal sobre Im P a lo largo de Ker P Im P Ker P .

y Q es de rango completo, Im P Im Q y

es la proyecci´on ortogonal sobre Im Q a

Ahora bien, como P QQ

Ker P Ker Q

. En conclusi´on QQ

lo largo de Ker Q

Im Q .

2. I n QQ tambi´en es una proyecci´on, la complementaria de QQ . Y tambi´en

es ortogonal porque

QQ Ker QQ Ker Q Im Q y Ker I n QQ Im QQ Im Q. Por lo tanto, es la proyecci´on ortogonal sobre Im Q a lo largo de Im Q.

QQ . Por la Porposici´on 6.2, Im I n

I n QQ I n

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

P q qq

siendo q un vector unitario. Por lo dicho anteriormente, qq es la proyecci´on ortogonal sobre Im q q a lo largo de Im q q .

De la misma forma I n qq es una proyecci´on de rango n 1: es la proyecci´on ortogonal sobre q a lo largo de q .

6.4.

El algoritmo cl´asico de Gram-Schmidt

www.Matematica1.com

Recordemos que el m´etodo de ortonormalizaci´on de Gram-Schmidt consiste, a

, a n C m , que

supondremos linealmente independientes, se trata de conseguir una base ortonormal

q 1 ,

grandes rasgos, en lo siguiente: Dado un sistema de vectores a 1 ,

, q n del subespacio a 1 ,

, a n de modo que

q 1 ,

,

q j a 1 ,

, a j ,

j 1,

, n.

Para ello se procede de la siguiente forma:

1.

2.

q 1

a 1 a 1 2

Para j a 1 ,

,

2, 3,

., q j es la proyecci´on ortogonal de a j sobre el subespacio

a j 1 q 1 ,

, q j 1 dividido por su norma.

Ahora bien, hemos visto en la Observaci´on 6.7 que si

Q j 1 q 1

entonces la proyecci´on ortogonal sobre q

tanto,

1 ,

.

.

.

v j I m Q j 1 Q

q j 1

, q

j 1

j 1 a j

es I m Q j 1 Q 1 . Por lo

j

es la proyecci´on ortogonal de a

j

sobre q 1 ,

, q j 1 , y as´ı

q j

v

j

v j 2

I m Q j 1 Q

j 1 a j

I m Q j 1 Q

j 1 a j 2

.

Dado que esta construcci´on es inductiva puede implementarse algor´ıtmicamente. En primer lugar

v j I m Q j 1 Q 1 a j a j Q j 1 Q

j

j

1 a j a j Q j 1

y

q j

v j

v j 2

.

q

q

1

2

a

a

j

j

.

.

.

j 1 a j

q

a j

j

1

i

1

q

i

a j q i .

www.Matematica1.com

Por lo tanto, si ponemos

tenemos que para j 1, 2,

, n

v 1 a 1

r jj v j 2

r ij q

i

a j

a j

v j

j 1

i

1

r ij q i

j 1

v j 2 q j

j

i

r ij q i

1

i

1

q 1

q 2

r ij q i

q j

r

r

r

1j

2j

.

.

.

jj

Si constru´ımos una matriz con los vectores a , A a 1

entonces A tiene rango completo y

i

A a 1

a 2

a n q 1

q 2

q j

r 11

0

.

.

.

0

r

r

12

22

.

0

a

2

.

.

.

a n C m n ,

r

r

.

r nn

1n

2n

.

Es decir, A QR con Q C m n una matriz con columnas ortonormales y R r ij C n n una matriz triangular superior con r ii 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:

www.Matematica1.com

Algoritmo cl´asico de Gram-Schmidt Dada A a 1 a 2 a n F m n
Algoritmo cl´asico de Gram-Schmidt
Dada A a 1
a 2
a n F m n , m n, rang A n, (F R o C)
R=zeros(n,n)
Q=A
for j 1:n
for i 1:j 1
r ij q
a j
i
q j q j r ij q i
end for
r jj q j 2
q j
q j
r jj
end for

La salida de este algoritmo debe ser una matriz triangular superior R con r ii 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 Q C m n

tiene columnas ortonormales la proyecci´on ortogonal QQ es suma de n proyecciones ortogonales de rango 1. En efecto

QQ q 1

q 2

q n

q

q

.

.

.

q

1

2

n

q 1 q

1

q 2 q

2

a

q n q n st.

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

proyectando a j sobre q 1 ,

, q j 1 , y despu´es normalizando. Es decir,

q j

I m Q j 1 Q

j 1 a j

 

.

I m Q j 1 Q

j

1 a j 2

 

www.Matematica1.com

De acuerdo con lo que acabamos de ver

I m Q j 1 Q

j

1 I m

Pero si hacemos el producto

j 1

i 1

q i q

i

.

I m q j 1 q 1 I m q j 2 q 2

j

j

I m q 1 q

1

y tenemos en cuenta que q

i

q j 0 si i j, resulta que este producto es

I m q j 1 q

1 q j 2 q j 2

j

q 1 q

1

I Q j 1 Q

j 1 .

En definitiva, si ponemos P i I m q i q

i

entonces

I m Q j 1 Q

j

1

P j 1 P j 2

P 1 .

(6.2)

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

q j 1 . En se-

es la proyecci´on sobre q i . Por lo tanto, para un

x es la proyecci´on ortogonal de x sobre

, q j 1 y P i x es la proyecci´on ortogonal de x sobre q i . As´ı pues,

Q j 1 Q

j

1 es la proyecci´on ortogonal sobre Im Q j 1 q 1 ,

i

I m Q j 1 Q

j 1

,

gundo lugar, P i I m q q

i

vector x C n cualquiera,

q 1 ,

P j 1 P j 2

P 1 x es el vector resultante de hacer lo siguiente:

1. Proyectamos x ortogonalmente sobre q

2. El vector obtenido, P 1 x, lo proyectamos ortogonalemnte sobre q 2 . Esto es P 2 P 1 x.

3. El vector obtenido, P 2 P 1 x lo proyectamos ortogonalmente sobre q 3 . Esto es P 3 P 2 P 1 x.

4. As´ı sucesivamente hasta proyectar P j 2

1

. Esto es P 1 x

P 2 P 1 x sobre q j 1 .

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 q 1 ,

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 rango n 1. La implementaci´on

, q j 1 . Esto

www.Matematica1.com

de este procedimiento es lo que denominaremos algoritmo 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 Dada A a 1 a 2 a n F m n
Algoritmo modificado de Gram-Schmidt
Dada A a 1
a 2
a n F m n , m n, rang A n, (F R o C)
R=zeros(n,n)
Q=A
for j 1:n
for i 1:j 1
r r r
q
q
q
ij
i i i
q j
q j
q j
(M´etodo Cl´asico: r ij q
a j )
ij
ij
i
q j q j r ij q
i
end for
r jj q j 2
q j
q j
r jj
end for

q j

produce el mismo resultado en aritm´etica exacta, y puede que tampoco sea evidente

por qu´e este algoritmo produce

Puede no ser evidente por qu´e la simple sustituci´on de r ij q

i a j por r ij q

i

q j I n q j 1 q 1 I n q 1 q

j

1

a j .

Para comprenderlo analicemos con detalle el progreso de las operaciones r ij q

q 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:

q j q j r 1j q 1

seguida de q j q j r ij q i para un j fijo y para i 1,

i

, j

se debe entender que a la variable q j se le asigna el valor de restar al valor previo de q j el producto r 1j q 1 .

www.Matematica1.com

for i 1:j 1

r ij q

i

q j

q j end for

q j r ij q i

recordando que el valor de q j al comienzo del mismo es a j . Para i 1

Para i 2

r 1j q

q j q j r 1j q 1 a j q

1

q j q

1

a

j

1

a j q 1 a j q 1 q

1

a j I n q 1 q

1

a j .

r 2j

q j

q

q j r 2j q 2 I n q 1 q

I n q 1 q

2

q j q

2

I n q 1 q

1

1

a j q 2 q

2

a j

1

a j q

I n q 1 q

2

I n q 1 q

1

a j q 2

1

a j I q 2 q

2

I n q 1 q

1

a j .

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

q j I q j 1 q 1 I q 2 q

j

2

I n q 1 q

1

a j .

Por (6.2) resulta que

q j I n Q j 1 Q

j 1 a j

de modo que el valor de

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

q

j

, en aritm´etica exacta, obtenido por los procedimientos

Debe notarse que con ambos m´etodos, los elementos diagonales de R son n´ume-

ros reales positivos 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. Existencia y unicidad de la factorizaci´on QR

Hemos exigido que los vectores a 1 ,

, a n sean linealmente independientes. En

www.Matematica1.com

ambos m´etodos utilizan proyecciones ortogonales, y ´estas son unicas.´ Por ejemplo,

el m´etodo cl´asico, empieza construyendo q 1

de forma unica;´

subespacio a 1 ,

sobre un subespacio fijo es unica;´ y, por supuesto, la norma del vector obtenido tambi´en. As´ı pues, la matriz Q obtenida es unica.´

, a j 1 y luego normalizado. La proyecci´on ortogonal de a j

, n , q j es la proyecci´on ortogonal de a j sobre el

a a 1 1 2 , de modo que est´a definido

y para j

2,

Por su parte, los elementos de R son las componentes de cada a j en la base

q 1 ,

, q n , que son unicos.´

Estos argumentos prueban

Teorema 6.9 Si A C m n (m n) tiene rango completo admite una unica´ rizaci´on QR.

facto-

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

Q tiene columnas ortonormales y

R e iθ R es triangular superior. Pero la condici´on r

tambi´en A e iθ Q e iθ R . cumple que Q e

˜

˜

ii

R exige que θ 0.

Analizamos ahora el caso en que rang A no es completo. En este caso, habr´ıa

una columna, digamos a j , que ser´ıa combinaci´on lineal de a 1 ,

, a j 1 . Es decir,

a j a 1 ,

, a j 1 q 1 ,

, q j 1 .

Como q j es la proyecci´on ortogonal de a j sobre el subespacio a 1 ,

una vez normalizado, y a j q 1 ,

proyecci´on ortogonal, v j , de a j sobre a 1 ,

v j 2 0. Esto imposibilita construir el vector unitario y continuar el algoritmo en el punto en que se hace la divisi´on

, q j 1 tenemos que q j 0. Mejor dicho, la

, a j 1

, a j 1 es el vector cero y as´ı r jj

q j

q j .

r jj

Este hecho parecer´ıa indicar que no existe factorizaci´on QR. Sin embargo, te´ori-

camente, podr´ıamos escoger para q j un vector unitario en q 1 ,

guir con el proceso de Gram-Schmidt; y hacerlo tantas veces cuantas sea necesario.

.q j 1 y prose-

www.Matematica1.com

En la pr´actica no hay posibilidad de escoger de manera adecuada el vector q j ortonor-

mal a q 1 ,

que, incluso cuando A no es de rango completo, siempre admite una factorizaci´on QR.

, q j 1 . Esto s´olo es una posibilidad te´orica que nos permite asegurar

Teorema 6.10 Toda matriz A C m n (m n) admite una factorizaci´on QR.

Debe observarse que si A no tiene rango completo entonces habr´ıa factorizaci´on QR de A, pero no se cumplir´ıa que Im Q Im A.

En la pr´actica, dif´ıcilmente el valor calculado por el ordenador ser´a exactamente r jj 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

>>

>>

Q

R

=

=

A=ones(3);

[Q,R]=clgs(A)

5.7735e-01

5.7735e-01

5.7735e-01

-5.7735e-01

-5.7735e-01

-5.7735e-01

1.7321e+00

0

0

1.7321e+00

3.8459e-16

0

5.7735e-01

5.7735e-01

5.7735e-01

1.7321e+00

3.8459e-16

8.5397e-32

Claramente rang A 1 pero MATLAB lleva a cabo el algoritmo sin ning´un tipo

de aviso. Vemos, enseguida, que las dos ultimas´ indica que algo raro sucede. Si hacemos

filas de R son casi cero. Esto nos

>>

ans

Q’*Q

=

1.0000e+00

-1.0000e+00

1.0000e+00

-1.0000e+00

1.0000e+00

-1.0000e+00

www.Matematica1.com

>>

ans

Q*R

=

1 1

1

1 1

1

1 1

1

observamos que Q no es unitaria. El algoritmo nos devuelve una factorizaci´on de A

en dos matrices Q y R. R es triangular superior con r ii 0 pero Q no es unitaria. Por lo tanto, no se trata de una factorizaci´on QR de A. 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.7. Factorizaci´on QR reducida y completa

Al igual que con los valores singulares existe una factorizaci´on reducida y una

(m n). La reducida ya hemos

visto lo que es: una descomposici´on de A en dos factores Q C m n y R C n n , con

Q

con elementos diagonales n´umeros reales positivos (si A es de rango completo) o

una matriz cuyas columnas son ortonormales y R una matriz triangular superior

factorizaci´on completa de cualquier matriz A C

m

n

cero (si A no es de rango completo).

Para obtener una factorizaci´on QR completa de A se a˜naden a Q m n columnas

que sea unitaria. Y se a˜naden a R

˜

ortonormales para formar una matriz Q C

m

m

m n filas de ceros para obtener la matriz

Claramente A

˜

˜

R ˜

0 m n n

R

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 de A en dos factores Q y R con estas propiedades (i.e.

Q unitaria y

˜

R

C m n con r ij 0 para i j y r jj 0) se le llama factorizaci´on QR completa

de A.

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

www.Matematica1.com

˜

˜

es

se

y de R sus ultimas´

obvio: si A Q R es una factorizaci´on completa de A C m n y m n, entonces

m n columnas

obtiene una factorizaci´on reducida eliminando de Q sus ultimas´

˜

˜

m n filas de ceros.

6.8. Un an´alisis experimetal 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 prograsi´on geom´etrica desde 2 1 hasta 2 80 de raz´on 2 1 :

disp(’Escogidas

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

A=U*S*V’;

U

y

V

matrices

ortogonales

80x80

aleatorias’)

Y

rizaciones QR de A:

usamos los algoritmos cl´asico y modificado de Gram-Schmidt para calcular facto-

[QC,RC]=clgs(A);

[QM,RM]=mgs(A);

Finalmente, dibujamos los elementos diagonales r jj de R producidos por ambos algoritmos con una escala logar´ıtmica:

axis([1

semilogy(1:80,

hold

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

diag(RC),’*’)

80

10^(-25)

10^0])

on

semilogy(1:80,

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

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

jj

r

www.Matematica1.com

10

10

10

10

10

10

0 −5 eps 1/2 −10 −15 eps −20 2 −j −25 10 20 30 40
0
−5
eps 1/2
−10
−15
eps
−20
2 −j
−25
10
20
30
40
50
60
70
80

j

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 .

Esto, m´as algunas sentencias para presentar la gr´afica con el texto apropiado,

proporciona la Figura 6.1, que interpretamos a continuaci´on.

, de modo que r jj nos da una

idea del tama˜no del vector proyecci´on de a

en la figura que r jj es una funci´on 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 j 1 . Salta a la vista

Por una parte r jj v j 2 con v j I m Q j Q

j

j

a j

sobre a

1 ,

A USV T

80

i 1

s i u i v

T

i

2 1 u 1 v T 2 2 u 2 v

1

T

2

s 80 u 80 v

y la j-´esima columna de A es

a j

2 1 v j1 u 1 2 2 v j2 u 2 2 80 v j,80 u 80 .

T

80 ,

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

v j 2

80

i 1

v ji 2 1,

www.Matematica1.com

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

v ji

80 1 2

1

80 1 2 0,1.

As´ı pues

a j 80 1 2 2 1 u 1 2 2 u 2 2 80 u 80 .

Todos los u i son vectores unitarios por lo que la componente de a j en la direcci´on de u i es el doble que su componente en la direcci´on de u i 1 . En particular, la componente m´as fuerte de a j es en la direcci´on de u 1 . Pero al hacer la descomposici´on QR de A, q 1 tiene la direcci´on de a 1 , que es, aproximadamente, la de u 1 . Es decir, q 1 u 1 y, por lo tanto, r 11 2 1 80 1 2 .

En el segundo paso,

v 2 a 2 q

1

a 2 q 1 a 2 u

1

a 2 u 1 80 1 2 2

2 u 2 2 80 u 80 80