Sunteți pe pagina 1din 286

lisis Matricial

Ana
n
Aplicado y Ampliacio
todos Nume
ricos
de Me
Ion Zaballa
Departamento de Matem
atica Aplicada
y Estadstica e Investigaci
on Operativa
Euskal Herriko Unibertsitatea

Captulo 1

Vectores y Matrices

1.1.

Matrices y Aplicaciones Lineales

El objetivo de este captulo es fijar algunas notaciones y convenciones, y tambien


dar un repaso rapido a algunos conceptos basicos de algebra lineal pero desde un
punto de vista que, quizas, no es el habitual.
Comenzamos recordando que una matriz no es mas que una familia de elementos
expuestos en un determinado orden de forma que su apariencia externa es la de un
rectangulo de elementos ordenados:





A

a11
a21
..
.

a12
a22
..
.

am1 am2

. . . a1n
. . . a2n
..
...
.
. . . amn







Esta parece ser la forma en que Sylvester (1885) introdujo originalmente las matrices.
De forma abreviada escribiremos A  raij s 1im para indicar la matriz que tiene

1 j n

Vectores y Matrices

en la posicion o entrada pi, j q el elemento aij . Tambien diremos que aij es el elemento
pi, j q de A. Si A  raij s 1im entonces diremos que A tiene m filas y n columnas
1j n
y que A es de orden o tama
no m  n o simplemente que es una matriz m  n. Las
matrices con igual n
umero de filas y columnas se llaman cuadradas. La i-esima fila
y j-esima columna de A son las matrices


 rai1 ai2

. . . ain s

aj






a1j
a2j
..
.




,


amj
respectivamente.
Los elementos de una matriz pueden ser de muy diferente naturaleza: n
umeros,
polinomios, funciones continuas, etc. Por lo general son elementos de alg
un conjunto
con estructura de anillo (normalmente conmutativo y con elemento 1) de forma tal
que si R es uno de tales anillos entonces podemos definir formalmente una matriz
A de orden m  n como una aplicacion:
:I

J R

donde I  t1, 2, . . . , mu, J  t1, 2, . . . , nu y pi, j q  aij . De esta forma A es la


aplicacion y dos matrices son iguales si lo son las aplicaciones que las definen. Es
decir, A  raij s 1im y B  rbij s 1ip son iguales si y solo si n  q, m  p y

1 j n

1 j q

aij  bij @i, j. Denotaremos con Rmn al conjunto de las matrices de tama
no m  n
con elementos en R. Podemos entonces definir la suma y producto de matrices: Si
A  raij s P Rmn y B  rbij s P Rmn son matrices del mismo tama
no entonces
A
y si A  raij s P Rmn y B

 raij

bij s P Rmn ;

 rbij s P Rnp, entonces


AB

aik bkj

P Rmp.

k 1

En particular, si n  m  p entonces cualesquiera dos matrices de Rnn se pueden sumar y multiplicar y pRnn , , q es un anillo no conmutativo con elemento

1.1 Matrices y Aplicaciones Lineales

identidad. Este elemento es la matriz




In






1
0
..
.

0 ...
1 ...
.. . .
.
.
0 0 ...

0
0
..
.







 rij s,

llamada matriz identidad. Las unidades de un anillo son aquellos elementos que
admiten un inverso. En nuestro caso, y dado que Rnn es una anillo no conmutativo, diremos que una matriz A P Rnn es una unidad, que admite inversa o, mas
com
unmente, que es invertible si existe una u
nica B P Rnn tal que AB  BA  In .
Si A es invertible, a la u
nica matriz B tal que AB  BA  In se le llama inversa
de A y se representa por A1 . Se puede demostrar que si R  F es un cuerpo y
AB  In entonces A1  B. Esto es u
til porque nos dice que basta comprobar que
A es invertible por la derecha (o izquierda) para demostrar que lo es por los dos
lados.
Debe observarse que si A1 , A2 P Rnn son invertibles entonces el producto A1 A2
1
lo es y pA1 A2 q1  A21 A
1 . As pues, el conjunto de las matrices invertibles n  n
es un grupo, no abeliano, llamado grupo general lineal de orden n sobre R y que
denotaremos por Gln pRq.
Las matrices de Rmn se pueden multiplicar por elementos de R (escalares): Si
x P R y A  raij s P Rmn entonces
xA  rxaij s P Rmn .
De esta forma el conjunto Rmn tiene estructura de modulo libre sobre R. Una base
de este modulo es el conjunto tEij : 1 i m, 1 j nu siendo Eij la matriz
cuyos elementos son todos cero excepto el de la posicion pi, j q que es 1. Dado que
R es conmutativo con elemento identidad, todas las bases de Rmn tienen el mismo
n
umero de elementos (a este n
umero se le llama dimension o rango del modulo), en
este caso mn. En particular, si R  F es un cuerpo, entonces Fmn es un espacio
vectorial y Fnn un algebra, no conmutativa, de dimension n2 .

1.1.1.

Algunos tipos de matrices

1. Transpuesta y transpuesta conjugada

Vectores y Matrices

Dada una matriz A P Rmn a la matriz que se obtiene al intercambiar las filas
por las columnas se le llama matriz transpuesta de A y se denota por AT . As,
si A  raij s P Rmn entonces AT  raji s P Rnm . Por su parte, si R  C, el
cuerpo
? de los numeros complejos y la unidad imaginaria la representamos con
i ( 1), entonces cada elemento akj  xkj iykj de una matriz A admite
un conjugado a
kj  xkj  iykj . La matriz A  ra
ij s se llama matriz conjugada
de A. La transpuesta conjugada de A P Cmn la denotaremos por A P Cnm .
Algunas propiedades elementales de la transposicion son las siguientes:

pAT qT  A,

pAq  A

Si es una escalar entonces pAqT


 AT y pAq  A
B q  A B 

pA B qT  AT B T , pA
pAB qT  BA, pAB q  B A
pAT q1  pA1qT , pAq1  pA1q.
2. Matrices Sim
etricas y Hermtices

Las matrices que tienen la propiedad de ser iguales a sus transpuestas, A  AT ;


i. e. matrices A  raij s tales que aij  aji para todos i y j, reciben el nombre de
matrices simetricas. El nombre es debido, posiblemente, a que sus elementos
son simetrcos respecto de la diagonal principal. Es claro que estas matrices
deben ser cuadradas.
Las matrices skew-simetricas son las que cumple que AT

 A.

Por su parte, si R  C y A  A entonces A se dice que es hermtica. Y si


A  A entonces A es skew-hermtica.
Algunos ejemplos de estos tipos de matrices son los siguientes:


i 2i
2i 4

simetrica


0 2i
2i 0

skew-simetrica

0 i
i 0

simetrica y skew-hermtica

1 2i
2i 4
i 2i
2i 4i
0
i

i
0

hermtica

skew-hermtica

hermtica y skew-simetrica

Cualquiera que sea A P Rnm , las matrices AAT , AT A y A AT son simetricas;


mientras que si A P Cmn entonces AA , A A y A A son hermticas.

1.1 Matrices y Aplicaciones Lineales

3. Matrices Diagonales
Una matriz n  n se dice que es diagonal si todos sus elementos son cero
excepto los de las posiciones pi, iq, 1 i n. Si D P Rnn y di es elemento
que ocupa la posicion pi, iq, escribiremos:
D

 Diagpd1, . . . , dnq.

En general si A P Rnn los elementos aii , 1 i n, se dice que son o forman


la diagonal principal de A. Las matrices diagonales se pueden considerar como

un caso especial de matrices diagonales por bloques. Estas


son las que tienen
la forma:


A1 0 . . . 0
 0 A ... 0 
2


 ..
.. . .
.. 
 .
.
.
. 
0

. . . Ap

siendo Ai una matriz cuadrada de tama


no ni  ni , 1 i p.
4. Matrices Triangulares
Una matriz A  raij s P Rnn se dice que es triangular superior si aij  0 para
i j. Si aij  0 para i j entonces A es triangular inferior. De la misma
forma que con matrices diagonales, las triangulares son un caso particular
de las matrices triangulares por bloques. Una matriz triangular superior por
bloques tiene la siguiente forma:





A

con Aij

A11 A12
0 A22
..
..
.
.
0
0

. . . A1p
. . . A2p
.
. . . ..




.


. . . App

P Rn n .
i

Las inversas de matrices triangulares superiores (inferiores) son triangulares


superiores (inferiores, respectivamente).
5. Matrices de Permutaci
on
Una matriz P P Rnn se dice que es de permutacion si en cada fila y columna
hay un elemento igual a 1 y todos los demas son cero. La multiplicacion por

Vectores y Matrices

este tipo de matrices efect


ua una permutacion de las filas o columnas del objeto
multiplicado. As por ejemplo,


0 0 1

P  1 0 0  y PT
0 1 0

0 1 0

 0 0 1
1 0 0

son matrices de permutacion y




1
3





1 2 3 PT
P 2  1  y
3
2

3 1 2 .

Es decir, P pone la fila 1 en la 2, la 2 en la 3 y la 3 en la 1. Y P T hace lo


mismo pero en las columnas.
En general, si Sn es el grupo simetrico de orden n; i. e. el grupo de permutaciones de n elementos, y  pi1 , i2 , . . . , in q P Sn ; i. e. pk q  ik , denotamos con
P  ripj q s  riik s P Rnn . Es decir, P es la matriz que tiene exactamente
un 1 en la posicion p piq, iq, 1 i n y todos los demas elementos son cero.
As, en el ejemplo de arriba, P es la matriz de la permutacion  p2, 3, 1q.
Notemos que P T

 P  P 1 y si A  raij s entonces
P A  rapiqj s y AP T  raipj q s.
1

Es decir, P A se obtiene de A poniendo la fila i en la piq, y AP T se obtiene


de A poniendo la columna j en la pj q.
Hay otros tipos de matrices que iremos definiendo a medida que los vayamos
necesitando.

1.1.2.

Aplicaciones lineales

Si R  F es un cuerpo (sobreentendemos que es conmutativo) hay una relacion


muy estrecha entre las matrices con elementos en F y las aplicaciones lineales definidas entre espacios vectoriales sobre F. En efecto, sean V1 y V2 espacios vectoriales
de dimensiones n y m, respectivamente, sobre F, y fijemos bases B1 y B2 de V1 y V2 .
As a cada aplicacion lineal f : V1 V2 le corresponde una matriz A  raij s P Fmn

1.1 Matrices y Aplicaciones Lineales

de la siguiente forma: los elementos de la j-esima columna de A son las componentes de la imagen del j-esimo vector de B1 respecto de la base B2 . Es decir, si
B1  tv1 , . . . , vn u, B2  tu1 , . . . , um u, y
f pvj q 

aij ui ,

 1, . . . , n

(1.1)



entonces la matriz A  raij s P F
se llama la matriz de f respecto de las bases B1 y
B2 . Recprocamente, dada la matriz A  raij s P Fmn y fijadas las bases B1 y B2 de V1
i 1
m n

y V2 , respectivamente, la relacion (1.1) define una u


nica aplicacion lineal entre estos
espacios vectoriales. Dicho formalmente, si HompV1 , V2 q es el espacio vectorial de las
aplicaciones lineales de V1 en V2 , y fijadas bases en estos dos espacios vectoriales, los
espacios vectoriales Fmn y HompV1 , V2 q son isomorfos y el isomorfismo esta definido
a partir de la relacion (1.1). Conviene tener siempre presente este isomorfismo porque
nos permite traducir propiedades de las matrices en propiedades de las aplicaciones
lineales entre espacios vectoriales y al reves. En particular, toda matriz A P Fmn
puede verse como una aplicacion lineal entre los espacios vectoriales Fm y Fn . Para
ello identificamos Fn con Fn1 ; es decir, escribimos y hablamos indistintamente del
vector x  px1 , x2 , . . . , xn q P Fn y de la matriz columna (a la que llamaremos con
mucha frecuencia vector columna):


x






x1
x2
..
.







x1 x2 . . . xx

T

P Fn1.

xn
De esta forma, dada A P Fmn , queda definida la aplicacion lineal (que seguimos
denotando con la letra A):
A : Fn Fm
x ; Ax
donde debemos entender que Ax es el vector columna que resulta de multiplicar A
y el vector columna x.

1.1.3.

Dos interpretaciones del producto de matrices

Todo lo dicho hasta aqu concuerda con la interpretacion habitual del Algebra
lineal. Desde este punto de vista la ecuacion Ax  b, que es un sistema no homogeneo

10

Vectores y Matrices

de ecuaciones lineales, se debe interpretar de la siguiente forma: b es la imagen por


A del vector x. Por supuesto, esto es correcto, pero hay otra forma de mirar esta
ecuacion que es mucho mas u
til para este curso y que pasamos a analizar ahora.
En primer lugar, b  Ax significa que el vector b es el resultado de multiplicar
la matriz A y el vector x:
bi

aij xj ,

i  1, . . . , m.

j 1

Poniendo todas las componentes de b juntas:




b1
a11
b  a 
 2   21 
 ..    ..  x1
 .   . 
bm

a12
a 
 22 
 ..  x2
 . 

am1



a1n
a 
 2n 
 ..  xn .
 . 

am2

amn

y escribiendo A en funcion de sus columnas:




A  a1 a2
tenemos que

b  x 1 a1

x 2 a2



an ,



x n an .

Es decir b es una combinacion lineal de las columnas de A cuyos coeficientes son las
componentes del vector x. As pues, no es A quien act
ua sobre x para producir b,
sino que es x quien act
ua sobre A para producir b. Este es el punto de vista habitual
que adoptaremos en este curso.
De la misma forma, si A P Rmn y B P Rnp tenemos una doble interpretacion
para la matriz C  AB P Rmp . La tradicional sera que C es la matriz de la
composicion de las aplicaciones
Rp

B
A

Rn Rm

en las bases canonicas. La que mas nos interesa en este curso es la siguiente: Si cij
es el elemento en la posicion pi, j q de C entonces
cij

k 1

aik bkj ,

1 i m,

1j

p.

1.1 Matrices y Aplicaciones Lineales

Por consiguiente
cij

11

 ai1b1j

ai2 b2j



ain bnj ,

(1.2)

y si cj y bj son las j-esimas columnas de C y B:




c1j
a11
c  a
 2j   21
cj   ..    ..
 .   .
cmj
As

a12
a22
..
.

am1 am2


c1 c2







..


cp

a1n
b1j
b 
a2n 
  2j 
..   ..   Abj ,
.  . 
amn

 1, . . . , p.

bnj

Ab1 Ab2



Abp ,

de modo que la j-esima columna de C es una combinacion lineal de las columnas de


A cuyos coeficientes son las componentes de la j-esima columna de B.
De forma similar, de (1.2) sacamos que si ci y ai son las i-esimas filas de C y A,
entonces
ci  ai B.
Y esto significa que la i-esima fila de C es una combinacion lineal de las filas de B
cuyos coeficientes son las componentes de la i-esima fila de A.
En resumen, en el producto de matrices AB:
A acta sobre B provocando combinaciones lineales en las filas de B, y
B acta sobre A provocando combinaciones lineales en las columnas de A.

Ejemplo 1.1 : Producto interno y producto externo de vectores.


Sean u, v P Rn . Se define le producto interno de estos dos vectores como uT v,
mientras que el producto externo es uv T .
Hay una gran diferencia entre estos dos productos. Para empezar uT v P R11 ;
es decir, es un escalar mientras que uv T P Rnn es una matriz. Ademas, uT v es una
combinacion lineal de las columnas de uT con los coeficientes de v o una combinacion
lineal de las filas de v con los coeficientes de u. Tanto las columnas de uT como las

12

Vectores y Matrices

filas de v son de tama


no 1  1, de modo que el resultado es un escalar:


uT v

u1 u2

v1
n

  v2 

   un  ..   uivi
.

P R.

i 1

vn

Por su parte uv T se puede ver como una combinacion de las filas de v T (solo hay
una) cuyos coeficientes son las componentes de u; o, como una combinacion lineal
de las columnas de u (solo hay una) cuyos coeficientes son las componentes de v T .
Es decir,


uv T

v1 u v2 u



u1 v T
u1 v1 u1 v2
T


  u2 v   u2 v1 u2 v2
vn u   ..    ..
..
 .   .
.
T
un v
un v1 un v2



..



u1 vn
u1 vn 

.. 
. 
un vn

En conclusion, el producto exterior de u y v es una matriz n  n cuyas columnas


son m
ultiplos del vector u, y cuyas filas son m
ultiplos del vector v T .

Otras dos interpretaciones del producto de matrices


Se pueden dar dos nuevas interpretaciones del producto de matrices a partir de
los productos interno y externo de vectores. Sean A P Rmn y B P Rnp . Entonces
Por una parte, el elemento pi, j q de AB es pAB qij

aik bkj . Es decir, es

k 1

el producto interno de la i-esima fila de A y la j-esima columna de B. Siendo


completamente formales:
pAB qij  pa1iqT bj ,

donde a1i es la i-esima columna de AT y bj la j-esima columna de B.

Por otra, si ai representa la columna i-esima de A y bj la j-esima fila de B,


entonces el elemento pi, j q del producto externo ak bk es precisamente aik bkj . Por

1.1 Matrices y Aplicaciones Lineales

13

lo tanto, si b1k es la k-esima columna de B T tenemos que pak pb1k qT qij


Es decir,
AB

 a1pb11qT

a2 pb12 qT



 aik bkj .

an pb1n qT ,

es la suma de n productos externos. Cada sumando es el producto externo de


la i-esima columna de A y la i-esima fila de B (formalmente la i-esima columna
de B T ).

Ejemplo 1.2 :Matrices elementales


Dada una matriz A P Rmn , hay tres tipos de transformaciones elementales
que se pueden realizar sobre A:
(t1 ) Sumar a una fila (o columna) de A otra fila (o columna) multiplicada por un
escalar.
(t2 ) Multiplicar una fila (o columna) de A por un escalar distinto de cero.
(t3 ) Permutar dos filas (o columnas) de A.
Si las transformaciones se hacen en las filas se habla de transformaciones
elementales por filas y si se hacen en las columnas de transformaciones elementales por columnas.
Puesto que las transformaciones elementales por filas en A producen combinaciones lineales de sus filas, se tienen que poder realizar multiplicando una matriz
apropiada por A. Y lo mismo por columnas: las transformaciones elementales por
columnas se pueden realizar multiplicando A por una matriz apropiada. Supongamos, por ejemplo, que se quiere sumar a la i-esima fila la j-esima multiplicada por
P R. Y supongamos, por fijar ideas, que i j. Si escribimos A en funcion de sus
filas
 
a1
 a2 
 
A   .. 
 . 
am

14

Vectores y Matrices

queremos obtener la matriz






 i
a








a1
..
.



j
a 

..

.


j
a


..

.

am
Puesto que cada fila de B es una combinacion lineal de las filas de A, debe existir una
matriz E1 pq tal que B  E1 pqA. Ahora bien, todas las filas de A y B coinciden,
excepto la i-esima que es ai aj . Por lo tanto

E1 pq 



i




j



i
1

...












1 ...
. . . ..
.
1
...
1

Es importante observar que E1 pq  In aeTj donde ej es el j-esimo vector (columna)


canonico (todos los elementos cero excepto el de la posicion j que es 1) y a es el
vector (columna) cuyos elementos son todos cero excepto el de la posicion i que es
. As pues E1 pq es una modificacion de rango 1 de la matriz identidad.
Es claro que B

 E1pqA. De la misma forma




AE1 pq  a1



ai



aj

ai



an .

Notese que en este caso, la columna que cambia es la j-esima.


Si lo que se quiere es multiplicar la i-esima fila de A por

0 entonces la

1.1 Matrices y Aplicaciones Lineales

15

matriz E2 pq que lo produce es

E2 pq 

i
1





i





..












.
1

..

.
1

En efecto


a1
 .. 
 . 

E2 pqA  ai 
 . 
 .. 


y AE2 pq  a1





ai

an .

am

Finalmente, si lo que se quiere es permutar las filas o columnas i y j debemos utilizar


una matriz de permutacion, en realidad una transposicion:





i




j





i
1

















...
1
0 ... 1
.. . .
.
. ..
.
1 ... 0
1

...
1

16

Vectores y Matrices

As


a1
 .. 
 . 
PA 

 j
a 
 . 
 .. 
 
 i
a 
 . 
 .. 

y AP

a1



aj



ai



an .

am

Las matrices de la forma E1 pq, E2 pq y P se llaman matrices elementales.


Debe notarse que estas matrices y las matrices de transposicion se obtienen de la
matriz identidad realizando sobre esta la misma transformacion elemental que se
quiere conseguir sobre la matriz que van a actuar. As, la matriz E1 pq de mas
arriba se obtiene de la matriz In sumando a la fila i la j-esima multiplicada por .
Y tambien se obtiene sumando a la columna j la i-esima multiplicada por .

1.1.4.

Submatrices

Dada una matriz A  raij s P Rmn , diremos que la matriz B  rbij s P Rpq es
una submatriz de A si existen ndices pi1 , . . . , ip q y pj1 , . . . , jq q tales que 1 i1
   ip m, 1 j1    jq n y

ai r j s

 brs,

1r

p, 1 s q.

Esto significa, simplemente, que los elementos que componen B estan en la interseccion de algunas filas y columnas de A:

1.1 Matrices y Aplicaciones Lineales

17

b11

b12

b21

b22

b13

b23

i1

tb31

tb32

i3

tb41

tb42

tb43

i4

j1

j2

j3

A

b33

i2

Trabajaremos a menudo con submatrices para lo que vamos a introducir una


notacion mas compacta y u
til. Denotamos con
Qr,n

 tpi1, . . . , ir q : 1 i1 . . . ir nu

el conjunto de todas las secuencias de r n


umeros enteros positivos entre 1 y n.

P Qr,n, diremos que precede a en el orden lexicografico, y escribiremos


,
si la primera diferencia i  i que no sea cero es positiva. Por ejemplo, si 
p1, 3, 4, 7q y  p1, 3, 5, 6q entonces   p0, 0, 1, 1q y   p0, 0, 1, 1q. por
lo tanto precede a en el orden lexicografico: .
Dada una matriz A  raij s P Rmn , si P Qr,m y P Qs,n , la matriz B  rbij s P
Si ,

Rrs definida por

bij

 a ,

1 i r,

i j

1j

es una submatriz de A y se denotar por


B

 Ar| s.

Esta notacion es muy parecida a la que usa MATLAB para definir submatrices
(vease la Gua de MATLAB para este curso). MATLAB utiliza parentesis en vez de

18

Vectores y Matrices

corchetes. Aqu los parentesis se usaran para designar la submatriz complementaria.


Es decir, si P Qr,n entonces la secuencia complementaria de es 1 P Qnr,n que
cumple la siguiente condicion: Si  p1 , . . . , r q y 1  p11 , . . . , n1 r q entonces

t1, . . . , r , 11 , . . . , n1 r u  t1, 2, . . . , nu.

Si P Qr,m y P Qs,n y 1 , 1 son las secuencias complementarias en t1, . . . , mu


y t1, . . . , nu, entonces pondremos
Ap| q  A  r1 | 1 s.

Ejemplo 1.3 .- El siguiente ejemplo puede ayudar a clarificar la notacion. Sea




0
 3
A
 4
7
Ar1, 2|1, 3s 

Ap2, 3|3q  Ar1, 4|1, 2, 4s 

1.2.

1
2
5
6

a11 a13
a21 a23


2
1
6
5


3
0 

7 
4


a11 a12 a14


a41 a42 a44

0
3

2
1

0
7

1
6

3
4

Imagen y N
ucleo de una matriz

Aunque en la seccion anterior hemos procurado actuar con la maxima generalidad acerca del anillo en el que estan definidas las matrices, a partir de ahora, nuestras
matrices supondremos que tienen sus elementos en un cuerpo (siempre conmutativo), F, y casi siempre podremos pensar que este cuerpo es el de los n
umeros reales
o complejos. Comenzamos con dos conceptos basicos bien conocidos: la imagen y
el n
ucleo de una matriz se definen como la imagen y n
ucleo de la correspondiente
aplicacion lineal asociada.
Definici
on 1.4 .- Sea A P Fmn . Se define
ImpAq  ty

P Fm|y  Ax para algn x P Fnu.

1.2 Imagen y N
ucleo de una matriz

19

KerpAq  tx P Fn |Ax  0u.

En estos dos conceptos aparece un sistema de ecuaciones lineales. Podemos utilizar la interpretacion que hemos hecho en la Seccion 1.1.3 acerca del significado
de multiplicar matrices para conseguir una nueva caracterizacion de estos conjuntos. Recordemos que si a1 , . . . , an son vectores de Fn , el subespacio de Fn generado
por estos vectores , y que denotaremos indistintamente por a1 , . . . , an o por
Span pa1 , . . . , an q, es el conjunto de todas las combinaciones lineales de a1 , . . . , an :

a1, . . . , an  Span pa1, . . . , anq 

x i ai | x i

PF

i 1

Proposici
on 1.5 .- ImpAq es es subespacio de Fm generado por las columnas de A.


Demostraci
on.- Tenemos que demostrar que si A  a1 a2
Im A  a1 , a2 , . . . , an . Ahora bien
y

P Im A y  Ax,

para algn x P Fm

y



an entonces

x i ai ,

i 1

donde x1 , . . . , xn son las componentes de x. La u


ltima equivalencia es, como ya
hemos mencionado, debida a que y  Ax si y solo si y es una combinacion lineal de
las columnas de A cuyos coeficientes son las componentes de x.
De forma similar, los vectores x P Ker A son aquellos cuyas componentes son
los coeficientes del vector 0 como combinacion lineal de las columnas de A: 0 
x1 a1 x2 a2    xn an .

1.2.1.

Rango y nulidad

El rango por columnas de una matriz es la dimension del espacio que generan sus
columnas. Y el rango por filas de una matriz es la dimension del espacio que generan
sus filas. Ambos n
umeros coinciden para cada matriz (hay varias pruebas posibles
de este hecho, una de ellas se puede obtener como corolario del Teorema SVD que

20

Vectores y Matrices

discutiremos en Lecciones posteriores). Nos referiremos a este n


umero com
un como
el rango de la matriz y, para una matriz A, lo representaremos por rangpAq.
Por otra parte, la nulidad de A P Fmn se define como la dimension de Ker A
y la denotaremos con el smbolo pAq. Los teoremas de isomorfa nos dan una relacion estrecha entre nulidad y rango. En efecto, de acuerdo con la Proposicion 1.5,
rangpAq  dim Im A y de acuerdo con los teoremas de isomorfa de aplicaciones
lineales dim Im A  n  dim Ker A. As pues
rangpAq  n  pAq.
Diremos que una matriz m  n tiene rango completo si su rango es el maximo
posible; es decir, el mas peque
no de los n
umeros m y n. As pues, si m n y
mn
APF
tiene rango completo, se tiene que las n columnas de A son linealmente
independientes. Esto a su vez significa que el u
nico vector x  px1 , . . . , xn q para el
que x1 a1    xn an  0 es x  0; es decir, Ker A  t0u. Y esto equivale a que la
aplicacion lineal que define A es inyectiva. De la misma forma, si m n y A tiene
rango completo entonces dim Im A  m y como Im A Fm debe ser Im A  Fm ;
i.e., A es suprayectiva. Finalmente, si m  n y A tiene rango completo entonces
la aplicacion lineal que define es biyectiva. Es decir, A es invertible: hay una nica
matriz B P Fnn tal que AB  BA  In . A esta nica matriz se le llama inversa de
A y se representa por A1 .
El siguiente Teorema recoge unas cuantas propiedades bien conocidas equivalentes a que una matriz sea invertible. Algunas de ellas ya han sido demostradas mas
arriba.
Teorema 1.6 Para A P Fnn las siguientes condiciones son equivalentes:
1. A tiene inversa A1 .
2. rangpAq  n.
3. Im A  Fn .
4. pAq  0.
5. Ker A  t0u.

1.3 Factorizacion LU

21

6. 0 no es un valor propio (autovalor) de A.


7. detpAq  0.
Recordemos que , escalar en, quiza, un cuerpo extension de F, es un valor
propio si hay un vector no nulo x tal que Ax  x. Si 0 fuera valor propio de A
entonces Ax  0 para alg
un x  0. As Ker A  t0u. Y recprocamente.
En cuanto a la propiedad detpAq  0, se trata de una consecuencia inmediata
de las propiedades basicas de los determinantes para matrices sobre cuerpos. Y en
cuanto a terminologa, las matrices que cumplen la propiedad detpAq  0 se llaman
no singulares o regulares. Por lo tanto, no singularidad e invertibilidad son conceptos
equivalentes para matrices sobre cuerpos.
Asociada al determinante recordemos que hay una caracterizacion del rango de
una matriz que la mencionamos por completitud porque tanto ella como el propio
concepto de determinante no son de utilidad desde un punto de vista numerico: el
rango de A es el tama
no de la mayor submatriz con determinante no nulo de A. A
los determinantes de las submatrices de una matriz tambien se les llama menores
de la matriz.
Una observacion final en la lnea de lo expuesto en la Seccion 1.1.3. Cuando
escribimos
x  A1 b
no debemos pensar en el vector x como el resultado de multiplicar la inversa de
la matriz A por el vector b, sino que A1 b es el vector cuyas componentes son los
coeficientes de b escrito como combinacion lineal de las columnas de A. En efecto,
esto es consecuencia de la siguiente obvia equivalencia para las matrices invertibles:
Ax  b x  A1 b

O tambien, si A es invertible entonces Im A  Fn y las columnas de A forman una


base de Fn . Las componentes del vector A1 b son las coordenadas de b en esta base.

1.3.

Factorizaci
on LU

La factorizacion LU se estudia en el curso de Metodos Numericos bajo la denominacion de Algoritmos de Doolittle y Crout. La repasamos ahora brevemente.

22

Vectores y Matrices

El objetivo de la factorizacion LU es la resolucion de sistemas de ecuaciones lineales; y es la forma actual de representar la eliminacion Gaussiana. La eliminacion
Gaussiana era conocida ya en la China antigua [15] y los estudiantes la emplean de
manera intuitiva en la escolarizacion obligatoria o bachillerato como un metodo de
eliminacion de variables al resolver sistemas lineales. Gauss la uso en el contexto
de problemas de mnimos cuadrados lineales [7],[10], [20]. En los cursos de algebra
lineal se suele ense
nar en conjuncion con la reduccion de una matriz a forma escalera
y, en este contexto, se trata como una herramienta para obtener todas la soluciones de un sistema lineal, para calcular el determinante y el rango de la matriz de
los coeficientes. En esta seccion estudiaremos su conexion con la factorizacion LU
y justificaremos por que esta es la forma eficiente de implementar la eliminacion
Gaussiana.
Supongamos, en una primera aproximacion, que se nos pide resolver el siguiente
sistema de ecuaciones lineales:

   
10 20 0
x1
6
2
4 6 x2    4 
5 2 8
x3
11
y pongamos


 
 
10 20 0
x1
6





A  2 4 6 , x  x2 , b  4 
5 1 9
x3
11
La eliminacion Gaussiana consiste en operar sobre las filas del sistema para reducir
a cero todos los elementos de la primera columna de la matriz de los coeficientes. El
primer paso sera sumar a la segunda fila la primera multiplicada por 2{10 y sumar
a la tercera fila la primera multiplicada por 5{10. Se trata, en realidad, de hacer
transformaciones elementales: si




1
0 0
1
0 0
1 0
M11  2{10 1 0 y M12   0
0
0 1
5{10 0 1


entonces

10

M12 M11 A  0
0

20
0
8

Notemos que

M1

 M12M11

0
6


6 y M12 M11 b  5,2
8
8


1
0 0

 2{10 1 0 ;
5{10 0 1

1.3 Factorizacion LU

23

es decir, podemos condensar todas las operaciones elementales hechas en la primera


columna en una u
nica matriz que difiere de la identidad en que los elementos en
la primera columna son los n
umeros por los que hay que multiplicar el elemento
en la posicion p1, 1q para anular los restantes elementos de la primera columna. En
definitiva,


0
M1  I3 m1 eT1 , m1   2{10  .
5{10
El siguiente paso es proceder con los elementos de la segunda columna que estan
por debajo de la diagonal de la misma forma. En nuestro ejemplo, sin embargo,
tenemos un problema: el elemento en la posicion p2, 2q es 0; no podemos usarlo para
eliminar el elemento en la posicion p3, 2q. El remedio es facil: permutamos las filas
2 y 3. Para ello definimos


1 0 0
P  0 0 1
0 1 0
Esta es una matriz de permutacion que al premultiplicar cualquier matriz por ella,
permuta en aquella las filas 2 y 3. As


10
P M1 A   0
0

20
8
0

0
6
8  y P M1 b   8 
6
5,2

La estrategia de permutar filas se debe usar, por motivos que por ahora no se pueden
explicar con brevedad, no solo cuando el elemento de la posicion diagonal es cero,
sino para colocar en dicha posicion el elemento que, en valor absoluto, sea el mayor
de la columna por debajo de la diagonal. Por ejemplo, si sustitumos el 4 en la
posicion p2, 2q de la matriz original A por 4,1 entonces


10

M1 A  0
0

20
0,1
8

0
10


6 y P M1 A  0
8
0

20
8
0,1

0
8 .
6

Siguiendo con esta matriz, sumamos a su tercera fila la segunda multiplicada por
1{80; i.e, premultiplicamos por


1

M2  0
0

0
0
1
0  I3
1{80 0

m2 eT2 ,

0

0 ,
m2 
1{80

24

Vectores y Matrices

para obtener


10

M2 P M1 A  0
0

20

0
6


8
y M2 P2 M1 b  8 
5,9
5,1

8
0

De aqu se obtiene fcilmente la solucion:


x3

51
, x2
59

1
8

51
88
59

8
, x1
59

1
10

8
20
59

 106

16
.
59

Recordamos que a este proceso se le llama sustitucion hacia atras.


Observemos ahora que


1
0 0

P M1 P  5{10 1 0  M11
2{10 0 1
y que P T  P . Es decir, P M1  M11 P siendo M11 la matriz que se obtiene de M1 al
intercambiar los elementos en las posiciones p2, 1q y p3, 1q. As pues, si M21  M2
M21 M11 P A  U
siendo

10
U 0
0

20
8
0

0
8
5,9

una matriz triangular superior. Finalmente, las inversas de M11 y M21 son muy faciles
de calcular: basta cambiar de signo los elementos que estan fuera de la diagonal:


1
0 0
1
L1  M11   5{10 1 0 , L2
2{10 0 1
Poniendo L  L1 L2 obtenemos

1
0
0
 0 1 0
0 1{80 0


1
0
0

1
0
L  5{10
2{10 1{80 1

1.3 Factorizacion LU

25

que es una matriz triangular inferior con elementos todos iguales a 1 en la diagonal
y cuyos elementos por debajo de la diagonal i son los de la matriz Li . Ademas, existe
una matriz de permutacion P tal que
P A  LU
A esta forma de escribir P A se le llama descomposicion o factorizacion LU de A
con pivoteo parcial por columnas.
Este ha sido un ejemplo de un resultado general: dada una matriz no singular
A P Fnn , (F  R o C), realizando transformaciones elementales por filas se puede
reducir A a una matriz U que es triangular superior. En concreto, existen matrices
M1 ,. . . , Mn1 con la forma


1 
 .. . . .
.

Mk


 00   

 ...
0



0
..
.

0
..
.

1
mk
..
.

1k

mnk



0
.. 
.

0    0
  In
1    0
.. . . .. 
. .
.
0  1


mk eTk ,

mk

0
..
.
0



k

m
 k
 .
 ..

1k










mnk

y matrices de transposicion P1 ,. . . , Pn1 tales que


Mn1 Pn1  . . .  M2 P2 M1 P1 A  U.
Expltamente, si para k

 1, . . . , n  1, Apkq  Pk Mk1Pk1  . . .  P2M1P1A, entonces


k
nk
 pkq
pk q 
k
A11
A12
p
kq
A 
pk q
nk
0
A
22

pk q

siendo A11 una matriz triangular y para i  k

1, . . . , n las cantidades

pkq

mik

pkq

 aikpkq .
akk

se llaman multiplicadores y a akk el pivote del paso k. Ademas, Apk 1q  Mk Apkq


es una matriz con la misma forma que Apkq pero con ceros en la columna k 1 por

26

Vectores y Matrices

pk 1q se obtienen de los de Apkq mediante

debajo de la diagonal. Los elementos de A22


las siguientes operaciones:

pk 1q  apkq  m apkq ,
ik kj
ij

aij

i, j

k

1, . . . , n.

Ahora, si Li es la matriz que se obtiene cambiando los signos de los multiplicadores en la columna i de Mi e intercambiando los elementos de dicha columna
correspondientes a la transposiciones Pn1 ,. . . , Pi 1 , entonces
Pn1  . . .  P1 A  L1  . . .  Ln1 U.

Poniendo P

 Pn1  . . .  P1 y L  L1  . . .  Ln1 tenemos que


P A  LU

es una descomposicion LU de A con pivoteo por columnas.


Debe observarse la siguiente propiedad que es importante para realizar el algoritmo que produce la factorizacion LU de A con pivoteo parcial de columnas: Para
i  1, . . . , n  1 denotemos


1 
0
..
 .. . . .
.
.

0



1

Li  
0    `i 1i
.
..
 ..
.
0    `ni



0
..
.

0
.. 
.

0    0
  In
1    0
.. . . .. 
. .
.
0  1


`i eTi ,

`i

Li Lj

 In

`i eTi

`j eTj

1
.
 ..

i
0
0

 ..
.

j0

0
.
 ..

i
0
..
.
1



...







`i

1i

..
.
`ji

`j

..
.

1i

`ni



i

`
 i 1i
 .
 ..











`ni

y supongamos i j. Entonces teniendo en cuenta que eTi `j




0
..
.
0

0
..
.
0
1
..
.
0
0
..
.
0

j
0
..
.
0
0
..
.




..





 0, se concluye que
0
..
.
0
0
..
.

1
`j

..
.

1j

`nj

0
1
..
.
0







0
0
..
.
0

0
..
.
0
0
..
.



..
.











.

0

0



1.3 Factorizacion LU

27

En definitiva, L  L1  . . .  Ln1  In `i eTi


   `n1eTn1. Es decir, para
j  1, . . . , n  1 la j-esima columna de L es la de Lj . En otras palabras, los elementos
de L en la columna j por debajo de la diagonal son los multiplicadores del paso j,
de modo que L se obtiene asignado a la posicion pi, j q, i j, el multiplicador
pj q pj q
mij  aij {ajj .
Se presenta a continuacion una funcion de MATLAB que teniendo en cuenta
todos los comentarios anteriores devuelve las matrices L, U y P tales que P A  LU
es una factorizacion LU de A con pivoteo parcial por columnas. La matriz P puede
no ser u
nica (puede haber en cada paso varios elementos en la correspondiente
columna con maximo valor absoluto) pero una vez fijada esta, los factores L y U
son u
nicos ([6, pag. 35 Vol. 1]). Se pone el smbolo % para explicar brevemente el
significado de cada lnea.
function [L,U,P] = lutxv1(A)
%LUTXV1 devuelve matrices L, triangular inferior con 1 en la diagonal,
%U, triangular superior y P e permutaci
on tal que PA=LU. En vez
%trabajar con la matriz P se trabaja con un vector p que almacena las
%transposiciones y a partir del cual se construye P.
% Calculamos el tama~
no de A
[n,n] = size(A);
%Iniciamos p=[1 2 ... n]^T
p = (1:n);
% y L
L=eye(n);
%Transformaciones elementales en las columnas 1, 2,..., n.
for k = 1:n-1
%Calculamos el m
aximo, r, (en valor absoluto) de los elementos
% A(k,k), A(k,k+1),...,A(k,n), y la posici
on, m, donde se encuentra
[r,m] = max(abs(A(k:n,k)));
% Calculamos la posici
on del m
aximo en toda la columna k-
esima de A
m = m+k-1;
%Si el m
aximo fuera cero es porque toda la columna es cero y A no ser
a
%invertible
if (A(m,k) ~= 0)
%Si el m
aximo no est
a en la diagonal permutamos

28

if (m ~= k)
%permutamos las filas k y m en A
A([k m],k:n) = A([m k],k:n);
%en L
L([k m],1:k-1) = A([m k],1:k-1);
% y las posiciones k y m de p
p([k m]) = p([m k]);
end
%L est
a fromada por los multiplicadores
i = k+1:n;
L(i,k) = A(i,k)/A(k,k);
% Por debajo de (k,k) los elementos de A en
% para qu
e hacer la operaci
on?
A(i,k)=0;
% Realizamos sobre las filas i=k+1,...,n la
j = k+1:n;
A(i,j) = A(i,j) - L(i,k)*A(k,j);
end
end
%A se ha convertido en triangular superior: es la
U=A;
% Constru
mos P a partir de p: las filas 1:n de P
P=eye(n); P=P(p,:);

Vectores y Matrices

la columna k ser
an 0

transformaci
on elemental

U
son las de la permutaci
on

En la segunda y u
ltima version se juega con el hecho de que la matriz A va haciendose triangular superior y en cada paso sus elementos por debajo de la diagonal
se hacen ceros. De hecho, se van haciendo ceros a medida que se va construyendo
la matriz L columna a columna con los multiplicadores. La idea es aprovechar la
parte triangular inferior de A almacenando all la parte triangular inferior de la L.
De esta forma, toda referencia a L es innecesaria. La siguiente funcion de MATLAB
es de una version legible de la funcion LU de MATLAB.
function [L,U,P] = lutx(A)
%LUTX devuelve matrices L, triangular inferior con 1 en la diagonal,
%U, triangular superior y un vector p, tal que si P es la matriz de
%permutaci
on que corresponde al vector p, se tiene PA=LU
% Calculamos el tama~
no de A

1.3 Factorizacion LU

29

[n,n] = size(A);
%Iniciamos p=[1 2 ... n]^T
p = (1:n);
%Transformaciones elementales en las columnas 1, 2,..., n.
for k = 1:n-1
%Calculamos el m
aximo, r, (en valor absoluto) de los elementos
% A(k,k), A(k,k+1),...,A(k,n), y la posici
on, m, donde se encuentra
[r,m] = max(abs(A(k:n,k)));
% Calculamos la posici
on del m
aximo en toda la columna k-
esima de A
m = m+k-1;
%Si el m
aximo fuera cero es porque toda la columna es cero y A no ser
a
%invertible
if (A(m,k) ~= 0)
%Si el m
aximo no est
a en la diagonal permutamos
if (m ~= k)
%permutamos las filas k y m
A([k m],:) = A([m k],:);
% y las posiciones k y m de p
p([k m]) = p([m k]);
end
%Almacenamos en la columna k desde la posici
on diagonal para abajo
%los elementos de L
i = k+1:n;
A(i,k) = A(i,k)/A(k,k);
% Realizamos sobre las filas i=k+1,...,n la transformaci
on elemental
j = k+1:n;
A(i,j) = A(i,j) - A(i,k)*A(k,j);
end
end
%En la parte triangular inferior de A (sin la diagonal) est
a L
L = tril(A,-1) + eye(n,n);
%Y en la parte triangular superior (incluyendo la diagonal) est
a U
U = triu(A);
% Constru
mos P a partir de p: las filas 1:n de P son las de la permutaci
on
P=eye(n); P=P(p,:);
Una vez se ha obtenido una descomposicion LU de A, la resolucion del sistema
Ax  b es simple: se obtiene la solucion del sistema Ly  b mediante sustitucion
hacia adelante; y a continuacion la solucion de U x  y mediante sustitucion hacia

30

Vectores y Matrices

atras.
El algoritmo LU es el primer algoritmo que vemos en este curso. Se trata de un
algoritmo sencillo pero eso no significa que sea bueno. Dise
nar buenos algoritmos
puede ser una tarea complicada y decidir si un algoritmo es bueno tambien. Hay dos
propiedades fundamentales que se deben exigir a un buen algoritmo: que sea estable
y sea poco costoso. Estudiaremos en captulos posteriores lo que significa que un
algoritmo es estable y analizaremos si la eliminacion Gaussiana lo es.
Para un algoritmo como el que acabamos de ver, su coste se mide en funcion del
n
umero de operaciones que hay que realizar. A estas operaciones se les suele llamar
flops (por floating point operations). Cada suma, resta, multipliacion y division es
una flop. No distinguiremos entre operaciones con n
umeros reales o complejos y
tampoco prestaremos atencion a otras operaciones que realizan internamente los
ordenadores (como asignacion de memoria o realocacion de variables, dedicacion
de los procesadores a las distintas tareas que se esten realizando en el momento de
correr el algoritmo, etc). No obstante se debe saber que estos factores pueden afectar
en gran medida al tiempo necesario para la implementacion del algoritmo.
Normalmente el n
umero de flops es un polinomio en el tama
no de la matriz.
De este polinomio solo se suele destacar el termino de grado mayor. As, se suele
2
decir que el coste del algoritmo LU es del orden de n3 y se escribe habitualmente
3
2 3
3
 3 n o simplemente Opn q. Como se calcula este numero? Observando que solo
hay operaciones aritmeticas en dos lneas del algoritmo:
A(i,k) = A(i,k)/A(k,k);
A(i,j) = A(i,j) - A(i,k)*A(k,j)
La primera consiste de una division mientras que la segunda de una resta y una

multiplicacion. Esta
domina a aquella y teniendo en cuenta que la longitud del
vector j es l  n  k 1 resulta que 2l es el n
umero de operaciones necesario para
conseguir los elementos de la fila i. Y esto hay que repetirlo para i  k 1 : n y para
k  1 : n  1. As pues, el n
umero de operaciones esta dominado por la expresion:


n

n1

 

k 1i k 1j k 1

2

n1

k 1

2pn  k q

n1

k 1

2k 2

 2 npn  1qp6 2n  1q  32 n3

tal y como se ha dicho mas arriba. Se dice entonces que el coste del algoritmo LU
es de orden c
ubico.

Captulo 2

Normas de Vectores y Matrices

2.1.

Introducci
on

En este captulo repasaremos brevemente el concepto de norma de un vector para


centrarnos en el estudio de las normas de matrices o, si se quiere, en las normas de
los operadores lineales. El estudio de las normas de matrices es importante por
varias razones. Es necesario, por ejemplo, para definir de forma precisa conceptos
tales como series de potencias de matrices; y desde luego es basico para precisar lo
que se entiende por proximidad o lejana entre matrices, aspectos fundamentales en
el analisis de algoritmos en la computacion numerica. Un par de ejemplos pueden
servir para ilustrar estas ideas.
Es conocido que si x es un n
umero complejo de modulo menor que 1 entonces

p1  xq1  1

x2

x3

pI  Aq1  I

A2

A3

...

Esto sugiere la formula

31

...

32

Normas de Vectores y Matrices

para calcular la inversa de la matriz I  A. Pero cuando es tal formula valida?.


Resulta que es suficiente que una norma de la matriz A sea menor que 1, y ademas
cualquier norma sirve. De forma parecida se puede ver que bajo ciertas condiciones
relativas a la norma de A la serie
8 1

Ak
k
i0
es convergente y sirve para definir la funcion matricial eA .
Por otra parte, el calculo numerico con matrices que proceden de datos experimentales, no es exacto; por lo general matrices estan sometidas, bien sea por errores
de redondeo o por imprecision en las mediciones,a peque
nas perturbaciones. Cuan
peque
nas son estas perturbaciones, o lo que es lo mismo, cuan lejos esta la matriz
verdadera de la calculada son conceptos que se pueden hacer precisos utilizando
normas.
En todo este captulo supondremos que F es el cuerpo R de los n
umeros reales
o el cuerpo C de los n
umeros complejos.

2.2.

Normas de Vectores

2.2.1.

Definici
on y Ejemplos

Como es bien sabido, el concepto de norma de un vector es una generalizacion


del concepto de valor absoluto o modulo de un n
umero complejo.

Definici
on 2.1 .-Sea V un espacio vectorial sobre F (R o C). Una funcion :
V R es una norma en V si satiface las siguientes propiedades:
(i) x  0 pxq 0.
(ii) pxq  || pxq,
(iii) px

y q pxq

@ P F.
py q,

@x P V

(desigualdad triangular)

2.2 Normas de Vectores

33

Tres importante propiedades se siguen de forma inmediata de la Definicion 2.2.


Para cualquier norma
1. p0q  0 porque p0q  p0xq  0 pxq  0.

2. pxq  pxq porque pxq  |  1| pxq  pxq

3. | pxq  py q| px  y q. En efecto, hay dos posibilidades:

a) pxq py q. En este caso | pxq py q|  pxq py q y por la desigualdad


triangular pxq  ppx  y q y q px  y q py q.

b) pxq py q. Entonces | pxq  py q|  py q  pxq y de nuevo por la


desigualdad triangular py q py  xq pxq  px  y q pxq.
Ejemplo 2.2 Se puede definir una infinidad de normas en Fn , sin embargo las
mas utilizadas son las llamadas normas de Holder o normas `p . En lo que sigue
supondremos que x  px1 , x2 , . . . , xn q P Fn es un vector de Fn .
Para cada una de las normas dibujamos, a modo de ilustracion la correspondiente
bola unidad en R2 ; i.e., el conjunto B p0, 1q  tx P R2 | k x k 1u.

(a)

La norma `1 :
k x k1 

| xi | .

i 1

(b)

La norma `2 o norma eucldea:


k x k2 

i 1

| xi | 2 .

34

Normas de Vectores y Matrices

(c)

La norma `8 :
k x k8  max |xi |.

1 i n

(d)

La norma `p general (p 2):


k x kp 

| xi | p

1{p

i 1

Demostrar que las normas `p son, en efecto, normas es facil salvo la desigualdad
triangular que, en el caso general, se conoce como desigualdad de Minkowsky. esta
a su vez, es consecuencia de otra desigualdad importante; la desigualdad de Holder:
Si p y q son n
umeros reales tales que p1 1q  1 entonces

|xy| k x kpk y kq .
En el caso particular en que p  2 (y entonces tambien q
Holder se convierte en una desigualdad bien conocida:

 2) la desigualdad de

|xy| k x k2k y k2,


la desigualdad de Cauchy-Schwartz.

Aparentemente la norma `8 no es una norma `p . Sin embargo se la puede considerar como tal porque para cualquier x P Fn se tiene que
k x k8  lm k x kp .

2.2 Normas de Vectores

35

Algo de esto ya se intuye en la forma que tienen las bolas unidad en R2 para las
normas `p . Tambien admite, claro esta, una demostracion rigurosa: Sea
k x kp  p|x1 |p



xn |p q1{p ,

y supongamos que
k x k8  max |xi |  |xi1 |      |xiq |  m.

1 i n

Es decir, que las componentes i1 , . . . , iq son, en modulo, mayores que todas las
demas, y que en todas ellas el valor de dicho modulo es el mismo e igual a m. As,
si tj1 , . . . , jnq u  t1, . . . , nuzti1 , . . . , iq u tenemos que
k x kp

 pqm p |xj |p    |xj  |pq1 {p 


p 1{p
p
 m q  xmj      xjm  .
n q

n q



 xj k 


Como 

p

 xj 
1 conclumos que pl8
m    0 y lm k x kp  m k x k8 , tal y
p8
m
k

m
como se deseaba demostrar.

2.2.2.

Equivalencia de normas

Las normas son herramientas basicas para definir y analizar la convergencia de


una sucesion de vectores en espacios vectoriales. Como es habitual, una sucesion
txk u V se dice que converge a x (y se escribe xk x) si la sucesion de numeros
reales t pxk  xqu converge a cero, pxk  xq 0, siendo una norma definida
en V . Esta definicion depende de la norma . En principio podra suceder que una
sucesion de vectores convergiera para una norma pero no para otra. De hecho, esto
es perfectamente posible en espacios de dimension infinita, pero no en espacios de
dimension finita. Ello es consecuencia de que todas las normas en un espacio vectorial
de dimension finita son equivalentes en el siguiente sentido:
Definici
on 2.3 Sean y normas definidas en V , espacio vectorial sobre F. Se
dice que y son equivalentes si existen n
umeros reales positivos c1 y c2 tales que
c1

ppxxqq c2, @x P V.

36

Normas de Vectores y Matrices

Debe notarse que as se define, en efecto, una relacion de equivalencia en el


conjunto de todas las normas definibles en un espacio vectorial. (Se vera en los
ejercicios que hay una infinidad de normas definibles en cualquier espacio vectorial).
Nuestro objetivo es demostrar que todas las normas en un espacio de dimension
finita son equivalentes. Para ello debemos recordar algunos resultados basicos de
topologa. En todo espacio normado, pM, k . kq podemos definir una distancia:
dpx, y q k x  y k,
que hace de pM, dq un espacio metrico, y por lo tanto topologico con una base de
abiertos dada por las bolas abiertas centradas en cada punto de M . Por consiguiente,
si V es un espacio vectorial en el que tenemos definida una norma, automaticamente
tenemos en V estructuras de espacio metrico y topologico. Si en M tenemos definidas
dos normas, las bolas abiertas definidas por ambas normas pueden ser diferentes
(vease el Ejemplo 2.2). A pesar de que las bases de abiertos determinadas por dichas
normas sean diferentes, las topologas determinadas por estos pueden ser iguales. La
propiedad de que las normas son equivalentes determina que, en efecto, las topologas
inducidas por ellas son la misma; es decir, todo abierto respecto de una de las normas
lo es respecto de la otra.
En efecto, recordemos que si es una norma en M , un conjunto A M es abierto
si para cada x P A existe un n
umero real 0 tal que B px, q  ty P V | px  y q u
esta contenido en A. Ahora, si en M hay definidas dos normas equivalentes, digamos
y , entonces existen constantes positivas c1 y c2 tales que c1 pxq pxq c2 pxq
para todo x P M . Supongamos que A es abierto respecto de la norma . Esto significa
que para todo x P A existe r 0 tal que px  y q r implica que y P A. Veamos
que A es abierto respecto de . Sea x P A un elemento cualquiera y definamos s de
modo que 0 s cr2 . Si px  y q s tenemos que
px  y q c2 px  y q c2

r
c2

 r.

Por lo tanto y P A y A es abierto respecto a . La demostracion de que todo abierto


respecto a lo es respecto a se hace igual.
As pues, todas las normas equivalentes definidas en un conjunto M inducen la
misma topologa en dicho conjunto. En consecuencia, todos los invariantes topologicos (compacidad, conexion, . . . ) se mantienen. Es decir, si un conjunto es compacto
o conexo respecto de una de las normas lo es respecto de la otra.

2.2 Normas de Vectores

37

Estas propiedades tienen un interes sobre todo teorico, pero nos ahorra tener que
estar prestando atencion continuamente a las normas empleadas cuando se prueban
resultados topologicos. En cualquier caso, una primera consecuencia es que la convergencia de sucesiones de vectores en espacios de dimension finita es independiente
de la norma elegida.
La demostracion de que todas las normas definidas en un espacio vectorial de
dimension finita son equivalentes se puede hacer de diversas formas. La que adoptamos aqu no es la mas directa pero tiene la virtud de poner de manifiesto una
propiedad fundamental de los espacios vectoriales de dimension finita: estos espacios vectoriales estan caracterizados por el hecho de que las esferas unidades respecto
de cualquier norma son conjuntos compactos. Demostraremos esta importante propiedad (que usaremos de manera significativa posteriormente) en el siguiente Lema.
En la prueba usaremos que las normas `1 y `2 en Fn son equivalentes. En efecto, tal
y como se propone demostrar en los ejercicios, se tiene la siguiente desigualdad para
todo xFn :
?
(2.1)
}x}2 }x}1 n}x}2.
Una u
ltima observacion: notese que la acotacion no se conserva por homeomorfismo (el intervalo p0, 1q es homeormorfo a R) pero si dos normas son equivalentes y un
conjunto es acotado respecto de una de ellas lo es, por la definicion de equivalencia
de normas, respecto de la otra.
Lema 2.4 (a) Todas las normas definidas en V , espacio vectorial sobre F, son
funciones continuas cuando en V se considera la topologa inducida por y
en R la topologa habitual (la inducida por el valor absoluto).
(b) Sea V un espacio vectorial de dimension finita y una norma en V . La esfera
unidad de V respecto de la norma , S  tx P V | pxq  1u, es un conjunto
compacto con la topologa en V inducida por dicha norma.
Demostraci
on.(a) Sea una norma definida en V y consideremos en V la topologa inducida
por esta norma. Sea 0 un n
umero real arbitrario. Escogemos 0 .
Entonces, como para todo x, y P V

| pxq  pyq| px  yq,

38

Normas de Vectores y Matrices

resulta que si px  y q
es continua.

entonces | pxq  pyq| . Esto demuestra que

(b) Supongamos que dim V


siguiente funcion:
g :

 n y sea tv1, . . . , vnu una base de V . Definimos la

Fn
a  pa1 , . . . , an q

 a1 v 1   

an v n

donde la topologa en V es la derivada de la norma .


Esta aplicacion es un isomorfismo de espacios vectoriales; es decir, es una
aplicacion lineal y biyectiva. Y desde el punto de vista topologico es tambien
un homeomorfismo cuando en V y Fn se consideran las topologas derivadas de
las normas y `1 . Es decir, g es una aplicacion continua con inversa continua.
No obstante, para llegar al resultado deseado solo necesitamos que g sea continua. Aunque, tal y como se acaba de decir, este es un hecho conocido, lo demostramos porque la demostracion es muy sencilla y esta propiedad se usara con
frecuencia en este curso. Que la inversa de g tambien es continua requiere mas
trabajo. Aunque no se va a utilizar, demostraremos esta propiedad al final de
la seccion.
Sea 0 un n
umero real dado. Tenemos que encontrar un n
umero real
tal que si k a  b k1 entonces pg paq  g pbqq . Ahora bien
pg paq  g pbqq

paivi  biviq

i 1

|ai  bi| pviq


M k a  b k1 ,


i 1

donde M  maxt pv1 q, . . . , pvn qu. Observamos que M 0 porque vi  0 para


todo i  1, . . . , n por ser vectores de una base de V . Basta escoger 0 M
para obtener el resultado deseado.
Sea S V la esfera unidad respecto de la norma : S  tx P V | pxq 
1u. Este conjunto es acotado respecto de la metrica determinada por . Y
tambien es cerrado porque es la anteimagen por la aplicacion continua del
cerrado t1u de R. Como g es continua, g 1 pS q es cerrado. El conjunto g 1 pS q
tambien es acotado. Esto es, en realidad, una consecuencia inmediata de un
resultado que veremos en la proxima leccion. Sin dicho resultado, necesitamos

2.2 Normas de Vectores

39

una demostracion. Ya hemos visto que g : Fn V y : V


continuas. Entonces, la composicion de ambas
Fn
p a1 , . . . , a n q

f :

pa1 v1



R son funciones

an v n q

tambien lo es. Sea S1n1  tx P Fn |}x}1  1u la esfera unidad de Fn respecto de


la norma `1 . Este conjunto es cerrado y acotado respecto de la norma `1 . Por
(2.1) tambien es cerrado y acotado respecto de la norma eucldea. Ahora bien,
sabemos (Teorema de Heine-Borel) que ser cerrado y acotado en Fn (F  R
o C) respecto de la norma eucldea equivale a ser compacto. As pues S1n1
es compacto. Consecuentemente, f restringida a S1n1 alcanza su mnimo. Sea
m  mnyPS1n1 f py q. Notemos que m 0 porque si y P S1n1 entonces y  0,
por lo que vy  y1 v1    yn vn  0 y f py q  pvy q 0.
Sea ahora a  pa1 , . . . , an q P g 1 pS q. Esto significa que x  a1 v1
S y as


1  pxq

 } a} 1


Pero como

a1
, . . . aan1
a 1

}}

}}

 }a}1

vi

f

ai

 }a}1

an vn

vi

i 1

P S1n1 resulta que

ai
i 1

ai vi

i 1



a1
an
,...
}a}1 }a}1

m.

Por lo tanto

1  pxq }a}1 m,
1
y como m 0 obtenemos }a}1
. As pues, g 1 pS q esta acotado en
m
la norma `1 (y por lo tanto en al norma `2 ). Y como tambien es cerrado
en ambas normas por ser equivalentes, y F  R o C, g 1 pS q es compacto.
Finalmente, como g biyectiva, g pg 1 pS qq  S . Ahora bien, la imagen de un
compacto por una aplicacion continua es compacto. Conclumos entonces que
S es compacto, tal y como se deseaba demostrar.
El recproco del apartado (b) del lema anterior tambien es verdadero. Aunque no
lo vamos a utilizar lo exponemos por completitud. La demostracion usa el siguiente
resultado de Riesz, que no demostramos:

40

Normas de Vectores y Matrices

Lema 2.5 (Lemma de Riesz) Sea E un espacio vectorial y una norma definida
en el. Sea S E un subespacio propio y 0 1. Existe x P E zS tal que
px q  1 y ps  x q para cada s P S.
Teorema 2.6 Un espacio vectorial V es de dimension finita si y solo si la esfera
unidad en V , respecto de cualquier norma, es un conjunto compacto.
Demostraci
on.- La necesidad de que la esfera unidad sea un conjunto compacto
para que V sea de dimension finita se ha probado en el Lema 2.4. Demostremos ahora
la suficiencia.
Sea una norma en V y supongamos que V es de dimension infinita. Sea x1 P V
cualquier vector tal que px1 q  1. Sea V1  x1 el subespacio generado por x1 .
Como V es de dimension infinita, V1 es un subespacio propio de V , por el Lema de
Riesz, existe x2 P V tal que px2 q  1 y px2  y q 21 para todo y P V1 .
Sea V2  x1 , x2 el subespacio generado por x1 y x2 . De nuevo, V2 V es un
subespacio propio de V . Aplicando otra vez el Lema de Riesz, existe x3 P V tal que
px3 q  1 y px3  y q 21 para todo y P V2 .
Siguiendo as sucesivamente, construmos una sucesion de vectores txn u con las
siguientes propiedades:
(a) pxn q  1 para n  1, 2, . . .
(b) pxn  xm q

1
2

para n  m, n, m P N.

Por lo tanto hemos construdo una sucesion de vectores en la esfera unidad de V ,


respecto de la norma , que no admite una subsucesion convergente. Esto significa
que la esfera unidad no es un conjunto compacto en V , contradiciendo la hipotesis.
Demostramos finalmente el resultado sobre la equivalencia de normas que buscabamos.
Teorema 2.7 Todas las normas definidas en un espacio vectorial de dimension
finita son equivalentes.

2.2 Normas de Vectores

41

Demostraci
on.- Sea V un espacio vectorial de dimension finita sobre F, y sean
y dos normas definidas en V . Sea S  tx P V |pxq  1u.
Por una parte, este conjunto es compacto con la topologa en V inducida por la
norma . Hemos visto en la demostracion del Lema 2.4 que si
g :

Fn
a  pa1 , . . . , an q

 a1 v 1   

an vn

entonces g 1 pS q es compacto en Fn con la topologa habitual (la derivada de la


norma eucldea o de la `1 ). Tambien se ha demostrado g es continua cuando en V
se considera la topologa derivada de cualquier norma, en particular, de la norma .
Como la imagen de un compacto por una aplicacion continua es un compacto y g
es biyectiva, conclumos que S es compacto en V con la topologa inducida por la
norma .
As pues, cuando en V consideramos la topologa inducida por tenemos que
es una aplicacion continua y S un compacto. Por lo tanto, alcanza en S su
maximo y su mnimo. Pongamos c2  mn py q y c1  max py q. Entonces, para
y PS
y PS
x
P S y
x P V , tenemos que
p xq
pxq  pxq

x
pxq

pxq m
n py q  c2 pxq.
y PS

Y de la misma forma
pxq  pxq

x
pxq

pxq m
ax py q  c1 pxq.
y PS

Una consecuencia inmediata de la equivalencia de normas en espacios de dimension finita es que los isomorfismos algebraicos de espacios vectoriales normados son
isomorfismos topologicos u homeomorfismos:
Corolario 2.8 Sean V1 y V2 dos espacios vectoriales de dimension finita n sobre
F y sea f : V1 V2 un isomorfismo. Sean y normas definidas en V1 y V2 ,
respectivamente. Entonces f y f 1 son aplicaciones continuas cuando en V1 y V2 se
consideran las topologas inducidas por estas normas.

42

Normas de Vectores y Matrices

Demostraci
on Probamos la continuidad de f , la de f 1 se demuestra igual.
En primer lugar, es facil demostrar que la aplicacion : V1 R definida por
pxq  pf pxqq es una norma en V1 . Como V1 es de dimension finita, y son
equivalentes. Existe una constante positiva c2 tal que pxq c2 pxq para todo
x P V1 .
Sea ahora 0 un n
umero real dado. Escojamos de modo que 0
Entonces, si x, y P V1 cumplen que px  y q , se sigue
pf pxq  f py qq  pf px  y qq  px  y q c2 px  y q c2

.
c2

Esto demuestra que f es uniformemente continua en V1 .


Una consecuencia inmediata es el siguiente resultado anunciado en la demostracion del Lema 2.4: la inversa de
g :

Fn
a  pa1 , . . . , an q

 a1v1   

an vn

es una aplicacion continua.

2.3.
2.3.1.

Normas de Matrices
Definiciones, Ejemplos y Primeras Propiedades

Dado que Fmn es un espacio vectorial todo lo dicho en la seccion anterior es


de aplicacion a las matrices de tama
no m  n con elementos en el cuerpo de los
n
umeros reales o complejos. En particular, todas las normas definidas en Fmn son
equivalentes; i.e. generan la misma topologa,y son funciones continuas.
Debemos observar que las propiedades que definen una norma tienen en cuenta
las operaciones propias de la estructura de espacio vectorial sobre el que se definen:
el producto por escalares y la suma de vectores (desigualdad triangular). Sin embargo las matrices, en algunos casos, se pueden multiplicar. Una norma sobre Fnn
se dira que es una norma de matriz cuando respecto al producto se verifica una
propiedad similar a la desigualdad triangular para la suma. Tomar en consideracion
esta propiedad de las matrices nos conduce a la siguiente definicion:

2.3 Normas de Matrices

43

Definici
on 2.9 .- Sean , y normas definidas en Fmn , Fnp y Fmp , respectivamente. Diremos que , y son consistentes si para todas matrices A P Fmn
y B P Fnp se verifica
pAB q pAq pB q.
En particular una norma definida en Fnn se dice que es consistente si pAB q
pAq pB q para todas A, B P Fnn .
Una norma definida en Fnn consistente tambien se dice que es multiplicativa o submultiplicativa.
Una norma definida en Fnn se dice que es una norma de matriz si es consistente.

Un caso particular importante es el de las normas consistentes (tambien llamadas


en este caso compatibles) con las normas de vector: Si es una norma definida en
Fnn y es una norma definida en Fn entonces se dice que es consistente o
compatible con la norma de vector si para toda matriz A P Fnn y todo vector
x P Fn se tiene que
pAxq pAq pxq
Ejemplo 2.10

1. - La norma eucldea en Fmn sera


k A k

m
n

 

| aij |2

1
2

i 1j 1

A esta norma se le llama tambien norma de Frobenius y se suele representar


por k A kF . En algunos sitios se le llama tambien norma de Schur o de HilbertSchmidt. Nosotros utilizaremos el nombre de norma eucldea o de Frobenius.
La norma de Frobenius en Fnn es una norma de matriz. En efecto, teniendo
en cuenta que la desigualdad de Cauchy-Schwartz y que
n

k 1

aik bkj

44

Normas de Vectores y Matrices

es el producto escalar de la i-esima fila de A por la j-esima columna de B,


k AB

k2F

i,k 1

2

n
n 



aik bkj 

i,j 1
k
1
n

| aik |

j,k 1



i,j
1

k 1

| aik |


2

k 1

| bkj |


2

| bkj |2 k A k2F k B k2F .

2. - La norma `8 en Fmn sera:


k A k max |ai,j |

1 i m
1 j n

Esta norma en Fnn no es una norma de matriz como lo demuestra el siguiente


ejemplo:




1 1
2 2
2
A
A  AA 
1 1
2 2
y
k AA k 2 1 k A kk A k
3. - En general la norma `p en Fmn se definira como:
k A k

m
n

 

|aij |

i 1j 1

Utilizando la desigualdad de Holder se puede demostrar que en Fnn esta


norma es una norma de matriz si y solo si 1 p 2.
4. - Una peque
na modificacion en la definicion de la norma `8 nos permite obtener
una norma de matriz en Fnn :
k A k n max |ai,j |

1 i,j n

En efecto, si a  max |aij | y b  max |bij | entonces





n



n max  aik bkj 
1i,j n
k 1
n

1 i,j n

k AB k

max

1 i,j n

1 i,j n

k 1

max

1 i,j n

ab  na nb k A kk B k

k 1

|aik bkj |

2.3 Normas de Matrices

45

La norma de Frobenius se puede escribir alternativamente de cualquiera de las


dos formas siguientes:
a) k A kF 

trpA Aq

b) k A k2F k a1 k22
k a2 k22 . . . k an k22 , donde A
esta escrita en terminos de sus vectores columna.

2.3.2.

 ra1

a2    an s

P Fnn

Normas de Matriz Inducidas

Una tecnica general para obtener normas de matriz a partir de normas vectoriales
es la siguiente: Sea A P Fmn y pensemos en A como una transformacion u operador
lineal:
A : Fn Fm
x Ax

Consideremos en Fn y Fm normas }}n y }}m , respectivamente. Es un hecho conocido


que las aplicaciones lineales entre espacios vectoriales normados de dimension finita
son operadores acotados. Que un operador h : E1 E2 entre dos espacios normados
es acotado significa que @x P E1 existe una constante M 0 tal que }hpxq} M }x}
donde hemos representado con el mismo signo, }}, y sin posibilidad de confusion,las
dos normas definidas en E1 y E2 . Si E1 y E2 son espacios vectoriales de dimension
finita, hemos visto en el Corolario 2.8 que las aplicaciones lineales son continuas.
x
Si x P E1 entonces
}x} esta en la esfera unidad S1 de E1 que, por el Lema 2.4,
es un conjunto compacto en E1 . Por consiguiente, si h es lineal entonces, como las
normas son siempre funciones continuas, }  }  h restringido a S1 alcanza su maximo
y mnimo. Sea M  max }hpy q}. Entonces }hp }xx} } M . Pero }hp }xx} }  }x1} }hpxq},

y S1

de donde se sigue que }hpxq} M }x}.

En particular para la aplicacion lineal A se tiene que @x P Fn existe una constante


M 0 tal que }Ax}m M }x}n . Y esto significa que el conjunto
"

}Ax}m : x P Fn, x  0*
}x}n

esta acotado superiormente. Consecuentemente, tiene un supremo. Podemos as definir la siguiente funcion:
f : Fmn
R
A
f pAq

46

Normas de Vectores y Matrices

donde

f pAq 

sup n

P

0 x F

k Ax km
k x kn

Es claro que el cociente


k Ax km
k x kn
es no negativo. Probaremos que f es una norma consistente con las normas de vector
que sirven para definirla.
Comenzaremos observando que el sup se alcanza y que, por lo tanto, podemos
sustituir sup por max. Para ello probamos, en primer lugar, que (supondremos siempre x P Fn ):
f pAq  sup k Ax km .

kxkn 1

En efecto si M

kAxkm
0 x kxkn

sup

entonces M

kAxkm
,
kxkn

Ax km , @x P Fn tal que k x kn  1, con lo que M

te, si M

sup

kxkn 1

k Ax km , entonces M

@x  0. En particular M k

sup

kxkn 1

k Ax km . Recprocamen-

k Ax km, @x P Fn tal que k x kn 1. Sea

P Fn un vector no nulo arbitrario; entonces kxkx es un vector unitario, de modo


1
x
km  kxk
k Ax km . Por lo tanto M sup kAxk
. En conclusion
que M k A kxk
kxk
0xPF
f pAq  sup k Ax kn .
kxk 1

Ahora bien, k  km es una funcion continua respecto de cualquier norma de Fn


y tambien A es una funcion continua (por ser una funcion lineal). Por otra parte,
la esfera unidad es un conjunto compacto (respecto de cualquier norma) de Fn , y
cualquier funcion continua alcanza sus valores maximo y su mnimo en ella. As pues
f pAq 

max

kxkn 1

k Ax km 

maxn

P

0 x F

k Ax km
.
k x kn

Demostraremos ahora que f pAq es una norma vectorial consistente con las normas }  }m y }  }n .
Teorema 2.11 .- Sea k  kn y k  km normas definidas en Fn y Fm , respectivamente.

2.3 Normas de Matrices

47

a) La funcion real f definida en Fmn por


f pAq 

max

kxkn 1

k Ax km 

maxn

P

0 x F

k Ax km
k x kn

es una norma que denotaremos con k  km,n .


b) Si A P Fmn y B

P Fnp entonces
}AB }m,p }A}m,n}B }n,p.

En particular, si m  n entonces la norma

}  }n,n es una norma de matriz.

c) Las normas k  km,n , k  km y k  kn son consistentes.


d) Si es cualquier otra norma de matriz consistente con k  km y k  kn , entonces
k A km,n pAq, @A P Fmn .
En lo sucesivo, y para evitar una notacion excesivamente pesada, no escribiremos los subndices que asocian cada norma al espacio en el que esta definida y
representaremos todas las normas con el smbolo }  }. La razon es que en todo momento es claro en que espacio esta el vector o la matriz sobre el que act
ua la norma.
As, escribiremos }x} y }A} en vez de }x}n o }A}m,n porque si A P Fmn entonces la
norma en Fmn es }}m,n y no se necesita precisar los subndices; y, ademas, Ax solo
tiene sentido si x P Fn y no se precisa especificar el subndice en el correspondiente
smbolo de la norma.
Demostraci
on.- a) Debemos verificar todos los axiomas que definen las normas
de matriz
(i) Si A  0 existe x
max k Ax k 0.

P Fn tal que Ax  0. Por lo tanto k Ax k 0 y k A k

kxk 1

(ii) Para todo P F


k A k max k Ax kv  max || k Ax k

kxk 1

 || kxk
max
1

kxk 1

k Ax k || k A k .

48

Normas de Vectores y Matrices

(iii) Probamos ahora que si A, B


efecto
kA

P Fmn entonces k A

B k max k pA

kxk 1

max pk Ax k

kxk 1

k A k

B kk A k

B qx k max k Ax

kxk 1

k Bx kq max k Ax k

kxk 1

k B k. En

Bx k
max k Bx k

kxk 1

kBk.

b) Sean A P Fmn y B

P Fnp. Por definicion


k AB k max k ABx k .
}x}1

Sea x0 P Fp un vector con k x0 k 1 donde se alcanza el maximo: k AB kk ABx0 k.


Ahora bien, para cada matriz X
k X k max

y 0

de donde resulta que k Xy kk X k k y k, @y

k Xy k
kyk

 0. As

k AB kk ApBx0 q kk A k k Bx0 k


k A k k B k k x0 kk A k k B k,
porque k x0 k 1; que es lo que se quera demostrar.
En particular si m  n  p y A, B

P Fnn entonces
}AB }n,n }A}n,n }B }n,n.

Es decir,

}  }n,n es una norma de matriz.

c) Ya hemos visto que @A P Fnn y @x P Fn , x  0, se tiene que


k Ax km k A km,n k x kn .
Y para x  0 se obtiene la igualdad de forma evidente. Por consiguiente, las normas
k  km,n , k  km y k  kn son consistentes.

2.3 Normas de Matrices

49

d) Tambien hemos visto mas arriba que existe x0

P Fn con k x0 k 1 tal que

k A kk Ax0 k .
Como es consistente con k  km y k  kn resulta que
k A kk Ax0 km pAq k x0 kn  pAq,
tal y como se deseaba demostrar.

Ejemplo 2.12 .- Vamos a ver como se definen explcitamente las normas de matriz
`p para p  1, 2, 8.
1. - La norma de matriz `1 : Sea A P Fmn y escribamos esta matriz en funcion
de sus columnas A  ra1 a2    an s. Vamos a probar que la norma de matriz
inducida por la norma `1 es :
k A k1  max

1 j n

o, equivalentemente,

|aij |

i 1

k A k1  max k aj k1

1 j n

 1m
ax }a } . Vamos a demostrar que M  max }Ax}1 .
j n j 1
}x} 1
Para ello probamos primero que M }Ax}1 para todo x P Fn con }x}1  1;
En efecto, pongamos M

i.e. que M es una cota superior del conjunto

t}Ax}1 : }x}1  1, x P Fnu,


Y a continuacion que esta cota se alcanza. Es decir, que existe x0
}x0}  1 y M  }Ax0}1.
Sea x P Fn con }x}1

P Fn tal que

 1, y sean px1, . . . , xn) sus componentes. Entonces

}Ax}1  }x1a1    xnan}1


p|x1|}a1}1    |xn|}an}1q
p|x1|    |xn|q 1m
ax }a }  M }x}1  M
j n j 1

50

Normas de Vectores y Matrices

Por lo tanto, M es una cota superior de t}Ax}1 : }x}1  1, x P Fn u. Ahora,


si el max }aj }1 se alcanza, digamos, para la columna k entonces M  }ak }1 .

1 j n

k
Tomando x0

 ek  p0, . . . , 0, 1, 0, . . . , 0q P Fn, tenemos que }x0}1  1 y


 }ak }1  }Aek }1  }Ax0},

de modo que M es una cota superior de t}Ax}1 : }x}1


alcanza. Esto es
max }aj }1  max }Ax}1  }A}1

 1, x P Fnu que se

}x}1 1

1 j n

2. - La norma de matriz `8 : De forma similar a lo que hemos visto mas arriba,


vamos a demostrar que la norma de matriz inducida por la norma `8 es
k A k8  max

1 i n

|aij |.

j 1

 1m
ax
|aij |. Por una parte
in
n

Pongamos M

j 1

k Ax k8 





n
n



max
aij xj
max  aij xj 
1in j 1
1in j 1



n
n

1m
ax
|a
in j 1 ij
 M }x}8.
As pues

max |xk |

1 k n

}A}8 

max

kxk8 1

max

1 i n j 1

|aij |

k Ax k8 M.

k x k8 

(2.2)

Para demostrar la desigualdad en sentido contrario vamos a probar que para


cada i  1, . . . , n existe un vector xi con }xi }8  1 tal que
n

j 1

|aij | 



n




aij xij  .


j 1

(2.3)

2.4 Sucesiones y Series de Matrices

51

Supuesto esto demostrado es facil ver que }A}8


i  1, . . . , n

}A}8  }xm
ax }Ax}8 }Axi } 
} 8 1



M . En efecto, para cada





 n

max  aij xij 
1in j 1

n

max

1 i nj 1

|aij |  M

As pues, debemos demostrar (2.3). Basta encontrar xi tal que aij xij
Pero esta misma identidad nos sirve de definicion:
xij

 |aij |.

 |aaij |
ij

siempre que aij  0 y xij  1 si aij  0. Con esta definicion de xi tenemos que
}xi}8  1 y se verifica (2.3) porque cada sumando aij xij  |aij | es positivo.
En conclusion

}A1}8  }xm
ax }Ax}8  M  max
1in
}8 1

|aij |

j 1

tal y como se deseaba demostrar.


3. - La norma de matriz `2 : A la norma de matriz inducida por la norma `2 se
le llama tambien Norma Espectral. Veremos en un tema posterior que tiene un significado muy importante que todava no estamos en condiciones de
comprender bien.

2.4.

Sucesiones y Series de Matrices

Tal y como hemos dicho en la seccion anterior, el uso de normas nos permite
hablar de convergencia de sucesiones de vectores y, por lo tanto, de matrices. El
objetivo de esta seccion es introducir las serie de matrices y demostrar un resultado
que necesitaremos en un tema posterior.

52

Normas de Vectores y Matrices

Sea tAk u8
on infinita de matrices con elementos en Fnm , recordemos
k0 una sucesi
que F  R o C. Con esta sucesion formamos otra, la de las sumas parciales
Sk

Aj ,

0.

j 0

Definici
on 2.13 La serie

j 0

Aj converge si la sucesion tSk u es convergente; i.e. si

existe el lm Sk . Ademas, si S
k

 kl8
m Sk entonces escribiremos
8

Aj

 S.

j 0

La convergencia de la serie

j 0

Aj se puede reducir a la de la serie numerica

j 0

}Aj } de la siguiente forma:

Proposici
on 2.14 Si la serie numerica

j 0

}Aj }

matriz, tambien converge la serie matricial

converge para alguna norma de

Aj .

j 0

Demostraci
on.- Sea 0 un n
umero real dado. Veremos que existe un entero
N 0 tal que si p, q N entonces k Sp  Sq k . Esto demuestra que la sucesion
tSnu de sumas parciales es una sucesion de Cauchy. Como Fmn es completo, tSnu
converge.
En efecto
k Sp  Sq k
Ahora bien, si

j 0



q




Aj 

j p 1 

}Aj } 

j p 1


p


Aj

j 0

} }

j 0




Aj  .


} }

}Aj } converge, existe N 0 tal que si p, q N entonces



p


Aj

j 0

} }

j 0




Aj 


} } ,

2.4 Sucesiones y Series de Matrices

53

que es lo que se quera demostrar.


En particular, para matrices cuadradas la serie de potencias
gente si lo es la serie numerica

aj Aj es conver-

j 0

|aj | }A} . En realidad, este resultado no es un caso


j

j 0

particular de la Proposicion 2.14 pero se demuestra igual teniendo en cuenta que la


norma elegida es una norma de matriz. En efecto, basta observar que si Bj  aj Aj
entonces
}Bj } |aj | }Aj } |aj | }A}j ,
donde la u
ltima desigualdad se debe a que las normas de matriz tienen la propiedad
submultiplicativa.
Como muchas funciones escalares se pueden definir como series de potencias
convergentes en ciertas regiones del plano complejo, la posibilidad de reducir la convergencia de una serie de potencias matriciales a la de sus correspondientes normas
permite definir de forma sencilla algunas funciones matriciales.
Concretamente, sea f pz q

aj z j en un entorno de z

j 0

convergencia R y consideremos la serie matricial

aj Aj con A

j 0

alguna norma de matriz para la que }A}


podemos definir
f pAq 

 0 con un radio de

R, la serie

j 0

Fnn . Si hay

|aj | }A}j

converge y

aj Aj .

j 0

En particular, cada una de las siguientes funciones esta perfectamente definidas:

 j!1 Aj , @A P Fnn.
j 0
8 p1qj

senpAq 
A2j 1 , @A P Fnn .
p
2j
1
q
!
j 0
8 p1qj

2j
nn
cospAq 
p2j q! A , @A P F .

eA

j 0

De la misma forma se podran definir otras funciones matriciales como ln A, tanpAq,

54

Normas de Vectores y Matrices

etc. Nos interesa especialmente la serie geometrica

z j que sabemos que converge

j 0

1z

 p1  zq1 si |z| 1:

P Fnn y }A} 1 para alguna norma


de matriz, entonces
8

In  A es invertible. Ademas, en tal caso pIn  Aq1 


Aj y }pIn  Aq1 }
Proposici
on 2.15 Si A

j 0

1  }A}

Demostraci
on.- Si }A} 1 entonces la serie geometrica
te, y por la Proposicion 2.14 la serie matricial

j 0

}A}j es convergen-

Aj converge. Sea B

j 0

pongamos
Sk

Aj y

j 0

Aj .

j 0

Entonces

pI  AqSk  pIn  AqpIn


Como lm Sk  B resulta que
k8

lm pIn  AqSk

y tambien

lm pIn  AqSk

Ahora bien, lm pIn  Ak



Ak q  In  Ak 1 .

 pIn  AqB,

 kl8
m pIn  Ak 1 q.

q  In porque }In  Ak 1  In} }A}k


numerica t}A}k u converge a cero por ser }A} 1.
En consecuencia pIn  AqB  In y
k

pIn  Aq1  B 

j 0

Aj .

y la sucesion

2.4 Sucesiones y Series de Matrices

55

Finalmente

}pIn  Aq1} 


8 



Aj 

j 0 

j 0

}A}j  1 1}A} .

56

Normas de Vectores y Matrices

Captulo 3

Valores singulares

3.1.

Introducci
on

Los valores singulares juegan un papel central en el algebra lineal numerica


actual. Son esenciales para calcular de forma fiable cantidades tan importantes como
el rango de una matriz o la distancia de una matriz no singular al conjunto de las
matrices singulares.
Como tantas veces en matematicas, no fue la necesidad practica (derivada, por
ejemplo, del calculo numerico) sino la necesidad de profundizar en el conocimiento lo
que produjo el surgimiento de los valores singulares. Por otra parte, no ha sido hasta
el reciente desarrollo del algebra lineal numerica cuando tal concepto ha adquirido la
importancia que actualmente tiene e incluso la denominacion que ahora le estamos
dando. En efecto, fue en la segunda parte del siglo XIX cuando algunos geometras se
preguntaron, utilizando lenguaje actual, por la posibilidad de reducir unitariamente
una forma cuadratica a forma diagonal. Entre los matematicos que contribuyeron
57

58

Valores singulares

a la solucion de este problema se encuentran nombres tan famosos como Eugenio


Beltrami, Camille Jordan, James Joseph Sylvester, Erhard Scmidt o Hermann Weyl.
Una breve e interesante historia de los valores singulares puede encontrarse en el
report de G. W. Stewart: On the early history of the Singular Value Decomposition
que se puede obtener en la direccion
http://citeseer.ist.psu.edu/stewart92early.html
o mediante ftp anonimo en thales.cs.umd.edu en el directorio pub/reports.
En nuestro proceso hacia la definicion de los valores singulares y del teorema
central de este captulo (El Teorema SVD) necesitamos recordar el concepto de
matriz unitaria. A ello dedicamos la primera seccion.

3.2.
x, y

Matrices Ortogonales y Unitarias

Comenzamos repasando los conceptos de producto escalar y ortogonalidad. Si


P Fn entonces el producto escalar de y y x es
$
n
'
y i xi
&

x, y  '
%

i 1
n

y i xi

i 1

 yT x

si F  R,

 yx

si F  C

Por lo general supondremos que F  C de modo que el producto escalar de x y y lo


escribiremos como un producto de matrices; i.e. y  x. Deberemos entender que en el
caso en que los vectores sean reales y hablemos del producto escalar en Rn entonces
se debe sustituir  por T .
Debe observarse que para todo x P Cn
x x 

|xi|2  }x}22.

i 1

Esta forma de expresar la norma eucldea de un vector, la usaremos muy a menudo.


Un vector diremos que es unitario si su norma es 1.
Dos vectores se dice que son ortogonales si su producto escalar es cero:
xKy

yx  0.

3.2 Matrices Ortogonales y Unitarias

59

Notese que y  x y x y son n


umeros complejos conjugados:
x y

 yx,

P Rn entonces xT y  yT x.
Dos conjuntos X, Y Fn son ortogonales si cada vector de X es ortogonal a
cada vector de Y . Escribiremos, en tal caso, X K Y . Si S Fn es un subconjunto
pero si x, y

denotaremos

SK

 ty P Fn|xy  0, @x P S u.

Independientemente de si S es un subespacio vectorial o no, S K siempre lo es, y


lo llamaremos el subespacio ortogonal de S. Abusando de lenguaje diremos que un
conjunto de vectores no nulos es ortogonal si cada vector es ortogonal a todos los
demas:
S ortogonal @x, y P S, x y  0.
Si, ademas, todos los vectores del conjunto son unitarios entonces el conjunto se dice
que es ortonormal :
S ortonormal

S ortogonal y @x P S, }x}2  1.

Proposici
on 3.1 Todos los vectores de un conjunto S
linealmente independientes.

Demostraci
on.- Si

ai vi

 0, entonces para j  1, . . . , t

ai vi

i 1

0  vj

i 1

Por lo tanto, cj

 tv1, . . . , vtu ortogonal son

ai pvj vi q  cj pvj vj q  cj }xj }.

i 1

 0.

Definici
on 3.2 (a) Una matriz U P Cnn es unitaria si sus columnas forman
una base ortonormal de vectores de Cn .
(b) Una matriz P P Rnn es ortogonal si sus columnas forman una base ortonormal de vectores de Rn .

60

Valores singulares

Hay algunas condiciones equivalentes a ser unitaria (aplicado a F


para matrices ortogonales):

Proposici
on 3.3 Para U

 R sirven

P Cnn las siguientes condiciones son equivalentes:

(i) U es unitaria.
(ii) U es no singular y U 
(iii) U U 

 U 1 .

 In.

(iv) U  es unitaria.
(v) Las filas de U forman un sistema ortonormal de vectores de Cn .
(vi) Para todo x P Cn se tiene }x}2

 }U x}2

La demostracion de estas propiedades es mas o menos inmediata salvo, quiza,


la condicion (vi). Desde luego, si U es unitaria entonces

}U x}22  pU xqU x  xU U x  xx  }x}22


donde hemos usado las condiciones (iv) y (iii) equivalentes a ser U unitaria (i.e.
U  U  In ). El recproco se puede demostrar siguiendo las siguientes ideas: Si
}U x}2  }x}2 entonces xU U x  xx, que equivale a xpU U  Inqx  0. Teniendo
en cuenta que U  U  In es hermtica (simetrica en el caso real de matrices ortogonales) es facil ver que x pU  U  In qx  0 implica U  U  In  0. En efecto, si ponemos
A  U  U  In , x Ax  0 para todo x P Fn implica que si ei  p0, . . . , 1, . . . , 0q es el
i-esimo vector canonico entonces
ei Aei  0 aii  0
pei ej qApei ej q  0 Repaij q  0.
pei iej qApei iej q  0 Impaij q  0
Las matrices unitarias forman un subgrupo multiplicativo del Grupo General
Lineal, llamado Grupo Unitario. La condicion (vi) de la Proposicion 3.3 indica que
el grupo unitario es el grupo de isometras para la norma eucldea.

3.2 Matrices Ortogonales y Unitarias

61

Definici
on 3.4 Una norma }  } en Cmn se dice que es unitariamente invariantes
si @A P Cmn y para todo par de matrices unitarias U P Cmm y V P Cnn se
cumple que }U AV }  }A}.
Proposici
on 3.5 Las normas
invariantes.

}  }2 y }  }F

definidas en Cnn son unitariamente

Demostraci
on.- Recordemos que }A}2F  trpA Aq  trpAA q. As, si U es
unitaria
}U A}2F  trpAU U Aq  trpAAq  }A}2F .
De la misma forma, si V es unitaria

}AV }2F  trppAV qpAV qq  trpAV V Aq  trpAAq  }A}2F .


Por lo tanto, si U y V son unitarias:

}U AV }F  }U A}F  }A}F .
Por otra parte, }A}2

 }m
ax }Ax}2 . Entonces, si U es unitaria
x}  1
2

}U A}2  }m
ax }U Ax}2 .
x}  1
2

Pero por ser U unitaria, }U x}2

 }x}2, de modo que }U Ax}2  }Ax}2 y


}U A}2  }m
ax }U Ax}2  max }Ax}2  }A}2 .
x}  1
}x} 1
2

Tambien, si V es unitaria los conjuntos

tx P Cn|}x}2  1u  tV x P Cn|}V x}2  1u


son iguales. Entonces

}AV }2  }m
ax }AV x}2  max }AV x}2  max }Ay }2  }A}2 .
x} 1
} V x } 1
}y} 1
2

En consecuencia }U AV }2

 }A}2.

62

Valores singulares

3.3.

Valores singulares

Hay varias formas de introducir los valores singulares de una matriz. Tal y
como se ha mencionado en la Introduccion de esta Leccion, historicamente los valores singulares son el resultado de la b
usqueda de una forma de reducir las formas
cuadraticas a forma diagonal mediante cambios de base ortonormales. Este hecho,
sin embargo tiene un significado geometrico que no debe pasar desapercibido:
Las aplicaciones lineales transforman las esferas unidad en hiperelipses.
Una hiperelipse es la generalizacion a m dimensiones de una elipse. Podramos definirla como la superficie que se obtiene al estirar o comprimir la esfera unidad en m
direcciones ortogonales por factores 1 , 2 ,. . . , m (posiblemente cero). Es decir, si
fijamos m vectores ortonormales u1 , . . . , um P Fm , los vectores 1 u1 ,. . . , m um son
los semiejes de la hiperelipse con longitudes 1 ,. . . , m .
Si

S n1

 tx P Fn|}x}2  1u
es la esfera unidad y A P Fmn entonces ApS n1 q es una hiperelipse. La Figura 3.1
representa el caso n  m  2 y F  R.

v1

v2

s2 u 2
s1 u 1

Figura 3.1: Las matrices transforman esferas en elipses


El hecho de que las aplicaciones lineales (o matrices) transformen la esfera unidad en hiperelipses no es obvia y quedara demostrada cuando probemos el llamado

3.3 Valores singulares

63

Teorema SVD. Por ahora aceptemosla y veamos que significa en terminos de matrices. Supongamos que la matriz de la aplicacion lineal es A P Fmn y que, por
sencillez, rangpAq  n m. Notemos que, como aplicacion lineal, A : Fn Fm .
Tal y como hemos mencionado, la hiperelipse queda determinada, en principio,
por m vectores ortonormales tu1 , . . . , um u y las correspondientes longitudes de los
semiejes 1 ,. . . , m que los vamos a suponer ordenados de forma que 1 2
   m 0. As iui es el i-esimo semieje mas largo de ApS n1q. As pues,
para i  1, . . . , m i ui P ApS n1 q Im A. Pero como los vectores tu1 , . . . , um u son
ortonormales, y por lo tanto son linealmente independientes, si rangpAq  r debe
haber a lo sumo r vectores i ui linealmente independientes. De todo ello se sigue que
hay r de los i que son distintos de cero a lo ma. En otras palabras, si la hiperelipse
es la imagen por A de la esfera unidad, debe estar en Im A as que solo puede
contener r vectores linealmente independientes. Finalmente sean tv1 , . . . , vn u S n1
las anteimagenes de los semiejes no nulos de la hiperelipse:
Avi

 i ui ,

i  1, . . . , r.

En este momento no es claro por que pero admitamos que los vectores vi son ortogonales (y, por lo tanto, ortonormales porque estan en la esfera unidad).
La condicio n Avi  i u
escribir en forma matricial: Si
 i , i  1, . . . , r, se puede

ponemos U  u1    ur y V  v1    vr tenemos que
AV

 U ,

 Diagp1 , . . . , r q.

siendo U P Fmn y V P Fnn matrices cuyas columnas son vectores ortonormales.

Si escogemos base ortonormal de Ker


 A y que sean ortogonales a los de V podemos

0 . Por
formar una matrix unitari V  V V que es unitaria y AV  U
consiguiente


V  .
0 V   U
A  U
A esta factorizacion de A se le llama Descomposicion en Valores Singulares Reducida
o Economica de A. O, mas abreviadamente, SVD Reducida de A.
Hay tambien una Descomposicion en Valores Singulares Completa de A, que es
la que aparece en la mayora de los libros que tratan el tema, aunque en la mayor
parte de las aplicaciones es la descomposicion reducida la que se utiliza. Pasar de

una descomposicion a la otra es muy facil: Si m n, U no es una matriz unitaria y


no tiene el tama
no de A. Una descomposicion completa es una que cumpla estos dos

64

Valores singulares

requisitos. Para ello basta ampliar el sistema de vectores ortonormales tu1 , . . . , un u


hasta una base ortonormal de Cm . Tal cosa siempre es posible porque los vectores
u1 , . . . , un son linealmente independientes y se pueden ampliar hasta una base de Cn .
Luego basta aplicar el metodo de Gram-Schmidt para obtener la base ortonormal.
Sea entonces tu1 , . . . , un , un 1 , . . . , um u una base ortonormal de Cm y pongamos
U
Entonces

u1



un un



U V   U U



0mnn

um


V

y 

0mnn

  A.
 U V

Por lo tanto, A  U V  es una descomposicion en valores singulares completa de


A. Notese que de una descomposicion en valores singulares completa de A se obtiene
una reducida sin mas que suprimir las filas cero de y las correspondientes columnas
de U y V .
Definici
on 3.6 Sea m, n enteros positivos y A P Cmn . Una descomposicion en
valores singulares (completa) de A es una factorizacion
A  U V 

P Cmm y V P Cnn son unitarias y es diagonal. Ademas,


$ 

Diag
p

,
.
.
.
,

q
'
1
n
'
si m n
&
0mnn

'
'

% 
Diagp1 , . . . , m q 0mnm si n m
cualquier caso, 1    p 0, p  mntm, nu son n
umeros

donde U

En
reales no
negativos ordenados de mayor a menor y se llaman valores singulares de A.
Ademas, a los vectores u1 , . . . , um y v1 , . . . , vn que forman las columnas de U y V se
les llama vectores singulares de A por la izquierda y por la derecha, respectivamente.
Si A P Rmn basta cambiar matriz unitaria por matriz ortogonal.
Nos queda establecer de manera rigurosa que tal descomposicion es siempre
posible y que los valores singulares estan determinados de forma u
nica por A. Admitiendolo, debera ya ser claro que, en efecto, la imagen de la esfera unidad en

3.3 Valores singulares

65

Fn por A  U V  es una hiperelipse:V  por ser unitaria preserva la esfera, la


deforma estirando o encogiendo la esfera en direcciones ortogonales y U , de nuevo
unitaria, la gira o refleja.
Todo lo anterior tiene sentido una vez que demostremos el siguiente resultado
fundamental
Teorema 3.7 (Teorema SVD) Toda matriz A P Fmn admite una descomposicion en valores singulares. Ademas, los valores singulares estan determinados de
forma u
nica, y, si A es cuadrada y sus valores singulares son todos distintos, entonces los vectores singulares estan tambien determinados de forma u
nica salvo producto
por un n
umero complejo de modulo 1.
Demostraci
on.- Supondremos F  C y todo lo que vamos a decir es de aplicacion a matrices de n
umeros reales cambiando la palabra unitaria por ortogonal.
Dado que el caso de A  0 es trivial, supondremos que A  0 y procederemos por
induccion sobre n, el n
umero de columnas de A. Supondremos, ademas, que m n.
Si fuera n m, y una vez demostrado el Teorema con m n, lo aplicaramos
a A . As, existiran matrices unitarias U y V tales que A  U V  Entonces
A  pA q  V  U  . Como los valores singulares son n
umeros reales   y

A  V U con U y V unitarias.
Sea entonces n  1 y m 1. Ponemos U

U V

 }A1} A,  }A}2 y V  1. As
2

 }A1} A  }A}2  1  A.
2

Para n  1, A P Cm1 es un vector columna y por lo tanto U es un vector columna


es una descomposicion reducida de A que puede extenderse
unitario. As A  U V
a una descomposicion completa tal y como hemos visto mas arriba.
Consideremos ahora que el Teorema ha sido demostrado para matrices de tama
no m  p (p n  1). Sea A P Cmn y 1  }A}2 . Como }A}2  max }Ax}2

}x}2 1

existe un vector unitario v1 P C , }v1 }2  1, tal que 1  }A}2  }Av1 }2 . Sea


u1  }Av11 }2 Av1 . As }u1 }2  1 y Av1  1 u1 . Extendamos u1 y v1 hasta bases ortonormales de Cm y Cn , respectivamente, y sean U1 y V1 las matrices, unitarias, cuyas
n

66

Valores singulares

columnas son los vectores de esas bases. Escribamos


U1
Entonces

U  AV
1

u1 U 1 ,

V1

u1 V 1 .



u1
u Av u AV
 A v1 V 1  1 1 1 1 .
U1
U 1 Av1 U 1 AV 1

Por una parte Av1  1 u1 implica que u1 Av1  1 (recordemos que u1 u1  1 porque


u1 es un vector unitario). Ademas U 1 Av1  1 U 1 u1 . Pero las columnas de U 1 son

ortogonales a u1 y esto equivale a U 1 u1  0. As pues
U  AV
1

u1 Av1 u1 AV 1


.

U 1 AV 1
0




Veamos que tambi
  en u1 AV 1  0. Pongamos w  u1 AV 1 y B  U 1 AV 1 , S 

U1 AV1 y z  1 . Como la norma espectral es consistente con la norma eucldea


w

}S }2}z}2 }Sz}2 
 p


  
 1 w 1 


 0 B
w 


12



 
w wq1{2  1 

 w 
2



 2 w w 
1




Bw
2

 p12

w wq1{2 }z }2 .

p12

w wq 

As pues, }S }2 p12 w wq1{2 . Pero la norma espectral es unitariamente invariante


(Proposicion 3.5); por lo tanto 1  }A}2  }S }2 p12 w wq1{2 ; lo cual implica
que w  0 tal y como queramos demostrar.
En consecuencia

U  AV
1

1 0
.
0 B

Debe notarse que B es la restriccion de A al subespacio ortogonal a u1 ; i.e.


u1 K . Ademas B P Cpm1qpn1q . Por la hipotesis de induccion, B admite una
descomposicion en valores singulares:
B  U2 2 V2 con U2 P Cpm1qpm1q y V2 P

Diagp2 , . . . , n q
Cpn1qpn1q unitarias y 2 
. As
0


1 0
1 0
U  AV
0 U2 1 1 0 V2

1 0
0 U2



1 0
0 B



1 0
0 V2

Diagp1 , 2 , . . . , n q
.
0

3.3 Valores singulares

67

Si ponemos

1
U 

0
U1

0 U2

 V1

y V

1 0
,
0 V2

tenemos que U  AV  y A  U V  . Esto prueba la existencia de la descomposicion de A en valores singulares, excepto el ordenamiento de los valores singulares.
Seg
un la hipotesis de induccion los valores singulares de B estan ordenados de mayor
a menor. Basta entonces demostrar que 1 pAq 1 pB q. Es decir, }A}2 }B }2 , o
bien, max }Ax}2 max }Bx}2 . Ademas, como la norma espectral es unitariamente

}x}2 1

}x}2 1

invariante podemos suponer que


A
Sea x0

1 0
.
0 B

P Cn1 un vector unitario para el que }Bx0}  }m


ax }Bx}2 y sea
x}  1
2

0
x0

P Cn.

 x0 x0  1, de modo que


max }Ax}2 }Ay }  y  A Ay  x0 B  Bx0  }Bx0 }  max }Bx}2 ,
}x} 1
} x}  1

Claramente y  y
2

tal y como se deseaba demostrar.


La unicidad de los valores singulares as como el resto del teorema lo demostraremos una vez analizadas unas cuantas propiedades importantes de los valores
singulares.
Observaciones 3.8 Si A P Rmn entonces existen matrices ortogonales P
y Q P Rnn tales que A  P QT con


$ 

Diag

,
.
.
.
,

'
1
n
'
&

'
'
% 

En cualquier caso, 1
negativos.

0mnn

si m n

Diagp1 , . . . , m q 0mnm



0, p

P Rmm

si n m.

mntm, nu son n
umeros reales no

68

Valores singulares

3.4.

Propiedades de los valores singulares

A continuacion analizamos algunas propiedades que se derivan del Teorema


SVD.
Proposici
on 3.9 Si r es el n
umero de valores singulares de A distintos de cero,
entonces rang A  r.
La demostracion es una consecuencia inmediata de que el rango de una matriz no
vara si la multiplicamos por matrices invertibles.

 es una descomposicion de A
Proposici
on 3.10 Si A  U V



singulares, r  rang A, y U  u1 u2    um y V  v1 v2
Im A  u1 , . . . , ur y Ker A  vr 1 , . . . , vm .

P Cmn en valores


   vn entonces

Demostraci
on.- Sobre la base de que V y U son invertibles es facil ver que
KerpU  Aq  KerpAq.

ImpAV q  ImpAq y
Ahora bien,

ImpAV q  ImpU q  1 u1 , . . . r ur

 u1, . . . , ur .
Por otra parte, como tv1 , . . . , , vm u es una base ortonormal de Cn , si x P Cn entonces
m

x
ci vi  V c con c  pc1 , . . . , cm q. As


i 1

x P KerpAq Ax  0 AV c  0 U  AV c  0 c  0

ici  0, 1 i r x 

ci vi .

i r 1

Esto significa que KerpAq  vr 1 , . . . , vm

De forma similar se prueba

 es una descomposicion de A
Proposici
on 3.11 Si A  U V



singulares, r  rang A, y U  u1 u2    um y V  v1 v2
Im A  v1 , . . . , vr y Ker A  ur 1 , . . . , um .

P Cmn en valores


   vn entonces

3.4 Propiedades de los valores singulares

69

Esta proposicion tambien se puede ver como una consecuencia inmediata de la


anterior teniendo en cuenta las siguientes propiedades cuya demostracion es muy
simple
pIm AqK  Ker A y pKer AqK  Im A
La siguiente proposicion nos proporciona una forma practica de calcular los
valores singulares de una matriz:
Proposici
on 3.12 Los valores singulares de A P Cmn distintos de cero son las
races cuadradas positivas de los valores propios distintos de cero de A A y tambien
de los de AA .

Demostraci
on.- Probaremos que los valores singulares de A son las races cuadradas positivas de los valores propios de A A. Que tambien son los de AA se
demuestra igual. Tambien es consecuencia de la siguiente propiedad: Si A P Fmn y
B P Fnm entonces los valores propios distintos de cero de AB y BA son los mismos.
La explicacion de esta propiedad esta contenida en la siguiente ecuacion:


1



A

Im
0




AB 0
B 0

In

A

Im A
0 In


0
0
.
B BA

AB 0
0
0

, las matrices
y
son semejantes;
In
B 0
B BA 
Im  AB 0
i.e. tiene los mismos valores propios. Ademas, det

n detpIm 

B
I
n


Im
0
m
AB q y det
B In  BA  detpIn  BAq. Por lo tanto, las matrices AB y
BA tienen los mismos valores propios distintos de cero.

I
A
Como m
0 In

Im
0

Si A  U V  es una descomposicion de A en valores singulares entonces


A A  V  U  U V 

 V T V 

porque es una matriz de n


umeros reales. Como V es unitaria V   V 1 , por lo
que A A y T son semejantes. Es decir, tienen los mismos valores propios. Pero
T  Diagp12 , . . . , r2 , 0, . . . 0q P Rnn

70

Valores singulares

con r  rangpAq. Por lo tanto 12


A A. .

   r2 son los valores propios de T y de

Recordemos ahora que los valores propios son u


nicos para cada matriz. Esto
demuestra la segunda parte del Teorema SVD
Corolario 3.13 Los valores singulares de A estan determinados de forma u
nica.
Para probar la u
ltima parte del Teorema SVD; es decir, que si A es cuadrada
y sus valores singulares son todos distintos, entonces los vectores singulares estan
tambien determinados de forma u
nica salvo producto por un n
umero complejo de
modulo 1, debemos recordar lo siguiente sobre los valores propios de una matriz: Si
M P Cnn y sus valores propios son distintos dos a dos entonces admite un sistema
completo de vectores propios linealmente independientes. Esto es una consecuencia
de que a valores propios distintos corresponden vectores propios linealmente independientes. Si M tiene n valores propios distintos hay n vectores propios linealmente
independientes; y como estan en un espacio de dimension n deben ser una base. Ahora bien, si vi es un vector propio asociado al valor propio i entonces M vi  i vi .
Y cualquier otro vector propio wi asociado al mismo valor propio debe ser propor-
cional a vi ; es decir, existe P C tal que wi  vi . Ahora, si T  v1 v2    vn
entonces T P Cnn es invertible y
T 1 M T

 Diagp1, . . . , nq

(3.1)

Y recprocamente, si T P Cnn es una matriz invertible que verifica (3.1) con i  j ,


entonces la i-esima columna de T es un vector propio asociado al valor propio i .
Aplicando todo esto a la matriz A A y teniendo en cuenta la demostracion de
la Proposicion 3.12 tenemos que

y tambien

V  A AV

 Diagp12, 22, . . . , n2 q,

U  AA U

 Diagp12, 22, . . . , n2 q.

Esto quiere decir que las columnas de V son una base ortonormal de vectores propios
de Cn respecto de A A; y las de U son una base ortonormal de vectores propios de
Cn respecto AA . Y, ademas, si A  U1 V1 es otra descomposicion de A en valores

3.4 Propiedades de los valores singulares

71

singulares, entonces vi  vi1 (i-esimas columnas de V y V1 ). Como en este caso son,



ademas, vectores unitarios, tenemos que 1  vi vi  ||2 vi1 vi1  ||. Es decir, es
un escalar de modulo 1. Para las columnas de U sirve un razonamiento similar.
La unicidad de los valores singulares produce la siguiente consecuencia:
Proposici
on 3.14 Si A P Cmn y 1    p 0, p  mntm, nu, son sus valores
singulares, entonces }A}2  1 y }A}F  12    p2 .
Demostraci
on.- En efecto si A  U V  es una descomposicion en valores
singulares de A, como las normas }}2 y }}F son unitariamente invariantes tenemos

}A}2  }}2

}A}F  }}F .

Basta probar que }}2  1 y }}F  12    p2 . Lo segundo es inmediato por


la propia definicion de la norma de Frobenius. En cuanto a lo primero, supongamos
por sencillez que m n y sea x P Cn un vector arbitrario de norma eucldea 1.
Entonces

}x}2 

12 |x1 |2



n2 |xn |2

donde hemos utilizado que 1   


e1  p1, 0, . . . , 0q P Cn entonces }e1 }2
1

1 |x1|2    |xn|2  1}x}2  1,

n y que }x}2  1. Ademas, resulta que si


 1 y }e1}2  1. Esto prueba que

 }m
ax }x}2  }}2 .
x}  1
2

Proposici
on 3.15 Si A P Cnn y 1

   n son sus valores singulares entonces

| detpAq|  1  . . .  n
res,

Demostraci
on.- Si A  U V  es una descomposicion de A en valores singuladetpAq  detpU q detpq detpV  q.

Pero U y V son unitarias. Entonces, por una parte, U U   In y por otra detpU  q 
detpU q porque el conjugado de cualquier suma y producto de n
umeros complejos es

72

Valores singulares

la suma o producto de los conjugados de dichos n


umeros. As pues, 1
detpU q detpU  q  detpU qdetpU q  | detpU q|2 . En conclusion,

 detpInq 

| detpU q|  | detpV q|  1,
y

| detpAq|  | detpq|  1    . . .  n.

Proposici
on 3.16 Si A

Cnn es invertible y 1

   n son sus valores


1





. En particular,

1
singulares entonces los valores singulares de A1 son

}A1}2  1 .

Demostraci
on.- Si A  U V  es una descomposicion en valores singulares de
A y es invertible, entonces A1  V 1 U  . Notemos que
1  Diag
y que

1
1

1
1
,...,
1
n

   1 . Existe una matriz de permutacion


n

0
0

P   ..
.
1






0
1
..
.

1
0

.. 
.

0 0

1
1
,...,
. Si ponemos V1  V P T y U1  U P T resulta
tal que P 1 P T  Diag
n
1
que U1 y V1 son unitarias, porque el producto de matrices unitarias es una matriz
unitaria, y A1  V1 P 1 P T U1 es una descomposicion en valores singulares de A1 .
Como }A1 }2 es el mayor valor singular de A1 la conclusion es inmediata.
La descomposicion de A en valores singulares nos proporciona una forma especialmente u
til de escribir A como suma de matrices de rango 1:

3.5 Aproximacion a matrices de menor rango

Proposici
on 3.17 Si A  U V 
singulares y rangpAq  r entonces

P Cmn es una descomposicion de A en valores


A

donde U  u1    um , V
singulares positivos de A.

i ui vi

i 1

v1





r ,

vn y 1

Demostraci
on.- Basta poner
 1

73

   r 0 son los valores




Diagp0, . . . , i , . . . , 0q 0
0
0

donde Diagp0, . . . , i , . . . , 0q P Crr y i aparece en la i-esima posicion.


Es claro que A 

U i V  y que U i V 

i 1

Debe notarse que




i ui vi

i 1

 iuivi.

 Ur r Vr


con Ur  u1    ur , Vr  v1    vr y r
posicion reducida en valores singulares de A.

3.5.

 Diagp1, . . . , r q, es una descom-

Aproximaci
on a matrices de menor rango

Una de las aplicaciones mas interesantes del Teorema SVD es que nos permite
calcular el rango de una matriz con bastante fiabilidad. De hecho, el Teorema SVD
nos da mucho mas que eso, nos proporciona una medida de esa fiabilidad. Ello es
consecuencia del siguiente teorema que nos proporciona una cota de la distancia que
hay de una matriz al conjunto de las matrices de rango menor que ella.
Teorema 3.18 .- Sea A
negativo. Entonces

P Fmn una matriz de rango r; y sea k r un entero no


mn

p qk

rang B

donde 1

}A  B }2  k

2 . . . r 0 son los valores singulares no nulos de A.

74

Valores singulares

Demostraci
on.- Tal y como viene siendo habitual demostraremos que k
una cota superior alcanzable del conjunto de n
umeros

es

t}A  B }2 : rangpB q ku;


es decir, que para cualquier matriz B P Fmn con rangpB q k se tiene que }A 
B }2 k 1 y que existe una matriz Ak P Fmn con rangpAk q  k tal que }A 
Ak 1 }2  k 1 .
Sean U

P Cmm y V P Cnn matrices unitarias tales que


U  AV

con r

D

r 0
0 0

 Diagp1, 2, . . . , r q.

Observemos que como mntn, mu r k tenemos que k 1 n. Sea Vk 1 la


submatriz de V formada por sus primeras k 1 columnas. Como las columnas de
Vk 1 son ortonormales, dim Im Vk 1  k 1.
Sea ahora B P Fmn una matriz cualquiera tal que rang B k. Esto significa
que dim KerpB q  n  rangpB q n  k. Tanto Ker B como Im Vk 1 son subespacios
vectoriales de Fn , pero dim Ker B dim Im Vk 1 n 1. Esto significa que Ker B X
Im Vk 1  t0u y, en consecuencia, hay un vector x P Ker B X Im Vk 1 no nulo que
podemos tomarlo de norma 1: k x k2  1. Ahora

}A  B }22 }pA  B qx}22  }Ax  Bx}22  }Ax}22  }U V x}22  }V x}22


porque x P Ker B y U es unitaria. Dado que x P Im Vk 1 es ortogonal a las u
ltimas

n  k  1 columnas de V . Es decir, vi x  0 para i  k 2, . . . , n. Por lo tanto,
si y  V  x entonces las n  k  1 u
ltimas componentes de y son iguales a cero.
As pues, teniendo en cuenta que k r
}V x}22  12|y1|2    k2 1|yk 1|2.
Como 1    k 1 deducimos que
}V x}22 k2 1p|y1|2    |yk 1|2q  k 1}y}22
porque yk 2      yn  0. Finalmente, }y }2  }V  x}2  }x}2  1 porque V es
una matriz unitaria y x un vector de norma eucldea igual a 1. En consecuencia,
}A  B }22 k 1, tal y como se deseaba demostrar.

3.5 Aproximacion a matrices de menor rango

75

Veamos ahora que existe una matriz Ak de rango k tal que }A  Ak }2


Pongamos Ak  U Dk V  , siendo
Dk

Diagp1 , . . . , k q 0
0
0

 k

1.

P Cmn.

Teniendo en cuenta que la norma espectral es unitariamente invariante, resulta que

}A  Ak }2  }U pD  Dk qV }2  }D  Dk }2.
Pero

D  Dk

Diagp0, . . . , 0, k 1 , . . . , r q 0
0
0

cuyos valores singulares no nulos son k 1 . . . r porque existe una matriz de


permutacion -y en consecuencia unitaria- Q tal que
Q pD  Dk qQ 

Por lo tanto

Diagpk 1 , . . . , r q 0
0
0

}A  Ak }2  }D  Dk }2  k

1,

lo que concluye la demostracion.


Este teorema nos proporciona, como corolario, la distancia de una matriz no
singular a la matriz singular mas proxima en la norma espectral: el valor singular
mas peque
no de la matriz no singular.
Corolario 3.19 .- Si A P Cnn es una matriz no singular y 1
son sus valores singulares, entonces
mn

p q0

det B

2 . . . n 0

}A  B }2  n.

 0 si y solo si rangpB q n  1. Por el teorema anterior


mn }A  B }2 
mn
}A  B }2  n.
detpB q0
rangpB qn1

Demostraci
on.- det B

Una consecuencia inmediata de este Corolario es el siguiente

76

Valores singulares

Corolario 3.20 El conjunto de las matrices de rango completo de Cmn es abierto.


Demostraci
on.- En efecto, suponiendo, por sencillez que m n, tenemos que si
mn
APF
y rangpAq  n entonces las matrices de rango menor que n mas proximas a
A estan a una distancia n , medida en la norma espectral. En consecuencia, cualquier
bola abierta con centro en A y radio r n esta completamente contenida en el
conjunto de las matrices de rango completo. Esto demuestra que este conjunto es
abierto.

3.6.

La inversa de Moore-Penrose

Ya hemos visto en la Proposicion 3.16 que si


A  U V  ,

 Diagp1 , . . . , n q

es una descomposicion en valores singulares de A P Cnn y esta es invertible entonces


U  ,
A1  V

 Diag

1
1
,...,
n
1

con V  V P y U  U P , P una matriz de permutacion, es una descomposicion en


valores singulares de A1 .
Podemos usar esta idea para generalizar el concepto de inversa a inversa generalizada (o pseudoinversa) que juega un papel fundamental en varias partes de la
matematica y en particular en la solucion del problema de mnimos cuadrados. Hay
varias inversas generalizadas (ver [2]). Aqu solo trataremos de la llamada inversa
generalizada de Moore-Penrose o, simplemente, inversa de Moore-Penrose o pseudoinversa de Moore-Penrose. En MATLAB se utiliza el comando pinv para calcularla.
Supongamos que A
singulares no nulos y

P Cmn y r  rangpAq. Sean 1    r 0 sus valores

A  U V  ,

Diagp1 , . . . , r q 0
0
0

una descomposicion de A en valores singulares. Pongamos




 Diag

1
1
,...,
1
r
0

0
0

3.6 La inversa de Moore-Penrose

y definamos

77

A:

 V :U .

Definici
on 3.21 A la matriz A: se le llama inversa generalizada o pseudoinversa de Moore-Penrose de A.
En los ejercicios se presentan algunas propiedades importantes de la inversa de
Moore-Penrose. En particular, la definicion dada aqu no es la que aparece habitualmente en los libros clasicos, aunque es la que mejor se adapta a nuestras circunstancias. La definicion habitual es la siguiente: Es la u
nica matriz que cumple las
siguientes cuatro propiedades:

piq
piiiq

AA: A  A,
A: A  pA: Aq ,

piiq
pivq

A: AA:  A: ,
AA:  pAA: q .

Se puede demostrar que la Definicion 3.21 es equivalente a estas cuatro condiciones. En cualquier caso, a primera vista en la Definicion 3.21 no parece que se pueda
asegurar que hay una u
nica inversa de Moore-Penrose para cada A. En efecto, la
definicion depende de la eleccion de las matrices U y V en la descomposicion de A en
valores singulares y estas no son, en general, u
nicas. Nos proponemos demostrar que,
a pesar de la arbitrariedad en la eleccion de los vectores singulares por la izquierda
y por la derecha, la inversa de Moore-Penrose es u
nica:
Proposici
on 3.22 Para cada A P Cmn hay una u
nica inversa de Moore-Penrose.
Demostraci
on.- Sea
A  U V  ,

Diagp1 , . . . , r q 0
0
0

una descomposicion en valores singulares de A, r  rangpAq. Y sea A:  V : U  la


correspondiente inversa de Moore-Penrose. Por la Proposicion 3.10 las r primeras

columnas de U y V forman bases ortonormales
de ImpAq y de ImpA

 q, respectivamente. De acuerdo con esto escribimos V  V1 V2 y U  U1 U2 con V1 P Cnr
y U1 P Cmr . Si ademas, ponemos
r

 Diagp1, . . . , r q

1
entonces 
r  Diag

1
1
,...,
1
r

78

Valores singulares

A  U1 r V1

y A:

 V1r 1U1.

Ahora, si hubiera otra descomposicion de A en valores singulares, como estos son


u
nicos, existiran matrices unitarias U P Cmm y V P Cnn tales que A  U V  .
Partiendo U y V como U y V tendramos que A  U1 r V1 con U1 y V1 matrices
cuyas columnas forman bases ortonormales de ImpAq y ImpA q, respectivamente.
Para esta descomposicion de A, la inversa de Moore-Penrose correspondiente
: :
1 
sera: A:  V1 
r U1 . Debemos demostrar que A  A .
Por una parte, las columnas de U1 y U1 forman bases ortonormales de ImpAq y
las columnas de V1 y V1 forman bases ortonormales de ImpA q. Por lo tanto, existen
matrices unitarias P, Q P Crr tales que
U1

 U1P

y V1

 V1Q.

(P y Q son las matrices de cambio de bases ortonormales; por lo tanto, unitarias).


Por otra parte,

U1 r V1

de modo que
Pero U1 U1

 U1r V1,

U1 P r Q V1

 V1V1  Ir , as que

P r Q
Y como r es invertible
y tambien
Es decir,

1 
Q
r P
1  
V1 Q
r P U1

A:

 U1r V1.
 r .
 r 1,
 V1r 1U1.

 V1r 1U1  V1Qr 1P U1  V1r 1U1  A:,

tal y como se deseaba demostrar.

Captulo 4

Condicionamiento

4.1.

Introducci
on

El hecho de que los ordenadores pueden representar solo un n


umero finito de
n
umeros reales y de forma aproximada tiene una consecuencia inmediata en el calculo
numerico: a
un cuando un algoritmo haya sido dise
nado teoricamente para producir
la respuesta exacta a un problema, su implementacion en un ordenador rara vez producira tal respuesta. La cuestion entonces radica en saber cuando se puede confiar
en la respuesta obtenida. Los algoritmos en los que se puede confiar son los algoritmos estables; es decir, son aquellos que produce una respuesta casi exacta cuando
se aplican a datos que son casi exactos. Este es un concepto difuso, por ahora, pero
debemos observar desde un principio que en el calculo numerico los errores estan
siempre presentes. Hay errores de muy diversa procedencia, principalmente:
errores en las mediciones o en la estimaciones previas (posiblemente grandes:
a menudo los datos en ingeniera o economa son concidos exactamente con
pocos dgitos [18]).
79

80

Condicionamiento

errores en la forma en la que los ordenadores almacenan los n


umeros: palabras
de 32 o 64 bits, seg
un sea en simple o doble precision. Es decir, errores de
redondeo (peque
nos, comparados con los anteriores).
errores como resultado de calculos anteriores si, por ejemplo, los datos proceden
de soluciones numericas a problemas previos.
Hay problemas que son especialmente sensibles a estos tipos de errores. El estudio de como estos afectan a las respuestas calculadas pertenece a una disciplina
denominada Teora de la perturbacion. En ella se pretende estimar cuanto puede
cambiar la solucion de un problema cuando los datos de partida son modificados
ligeramente. Pero el analisis numerico pretende mas: su objetivo es dise
nar algoritmos que sean lo mas insensibles posible a los errores. Los algoritmos que poseen
esta propiedad se dice que son estables. No es una tarea facil saber si un algoritmo
es estable o no. Lo primero que se necesita para ello es una buena definicion de
estabilidad. Iremos abordando estas cuestiones a lo largo de este tema y el siguiente
aplicandolos, a modo de ejemplo, al problema de la resolucion de sistemas lineales.

Hay un tercer aspecto importante en Algebra


Lineal Numerica que solo abor
daremos tangencialmente en este curso: la velocidad de los algoritmos. Esta
suele
ser medida, en la disciplina que nos ocupa, en flops (n
umero de operaciones en
punto flotante), pero su analisis, aunque importante porque en determinadas circunstancias la velocidad de los algoritmos puede ser decisivo para decantarse por
la utilizacion de uno u otro, suele ser tedioso y con escaso contenido matematico.
Quienes esten interesados el analisis de la velocidad de los principales algoritmos,
pueden consultar los libros recomendados en la bibliografa.

4.2.

Condicionamiento de un problema

En abstracto podemos ver un problema como una funcion f : X Y de un


espacio vectorial normado de datos en un espacio vectorial normado de resultados.
Por ejemplo, el problema de calcular la mitad de un n
umero real se puede ver como
la funcion
f : R R
x ; x2
Y el problema de calcular las races de un polinomio tambien se puede interpretar de
esta forma aunque los espacios X e Y que intervienen son un poco mas complicados.

4.2 Condicionamiento de un problema

81

Esta funcion es casi siempre no lineal (incluso en Algebra


Lineal) pero s continua. Y lo que se pretende es saber como act
ua f sobre un punto concreto x P X.
Intuitivamente, para un valor x P X, se dice que un problema esta bien condicionado (en realidad debera decirse bien condicionado para el valor dado x, pero se
sobreentendera lo de que es para un valor concreto que siempre se dara previamente)
si cualquier peque
na modificacion en x produce una peque
na modificacion en f pxq.
Un problema mal condicionado es aquel para el que hay peque
nas modificaciones de
x que producen grandes modificaciones de f pxq.
Para hacer preciso este concepto supongamos, de momento, que X  Fn , Y 
Fm y f es diferenciable en x. Podemos aproximar el valor de f px xq por f pxq
utilizando el primer termino del desarrollo de f en serie de Taylor alrededor de x:
f px

xq  f pxq

f 1 pxqx

donde f 1 pxq es la diferencial de f en x (i. e. la aplicacion lineal de Fn a Fm representada por la matriz jacobiana de f en las bases canonicas). As
f px

xq  f pxq  f 1 pxqx

Eligiendo normas en Fn y Fm y usando para f 1 pxq la correspondiente norma inducida

}f px

xq  f pxq}
}x}

 }f 1pxq},

de modo que }f 1 pxq} nos da una idea aproximada de la razon de los errores absolutos
de las soluciones del problema y los datos del mismo. Si este n
umero es muy grande
es porque peque
nas modificaciones en el dato del problema produce una modificacion
muy grande en la solucion. Al n
umero }f 1 pxq}, que es la norma de la matriz de las
derivadas parciales de f en x, se le llama n
umero de condici
on (absoluto) del
problema f en x respecto de la norma }  }; y se representa por
pxq.
Si lo que se quiere es una idea de la relacion entre los errores relativos podemos
observar que
}f px xq  f pxq}  }x}  }f 1pxq}}x} ,
}f pxq}
}x} }f pxq}
de modo que


}f px

xq  f pxq}
}f pxq}

N

}x}
 }f 1pxq}}x} .
}x}
}f pxq}

82

Condicionamiento

Y al n
umero

}f 1pxq}}x}
}f pxq}

se le llama n
umero de condici
on (relativo) o simple-

mente n
umero de condici
on del problema f en x respecto de la norma }  }; y
se representa por pxq. Este n
umero mide la sensibilidad del problema f a las peque
nas perturbaciones de x. As, si pxq es peque
no, errores relativos peque
nos en
el dato producen errores relativos peque
nos en la solucion; mientras que si pxq es
grande errores relativos peque
nos en los datos producen errores relativos grandes
en la solucion. En este caso, el problema esta mal condicionado; y en el anterior el
problema esta bien condicionado.
Cuando f no es diferenciable se requiere otra caracterizacion de n
umero de
condicion que se reduzca a la ya dada si f es diferenciable. La definicion precisa es
la siguiente:
N
umero de condici
on absoluto:

pxq : lm sup

0 }x}

}f px

xq  f pxq}
.
}x}

(4.1)

N
umero de condici
on relativo:
pxq : lm sup

0 }x}

}f px

xq  f pxq}
}f pxq}

N

}x}

}x}

(4.2)

Cuando nos refiramos al n


umero de condicion de un problema, se debera entender
que es el n
umero de condicion relativo. Debe observarse en cualquier caso que
pxq 

}x} pxq
}f pxq}

(4.3)

Observaciones 4.1 Deberamos demostrar que las definiciones (4.1) y (4.2) son
consistentes. Es decir, que el lmite existe y coincide con la norma de la diferencial
de f cuando esta es diferenciable. Lo primero no es difcil. Vamos a hacerlo para
el n
umero de condicion absoluto. El correspondiente resultado para el n
umero de
n
condicion relativo se sigue de (4.3). Para x P F dado, pongamos
p q  sup

}x}

}f px

xq  f pxq}
}x}

4.2 Condicionamiento de un problema

y observemos que si 0 1
lo tanto
p1 q  sup

}x}1

}f px

83

2 entonces tx : |x} 1u tx : }x} 2u. Por


xq  f pxq}
}x}

sup

}x}2

}f px

xq  f pxq}
}x}

 p2q,

de modo que es monotona creciente y acotada inferiormente por 0. Por consiguiente, existe el lm p q. Notemos que 0, y por lo tanto la convergencia a 0

es siempre por la derecha aunque no se haya hecho explcito en la definicion.


Probamos ahora que cuando f es diferenciable
pxq  }f 1 pxq}. Recordamos que
la diferenciabilidad de f significa que
f px

xq  f pxq  f 1 pxqx

}x}rpxq,

donde f 1 pxq es una aplicacion lineal de Rn en Rm cuya matriz en las bases canonicas
es la matriz jacobiana de f , y lm rpxq  0. Pongamos, para facilitar la compresion
f 1 pxq  J pxq. Entonces para

0

 J pxqx
xq  f pxq}

sup 
}x}
}x} }x}
x

sup

}x}

}f px



r x  .

p q

El objetivo es demostrar que



 J x x
lm sup 
0
x

pq
} }

}x}



r x 

p q  }J pxq},

donde }J pxq} es la norma de matriz inducida por la norma de vector que estemos
considerando. Es decir
}J pxq}  sup }J}phx}qh} .
h0
(Notese que las normas en el numerador y denominador en esta expresion son normas
de vector en espacios de, posiblemente, dimensiones diferentes). Se puede demostrar,
como se hizo en la Seccion 2.3.2 de la Leccion 2, que para cualquier 0

}J pxq}  sup }J}phx}qh} 




h 0

de modo que

}J pxqh} ,
}h} }h}
sup

}J pxqh}  }J pxq},
0 }h}
}h}
lm sup

84

Condicionamiento

porque estamos calculando el lmite cuando

0 de una cantidad constante: }J pxq}.

Por lo tanto, lo que queremos demostrar es que




lm


 J x x
sup 
x

0 }x}



r x 

pq
} }

xqx}
p q  sup }J}px
}  0.
}x}

(4.4)

Ahora bien, sabemos que lm rpxq  0, lo que implica que lm sup }rpxq} 

0 }x}

0. Para probar (4.4) utilizaremos la definicion de lmite: Sea 0 un n


umero real.
Por una parte


r x 


 J x x
sup 
x

pq
} }

}x}

p q



 J x x 


sup 
x 

pq
} }

}x}

}rpxq}



 J x x 


sup 
x 

}x}

pq
} }

sup }rpxq} ,

}x}

de modo que



 J x x

 sup 
}x}
x

pq
} }



r x 

p q 


J x x 

x 

} p q } sup }rpxq} .
}x} } }
}x}
sup

Como lm sup }rpxq}

 0, para el dado existe un 0 tal que si 0


}rpxq} . As pues, con este mismo ,

0 }x}

entonces sup

}x}




 J x x

 sup 
}x}
x

pq
} }



r x 

p q 


J x x 

x 

} p q } ,
}x} } }
sup

lo que demuestra (4.4).

Ejemplo 4.2

1. Para x P R calcular

En este caso f pxq 

x
.
2

x
1
es una funcion diferenciable y f 1 pxq  . As
2
2

|
f 1 pxq||x|
1{2


|f pxq| 1{2  1.
El problema esta bien condicionado en cada x P C.

4.3 El n
umero de condicion para el producto de matrices y vectores

2. Para x P R calcular
Ahora f pxq 

85

?x.

?x y f es diferenciable para x 0. f 1pxq  ?1 . As


2 x


x
?x  12 .

1
2 x

El problema esta bien condicionado para todo x 0.


3. Para x1 , x2

P R calcular x1  x2.

f pxq  x1 x2 es una funcion de dos variables. f 1 pxq 


Para la norma `8 tenemos que


Bf Bf   x
2
B x1 B x2

x1 .

p|x1| |x2|q  maxt|x1|, |x2|u  |x1| |x2|


| x1 x2 |
mnt|x1 |, |x2 |u

Este problema esta bien condicionado para valores de x1 y x2 proximos en


valor absoluto, y mal condicionado para valores que difieren mucho en valor
absoluto.

4.3.

El n
umero de condici
on para el producto de
matrices y vectores

Como viene siendo habitual F representa el cuerpo de los n


umeros reales o
complejos.
Analizamos con un poco de detalle el n
umero de condicion del siguiente problema: Dada una matriz A P Fmn , calcular el producto de Ax para x P Fn1 . La
funcion asociada al problema es
f : Fn
Fm
x ; b  Ax
Esta funcion es diferenciable:
f pxq  Ax 

j 1

m

aij xj

i 1

86

Condicionamiento

Es decir, para i  1, . . . , m

fi pxq 

aij xj ,

j 1

de modo que

B fi  a .
Bxj ij

Por lo tanto,

f 1 pxq  A.

Y el n
umero de condicion relativo para este problema es


}f 1pxq}  }A} }x} ,


}f pxq}{}x} }Ax}

(4.5)

donde tomamos como norma de A la norma inducida por las normas de x y Ax.
Debemos tener en cuenta que estos vectores pueden estar en espacios vectoriales de
dimensiones diferentes. Por ser una norma inducida por una norma de vector, es
compatible con ella. Es decir, }Ax} }A} }x} y, en consecuencia
1.

El problema estara bien condicionado para aquellos x P Fn para los que es proximo
a 1; y mal condicionado para aquellos para los que es mucho mayor que 1.
Ademas cuando A es cuadrada y no singular tenemos que x  A1 Ax y

}x}  }A1Ax} }A1} }Ax}.

Sustituyendo en (8.10) tenemos que


}A} }A1 }.

As que el n
umero de condicion de calcular b  Ax con A dada e invertible esta acotado por la cantidad }A} }A1 }. Que n
umero de condicion tiene el problema de
resolver el sistema Ax  b con A una matriz dada cuadrada e invertible? Nos
preguntamos por el problema
f : Fn
Fm
b ; x  A1 b

Es el mismo que acabamos de estudiar pero aplicado a la matriz A1 :


}A1 } }A}.
En definitiva tenemos el siguiente resultado

4.3 El n
umero de condicion para el producto de matrices y vectores

87

Teorema 4.3 Sea A P Fnn no singular y consideremos el problema de la resoluci


on
del sistema lineal Ax  b respecto de b. El n
umero de condicion de este problema es
 }A1 }

}b} }A1} }A}  }A} }A1}.


}A1b}

Definici
on 4.4 El n
umero }A} }A1 } recibe el nombre de n
umero de condici
on
de la matriz A, si A es cuadrada y no singular, y se denota por pAq. Cumple que
pAq 1, y si pAq es un n
umero proximo a 1 se dice que A es una matriz bien
condicionada; y si es mucho mayor que 1, que es mal condicionada.
Debe notarse que a normas diferentes, para una misma matriz, los n
umeros de
condicion pueden ser diferentes, pero la equivalencia de normas garantiza que no
son muy diferentes. Particularmente notable es el n
umero de condicion respecto de
la norma espectral o de operador:
2 pAq  }A}2 }A1 }2 .
Recordemos que }A}2

 1 es el mayor valor singular de A y que el mayor valor

1
, y as
singular de A1 es 1{n . Es decir, }A1 }2 
n

2 pAq 

1
.
n

Es muy importante notar que el condicionamiento de una matriz depende de


la relacion entre su primer y u
ltimo valor singular. Desde luego, si A es singular,
entonces 2 pAq  8, y A esta muy mal condicionada, pero A puede estar cerca
de ser singular y estar muy bien condicionada. Por ejemplo, para
A

es una matriz casi singular porque n

107 1010
1010 107

 0,0999  106, pero

2 pAq  1,00200200200200,
de forma que esta muy bien condicionada: sus columnas (y filas) son muy linealmente independientes: la primera componente de la primera columna es 103 veces

88

Condicionamiento

mas grande que la de la segunda columnas; y lo mismo pasa con las segundas componentes pero al reves. El n
umero de condicion no solo depende del u
ltimo valor
singular, que nos mide la distancia al conjunto de las matrices singulares, sino de su
relacion con el primero. En este ejemplo, 1  0,1001  106 y 1 {2 es casi 1.
En conclusion, una matriz no singular A puede estar cerca del conjunto de matrices singulares pero estar muy bien condicionada. As, si los elementos de A son
muy peque
nos en valor absoluto (como en el ejemplo de mas arriba), su determinante sera muy peque
no (en valor absoluto) y su u
ltimo valor singular sera muy
peque
no porque el producto de los valores singulares es el valor absoluto del determinante de la matriz. Consecuentemente, A esta cerca de alguna matriz singular.
Sin embargo, A puede ser una matriz bien condicionada porque puede suceder que
1 sea tambien muy peque
no y muy parecido a n . Su n
umero de condicion nos da
una idea de si sus columnas son muy linealmente independientes o no. Un sistema
de vectores tv1 , . . . , vn u son casi linealmente dependientes si se pueden encontrar
escalares 1 , . . . , n , no todos peque
nos de forma que 1 v1    n vn es casi
cero. Observense las comillas. Son conceptos imprecisos, pero que nos hacen intuir
que cuanto mas cerca esten las columnas de una matriz de ser ortogonales, mejor
condicionada estara dicha matriz. Lo que s se puede probar rigurosamente es que
no hay matrices mejor condicionadas (en la norma espectral) que las unitarias. En
efecto, si U es unitaria entonces todos sus valores singulares son iguales a 1 y en
consecuencia 2 pU q  1.
Terminamos esta seccion con un resultado que nos ofrece otra interpretacion
interesante del n
umero de condicion de una matriz.
Corolario 4.5 Sea A P Fnn una matriz no singular. Entonces
1
2 pAq

 mn

"

}A}2 : A
}A}2

A singular

1
es la distancia relativa de A al conjunto de las matrices singulares.
2 pAq
Cualquier error relativo en A menor que esta cantidad nos asegura que la corres1
pondiente matriz es no-singular. Pero si el error relativo en A es mayor que
2 pAq
1
la matriz obtenida podra ser singular. Es decir,
es el menor error relativo
2 pAq
posible para que la perturbacion en A produzca una matriz singular.
Es decir,

4.4 La condicion de los sistemas de ecuaciones lineales

89

Demostraci
on.- Por una parte
1
2 pAq
Y por otra parte,
n

 }A1} }A11}  }An} .


2
2

 rangpm
n
}A
A Aqn

A  A}2 .

Por lo tanto,
1
2 pAq

"
}
A}2
}A}2 : A
 rangpm
n

mn
A Aqn }A}2
}A}2

A singular

Podemos extender el concepto de n


umero de condicion a las matrices rectangulares de rango completo usando A: en lugar de A1 . Es decir,
pAq  }A} }A: }.
Y si A P Fmn con m n y rang A  n seguiramos teniendo
2 pAq 

4.4.

1
.
n

La condici
on de los sistemas de ecuaciones
lineales

En la seccion anterior hemos considerado los problemas de calcular Ax y A1 b


para x y b, respectivamente, y suponiendo que A es una matriz fija. En ambos casos
hemos visto que el n
umero de condicion de estos problemas esta acotado inferiormente por 1 y superiormente por pAq. Hemos visto tambien que este n
umero es
importante para analizar la independencia lineal de las columnas de la matriz A. Se
trata ahora de mostrar que pAq es, en efecto, el n
umero de condicion de un problema. Es logico pensar que dicho problema debe tener relacion con la ecuacion Ax  b
porque en el caso particular en que b  0 la solucion del sistema es, en aritmetica
exacta, x  0. Si el problema esta mal condicionado entonces el error absoluto en el
resultado puede ser grande en comparacion con el error absoluto en la perturbacion
en A. Es decir, si una ligera perturbacion en A produce una solucion x, de Ax  0,
con alguna componente muy grande respecto de dicha perturbacion debe ser debido

90

Condicionamiento

a que las columnas de A estan cerca de ser linealmente independientes. Esto justifica
nuestra intuicion sobre el significado de pAq en relacion a la dependencia lineal de
las columnas de A expuesta en la seccion anterior.
Se trata de estudiar el sistema Ax  b cuando b es un vector dado y A solo se
conoce aproximadamente. Es decir, el problema
f : Gln pFq Fn
A
; A1 b

(4.6)

con b P Fn un vector dado fijo y A invertible. Recordemos que Gln pFq es un subconjunto abierto de Fnn .
Nuestro objetivo es demostrar el siguiente resultado
Teorema 4.6 (a) Sea b P Fn un vector no nulo y consideremos el problema de
hallar la solucion del sistema Ax  b a partir de A P Fnn , invertible. El n
umero de
condicion de este problema es
 }A} }A1 }  pAq.
cualquiera que sea la norma de vector en Fn y siendo la norma en Fnn la norma
de operador inducida por la norma de Fn .
(b) En las mismas condiciones de (a), pAq tambien es el n
umero de condicion
del problema:
fr : Gln pFq Fnn
(4.7)
A
; A1
que consiste en calcular la inversa de A para matrices invertibles de orden n.
Demostraci
on.- Las demostraciones de ambos resultados son parecidas. Las
iremos haciendo en paralelo.
En primer lugar probaremos que las funciones f y fr, (4.6) y(4.7), que definen
r son los n
los dos problemas son diferenciables. En consecuencia, si y
umeros de
condicion de los problemas definidos por f y fr, entonces


}f 1pAq}}A}
}f pAq}

r
y

}fr1pAq}}A} .
}frpAq}

4.4 La condicion de los sistemas de ecuaciones lineales

91

Teniendo en cuenta que la diferencial f 1 pAq : Fnn Fn es una aplicacion lineal, la


norma para f 1 pAq es la norma de operador inducida por las normas que se hayan
considerado en Fnn y Fn ; i.e.,

}f 1pAq}  }m
ax }f 1 pAqpX q}.
X }1

(Recuerdese que, a su vez, la norma en Fnn es la inducida por la de Fn ). Y de la


misma forma, fr1 pAq : Fnn Fnn es una aplicacion lineal de modo que la norma
para f 1 pAq es la norma de operador inducida por las norma de Fnn :

}fr1pAq}  }m
ax }fr1 pAqpX q}.
X }1

r  pAq 
Un calculo elemental muestra que es equivalente demostrar que 

1
}A}}A } y que

}f 1pAq}  }A1}}A1b}

}fr1pAq}  }A1}2

As pues, el objetivo es probar que }A1 }}A1 b} es una cota superior alcanzable
del conjunto t}f pAq1 pX q} : }X }  1u. Y que }A1 }2 es una cota superior alcanzable
del conjunto t}frpAq1 pX q} : }X }  1u.
Veamos que, en efecto, f y fr son diferenciables. Podemos escribir fr a partir de
las siguientes funciones:
g1 : Gln pFq
X

g2 : Gln pFq
X

det X

Sn

p1q x1p1q  . . .  xn

Fnn
AdjpX q  rp1qi j det X rj |iss

Como g1 no se anula en Gln pFq y g1 y g2 son funciones diferenciables en los elementos


de la matriz X, tambien fr  g2 {g1 es diferenciable. Ahora bien, para b fijo f pX q 
frpX qb, de modo que f es diferenciable.
Veamos ahora que }f 1 pAqpX q} }A1 }}A1 b} para toda matriz X P Fn . Recordemos que f 1 pAqpX q es la derivada direccional de f en la direccion de X:
f 1 pAqpX q




pA
t0
rpIn
lm
lm

tX q1 b  A1 b
rpIn tA1X q1A1  A1sb 

lm
t0
t
t


tA1 X q1  In sA1 b


p
In tA1 X q1  In
 ltm
A 1 b
0
t
t

92

Condicionamiento

Pero para t suficientemente peque


no se tiene que }tA1 X } 1 de modo que, por la
Proposicion 2.15 del Captulo 2, conclumos que In tA1 X es invertible y

pIn

tA1 X q1

 In  tA1X

t2 pA1 X q2  t3 pA1 X q3

 .

En consecuencia

pIn

tA1 X q1  In
t

Por lo tanto

 A1X tpA1X q2t2pA1X q3     A1X pIn




f 1 pAqpX q  lmpA1 X qpIn


t0

tA1 X q1

tA1 X q1 A1 b  A1 XA1 b.

Exactamente igual se demuestra que fr1 pAqpX q  A1 XA1 .


Probamos ahora que }A}1 }A1 b} es una cota superior de t}f 1 pAqpX q} : }X } 
1u. Sea X P Fnn una matriz de norma 1. Entonces, por la compatibilidad de las
normas

}f 1pAqpX q}  }A1XA1b} }A1}}X }}A1b}  }A1}}A1b}


porque }X }  1. De la misma forma
}fr1pAqpX q}  }A1XA1} }A1}}X }}A1}  }A1}2,
de modo que }A1 }2 es una cota superior del conjunto t}fr1 pAqpX q} : }X }  1u. Por
lo tanto

}fr1pAq}  }m
ax }A1 XA1 } }A1 }2 .
X }1

(4.8)

Debemos encontrar ahora una matriz B de norma 1 tal que }f 1 pAqpB q} 


}A1BA1b}  }A1}}A1b}. Si esta matriz B, ademas de tener norma 1, cumpliera
que BA1 b  y siendo y un vector tal que }A1 y }  }A1 }}y } y }y }  }A1 b},
entonces tendramos asegurada la igualdad, porque en tal caso

}A1BA1b}  }A1y}  }A1}}y}  }A1}}A1b}

(4.9)

Parece que los requerimientos son excesivos, pero en realidad no lo son porque
tenemos todos los elementos necesarios para poder decir exactamente que matriz
B y que vector y debemos escoger. En primer lugar, como la norma en Fnn es la

4.4 La condicion de los sistemas de ecuaciones lineales

93

norma inducida por la norma de Fn , existe un vector no nulo y1 tal que }A1 y1 } 
}A1}}y1}. Notese que cualquiera que sea el numero , tambien y1 cumple la misma
propiedad:

}A1py1q}  ||}A1y}  ||}A1}}y1}  }A1}}y1}


En particular, si
y

 }A}y }b} y1
1
1

Tenemos que }y }  }A1 b} y }A1 y }  }A1 }}y }.


Con este vector y formamos el vector y0  }y1} y de modo que }y0 }  1. Pongamos
x  A1 b y x0  }x1} x. Estos vectores cumplen que }y0 }  }x0 }  1. Por el Ejercicio
2.8 de la Leccion 2, existe un vector z0 tal que si B  y0 z0 entonces Bx0  y0 y
}B }  1. Tal vector z0 es
z1
z0  
x0 z1

siendo z1 un vector para el que |z1 x0 |  }z1 }1 }x0 } (}  }1 la norma dual de


siempre existe (ver Ejercicio 2.8 de la Leccion 2). As pues, }B }  1 y

}  }), que

BA1 b  Bx  }x}Bx0

 }x}y0  }A1b}y0  }y}y0  y.


En definitiva, existe un vector y tal que }y }  }A1 b} y }A1 y }  }A1 }}y }. Y para
este vector y existe una matriz B tal que }B }  1 y BA1 b  y. Por lo tanto,
se cumple (4.9) y }f 1 pAqpB q}  }A1 }}A1 b}. Esto es, }f 1 pAq}  }A1 }}A1 b} y
 pAq tal y como se deseaba demostrar.
Para concluir, debemos demostrar que }fr1 pAq}  }A1 }2 . Para ello observamos
que, debido a que la norma en Fnn es la inducida por la de Fn , existe un vector b de
norma 1 tal que }A1 b}  }A1 }. Para este vector b, y de acuerdo con lo que hemos
demostrado mas arriba, existe una matriz B de norma 1 tal que }A1 BA1 b} 
}A1}}A1b}  }A1}2. En consecuencia,

}A1}2  }A1BA1b} }A1BA1}}b}  }A1BA1} }fr1pAq}


porque }fr1 pAq}  max }A1 XA1 }. Teniendo en cuenta (4.8) conclumos que }fr1 pAq} 

}X }1

}A1}2 y consecuentemente r  pAq.

94

Condicionamiento

Captulo 5

Estabilidad

5.1.

Introducci
on

5.2.

Aritm
etica en punto flotante

Recordamos en esta seccion, muy brevemente, las ideas expuestas en la seccion


con este mismo nombre en el documento Pr
acticas de An
alisis Matricial. Una
Introducci
on a MATLAB. En primer lugar, los n
umeros en punto flotante forman
un subconjunto finito F de n
umeros racionales. Este conjunto esta formado por el 0
y los n
umeros de la forma
x  p1 f q  2e
con

0f

y e un n
umero entero.
95

96

Estabilidad

La precision del conjunto F queda determinada por un n


umero llamado
epsilon
de la m
aquina que denotaremos con el smbolo M , y cuyo valor es
M

 253.

Este n
umero esta muy relacionado con el error de redondeo al aproximar los n
umeros
reales al n
umero en F mas proximo. Especficamente, si flpxq es el n
umero de F mas
proximo a x P R, x  0, entonces

| flpxq  x| 253   .
M
| x|

(5.1)

En algunos casos, como MATLAB, se toma como M el doble de este valor; es decir,
252 . Este n
umero es la distancia de 1 al siguiente n
umero en punto flotante. De
hecho, en el intervalo r1, 2s los n
umeros en punto flotante son equidistantes y la
distancia entre dos de ellos es precisamente este n
umero: 252 .
La desigualdad (5.1) se puede escribir como

| flpxq  x| M |x|,
en la que se puede incluir x  0. A su vez, esta desigualdad permite establecer la
siguiente norma que relaciona los n
umeros reales y los de F:
Primer axioma para F
Para cada x P R hay un  con || M tal que
flpxq  xp1

q.

(5.2)

En un ordenador, todos los calculos matematicos se reducen a ciertas operaciones


aritmeticas elementales, de las cuales las clasicas son , , , y . Estos smbolos
representan operaciones en R. En un ordenador tenemos operaciones similares en
F. Habitualmente estas operaciones aritmeticas con n
umeros en punto flotante se
representan con los smbolos `, a, b y c, y en la practica son implementadas
mediante software.
Respecto de estas operaciones es razonable desear que los ordenadores se construyeran siguiendo el siguiente principio: si x, y son n
umeros en punto flotante (i.e.,

5.2 Aritmetica en punto flotante

97

x, y PF),  representa una de las operaciones , , , o , y si f la operacion


correspondiente en punto flotante, entonces x f y debe ser exactamente:
xfy

 flpx  yq

(5.3)

Si se cumple esta condicion, por (5.2) y (5.3), podemos concluir que el ordenador
tiene la siguiente importante propiedad:
Axioma fundamental de la aritm
etica en punto flotante
Para todo x, y

P F, existe  con || M tal que


x f y  px  y qp1 q

(5.4)

Recordemos que si x P R y flpxq es el valor aproximado de x en punto flotante,


el error relativo al aproximar x por flpxq es

| flpxq  x| .
| x|

Por lo tanto, el axioma fundamental de la aritmetica en punto flotante dice que el


error relativo en cada operacion de la aritmetica en punto flotante es a lo mas M .
El analisis del error de las operaciones con n
umeros en punto flotante esta basado
en las condiciones (5.2) y (5.4) para valores de M que no tienen por que ser 253 .
As nuestro analisis incluira, por ejemplo, ordenadores o calculadoras que en vez de
redondeo utilizan truncamiento para aproximar un n
umero real por el mas proximo
en punto flotante. En estos casos, el error relativo al aproximar un n
umero real por
el mas cercano, truncando en vez de redondeamdo, es 252 . En vez de pensar en M
como un valor fijo, pensaremos en M de un ordenador o calculadora como el menor
n
umero para el que se cumplen las condiciones (5.2) y (5.4) en ese aparato.
Durante mucho tiempo, y hoy todava en algunos libros, se define el epsilon de la
maquina como la distancia de 1 al siguiente n
umero en punto flotante en el sistema
F de dicha maquina. Hoy en da, sin embargo, se prefiere la definicion dada mas
arriba por ser mas independiente del ordenador concreto o sistema F que este utilizando. Para la mayor parte de los ordenadores, incluyendo todos los que utilizan la
aritmetica del estandar IEEE, ambas definiciones de M producen, aproximadamente, el mismo valor: en aritmetica decimal 252 y 253 son ambos del orden de 1016 .
En ocasiones, sin embargo, puede ser necesario un valor grande de M para que se
cumplan las condiciones (5.2) y (5.4). En 1994 se descubrio en los microprocesadores

98

Estabilidad

Intel Pentium un error en la tabla que usaban para implementar el estandar IEEE
de doble precision; su precision efectiva resulto ser de, aproximadamente, 6,1  105 ,
1011 veces menor que la supuestamente deseada. Por supuesto, el error fue corregido
muy pronto. Pero hay mas ejemplos. La operacion de restar en punto flotante en los
ordenadores Cray que se produjeron hasta mediados de la decada de 1990 necesitaba
un M  1para que se cumpliera (5.4). Esto era debido a que la substraccion se realizaba sin lo que se llama el dgito de guardia. Este concepto se entiende mejor con un
ejemplo. Supongamos que F es el conjunto de n
umeros en punto flotante representados en base 2 y con 3 posiciones en la fraccion (no importa el rango del exponente
para este ejemplo). Supongamos que queremos restar a 1 el anterior n
umero de F.
Este n
umero es 0,111. Escribimos estos n
umeros en forma normalizada
1
0,111

0,100  21
0,111  20 ,

y los restamos
0,100  21
0,111  20

 21
0,100
0,0111  21
0,0001  21  0,100  22

Observamos, en primer lugar, que la respuesta es correcta: en notacion decimal, los


n
umeros positivos de F son 0, 23 , 2  23 , 3  23 , . . . , 7  23 , 1. Es decir, la diferencia
entre 1 y su anterior n
umero en F es 23  0,100  22 . En segundo lugar, al pasar
de representar 0, 111 como 0,111  20 a 0,0001  21 hemos introducido un cuarto
dgito en la fraccion. Este es el dgito de guardia. Si no lo hubieramos hecho as la
operacion habra sido como sigue:
0,100  21
0,111  20

2
0,100
0,011  21
0,001  21  0,100  21
1

El error relativo de esta respuesta es 1!:

|22  23|  1.
|23|

Recordemos que para los antiguos ordenadores Cray M  1. Estas maquinas no son
in
utiles pero el analisis del error debe ser diferente del que nosotros haremos. Afortunadamente el axioma (5.4) y la adopcion del estandar IEEE para la aritmetica de
punto flotante han sido ampliamente admitidos por los productores de ordenadores;

5.3 Estabilidad de los algoritmos

99

y desde 1996 todos los ordenadores personales compatibles IBM y todas las estaciones de trabajo producidas por SUN, DEC, HP e IBM implementan el estandar
IEEE que se expuso en el documento Pr
acticas de An
alisis Matricial. Una
Introducci
on a MATLAB.

5.3.

Estabilidad de los algoritmos

Sera bueno que los algoritmos numericos proporcionaran respuestas exactas a


los problemas numericos, pero como los n
umeros reales forman un continuo y los
ordenadores solo pueden utilizar un n
umero finito de n
umeros racionales, ese objetivo
es, en general, imposible de alcanzar. La nocion de estabilidad es la forma estandar
de caracterizar lo que es posible; lo que los analistas numericos consideran que es la
respuesta correcta aunque no sea la exacta.
En la Leccion anterior definimos un problema como una funcion f : X Y
entre dos espacios vectoriales; uno de datos, X, y otro de soluciones, Y . Un algoritmo tambien puede verse como una funcion f : X Y entre los mismos espacios
vectoriales. Pero la definicion es un poco mas complicada: Supongamos que nos dan
los siguientes datos:
un problema f : X

Y,

un ordenador cuyo sistema en punto flotante cumple (5.4) ,


un algoritmo para f en el sentido intuitivo del termino (una serie de mandatos
implementables en el ordenador con el objetivo de resolver f ), y
una implementacion de este algoritmo en la forma de un programa para el
ordenador.
Dado un dato x P X, sea flpxq el valor redondeado de x en el sistema de punto
flotante de forma que se verifique (5.2), y proporcionemos este valor, flpxq, como
entrada al programa del ordenador. El resultado es una coleccion de n
umeros en

punto flotante que estan en Y . El resultado obtenido es f pxq.


Realmente esta definicion no parece tener demasiado sentido. Para empezar fpxq
estara afectada por errores de redondeo; y, dependiendo de las situaciones, puede

100

Estabilidad

verse afectada por todo tipo de circunstancias, como tolerancias para que haya
convergencia o, incluso, otras tareas que pueda estar realizando el ordenador cuando
se corre el programa. Esta funcion fpxq puede tomar diferentes valores de una a
otra ejecucion del programa. En fin, todas estas complicaciones pueden hacernos
pensar que no merece la pena intentar definir un algoritmo como una funcion.
As y todo, hablar de fpxq como una funcion es conveniente y sobre ella se pueden
establecer unos cuantos resultados que permiten un mejor analisis de la exactitud

de los algoritmos de Algebra


Lineal Numerica; y todo ello basado exclusivamente en
los axiomas fundamentales (5.2) y (5.4).
El smbolo es una notacion que usaremos para expresar la cantidad calculada
por el ordenador. Por ejemplo, la cantidad calculada por un ordenador cuyo sistema
de aritmetica en punto flotante cumpla los axiomas (5.2) y (5.4) del sistema lineal
Ax  b sera denotada por x.
Lo mas importante que podemos pedir a un buen algoritmo es que nos proporcione una buena aproximacion al problema asociado f . Para precisar esta idea,
consideremos el error absoluto del calculo para un dato dado x, }f pxq  fpxq}, o el
error relativo
}f pxq  fpxq} ,
}f pxq}
que sera nuestra mediada habitual del error. Si f es un buen algoritmo, se podra
esperar un error relativo peque
no, del orden del M . Se podra decir que un algoritmo
f para un problema f es preciso, si para cada x P X

}f pxq  fpxq}  Op q.


(5.5)
M
}f pxq}
Hablando vagamente, el smbolo OpM q significa del orden del epsilon de la maquina. Sin embargo, OpM q tiene un significado preciso. Recordemoslo. La notacion
ptq  Opptqq

es estandar en matematicas y significa que existe una constante positiva C tal que,
para t suficientemente proximo a un lmite sobreentendido (como, por ejemplo t 0
o t 8),
|ptq| C |ptq|.

As, sen2 ptq  Opt2 q para t 0 porque existe una constante C tal que | sen2 ptq|
C |t2 | para t suficientemente peque
no como lo atestigua el desarrollo en serie de
2
Taylor de sen ptq.

5.3 Estabilidad de los algoritmos

101

Tambien es estandar en matematicas la expresion


ps, tq  Opptqq uniformemente en s,
para indicar que existe una constante C tal que

|pt, sq| C |ptq|


para todo s. As, por ejemplo,

psen2 tqpsen2 sq  Opt2q


cuando t 0, pero la uniformidad se pierde si reemplazamos sen2 s por s2 .
Aqu el uso de O sigue estos mismos criterios. As, para un problema dado
f y un algoritmo f para este problema, el resultado de aplicar el algoritmo a un
dato x P X, depende tanto de x como del epsilon de la maquina, M , respecto del
que se realizan los redondeos. La expresion (5.5) indica que existe una constante C
tal que el error relativo esta acotado por CM uniformemente para todo x P X y
para M 0. Rara vez se menciona la uniformidad respecto de x; debe darse por
sobreentendida.
En realidad M es una cantidad fija para cada maquina. Cuando decimos que
M 0 estamos pensando en una idealizacion de los ordenadores. La ecuacion (5.5)
significa que si corrieramos el algoritmo f en unos ordenadores que satisfacen las
condiciones (5.2) y (5.4) para una secuencia de valores de M que converge a cero,
entonces
}f pxq  fpxq} ,
}f pxq}
convergera a cero a la misma velocidad, al menos, que M .
Volviendo ahora a la precision de los algoritmos, si el problema f esta mal condicionado para alg
un x, el objetivo de precision definido por (5.5) es poco razonable
porque el redondeo de los datos es inevitable en un ordenador digital. Incluso si
todos los calculos posteriores fueran hechos exactamente, esa perturbacion inicial en
los datos producira grandes cambios (en terminos relativos) en los resultados. En
lugar de intentar la precision en todos los casos, a lo mas a lo que podemos aspirar,
en general, es a la estabilidad.

102

Estabilidad

Definici
on 5.1 Un algoritmo f para un problema f se dice que es estable si para
cada x P X existe x para el que

}x  x}  Op q
M
}x}

}f pxq  fpxq}  Op q.


M
}f pxq}

(5.6)

En palabras
Un algoritmo estable es el que produce una respuesta casi correcta
a una pregunta casi correcta.
El concepto de estabilidad tiene diferentes significados en otras partes del analisis
numericos. La definicion que acabamos de dar es buena para analizar los algoritmos

propios del Algebra


Lineal Numerica, pero puede no ser apropiada para otras areas,
como las ecuaciones diferenciales.

Muchos algoritmos de Algebra


Lineal Numerica satisfacen una condicion de estabilidad que es a la vez mas fuerte y mas sencilla:
Definici
on 5.2 Un algoritmo f para un problema f se dice que es estable hacia
atr
as (backward stable) si para cada x P X existe x para el que

}x  x}  Op q
M
}x}

fpxq  f pxq.

La condicion de estabilidad hacia atras es mas fuerte que la de estabilidad dada


en la Definicion 5.1 porque el Opm q de la condicion (5.6) ha sido sustitudo por 0.
En palabras:
Un algoritmo estable hacia atras es el que produce una respuesta
correcta a una pregunta casi correcta.

5.3 Estabilidad de los algoritmos

103

O dicho de otra forma: un algoritmo es estable hacia atras si al ser aplicado a


unos datos exactos produce el mismo resultado que si se resolviera exactamente el
problema con unos datos aproximados. El error relativo en estos datos aproximados
debe ser del orden OpM q.
Antes de ver algunos ejemplos generales de algoritmos estables, quiza sea ilustrativo estudiar lo que significa la estabilidad hacia atras con un ejemplo numerico.
Ejemplo 5.3 Supongamos que queremos reducir la matriz
A

3,000 2,000
1,000 2,000

a forma triangular superior mediante operaciones elementales. Este es el principio


del algoritmo de eliminacion gaussiana para luego resolver el sistema correspondiente
mediante sustitucion hacia atras. Lo haremos usando aritmetica decimal de cuatro
dgitos en la fraccion. Que significa esto? Es importante aclararlo para saber hacer
las operaciones. Al hablar de aritmetica decimal nos referimos a que la base de
numeracion es 10. Y al decir que la fraccion es de cuatro dgitos queremos decir que
todos los n
umeros se aproximan por redondeo a uno de la forma

f  10e,

 0.x1x2x3x4, 0 xi 9
As, los n
umeros en el intervalo r1, 10q en este sistema seran (en forma no normalif

zada pero facilmente normalizable)

   1,998 1,999
   2,998 2,999
..
   ...
.
9 9,001 9,002    9,998 9,999
Y los n
umeros en el intervalo r10j , 10j 1 q se obtienen al multiplicar cada uno de
los n
umeros de esta tabla por 10j , mine j maxe, siendo mine y maxe los
1
2
..
.

1,001
2,001
..
.

1,002
2,002
..
.

valores mnimo y maximo asignados a e (que no vamos a especificar porque no los


necesitaremos en nuestro calculo, pero que se puede pensar que son tan peque
no y
grande, respectivamente, como se necesite).
M

En este sistema tomando, como es habitual salvo que tengamos otra referencia,
como la distancia de 1 al siguiente n
umero en punto flotante 1,001, resulta que
M

 103.

(5.7)

104

Estabilidad

Y, al operar, cualquier resultado obtenido que sea menor que M podra ser considerado como cero. Por supuesto, si mine 3 hay n
umeros menores que M que son
representables en este sistema y no son cero. Lo que se quiere decir es que si al hacer,
digamos, una resta el resultado es menor que M , el n
umero sera redondeado a cero.
Esto es una practica habitual en los ordenadores en los procesos cuyo objetivo es
converger a cero o hacer cero ciertas cantidades mediante operaciones. En ocasiones, estos ceros no son absolutos y se redondea a cero cuando dichas cantidades son
menores que un cierto valor que se suele llamar tolerancia. As, en el sistema elegido
la diferencia 1  0,9999 se tendra que hacer con el dgito de guardia:
0,1000  101
0,9999  100

 101
0,1000
0,09999  101
0,00001  101  0,1000  103

que sera considerado como 0, 000 (si esta fuera la aritmetica de MATLAB, el n
umero
que presentara en pantalla sera 0, 0000) .
Volviendo a la matriz A, notamos que ya la hemos escrito en el sistema aritmetico
especificado mas arriba, aunque los n
umeros no estan normalizados.
La u
nica operacion que tenemos que hacer es restar a la segunda fila la primera
multiplicada por 1{3, pero con la aritmetica que estamos utilizando:
m21

 a21{a11  flp1,000{3,000q  0,3333

(o 3,333  101 en forma normalizada)

Si sumamos a la segunda fila de A la primera multiplicada por m21 tenemos que si


A1  ra1ij s representa la matriz obtenida entonces
a121

 flp1,000  0,3333  3,000q  flp1,000  0,9999q  0,000,

tal y como hemos visto mas arriba. Y


a122
As

 flp2,000  0,3333  2,000q  flp2,000  0,6666q  flp1,3334q  1,333




1,000 2,000
A1 
0

1,333

El objetivo es encontrar una matriz A que al hacer esta misma operacion en


aritmetica exacta nos de como resultado A1 . Procediendo paso a paso con todo
detalle, escogemos
a
21  0,9999,

5.3 Estabilidad de los algoritmos

As, exactamente
m21

105

 a21{a11  0,9999{3,000  0,3333.

a
21  m21 a11

0

exactamente. Ahora debemos escoger a


22 de forma que
a
22  m21 a12

 1,333

exactamente. Es decir,
a
22
La matriz A deseada es

 1,333
A 

En smbolos

0,3333  2  1,9996


3
2
0,9999 1,9996

f pAq  fpAq.

Para que el algoritmo sea estable haca atras debe ser

}A  A}  Op q
M
}A}
Como todas las normas son equivalentes basta que lo veamos en una de ellas. Escogemos, por sencillez, la norma `8 vectorial; i.e. }A}  max1i,j 2 |aij |. As, como
A  A 

0
0

4
10
4  104

resulta que }A  A}  4  104 y }A}  3. Por lo tanto

}A  A}  4 104  Op q
M
}A}
3
tal y como se deseaba mostrar.
En todos los ejemplos numericos de esta leccion asumiremos que la maquina
sobre la que los hacemos opera con la aritmetica que acabamos de decir y, que como
consecuencia, su epsilon es el de (5.7).

106

5.4.

Estabilidad

Ejemplos de algoritmos estables

Veremos en esta seccion tres ejemplos de algoritmos estables hacia atras y uno
que es estable pero no lo es hacia atras.

5.4.1.

Estabilidad de las operaciones aritm


eticas elementales

Comencemos con las cuatro operaciones aritmeticas elementales: , , , .


No hay mucho que decir sobre la posibilidad de elegir algoritmos para realizarlas:
vienen implcitas en los ordenadores que las implementas con las operaciones `, a,
b y c, respectivamente. En un ordenador que satisfaga los axiomas (5.2) y (5.4) los
algoritmos implcitos son estables hacia atras. Lo mostraremos con la resta, que es
la operacion mas susceptible de inestabilidad.
En este caso X  R2 y Y  R (en seccion supondremos que la aritmetica se
hace con n
umeros reales). Para px1 , x2 q P X, f px1 , x2 q  x1  x2 es el problema a
resolver y el algoritmo es
fpx1 , x2 q  flpx1 q a flpx2 q.

(5.8)

Hagamos primero un ejemplo en aritm


? etica decimal de punto flotante con 4
dgitos en la fraccion. Sea x1  y x2  2{2. Entonces
flpx1 q  3,142,

flpx2 q  0,7071  7,071  101

y utilizando el dgito de guardia:


flpx1 q  flpx2 q  2,4349.
Es decir,
Tomando, por ejemplo, x1

flpx1 q a flpx2 q  2,435.

 3,142 y x2  0,7070 tenemos que


x1  x2

 2,435

5.4 Ejemplos de algoritmos estables

107

en aritmetica exacta y el error de esta aproximacion es

|x1  x1| 1,3  104, |x2  x2| 1,6  104


| x1 |
| x2 |

ambos del orden de M , (5.7).


Procedamos a ver que lo que nos indica este ejemplo es verdad en general. En
primer lugar la condicion (5.8) significa que primero redondeamos x1 y x2 a sus
valores mas proximos en punto flotante y luego realizamos la operacion a. Por (5.2)
flpx1 q  x1 p1

1 q,

flpx2 q  x2 p1

2 q

flpx1 q a flpx2 q  pflpx1 q  flpx2 qqp1

3 q

para algunos |1 |, |2 | M . Y por (5.4)

para alg
un |3 | M . Combinando estas dos ecuaciones
flpx1 q a flpx2 q

 rx1p1
 x1 p 1
 x1 p 1

1 q  x2 p1 2 qsp1 3 q 
1 qp1 3 q  x2 p1 2 qp1 3 q 
1 3 1 3 q  x2 p1 2 3 2 3 q

Pongamos
x1

 x1p1

1

3

1 3 q, x2

 x2 p 1

2

3

2 3 q.

Tenemos que

|x1  x1| | | | | | || | 2


1
3
1 3
M
| x1 |
Para M suficientemente peque
no 2M M por lo que
|x1  x1|  Op q.
M
| x1 |

2M .

Y de la misma manera

|x2  x2|  Op q.


M
| x2 |
Esto significa que fpxq  flpx1 q a flpx2 q  x1  x2  f pxq con
}x  x}8  Op q
M
}x}8
Pero como todas las normas en F2 son equivalentes podemos sustituir la norma `8
por cualquier norma. Por lo tanto se verifica la condicion de estabilidad hacia atras
de la Definicion 5.2.

108

Estabilidad

Observaciones 5.4 En el analisis de la estabilidad hacia atras aparecen muy a


menudo expresiones de la forma

p1

1 qp1

2 q  . . .  p1

n q

para alg
un valor de n. De hecho, en el analisis recien realizado para la resta hemos
visto que
p1 1qp1 2q 1 2M Op2M q.
Y como, para M

1 tenemos que 2M M podramos poner


p1 1qp1 2q 3M .

Pero en realidad tenemos una cota mucho mejor que nos la proporciona el siguiente
resultado, que damos sin demostracion (ver Problema 4).

0,1 y para i  1, . . . , n |i| M , entonces


p1 1qp1 2q  . . .  p1 nq  1

Proposici
on 5.5 Si nM

con

(5.9)

|| 1,06nM .

A la cantidad

1M

 1,05M

se le llama, a veces, unidad de redondeo ajustada.


La condicion nM 0,1 puede parecer, si no se analiza de cerca, una suposicion
bastante restrictiva. Pero no lo es en manera alguna. En efecto, un ordenador que
tardara en realizar cada suma 1segundos=106 segundos con un M  1015 necesitara un n  1014 para que nM 0,1. El tiempo que necesitara para realizar este
n
umero de sumas sera
108 segundos  3,2 a
nos .
Como dice G. Stewart no contengas la respiracion esperando que nM sea mayor
que 0,1.
En consecuencia, ante una expresion de la forma (5.9) siempre escribiremos

p1

1 qp1

2 q  . . .  p1

n q  1

OpM q,

5.4 Ejemplos de algoritmos estables

109

o tambien, cuando queramos poner de manifiesto el n


umero de productos involucrados
p1 1qp1 2q  . . .  p1 nq 1 nM Op2M q,
interpretando que Op2M q es despreciable respecto a M .

5.4.2.

Producto escalar

Supongamos que nos dan dos vectores x, y P Rn y queremos calcular su producto


escalar  xT y. El algoritmo obvio es calcular los productos xi yi con b y sumar los
resultados con `. Todava quedara la cuestion del orden en el que se realiza esta
suma; supongamos que es de izquierda a derecha. Es decir:

pppx1y1

x2 y 2 q

x3 y 3 q

   q.

Por sencillez supondremos que los vectores x, y ya estan redondeados; i.e. xi , yi PF,
i  1, . . . , n (esto nos evita un para cada componente). Suponiendo que se verifican las condiciones (5.2) y (5.4) procederamos de la siguiente forma:
s1

 flpx1y1qx1 b y1  x1y1p1

1 q

con |1 | M . De la misma forma

 flps1 x2y2q  s1 ` px2 b y2q  ps1 x2y2p1 22qqp1 2q 


 x1y1p1 1qp1 2q x2y2p1 22qp1 2q.
s3  flps2 x3 y3 q  s2 ` px3 b y3 q  ps2 x3 y3 p1 33 qqp1 3 q 
 x1y1p1 1qp1 2qp1 3q x2y2p1 22qp1 2qp1 3q
x3 y3 p1 33 qp1 3 q.
con |2 |, |3 |, |22 |, |33 | M . SE seguira as sucesivamente hasta obtener la expres2

sion de sn que sera la representacion en punto flotante del producto escalar xT y


cuando se usa el orden fijado mas arriba. A fin de dar una expresion simplificada
para este n
umero haremos el siguiente convenio: p1  qj sera una abreviatura para
representar el producto de j s que pueden ser diferentes. As p1 1 qp1 2 qp1 3 q
lo abreviaramos a p1  q3 , pero p1 22 qp1 2 qp1 3 q tambien lo abreviaramos
a p1  q3 . Utilizando este convenio es facil ver que
sn

 x1y1p1  qn

x2 y2 p1  qn

x3 y3 p1  qn1



xn yn p1  q2 .

110

Estabilidad

Usando ahora la Proposicion 5.5, tenemos

 x1y1p1 nq x2y2p1 n1 q x3y3p1 n1q    xnynp1 2q


con |i | 1, 06iM i |n1 | 1, 06nM .
Poniendo, por ejemplo, x1  x1 p1 n q, x2  x2 p1 n1 q, . . . , xn  xn p1 2 q y
yi  yi , i  1, . . . , n (o al reves), tendramos que para i  1, . . . , n,
|xi  xi|  Op q, |yi  yi|  Op q
M
M
| xi |
|yi|
y fpxT y q  xT y. Es decir, el resultado devuelto por el algoritmo es el resultado
sn

exacto del producto escalar de dos vectores cuyas componentes difieren, en valor
relativo, del orden de M de los vectores dados. En otra palabras, el algoritmo es
estable hacia atras.
Un ejemplo numerico con n  2 es el siguiente: Sean
x

2{3
16{17

1{6
.
125{126

En un ordenador con aritmetica decimal de 4 dgitos en la fraccion tendramos


flpflpx1 q  flpy1 qq  flp0,6667  0,1667q  0,1111,
y

flpflpx2 q  flpy2 qq  flp0,9412  0,9921q  0,9338.

As

flpflpflpx1 q  flpy1 qq

flpflpx2 q  flpy2 qqq  1,045.

Hay muchas formas de escoger x y y para que xyT  1,045 y que el error relativo
sea del orden de M  103 . Por ejemplo, si ponemos
x1
entonces
x1 y1

 0,6666,

y1

0,1111
 0,6666
 61 ,

 0,1111 y |x1|x |x1|  104, |y1|y |y1|  0.


1

Y si ponemos
x2

 16
17

y2

 17 ,
 0,9339
16

5.4 Ejemplos de algoritmos estables

entonces
x2 y2

111

 0,9339 y |x2|x |x2|  0, |y1|y |y1| 2,07  104.


2
1

Ademas
x1 y1

5.4.3.

 1,045.

x2 y2

Producto exterior

Supongamos ahora que queremos calcular el producto exterior de dos vectores.


Es decir, para x, y P Rn , la matriz A  xy T que tiene rango 1. El algoritmo obvio
para hacerlo es calcular cada uno de los productos
x i yj
y construir la matriz A cuyo elemento en la posicion pi, j q sea flpxi q b flpyj q. Este
algoritmo es estable porque por (5.2) y (5.4)
flpxi q b flpyj q  xi p1

i qyj p1

flpxi q b flpyj q  xi yj p1

q,

j qp1

ij q

con |i |, |j |, |ij | M . Operando como mas arriba vemos que

|| 3, 18M ,

lo que indica que

}aij  aij }  Op q


M
}aij }
siendo aij  xi yj y a
ij  flpxi q b flpyj q los elementos en la posicion pi, j q de A  xy T

respectivamente.
y A,
Por lo tanto

}A  A}8  Op q,
M
}A}8

y esta expresion es valida para cualquier norma por la equivalencia de normas. De


acuerdo con la definicion de estabilidad de los algoritmos resulta que este algoritmo
es estable.
Con los vectores x, y del ejemplo anterior
fpx, y q  A 

0,1111 0,6614
0,1569 0,9938

112

Estabilidad

Si ponemos
x1

1
0,9338  17
 0,6666, x2  16
, y1  , y2 
17
6
16

resulta que, en aritmetica exacta,


f px, yq  xy

0,1111 264550209{p4  108 q


.
8{51
0,9338

Usando la norma espectral

}f px, yq  fpx, yq} 1,183  104


}f px, yq}
Sin embargo, el algoritmo no es estable hacia atras. La explicacion es lasiguiente:

es una peque
La matriz calculada, A,
na perturbacion de la matriz A  xi yj que
tiene rango 1. Sabemos que el conjunto de las matrices de rango completo es un
conjunto abierto y denso en Rnn . Esto significa que tan cerca como queramos de
A hay matrices de rango superior a 1. Es muy probable que A sea una de tales
matrices. En efecto, para que A fuera de rango 1, se debera poder escribir como el
producto externo de dos vectores xyT con x y y proximos a x y y, respectivamente.
debemos multiplicar
Ahora bien al hacer el calculo de los elementos de la fila i de A,
en aritmetica de punto flotante flpxi q b flpy j q, j  1, . . . , n, con los consiguientes
redondeos. A
un suponiendo que xi , yi ya estan redondeados, tendramos:
xi b yj

 xiyj p1

ij q

con, posiblemente, ij diferentes para cada i, j. Es muy poco probable que, en estas
circunstancias, xi b yj  xi yj para i, j  1, . . . , n. En otras palabras, muy probablemente la matriz A tendra rango mayor que 1. Esto imposibilita que se pueda escribir
en la forma xyT .
Podemos ver este hecho en el ejemplo anterior: Para
fpx, y q  A 

0,1111 0,6614
0,1569 0,9938

que es la matriz xyT redondeada con la aritmetica de base decimal y 4 cifras en


la mantisa, rang A  2. De hecho, sus valores singulares calculados con MATLAB
son 1,16034185454010 y 2,454449082275455  105 . Por lo tanto, esta matriz nunca
podra escribirse como un producto externo de vectores, porque estas matrices tienen
todas rango 1.

5.5 Estabilidad de la eliminacion gaussiana

5.5.

113

Estabilidad de la eliminaci
on gaussiana

El problema de la estabilidad del algoritmo de la eliminacion gaussiana ha sido


objeto de estudio durante muchos a
nos; y, aunque hoy en da se comprende bastante
bien y su uso es casi siempre altamente fiable, hay todava algunas cuestiones difciles
que merecen estudio y que inducen a utilizarlo con cuidado. Su estudio detallado
requerira mucho tiempo, as que aqu vamos ver lo justo para hacernos una idea de
donde pueden estar las dificultades. Conviene en este punto repasar el Ejemplo 5.7
en el que se estudio la estabilidad hacia atras de la eliminacion gaussiana para un
sistema de orden 2 pero que sirve como gua de lo que viene a continuacion.
Como en casi todos los casos en los que se estudia la estabilidad de un algoritmo,
la parte mas tediosa del analisis es la de llevar la cuenta de los errores de redondeo en
cada etapa del algoritmo. Haremos un analisis un poco detallado del primer paso del
algoritmo y daremos directamente el resultado. Recordemos que este primer paso
consiste en seleccionar el mayor elemento, en modulo, de la primera columna (el
pivote) y permutar filas para ponerlo en la posicion p1, 1q. Esto no produce ning
un
tipo de error (el posible error en el redondedo de los datos ya se ha producido
al almacenar la matriz en la memoria del ordenador). As pues analizaremos lo que
viene a continuacion: se resta a cada fila la primera multiplicada por el multiplicador:
mi1

 ai1{a11,

pero hecho en la aritmetica de punto flotante (supondremos, para simplificar la


notacion y no hacer mas tedioso el analisis, que los n
umeros de la matriz ya estan
redondeados al correspondiente n
umero en punto flotante; i.e., aij  flpaij q):
ai1
p1 i1q
mi1  flpai1 {a11 q 
a11
con |i1 | M . Si ponemos

a
i1

 ai1p1

i1 q

(5.10)

entonces, en aritmetica exacta


mi1

 ai1{a11.

(5.11)

Procedemos a eliminar los elementos de la primera columna por debajo del


elemento en la posicion p1, 1q. Para i  2, . . . , n y j  1, . . . , n
a1ij

 flpaij  mi1aij q  raij  mi1a1j p1


 aij  mi1a1j aij ij  mi1a1j pij

ij qsp1 ij q 
ij ij ij q.

114

Estabilidad

Si ponemos
a
ij
entonces

 aij

aij ij
a1ij

 mi1a1j pij

ij

ij ij q

 aij  mi1a1j .

(5.12)
(5.13)

De (5.13) y (5.11) se sigue que el resultado de realizar la eliminacion gaussiana


sobre la matriz original A con redondeo es el mismo que el de realizarla en aritmetica
exacta sobre la matriz


a11 a12    a1n
a
22    a
2n 
 21 a


A   ..
..
..  .
 .
.
. 
a
n1 a
n2



a
nn

Ademas, A y A estan proximas la una de la otra. En efecto, de (5.12) se sigue que


para j 1
|aij  aij | paij 3mi1a1j qM .
Como la eliminacion ha sido realizada con pivoteo, |mi1 |
entonces

|aij  aij | 4M .

Por (5.10), esta acotacion tambien se satisface para j

1. Y si  m
ax |aij |
i,j

 1.

Esto nos da una idea del analisis de la estabilidad del algoritmo de eliminacion
gaussiana con pivoteo parcial por columnas. Una analisis completo requiere mucho
mas tiempo y detalle. Damos, a continuacion, el resultado general sin demostracion
adicional y presentamos un ejemplo de una matriz 3  3
Teorema 5.6 Si se utiliza eliminacion gaussiana con pivoteo parcial para resolver
el sistema Ax  b, con A P Fnn , en un ordenador que cumple las condiciones (5.2)
y (5.4), entonces la solucion calculada, x, cumple

pA
donde

Aqx  b

}A} pnq ,
M
}A}

(5.14)

siendo una funcion creciente de n que depende de la norma, y el cociente entre el mayor elemento en la matriz triangular superior resultante en el proceso de
eliminacion y el mayor elemento de A, todo ello en modulo.

5.5 Estabilidad de la eliminacion gaussiana

115

Ejemplo 5.7 Supongamos que queremos reducir la matriz




3,000 2,000 1,000



A  1,000 2,000 3,000
2,000 3,000 2,000
a una matriz triangular superior mediante eliminacion gaussiana usando, como hasta
ahora, aritmetica decimal con 4 dgitos en la fraccion.
En la primera columna el pivote es el elemento en la posicion p1, 1q de modo que
no hay que permutar filas. Los multiplicadores seran:
m21  flp1{3q  0,3333
m31 flp2{3q  0,6666
Para obtener ceros en las posiciones p2, 1q y p3, 1q con aritmetica exacta y estos
multiplicadores, ponemos
a
21

 3  0,3333  0,9999,

a
31

 3  0,6666  1,9998.

La submatriz formada por las dos u


ltimas filas y columnas queda de la siguiente
forma:
a122
a132

 flp2  2  0,3333q  1,333,


 flp3  2  0,6666q  1,667,


Ahora en la matriz

a123
a133

 flp3  1  0,3333q  2,667,


 flp2  1  0,6666q  1,333


3
2
1
A1  0 1,333 2,667
0 1,667 1,333
el pivote de la segunda columna es el elemento en la posicion p3, 2q. Permutamos las
dos filas para obtener


3
2
1
A11  0 1,667 1,333
0 1,333 2,667
Procedemos a anular el elemento en la posicion p3, 2q de esta matriz (antiguo elemento a122 ). El multiplicador es
m32

 flp1,333{1,667q  0,7996.

116

Estabilidad

Para que en aritmetica exacta con este multiplicador obtuvieramos un cero en la


posicion p3, 2q debera ser
a1 22

 1,667  0,7996  1,3329332.

Pero a122 provena de hacer una operacion elemental con el multiplicador m21 . As
a
22

 a122

m21  a12

 1,9995332.

Finalmente, debemos calcular el elemento que queda en la posicion p3, 3q:


a33

 flp2,667  1,333  0,7996q  1,601.

As en aritmetica exacta
a1 23

 1,601

1,333  0,7996  2,6668668.

Y como este elemento provena de la operacion elemental con el multiplicador m21 :


a
23

 a123

m21  a13

 3,0001668.

En aritmetica en punto flotante la matriz triangular superior que se obtiene es




3
2
1

U  0 1,667 1,333
0
0
1,601
Y esta matriz se obtendra mediante aritmetica exacta sobre la matriz


3
2
1
A  0,9999 1,9995332 3,0001668
1,9998
3,0002
1,9996
En efecto, A y A son muy parecidas. Cuanto? En la norma espectral:
}A  A}2 1,04  104.
}A}2
Si queremos tener una apreciacion de la cota (5.14) para este ejemplo, calculamos

3
axij |uij |

 1.
 m
max |a |
3
ij

As

ij

}A} pnq  103,


}A}

una cantidad muy conservadora en relacion a la cota realmente obtenida con A.

5.5 Estabilidad de la eliminacion gaussiana

117

Observaciones 5.8 .-

1. El analisis del error hacia atras muestra que la solucion calculada para Ax  b
por eliminacion gaussiana es la solucion exacta de una matriz obtenida al
perturbar ligeramente A. Si la cota (5.14) es peque
na pero el resultado no es
preciso entonces no es el algoritmo el que esta fallando sino el condicionamiento
del problema o los errores de los datos iniciales.

2. La funcion en (5.14) es, por lo general, una peque


na potencia de n, digamos
n2 . Sin embargo, cualquier matematicamente rigurosa resulta siempre una
sobreestimacion del error real en la solucion, que habitualmente es del orden
de n o menor.

3. El n
umero es conocido con el nombre de factor de crecimiento porque mide
el crecimiento de los n
umeros durante el proceso de eliminacion. Mantener este
factor de crecimiento lo mas peque
no posible es la razon para usar pivoteo.
En efecto, con pivoteo los multiplicadores se matienen siempre acotados por 1;
sin el, podran alcanzar (por ejemplo cuando el elemento en la diagonal de la
columna que se esta reduciendo es casi cero) valores muy grandes. Esto provocara que en la submatriz afectada por la eliminacion los elementos crecieran
muchsimo y sera enorme comparado con M .

4. Desafortunadamente, hay matrices para las que es enorme a


un cuando se
use pivoteo parcial. Por ejemplo, la eliminacion gaussiana aplicada a la matriz


1
1

W 
1
1
1

0
1
1
1
1

0
0
1
1
1

0
0
0
1
1

1
1

1

1
1

118

Estabilidad

sera de la siguiente forma




1
0

0

0
0

0
1
1
1
1

0
0
1
1
1

0
0
0
1
1

1
1


2
0

2 
0
0
2
2
0


0
1
0
0
0

1
0

0
0
0

0
0
1
1
1
0
1
0
0
0

0
0
1
0
0

0
0
0
1
1

1
1


2
0

4 
0
0
4
4
0

0
1
0
0
0

0
0
1
0
0

0
0
0
1
1

1
2

4

8
8

0 1
0 2

0 4

1 8
0 16

Y si se aplica la eliminacion gaussiana sobre una matriz del tipo de W pero


de tama
no n  n, el factor de crecimiento sera 2n1 .
En realidad estos son ejemplos de laboratorio y rara vez aparecen en aplicaciones reales (aunque se han dado casos). La opinion general es que el algoritmo
de eliminacion gaussiana con pivoteo parcial es uno de los algoritmos mas
estables y eficientes para resolver sistemas lineales. A pesar de ello, hay que
utilizarlo con un poco cuidado y estar alerta a las posibles anomalas que puedan presentar los resultados cuando son comparados con los esperados en la
aplicacion concreta que se tenga entre manos.

5.6.

Precisi
on de un algoritmo estable hacia atr
as

En la seccion anterior al analizar la cota (5.14) del error en la eliminacion gaussiana, dijimos que si esta se mantiene razonablemente baja y los resultados son
pobres, hay que echar la culpa a los errores en los datos iniciales (i.e., porque empezamos con una mala aproximacion a A) o al condicionamiento del problema, que
sabemos que es pAq. Como influye el condicionamiento del problema en el error
de los resultados proporcionados por los algoritmos estables? Esta es una pregunta
natural que pretendemos contestar en esta u
ltima seccion.
Supongamos que tenemos un algoritmo estable, f, para un problema f : X Y .
Cuan preciso sera el resultado que devuelve? La respuesta depende del n
umero de
condicion del problema. Si este es peque
no, el resultado sera preciso (en terminos de

5.6 Precision de un algoritmo estable hacia atras

119

error relativo); pero si es grande, la falta de precision sera proporcional al n


umero
de condicion:
Teorema 5.9 Dado un problema f : X Y cuyo n
umero de condicion es ,
supongamos que un algoritmo estable hacia atras es aplicado para resolverlo en un
ordenador que cumple los axiomas (5.2) y (5.4). Entonces el error relativo cumple

}fpxq  f pxq}  Oppxq q.


M
}f pxq}
Demostraci
on.- Demostraremos este teorema en el caso en que f es diferenciable. En el caso general la demostracion es un poco mas tecnica. Si f es diferenciable
en x, para todo x suficientemente proximo a x tenemos que
f pxq  f pxq  f 1 pxqpx  xq

donde

}rpx  xq}  0. As
}xx}0 }x  x}
}f pxq  f pxq}
}f pxq}

rpx  xq

lm

}x  x} }f 1pxq} }x} }rpx  xq}


}x} }f pxq}
}f pxq}
}x  x} pxq }rpx  xq} .
}x}
}f pxq}

Ahora bien si f es un algoritmo estable hacia atras para x, existe x con

}x  x}  Op q
M
} x}
tal que f pxq  fpxq. Entonces

}f pxq  fpxq} pxq }rpx  xq} }x}


}x  xq} .
}f pxq}
}x  x} }f pxq} }x}
}rpx  xq}  0, para x suficientemente proximo a x,
Dado que lm
}xx}0 }x  x}
}f pxq  fpxq} pxq }x  xq} .
}f pxq}
} x}

(5.15)

120

Estabilidad

Y como }x  x} 0 cuando M

0, conclumos que
}f pxq  fpxq}  pxqOp q  Oppxq q,
M
M
}f pxq}

tal y como se quera demostrar.

Captulo 6
Proyecciones y bases ortonormales

6.1.

Introducci
on

Este es el primero de los dos captulos dedicados a la factorizacion QR y a


la solucion del problema de mnimos cuadrados. La factorizacion QR es una manera matricial de presentar el ya conocido procedimiento de ortonormalizacion 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 captulo nos centraremos en algoritmos ligados
al metodo de Gram-Schmidt y en el siguiente estudiaremos las reflexiones de Householder. Veremos que los principios que fundamentan ambos tipos de algoritmos
son completamente diferentes.
Debemos recordar que, basicamente, el metodo de ortonormalizacion de GramSchmidt consiste en lo siguiente: Dado un subespacio del que se conoce una base
ortonormal y un vector que no esta en el subespacio, se proyecta este sobre el ortogonal de aquel a fin de conseguir una base ortonormal para un subespacio de
dimension una unidad mayor. Procediendo recursivamente desde un vector dado se
puede conseguir una base ortonormal de todo el espacio. Todo este procedimiento
121

122

Proyecciones y bases ortonormales

esta basado en el concepto de proyeccion ortogonal que repasamos brevemente a


continuacion, para volver luego sobre dos algoritmos diferentes ligados, ambos, al
metodo de Gram-Schmidt.

6.2.

Proyecciones

Comenzamos definiendo lo que entendemos por proyeccion:


Definici
on 6.1 Una matriz P P Cnn se dice que es una proyecci
on si es una
2
matriz idempotente. Es decir, si P  P .
Algunas consecuencias inmediatas de esta definicion son las siguientes
Proposici
on 6.2 Si P P Cnn es una proyeccion tambien lo es In  P . A esta se
le llama proyecci
on complemetaria de P y cumple que Ker P  ImpIn  P q y
KerpIn  P q  Im P .
Demostraci
on.- En primer lugar pIn  P q2
P  P . As pues, In  P es una proyeccion.
2

 In  2P

P2

 In  P

porque

Ademas, y P ImpIn  P q pIn  P qx  y para alg


un x. Y de aqu, P y  P pIn 
P qx  pP  P 2 qx  pP  P qx  0, lo que indica que y P Ker P . Recprocamente,
y P Ker P P y  0 pIn  P qy  y y P ImpIn  P q.
La identidad KerpIn  P q  Im P se demuestra cambiando los papeles de In  P
y P.

Proposici
on 6.3 Si P

P Cnn es una proyeccion entonces Im P ` Ker P  Cn

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

6.3 Proyecciones ortogonales

123

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


x  P x pIn  P qx. Pero P x P Im P y pIn  P qx P ImpIn  P q  Ker P .
Esta simple Proposicion tiene una consecuencia importante: si P es una proyeccion, esta determina dos subespacios mutuamente suplementarios: Im P y Ker P . El
recproco tambien es cierto. Si S1 y S2 son subespacios de Cn tales que S1 ` S2  Cn
entonces hay una proyeccion P tal que S1  Im P y S2  Ker P . En efecto, siendo
S1 ` S2  Cn , cualquier matriz queda completamente determinada por su accion
sobre los vectores de S1 y S2 . En concreto, si definimos P P Cnn como la matriz
que cumple
"
x si x P S1
Px 
0 si x P S2
resulta que en cualquier base de Cn obtenida como reunion de bases de S1 y S2 , la
matriz de P , como aplicacion lineal, es
P

Ip 0
0 0

siendo p  dim S1 . En cualquier otra base de Cn , la matriz sera semejante a esta.


Es claro que P es una proyeccion y que Im P  S1 y Ker P  S2 . Es la proyeccion
sobre S1 a lo largo de (o paralelamente a) S2 . As pues
Conclusi
on: Si P es una proyeccion, proyecta Cn 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 proyeccion P

P Cnn es ortogonal si Ker P  pIm P qK.

Es facil demostrar que para cualquier matriz A P Cmn , pIm AqK  Ker A . En
efecto, x P Ker A A x  0 x A  0 x Ay  0 para todo y P Cn x K z
para todo z P Im A x P pIm AqK .

124

Proyecciones y bases ortonormales

Proposici
on 6.5 Una proyeccion P es ortogonal si y solo si P
hermtica).

P  (i.e., es

Demostraci
on.- En primer lugar, si P es proyeccion tambien P  lo es. Ahora,
si P es una proyeccion ortogonal entonces Ker P  pIm P qK  KerpP  q. Tambien se
cumple que Im P  ImpP  q. As es,

pIm P qK  KerpP q  Ker P  pIm P qK,

por definicion de proyeccion ortogonal. Como para cualquier subespacio de Cn ,


pS KqK  S, conlcumos 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 P Im P  ImpP  q y
P x  P  x  0 para x P Ker P  KerpP  q, tenemos que P  P  .
Resultara mas u
til la siguiente caracterizacion de las proyecciones ortogonales.
Proposici
on 6.6 Una matriz P P Cnn de rango r es una proyeccion ortogonal si
y solo si existe una matriz Q P Cnr , con columnas ortonormales, tal que P  QQ .
Demostraci
on.- Supongamos primero que P
nr
C
con columnas ortonormales. Entonces
P2

 QQ para alguna matriz Q P

 QQQQ  QpQQqQ  QQ,

porque Q Q  Ir por tener Q las columnas ortonormales. Por lo tanto P 2


decir, P es una proyeccion. Ademas
P

 P ; es

 pQQq  pQqQ  QQ  P.

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


Supongamos ahora que P es una proyecci
on ortogonal
y sea tq1 , . . . , qr u una base


ortonormal de Im P . Pongamos Q  q1 q2    qr . Veamos que P  QQ . Para
ello probaremos que P x  QQ x para todo x P Cnn .
Sea x un vector cualquiera de Cn . Como P es una proyeccion Cn  Ker P ` Im P .
Por lo tanto existen unos u
nicos vectores x1 P Im P y x2 P 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.

6.3 Proyecciones ortogonales

Por una parte

125

q1 x
r
q  x
 2 

QQ x  Q  ..   pqi xqqi .
 . 
qr x

Ahora bien, como qi

P Im P

y x2

P Ker P  pIm P qK

qi x  qi x1
Pero, Im P  q1 , . . . , qr
yendo en (6.1)

(6.1)

i 1

qi x2

 qix1.

, por lo que x1  a1q1   

ar qr y qi x1

 ai. Sustitu-


QQ x 
ai q i  x 1 .
j 1

En conclusion P x  QQ x para todo x P Cn y P

 QQ.

Observaciones 6.7
1. Si Q tiene columnas ortonormales entonces P  QQ es
la proyeccion ortogonal sobre Im P a lo largo de Ker P  pIm P qK  Ker P  .
Ahora bien, como P  QQ y Q es de rango completo, Im P  Im Q y
Ker P   Ker Q . En conclusion QQ es la proyeccion ortogonal sobre Im Q a
lo largo de Ker Q  pIm QqK .
2. In  QQ tambien es una proyeccion, la complementaria de QQ . Y tambien
es ortogonal porque pIn  QQ q  In  QQ . Por la Porposicion 6.2, ImpIn 
QQ q  KerpQQ q  Ker Q  pIm QqK y KerppIn  QQ q  ImpQQ q 
Im Q. Por lo tanto, es la proyeccion ortogonal sobre pIm QqK a lo largo de
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 proyeccion
ortogonal sobre Im q  q a lo largo de pIm q qK  q K .

De la misma forma In  qq  es una proyeccion de rango n  1: es la proyeccion


ortogonal sobre q K a lo largo de q .

126

Proyecciones y bases ortonormales

6.4.

El algoritmo cl
asico de Gram-Schmidt

Recordemos que el metodo de ortonormalizacion 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 ,

 1, . . . , n.

Para ello se procede de la siguiente forma:


1. q1

 }aa1}

1 2

2. Para j  2, 3, . . ., qj es la proyeccion ortogonal de aj sobre el subespacio


a1, . . . , aj1 K q1, . . . , qj1 K dividido por su norma.
Ahora bien, hemos visto en la Observacion 6.7 que si
Qj 1

q1



q j 1

entonces la proyeccion ortogonal sobre q1 , . . . , qj 1 K es Im  Qj 1 Qj 1 . Por lo


tanto,
vj  pIm  Qj 1 Qj 1 qaj

q1, . . . , qj1 K, y as
pIm  Qj1Qj1qaj
vj
qj 
}vj }2  }pIm  Qj1Qj1qaj }2 .

es la proyeccion ortogonal de aj sobre

Dado que esta construccion es inductiva puede implementarse algortmicamente.


En primer lugar


vj  pIm  Qj 1 Qj 1 qaj

 aj  Qj1Qj1aj

y
qj

 aj 

 }vvj}

j 2



Qj 1 


q1 aj
q2 aj
..
.

qj1 aj







j1

 aj  pqiaj qqi.


i 1

6.4 El algoritmo clasico de Gram-Schmidt

127

Por lo tanto, si ponemos


v1  a1
rjj  }vj }2
rij  qi aj
tenemos que para j

 1, 2, . . . , n
aj

vj

j1

i 1

 }vj }2qj



rij qi

i 1

q1 q2

rij qi

j1

i 1




rij qi




r1j

 r2j 

qj  .. 
 . 
rjj

Si construmos una matriz con los vectores ai , A


entonces A tiene rango completo y




A  a1 a2



an

q1 q2



a1 a2

r11 r12

 0 r22
qj  ..
..
 .
.
0
0






...



an

Cmn ,

r1n
r2n 

..  .
. 
rnn

Es decir, A  QR con Q P Cmn una matriz con columnas ortonormales y R 


rrij s P Cnn 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
metodo de ortonormalizacion de Gram-Scmidt nos proporciona un algoritmo par
obtener esta factorizacion:

128

Proyecciones y bases ortonormales

Algoritmo cl
asico de Gram-Schmidt


Dada A  a1 a2



an

P 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
La salida de este algoritmo debe ser una matriz triangular superior R con rii
y una matriz Q con columnas ortonormales.

6.5.

El algoritmo modificado de Gram-Schmidt

Hay otro procedimiento teorico que produce tambien una base ortonormal como
la del metodo de Gram-Schmidt. Partimos de la siguiente observacion: Si Q P Cmn
tiene columnas ortonormales la proyeccion ortogonal QQ es suma de n proyecciones
ortogonales de rango 1. En efecto
 

QQ

q 1 q2

q1





q 2 
qn  .. 
.

 q1q1

q2 q2



qn qna st.

qn

Ahora recordemos que en el metodo clasico de Gram-Schmidt cada qj se obtiene


proyectando aj sobre q1 , . . . , qj 1 K , y despues normalizando. Es decir,
qj

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

j 1

j 1

j 2

6.5 El algoritmo modificado de Gram-Schmidt

129

De acuerdo con lo que acabamos de ver


j
1

qi qi .
Im  Qj 1 Qj 1  Im 
i1

Pero si hacemos el producto

pIm  qj1qj1qpIm  qj2qj2q  . . .  pIm  q1q1q


y tenemos en cuenta que qi qj  0 si i  j, resulta que este producto es
Im  qj 1 qj1  qj 2 qj2  . . .  q1 q1  I  Qj 1 Qj 1 .
 Im  qiqi entonces
Im  Qj 1 Qj 1  Pj 1 Pj 2  . . .  P1 .

En definitiva, si ponemos Pi

(6.2)

Cual es la interpretacion geometrica de esta igualdad?. En primer lugar, Im 


Qj 1 Qj 1 es la proyeccion ortogonal sobre pIm Qj 1 qK  q1 , . . . , qj 1 K . En segundo lugar, Pi  Im  qi qi es la proyeccion sobre qi K . Por lo tanto, para un
vector x P Cn cualquiera, pIm  Qj 1 Qj 1 qx es la proyeccion ortogonal de x sobre
q1, . . . , qj1 K y Pix es la proyeccion ortogonal de x sobre qi K. As pues,
Pj 1 Pj 2  . . .  P1 x es el vector resultante de hacer lo siguiente:
1. Proyectamos x ortogonalmente sobre

q1 K. Esto es P1x

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


es P2 P1 x.

q2 K. Esto

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

K. Esto

qj1 K.

La identidad (6.2) nos dice que es lo mismo hacer este proceso de proyecciones
sucesivas que hacer directamente la proyeccion de x sobre q1 , . . . , qj 1 K . Esto
segundo es lo que hace el metodo clasico de Gram-Schmidt. Pero el resultado teorico
es el mismo si se hacen las proyecciones sucesivas de rango n  1. La implementacion

130

Proyecciones y bases ortonormales

de este procedimiento es lo que denominaremos algoritmo modificado de GramSchmidt.


La implementacion practica del algoritmo difiere muy poco de la del algoritmo
clasico. De hecho solo hay que cambiar una lnea:

Algoritmo modificado de Gram-Schmidt




Dada A  a1 a2



an

P 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 qj (Metodo Clasico: rij
qj  qj  rij qi
end for
rjj  }qj }2
qj
qj 
rjj
end for

 qiaj )

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

 pIn  qj1qj1q    pIn  q1q1qaj .

Para comprenderlo analicemos con detalle el progreso de las operaciones rij  qi qj
seguida de qj  qj  rij qi para un j fijo y para i  1, . . . , j  1. La notacion
que usaremos es la del ordenador; es decir, las variables no lo son en el sentido
matematico sino en el del ordenador (lugares fsicos en la memoria del mismo) y
iguladadsignifica asignacion. As, para la expresion:
qj

 qj  r1j q1

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 fijado j

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

6.6 N
umero de operaciones

131

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
r1j  q1 qj  q1 aj
qj  qj  r1j q1  aj

Para i  2

 pq1aj qq1  aj  pq1q1qaj  pIn  q1q1qaj .

 q2qj  q2pIn  q1q1qaj


 qj  r2j q2  pIn  q1q1qaj  q2pIn  q1q1qaj q2 
 pIn  q1q1qaj  q2q2pIn  q1q1qaj  pI  q2q2qpIn  q1q1qaj .
Siguiendo as sucesivamente obtendramos para i  j  1
qj  pI  qj 1 qj1 q    pI  q2 q2 qpIn  q1 q1 qaj .
r2j
qj

Por (6.2) resulta que


qj

 pIn  Qj1Qj1qaj

de modo que el valor de qj , en aritmetica exacta, obtenido por los procedimientos


clasico y modificado de Gram-Schmidt es el mismo.
Debe notarse que con ambos metodos, los elementos diagonales de R son n
umeros 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
todava hay algoritmos que contemplan esta posibilidad.

6.6.

N
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 estimacion del n
umero

132

Proyecciones y bases ortonormales

de flops (floating point operations) que conlleva la implementacion practica del


mismo. Para ambos algoritmos de GramSchmidt tenemos el siguiente resultado:
Teorema 6.9 Los algoritmos clasico y modificado de GramSchmidt requieren
2mn2 flops para calcular la factorizacion 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 solo se suele destacar el termino de grado mayor dado que
el resto son poco significativos salvo que n y m sean peque
nos. As, el Teorema 7.5
nos dice que el coste de los algoritmos de GramSchmidt es del orden  2mn2 o
Op2mn2 q; teniendo estos smbolos el habitual significado asintotico:
n
umero de flops
m,n8
2mn2
lm

 1.

Demstraci
on. El Teorema puede demostrarse de la siguiente forma: Cuando m
y n son grandes, el mayor n
umero de operaciones se encuentran en las dos siguiente
sentencias:
rij  qi qj (Metodo Clasico: rij  qi aj )
qj  qj  rij qi
La imera lnea calcula el product escalar qi qj y requiere m multiplicaciones y m  1
sumas. Y la segunda fila calcula qj  qj  rij qi precisando m multiplicaciones y n
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 n
umero total de flops
necesarios es asintotico a

1
n j

 

j 1i 1

6.7.

4m  4m

pj  1q  4m

j 1

n1

j 1

 4m pn 2 1qn  2mn2

Opmnq.

Existencia y unicidad de la factorizaci


on QR

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


 independientes. En
estas circunstancias la descomposicion QR de A  a1    an es u
nica. En efecto,
ambos metodos utilizan proyecciones ortogonales, y estas son u
nicas. Por ejemplo,
a1
el metodo clasico, empieza construyendo q1 
}a1}2 , de modo que esta definido

6.7 Existencia y unicidad de la factorizacion QR

133

de forma u
nica; y para j  2, . . . , n , qj es la proyeccion ortogonal de aj sobre el
subespacio a1 , . . . , aj 1 K y luego normalizado. La proyeccion ortogonal de aj
sobre un subespacio fijo es u
nica; y, por supuesto, la norma del vector obtenido
tambien. As pues, la matriz Q obtenida es u
nica.
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
factorizacion QR.

Cmn (m

n) tiene rango completo admite una u


nica

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
 pei Qq tiene columnas ortonormales y
tambien A  pei Qqpei Rq. cumple que Q

i
 e R es triangular superior. Pero la condicion rii P R exige que  0.
R
Analizamos ahora el caso en que rangpAq no es completo. En este caso, habra
una columna, digamos aj , que sera combinacion lineal de a1 , . . . , aj 1 . Es decir,
aj

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

Como qj es la proyeccion 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
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 algoritmo en
el punto en que se hace la division
qj

 rqj .
jj

Este hecho parecera indicar que no existe factorizacion QR. Sin embargo, teoricamente, podramos escoger para qj un vector unitario en q1 , . . . .qj 1 K y proseguir 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 ortonormal a q1 , . . . , qj 1 . Esto solo es una posibilidad teorica que nos permite asegurar
que, incluso cuando A no es de rango completo, siempre admite una factorizacion
QR.

134

Proyecciones y bases ortonormales

Teorema 6.11 Toda matriz A P Cmn (m n) admite una factorizacion QR.


Debe observarse que si A no tiene rango completo entonces habra factorizacion
QR de A, pero no se cumplira que Im Q  Im A.
En la practica, difcilmente el valor calculado por el ordenador sera 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 division por cero. Pero
los errores de redondeo pueden ser de tal magnitud que MATLAB no detecte que
tal 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
R =
1.7321e+00
1.7321e+00
0
3.8459e-16
0
0

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

Claramente rangpAq  1 pero MATLAB lleva a cabo el algoritmo sin ning


un tipo
de aviso. Vemos, enseguida, que las dos u
ltimas 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
>> Q*R
ans =
1
1
1
1
1
1

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

1
1
1

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

6.8 Factorizacion QR reducida y completa

135

observamos que Q no es unitaria. El algoritmo nos devuelve una factorizacion de A


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 factorizacion QR de A. Este fenomeno es bastante
frecuente con los algoritmos de Gram-Schmidt y lo analizaremos con mas detalle en
la u
ltima seccion de este Tema.

6.8.

Factorizaci
on QR reducida y completa

Al igual que con los valores singulares existe una factorizacion reducida y una
factorizacion completa de cualquier matriz A P Cmn (m n). La reducida ya hemos
visto lo que es: una descomposicion de A en dos factores Q P Cmn y R P Cnn , con
Q una 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 (si A no es de rango completo).
Para obtener una factorizacion QR completa de A se a
naden a Q m  n columnas
mm

ortonormales para formar una matriz Q P C


que sea unitaria. Y se a
naden a R
m  n filas de ceros para obtener la matriz

R

0pmnqn

R,
pero esta factorizacion no tiene por que ser u
Claramente A  Q
nica, debido
A cualquier
a la arbitrariedad de la eleccion de las u
ltima m  n columnas de Q.
yR
con estas propiedades (i.e. Q
unitaria y
descomposicion de A en dos factores Q
P Cmn con rij  0 para i j y rjj 0) se le llama factorizaci
R
on QR completa
de A.
Los algoritmos de Gram-Schmidt proporcionan factorizaciones reducidas. En la
proxima leccion estudiaremos otro algoritmo que da una factorizacion completa. Ya
hemos dicho como pasar de una factorizacion reducida a una completa. El recproco
R
es una factorizacion completa de A P Cmn y m n, entonces
es obvio: si A  Q
sus u
se obtiene una factorizacion reducida eliminando de Q
ltimas m  n columnas

y de R sus u
ltimas m  n filas de ceros.

136

6.9.

Proyecciones y bases ortonormales

Un an
alisis experimetal de la estabilidad de
los algoritmos de Gram-Schmidt

El experimento que se expone a continuacion, hecho con MATLAB, tiene como


finalidad explorar la diferencia en la estabilidad numerica entre los algoritmos clasico
y modificado de Gram-Schmidt.
Primero construmos una matriz A de tama
no 80  80 con vectores singulares
aleatorios y valores singulares en progresion geometrica desde 21 hasta 280 de
razon 21 :
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 factorizaciones 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 logartmica:
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, 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  Qj Qj qaj , de modo que rjj nos da una
idea del tama
no del vector proyeccion de aj sobre a1 , . . . , aj 1 K . Salta a la vista

6.9 Un analisis experimetal de la estabilidad de los algoritmos de Gram-Schmidt137

10

10

eps1/2
10

rjj

10

15

10

eps

20

10

25

10

10

20

30

40

50

60

70

80

Figura 6.1: Elementos diagonales de R en la descomposicion QR de A calculados


con MATLAB mediante los algoritmos clasico y modificado de G-S. El algoritmo
clasico produce los n
umeros representados por  y el modificado, los representados
por .
en 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 2j . Esto es bastante razonable porque
A  U SV

80

si ui viT

 21u1v1T

22 u2 v2T



T
s80 u80 v80
,

i 1

y la j-esima columna de A es
aj

 21vj1u1

22 vj2 u2



280 vj,80 u80 .

Ahora bien, las filas de V  son ortonormales as que

}vj }2 

80

|vji|2  1,

i 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

 801{2  0,1.

138

Proyecciones y bases ortonormales

As pues
aj

 801{2

21 u1

22 u2



280 u80 .

Todos los ui son vectores unitarios por lo que la componente de aj en la direccion de


ui es el doble que su componente en la direccion de ui 1 . En particular, la componente
mas 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  21  801{2 .
En el segundo paso,
v2

 a2  pq1a2qq1  a2  pu1 a2qu1  801{2

22 u2



280 u80

 801{222u2,

as que q2  u2 y r22  801{2 22 . Y as sucesivamente. Esto justifica por que los rjj
decrecen aproximadamente pegados a la recta 2j .
Lo segundo que llama la atencion es que este comportamiento de rjj de ir pe?
gado a la recta 2j se detiene en un cierto punto. Aproximadamente en eps para
el algotitmo clasico de Gram-Schmidt y en eps para el modificado. Esto es una
consecuencia del redondeo. Con el algoritmo clasico los rjj nunca son menores de
108 mientras que con el modificado se reducen del orden de 8 dgitos decimales
mas, hasta, aproximadamente, 1016 ; el orden del epsilon de la maquina, eps. Nada
mejor es esperable.
Algunos algoritmos son mas sensibles que otros a los errores de redondeo. Es
conocido que al algoritmo clasico le pueden afectar mucho. Por ello rara vez se usa.

6.10.

P
erdida num
erica de ortogonalidad

Hay otro tipo de inestabilidad que afecta a ambos algoritmos del que ya hemos
visto un ejemplo mas arriba: ambos pueden calcular matrices Q que estan 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 Q P 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.

6.10 Perdida numerica de ortogonalidad

139

La perdida de ortogonalidad ocurre cuando A esta proxima a no tener rango


completo; es decir, cuando n  0. Y como en la mayor parte de los fenomenos
de inestabilidad, esta aparece incluso en matrices de dimension 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 hipotetico ordenador que redondea los resultados a 5 dgitos de exactitud


relativa. Los algoritmos clasico y modificado de Gram-Schmidt son identicos para
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 descomposicion QR que
se obtendra en esta situacion (recordemosque lo hacemos redondeando a 5 dgitos
significativos). En el primer paso del algoritmo
a1

0,70000
0,70001

r11  }a1}2 

q1  a1{r11 

0,72

0,700012

 0,98996

0,70710
0,70711

En el segundo paso



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

0,70711

0,70711
v2  a2  pq  a2 qq1 
1

 1,0000p045 . . .q


0,70710

1
0,70711
0,70711

0,00001
0,00000

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


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 debera ser
0
, muy lejos de q1 . De hecho
1

}QQ  In}2  0,70710,

140

Proyecciones y bases ortonormales

un n
umero muy grande.
En un ordenador con 16 dgitos de precision como los habituales y usando
MATLAB con esta misma matriz:
>> A=[ 0.70000 0.70711; 0.70001 0.707111];
>> [Q,R]=mgs(A);
>> norm(Q*Q-eye(2))
produce
ans=
2.3014e-11
un n
umero peque
no pero muy grande comparado con el epsilon de la maquina,
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 proxima leccion obtenemos
>> [Q,R]=qr(A);
>> norm(Q*Q-eye(2))
ans =
2.3514e-16
que es del orden del epsilon de la maquina.

Captulo 7

Reflexiones de Householder y el
Algoritmo QR

7.1.

Introducci
on

Hay otros dos metodos importantes para calcular la descomposicion QR de una


matriz: las reflexiones de Householder y las rotaciones de Givens. Ambos comparten
la propiedad de ser procesos que conducen a una triangularizacion de la matriz dada
mediante transformaciones ortogonales (caso real) o unitarias (caso complejo).
En este curso estudiaremos el primero de los dos metodos (el de las reflexiones de
Householder). Una buena referencia para el metodo de las rotaciones de Givens es
el libro de Golub y van Loan [9]. En realidad, estos dos metodos, son el resultado
de aplicar un teorema general de algebra que establece que toda transformacion
ortogonal (o unitaria) es un producto de simetras (reflexiones o giros).
Los metodos de Householder y Givens difieren de los de Gram-Schmidt en un
hecho basico fundamental. Para ver esta diferencia analicemos, de nuevo, el proecedi141

142

Reflexiones de Householder y el Algoritmo QR

miento de ortonormalizacion de Gram-Schmidt: dada A  a1 a2


1
a1 con r11  }a1 }2 . As, si
(F=R o C) definimos q1 
r11
R1

 Diag

tenemos que

 AR1 
A continuacion, ponemos r22  }a2 }2 y
A2

q2

Si definimos

1
0


R2  0
.
 ..
0
tenemos que
A3

an

P Fm n

1
, 1, . . . , 1
r11

1
1
p
a2  pq1 a2 qq1 q 
r22
r22



q 1 a2

a2 

r12
a1
r11

0 
0 
1 
.. . .
.
.
0 

 rr

12
22

1
r22

0
..
.
0

 A2R2  A1R1R2 



an .

 r1 a2  r r12r
22

a1

11 22

0
0

0

.. 
.
1

q 1 q 2 a3



an .

Procediendo de esta forma sucesivamente podemos construir, para la matriz dada


A, matrices R1 , R2 ,. . . , Rn de modo que
AR1  . . .  Rn

 Q,

siendo Q una matriz cuyas columnas son ortonormales. Se pone, entonces, R


la descomposicion QR, reducida, de A.
Rn1  . . .  R11 y se obtiene A  QR,

El metodo de Householder; y tambien el de Givens, cambia completamente el


punto de vista: se trata de realizar sobre la matriz A una serie de transformaciones
unitarias (u ortogonales, en el caso real) Q1 , Q2 . . . , Qn tales que
Qn  . . .  Q1 A  R
sea una matriz triangular superior. En lo sucesivo hablaremos de transformaciones
y matrices unitarias pero se debe entender que si A es real las transformaciones y
matrices son ortogonales.

7.1 Introduccion

143

Lo primero que hay que observar es que mientras los metodos de ortonormalizacion de Gram-Schmidt produce una factorizacion QR reducida, el de Householder
produce una factorizacion completa. En aquel caso Q es de tama
no m  n y R es
n  n. En el metodo de Householder cada Qi es unitaria (o, insistimos por u
ltima
vez, ortogonal en el caso real);por lo tanto, de tama
no m  m. Y R sera de tama
no
m  n.
Sucintamente, el metodo de Householder consiste en construir matrices unitarias
elementales (reflexiones) que operan sucesivamente sobre las columnas de A para
reducir esta matriz a una forma triangular superior. Esquematicamente el proceso
sera el siguiente:


x x x

x x x


x x x


x x x

x x x

x
0

0

0
0

x x
x x

x x

x x
x x
Q1 A

x x x

x x



0 x



0 x
0 x
Q2 Q1 A

x x x

x x



x



0
0
Q3 Q2 Q1 A

Q1 opera sobre las filas 1 a 5 para hacer ceros en todas las posiciones de la primera
columna excepto en la posicion de la diagonal. A continuacion se construye una
matriz Q2 , unitaria u ortogonal en el caso real, que opera sobre las filas 2 a 5 de la
matriz obtenida en el paso anterior, para hacer ceros en todas las posiciones de la
segunda columna por debajo de la diagonal principal. Y as sucesivmente. Es decir,
para k  1, 2, . . . , n, Qk opera sobre Ak p1 : k, 1 : nq haciendo ceros en las posiciones
pk 1, kq, pk 2, kq,. . . , pm, kq, donde A1  A y para k 1, Ak  Qk1Ak1.
Se debe observar que Qk no act
ua sobre las primeras k  1 filas de Ak1 ; es decir,
las deja intactas, por lo que tendra la siguiente forma:
Qk

Ik1 0
k
0 Q

k una matriz unitaria cuyo objetivo es reducir el vector formado por los
siendo Q
elementos en las posiciones pk, k q, pk 1, k q,. . . , pm, k q de Ak1 a un vector cuya
u
nica componente posiblemente no nula sea la primera:
 

 

x
x
x   0 
  
k 
Q
 ..    ..  .
. .

144

Reflexiones de Householder y el Algoritmo QR

La primera cuestion surge de forma natural: existe siempre, para cualquier


vector, una matriz unitaria que lo reduce a otro cuya u
nica componente no nula sea,
posiblemente, la primera?. Como veremos enseguida la respuesta es afirmativa y es
la base del metodo de Householder.

7.2.

Las reflexiones de Householder

El objetivo es resolver el siguiente problema: dado un vector x P Cn1 construir


una matriz unitaria Q P Cnn tal que
Qx  e1

siendo e1 el vector p1, 0, . . . , 0q.

Antes de nada debemos observar que, como Q es unitaria,

||2  }Qx}22  xQQx  xx  }x}22,


de donde deducimos que }x}2  ||.

La idea de Householder fue construir tal matriz como la matriz de una reflexion:
una simetra respecto de un hiperplano. El caso particular de R2 nos servira como
gua de lo que queremos conseguir: dado un vector x P R2 debemos encontrar una
hiperplano (en este caso, una recta que pase por el origen) tal que el simetrico de x
respecto de este hiperplano sea e1 (Figura 7.1).

v1
x
v

||x||2 e1

Suponiendo que 0, dicha recta (H en


la figura) es la bisectriz del angulo que forma los vector x y e1 . Sea v  e1  x 
}x}2e1  x (este vector es el de la Figura 7.1 pero trasladado al origen). Como
el triangulo formado por los vectores x,
}x}2e1 y v (trasladado desde el origen al
extremo de x) es isosceles, resulta que H
es perpendicular a v. Es decir,
H

Figura 7.1: Reflexion sobre el eje


de abscisas

 v K

Cual es la transformacion que lleva x sobre }x}2 e1 ?

7.2 Las reflexiones de Householder

145

Enseguida notamos que v1 es la proyeccion ortogonal de x sobre v a lo largo de


v
H. Por lo tanto, si q 
en la direccion de v, tenemos que
}v}2 es el vector unitario
la proyeccion ortogonal sobre v es Pq  qq  ; y

 Pq x  qqx.
Como, finalmente, v  2v1 y x v  }x}2 e1 conclumos que
pI  2qqqx  }x}2e1.
As pues, la matriz Q que representa la reflexion respecto de v K y que hace que
Qx  }x}2 e1 es
Q  I  2qq 
v
donde q 
}v} y v  }x}2e1  x.
v1

Hay otra forma de reflejar x sobre el eje


de abscisas: hacerlo sobre la direccion negativa de este. Es decir, la reflexion sera
Q1 x  }x}2 e1 .

Razonando como antes, pero respecto de


la Figura 7.2, sera Q1  I  2q1 q1 con
q1  }uu}2 y u  }x}2 e1  x.
Todo lo anterior nos permite asegurar
que en el caso R2 , para un vector x dado,
siempre podemos encontrar una transformacion ortogonal Q de forma que Qx 
}x}2e1. Ademas, nos dice que la matriz Q
es una reflexion. Es decir, Q  I  2q1 q1
con Q1  }uu}2 y u  }x}2 e1  x. esta es
nuestra gua para demostrar que lo mismo
es posible en Cn .


H+

u1
u
||x||2 e1

v
+||x||2 e1

Figura 7.2: Las dos reflexion sobre


el eje de abscisas

x1
 .. 
Lema 7.1 Sea x   .  P Cn y escribamos x1  |x1 |ei . Existen vectores unitarios
xn
n
u1 , u2 P C tales que si Qui  pIn  2ui ui q, i  1, 2, entonces Qu1  }x}2 ei e1 y
Qu2  }x}2 ei e1 .

146

Reflexiones de Householder y el Algoritmo QR

Observaci
on: En el caso complejo no se puede asegurar, en general, que la primera
componente de Qui x vaya a ser real.
Demostraci
on.- Elegimos los vectores u1 y u2 siguiendo la orientacion marcada por
el caso R2 . Definimos
v1

 }x}2ei e1  x,

y
u1

v2

 }vv1} ,

 }x}2ei e1  x,

u2

 }vv2} .
2

Veremos que, en efecto, Qu1 x  }x}2 ei e1 . La demostracion de que Qu2


se hace igual.
Qu1 x  pIn  2u1 u1 qx  x  2pu1 xqu1

 }x}2ei e1


 x  2 pvvv1 xq1{2 pvvv1q1{2  x  2 vv1vx v1.


1 1

1 1

1 1

Ahora bien

 p}x}2ei eT1  xqx  }x}2ei x1  xx 


 }x}2ei ei |x1|  }x}22  }x}2p|x1|  }x}2q.

v1 x
Y

v1 v1







p}x}2ei eT1  xqp}x}2ei e1  xq 


}x}22eT1 e1  }x}2ei eT1 x  }x}2ei xe1 xx 
}x}22  }x}2ei x1  }x}2ei x1 }x}22 
2}x}22  }x}2 ei |x1 |ei  }x}2 ei |x1 |ei 
2}x}22  2|x1 |}x}2  2}x}2 p}x}2  |x1 |q.

Por lo tanto
Qu1 x  x  2

}x}2p|x1|  }x}2q v  x
1
2}x}2 p}x}2  |x1 |q

v1

 x }x}2ei e1  x  }x}2ei e1,

tal y como se quera mostrar.


Antes de continuar veamos un ejemplo en R4 .
Ejemplo 7.2 Sea x  p3, 1, 5, 1q. Encontrar una reflexion Qu tal que Qu x  p, 0, 0, 0q.

7.2 Las reflexiones de Householder

147

Las operaciones las haremos con ayuda de MATLAB.


Seg
un el Lema 7.1 debemos poner
v
Ahora

 }x}2ei e1  x

}x}2 

y u

v
}v}2 .

1  6 y x1

25

 3.

Por lo tanto
"

5, 1q  v1
 p6, 0, 0, 0q  p3, 1, 5, 1q  pp3,9,1,
1, 5, 1q  v2

Entonces
u1

 16 p3, 1, 5, 1q

y v2

 ? 1 p9, 1, 5, 1q.


116

As
Qu1

1{2
1{6

1
{
6
17
 pI4  2u1u1 q   5{6 5{{18
18
1{6 1{18

5 {6
1{6
5{18 1{18 .
7{18 5{18
5{18 17{18

 

Entonces

Qu1 x 

0
 .
0

0
De la misma forma


Qu2

1{2 1{6 5{6 1{6



5{54 1{54 .
 pI4  2u2u2 q  51{{66 535{{54
54 29{54 5{54
1{6 1{54 5{54 53{54

Y Qu2 x  6e1 .
Ahora podemos describir el proceso de triangularizacion de Householder. La induccion del siguiente teorema lo pone claramente de manifiesto.

148

Reflexiones de Householder y el Algoritmo QR

Teorema 7.3 Sea A P Cmn y m n. Existen vectores unitarios u1 , . . . , un tales


que para i  1, . . . , n, ui P Cmi 1 y si Qui  Imi 1  2ui ui y
Qi
entonces

Ii1 0
0 Qui

P Cmm

Qn    . . .  Q1 A  DR

siendo D P C  una matriz diagonal unitaria y R P Cmn una matriz triangular


m m

superior cuyos elementos diagonales son n


umeros reales.

Demostraci
on.- Procederemos por induccion sobre n. Si n  1 entonces A P Cm1 .
Si A  0 escogemos cualquier vector unitario u P Cm1 y ponemos D  Im y
R  0 P Cm1 . Claramente, Qu A  DR.
Si A  0, por el Lema 7.1 existe u1 P Cm1 , unitario, tal que Qu1 A  }A}2 ei e1
(con  se quiere decir que se puede elegir u1 para que Qu1 A  }A}2 ei e1 y se
puede elegir u1 para que Qu1 A  }A}2 ei e1 . Arrastraremos esta notacion), siendo
el argumento de la primera componente de A. Entonces
Qu1 A  DR


con
D

 Diagpei , Im1q

}A}2

 0

y R   ..
 .
0




.


Supongamos el teorema verdadero


para

 matrices hasta con n  1 columnas y sea
m n
A P C
. Escribamos A  a1 A1 . Por el primer paso de la induccion, existe
u1 P Cm1 , unitario, tal que Qu1 a1  }a1 }2 ei e1 . As


}a1}2ei
Qu A 
0
1

xT
B

con x P Cpn1q1 y B P Cpm1qpn1q . Aplicamos la hipotesis de induccion a B.


Existen vectores unitarios u2 , . . . , un tales que para i  2, . . . , n, ui P Cpmi 1q1 y
si Qui  Imi 1  2ui ui y


I
0
i

2
i 
Q
0 Qui

7.2 Las reflexiones de Householder

2
(Q

 Qu ) entonces

149

n  . . .  Q
2C
Q

 D R,

P Cpm1qpm1q una matriz diagonal unitaria y R


P Cpm1qpn1q una matriz
siendo D
triangular superior cuyos elementos diagonales son n
umeros reales. Sea Q1  Qu1 y
Qi

1 0
i
0 Q

P Cmm,

i  2, . . . , n.

Entonces

Poniendo

}a1}2ei
Qn  . . .  Q2 Q1 A 
0
q,
D  Diagpe , D
i

xT
R
.
D

}a1}2
R
0

xT

obtenemos el resultado deseado.


Observaciones 7.4
1. Las matrices de la forma Qu  In  2uu , con u P Cn1
unitario, se llaman matrices de Householder o transformaciones de Householder o reflexiones de Householder, por ser Householder quien puso de manifiesto
su interes en el calculo numerico. Estas matrices tienen algunas propiedades
importantes:
(i) Son matrices hermticas (simetricas en el caso real). En efecto,
Qu

 pIn  2uuq  In  2uu  In  2uu  Qu

(ii) Son unitarias:


Qu Qu

(iii)

 pIn  2uuqpIn  2uuq  In  4uu 4uuuu  In


donde hemos utilizado que u u  1 porque u es unitario.
1

De las dos propiedades anteriores se deduce que Q
u  Qu  Qu . Es
decir, la inversa de una matriz de Householder es ella misma.

2. Para que una matriz D P Cmm sea diagonal y unitaria debe ser de la forma
D  Diagpei1 , . . . , eim q. Por lo tanto, si A P Rmn es real en el Teorema 7.3,
debemos concluir que D  Im y que las matrices Qui y R son reales. Es decir,
en el caso real las matrices de Householder son ortogonales.

150

Reflexiones de Householder y el Algoritmo QR

3. En el Teorema 7.3 no se ha fijado el signo de los elementos diagonales de la


matriz R. Ello es debido a que dos elecciones de vectores ui es posible. Es
decir, es posible elegir tanto vi  }ai }2 ei e1  ai como vi  }ai }2 ei e1  ai .
Para ambas elecciones, definiendo ui  vi {}vi }2 , las matrices Qui  I  2ui ui
permiten llevar la matriz A a forma triangular. El signo de los elementos
diagonales depende de la eleccion realizada. Ahora bien, esta eleccion no es
inocua desde el punto de vista del calculo numerico. El siguiente ejemplo, hecho
con MATLAB, lo pone de manifiesto:
>> A=[2 3; 10^(-7) 4]
A =
2.000000000000000
0.000000100000000

3.000000000000000
4.000000000000000

>> v1=norm(A(:,1))*[1;0]-A(:,1), v2=-norm(A(:,1))*[1;0]-A(:,1)


v1 =
1.0e-07 *
0.000000022204460
-1.000000000000000
v2 =
-4.000000000000002
-0.000000100000000
>> u1=v1/norm(v1), u2=v2/norm(v2)
u1 =
0.000000022204460
-1.000000000000000
u2 =
-1.000000000000000
-0.000000025000000
>> Q1=eye(2)-2*u1*u1, Q2=eye(2)-2*u2*u2
Q1 =
0.999999999999999
0.000000044408921
0.000000044408921 -0.999999999999999
Q2 =
-0.999999999999999 -0.000000050000000
-0.000000050000000
0.999999999999999

7.2 Las reflexiones de Householder

>> Q1*Q1, Q2*Q2


ans =
1.000000000000000
-0.000000000000000
ans =
1.000000000000001
0.000000000000000
>> R1=Q1*A, R2=Q2*A
R1 =
2.000000000000002
-0.000000011182158
R2 =
-2.000000000000003
-0.000000000000000

151

-0.000000000000000
1.000000000000000
0.000000000000000
1.000000000000000

3.000000177635681
-3.999999866773233

-3.000000199999997
3.999999849999995

La primera columna, a1 , de A esta casi en la direccion de e1  p1, 0q. Si


elegimos v1  }a1 }2 e1  a1 la matriz Q1 es ortogonal pero el elemento de la
posicion p2, 1q de R1  Q1 A es del orden de 108 , un orden mas que el elemento
p2, 1q de A. Sin embargo, si elegimos v2  }a1}2e1  a1 entonces Q2 es un
poco menos ortogonal que Q1 , pero R2  Q2 A es perfectamente triangular
(hasta la precision con la que trabajamos 1016 ).
Este ejemplo no es especialmente rebuscado, sucede muy a menudo. Si los
vector x P Rm1 y }x}2 e1 son casi iguales (i.e., x1  }x}2 , x2 , x3 ,. . . , xm son
casi cero), al hacer la diferencia


}x}2  x1
 x

2



 }x}e1  x  

..
.
xm




tenemos que hacer la resta }x}2  x1 de dos cantidades casi iguales. Este problema, tal y como se ve en los problemas del Captulo 4, esta mal condicionado
y los errores de redondeo pueden dar lugar a calculos inexactos. Esto no sucede

152

Reflexiones de Householder y el Algoritmo QR

si elegimos

}x}2  x1

x2 


 }x}e1  x  




..
.
xm

porque entonces lo que tenemos que hacer es sumar |x}2


problema bien condicionado
De la misma forma si x y
}x}2e1  x.

x1 , y la suma es un

}x}2e1 son casi iguales y debemos elegir v 

En conclusion, la eleccion apropiada para v es

  signpx1q}x}2ei e1  x
donde signpx1 q es el signo de x1 ; es decir, signpx1 q  1 si x1 0 y signpx1 q 
1 si x1 0. Y para ser completamente exahustivos en este punto debemos
considerar el caso en que x1  0. En este caso se define signpx1 q  1. Se
v

debe observar que MATLAB no considera el caso en que x1 pueda ser cero
y hay que definirlo explcitamente. Debe observarse tambien que puesto que
Qu  I  2uu se puede, igualmente, elegir
v

 signpx1q}x}2ei e1

x,

que es la eleccion habitual.


1
un el Teorema 7.3 para cada
4. Teniendo en cuenta que Q
u  Qu y que, seg
mn
APC
existen matrices de Householder Qui , i  1, . . . , n tales que

Qun  . . .  Qu1 A  DR,


tenemos que

A  Qu1    . . .  Qun DR.

Si ponemos Q  Qu1    . . .  Qun D, resulta que


A  QR

es una factorizacion QR de A. Esta es una factorizacion QR completa; para


obtener una factorizacion reducida basta suprimir de Q las u
ltimas m  n
columnas y de R sus u
ltima m  n filas (que son filas cero).

7.2 Las reflexiones de Householder

153

5. Vamos a hacer explcito el proceso constructivo de factorizacion QR que esta detras


de la induccion en el Teorema 7.3. El objetivo es formular un algoritmo que
produzca una factorizacion QR de una matriz arbitraria A P Rmn . Por ello,
nos centraremos en el caso real. Supongamos A P Rmn dada. El Teorema 7.3
nos dice que existen vectores unitarios u1 , u2 ,. . . , un , ui P Rmi 1 tales que si
Qui  Imi 1  2ui ui y Qi  DiagpIi1 , Qui q entonces



r11


Qi1  . . .  Q1 A   0
 0

Como Qi




...
0
0

ri1 i1













Ai

 DiagpIi1Qu q
i




r11


Qi Qi1  . . .  Q1 A   0
 0

..

0
0

ri1i1










Qui Ai

Es decir la accion de Qi sobre la matriz obtenida hasta el paso i  1 solo afecta


a la submatriz Ai . Y
Qui Ai

 pImi 1  2uiui qAi  Ai  2uiui Ai.

Esta es la operacion que tenemos que realizar en cada paso de el proceso


iterativo sobre A.
Algo similar sucede con la matriz Q. Recordemos que Q
r i  Q1 Q2    qi , i  1, . . . n tenemos que
ponemos Q
r Q
r i1
Qi

 Q1Q2    Qn. Si

Ii1 0
.
0 Qui

Por lo tanto, en el paso i solo quedan afectadas las m  i u


ltimas columnas de
r As pues
Qi.
r i p:, i : mqQu
Q
i

 Qri1p:, i : mq  2Qri1p:, i : mquiui .

154

Reflexiones de Householder y el Algoritmo QR

Algoritmo QR de Householder (Caso real)


Dada A P Rmn
R  A, Q  Im
for k  1 to n
x  Rrpk, . . . , mq|pk qs
u  signpx1 q}x}2 e1 x
u
u
}u}2
Rrpk, . . . , mq|pk, . . . , nqs

Rrpk, . . . , mq|pk, . . . , nqs


2uu Rrpk, . . . , mq|pk, . . . , nqs
Qp:, k : mq  Qp:, k : mq  2Qp:, k : mquu
end for

La salida de este algoritmo debe ser: una matriz ortogonal Q y una matriz triangular
superior R tales que A  QR. Se trata, como ya se ha dicho, de una factorizacion
QR completa de A. Ya se ha indicado mas arriba como conseguir una factorizacion
reducida a partir de esta.
Una observacion final: El algoritmo QR de Householder, en el caso real, devuelve
una matriz triangular superior R cuyos elementos diagonales son n
umeros reales pero
que pueden ser positivos o negativos. Los algoritmos de GramSchmidt devuelven
matrices R con n
umeros reales positivos en la diagonal. Se puede conseguir que
el algoritmo de Householder tambien proporcione matrices R con n
umeros reales
positivos (o negativos) en la diagonal. Para ello, si el elemento en la posicion pk, k q
es, digamos, negativo, multiplicamos la k-esima fila de R por 1 y tambien la kesima columna de Q por 1. Es decir, si Ek  Diagp1, . . . , 1, . . . , 1q (1 en la
k-esima posicion) entonces A  QEk Ek R. Como Ek es unitaria, tambien lo es QEk .
Y tambien Ek R es triangular superior. En el algoritmo bastara a
nadir las siguientes
lneas de codigo justo antes de finalizar el bucle for:

if Rpk, k q 0
Rpk, k : nq  Rpk, k : nq
Qp:, k q  Qp:, k q
end if

7.3 N
umero de operaciones

7.3.

155

N
umero de operaciones

Estudiamos a continuacion el coste del algoritmo QR por transformaciones de Householder.


Antes de nada debemos hacer una observacion que es pertinente tambien para la
siguiente seccion donde estudiaremos la estabilidad de este algoritmo: tal y como
se ha expuesto aqu el algoritmo (recuadro con el Algoritmo de Householder (Caso
real)) la matriz Q se forma explcitamente. Sin embargo, esto no es estrictamente
necesario ya que Q es producto de reflexiones de Householder y estas quedan determinadas completamente por los sucesivos vectores unitarios u. Podramos pensar
que lo que devuelve el algoritmo no son las matrices R y Q sino la matriz R y los n
vectores unitarios u que permiten (si se desea) construir la matriz Q. Teniendo en
cuenta esto, las operaciones del algoritmo se encuentran en el bucle
(1)
(2)
(3)
(4)

x  Rrpk, . . . , mq|pk qs
u  signpx1 q}x}2 e1 x
u
u
}u}2
Rpk : m, k : nq  Rpk : m, k : nq  2uu Rpk : m, k : nq

que se realiza para k  1 : n. El n


umero m  k 1 aparece muy frecuentemente
porque es el tama
no del vector x. Pongamos `  m  k 1 para abreviar la notacion.
La sentencia (1) es una asignacion y por lo tanto en ella no se realizan flops. En la
sentencia (2) se hacen:
` multiplicaciones: x21 , x22 ,. . . , x2` .
`  1 sumas: x21
1 raz cuadrada:


a

x21

x2` .



x2`

1 multiplicacio en }x}2 e1 .
1 suma para la primera componente de x.
En total 2`

 2pm  k

2q flops. Como k

 1 : n, el numero total de flops

156

Reflexiones de Householder y el Algoritmo QR

necesarios para implementar la sentencia (2) es


n

k 1

2pm  k

2q




pm  n 1 kq  2npm  n 1q 2 npn2 1q
k 1
2mn  n2 potencias menores en m y n.
2

Para implementar la sentencia (3) se necesita un n


umero similar de flops. Es en la
sentencia (4) donde se acumula la mayor parte de las flops como veremos ahora.
Analicemos cuantas son necesarias para cada j  k : n:
Rpk : m, j q  Rpk : m, j q  2upu Rpk : m, j qq
Los parentesis en upu Rpk : m, j qq indican la forma que asociamos para realizar
los productos. Notese que u Rpk : m, j q es un producto escalar y, por tanto, un
n
umero cuya formacion requiere ` productos y `  1 sumas. En total, 2`  1 flops.
Ahora, si ponemos x  u Rpk : m, j q tenemos que multiplicar el n
umero x por
2u; es decir, 2x requiere un producto y 2xu requiere ` productos para un total de
` 1 flops. Finalmente, si v  2xu tenemos que hacer la resta Rpk : m, j q  v;
lo cual requiere ` flops. As pues, el n
umero total de flops para cada j  k : n es
p2`  1q p` 1q `  4`. Y el numero total de flops involucrados en la sentencia
(4) para cada k  1 : n son 4`pn  k 1q  4pm  k 1qpn  k 1q. . As pues, el
n
umero total de flops necesarios para la sentencia (4) es
n

k 1

4pm  k

1qpn  k

1q

pm  n kqk  4pm  nq k 4 k2
k 1
k 1
k1
npn 1q
npn 1qp2n 1q
4
 4pm  nq 2
6
2 3
2
 2mn  3 n potencias menores en m y n.

Teorema 7.5 El algoritmo QR de Householder (caso real) requiere


flops para calcular la factorizacion QR de una matriz m  n.

 2mn2  32 n3

2
Notese que este algoritmo requiere del orden de n3 flops menos que los algoritmos
3
de Gram-Schmidt.

7.4 Estabilidad del algoritmo de Householder

7.4.

157

Estabilidad del algoritmo de Householder

Estrictamente hablando el algoritmo de Householder para la factorizacion QR no


puede ser estable hacia atras si se entiende que el objetivo del mismo es calcular para
cada matriz A matrices Q, unitaria (ortogonal), y R, triangular superior con n
umeros
reales en la diagonal. La razon es la misma que la que impide que ning
un algoritmo
para el calculo de la descomposicion en valores singulares de una matriz sea estable
hacia atras (Problema 6 de la Leccion ??). En efecto, para cualquier algoritmo
siempre habra matrices, A, cuya matriz Q no sea exactamente unitaria (ortogonal)
siendo imposible, por lo tanto, que tal matriz Q sea la matriz exactamente unitaria
(ortogonal) de alguna matriz proxima a A.
Dicho lo anterior, y recordando (ver Seccion 7.3) que la formacion de la matriz Q
en el algoritmo de Householder se hace a partir de los vectores unitarios que se
construyen en los pasos
u  signpx1 q}x}2 e1
u
u
}u}2

del algoritmo, podemos interpretar que el resultado que se busca no es la matriz Q


explcitamente, sino cada uno de los vectores unitarios v1 , v2 ,. . . , vn que, una vez
normalizados, se usan para construir las reflexiones cuyo producto permite obtener
la matriz unitaria (ortogonal) Q:
Q  Q1 Q2    Qn ,

Qi

 Im  2uiui ,

ui

 }vvi} .
i

Si se entiende que el problema de la factorizacion QR consiste en, para cada A P


Fmn (n m), obtener vectores v1 , v2 ,. . . , vn en Fm1 tales que si Qi  Im  2ui ui ,
vi
ui 
}vi} , y Q  Q1Q2    Qn entonces A  QR con R triangular superior con numeros reales en la diagonal, entonces el algoritmo de Householder para la factorizacion
QR es estable hacia atras para cualquier matriz A. En efecto, tal algoritmo aplicado
r con n
a A P Fmn producira una matriz triangular superior R,
umeros reales en la
vri r
ri 
ri u
ri ,
diagonal, y vectores vri , i  1, . . . , tales que definiendo u
, Qi  Im  2u
}vri}
r
r
r
r
i  1, . . . , n, y Q  oQ1    Qn entonces QR es una factorizacion QR exacta de una
r pr
matriz A
oxima a A. El siguiente teorema, que damos sin demostracion, establece
la estabilidad hacia atras del algoritmo de Householder rigurosamente:

158

Reflexiones de Householder y el Algoritmo QR

Teorema 7.6 Supongamos que el algoritmo QR por reflexiones de Householder se


aplica en un ordenador que cumple los dos axiomas de la aritmetica de punto flotante
ryR
r como
(5.2) y (5.4) de la Leccion 5. Sea A P Fmn una matriz arbitraria. Sean Q
r  A A tal que
mas arriba. Entonces existe una matriz A

}A}  Op q
M
}A}
rR
rA
yQ

A.

Captulo 8

El Problema de Mnimos Cuadrados

8.1.

El problema de mnimos cuadrados

El problema del ajuste de datos; es decir, descubrir una funcion matematica que
pueda explicar de la mejor forma posible el comportamiento de alg
un mecanismo o
grupo de seres u objetos que puede ser medido, y del cual conocemos algunos datos
(con sus posibles errores de medicion), es un problema clasico y ha supuesto un reto
para la comunidad matematica desde su planteamiento por Gauss y Legendre hacia
1800.
En lenguaje de algebra lineal consiste en encontrar la solucion de un sistema lineal
Ax  b siendo A P Cmn con m n. En A y b se recogen todos los datos del
experimento que se quieren ajustar. Enseguida veremos algunos ejemplos.
Sabemos que el sistema tiene solucion si y solo si b P Im A, condicion que difcilmente
se cumple si m es mucho mayor que n. Si m n diremos que el sistema Ax  b
esta sobredeterminado; y si no existe ning
un x P Cn1 tal que Ax  b lo que se
159

160

El Problema de Mnimos Cuadrados

puede intentar es buscar un x de forma que el vector


r

 Ax  b P Cm,

que se llama residuo o vector residual, sea lo mas peque


no posible. Lo grande
o peque
no que sea r lo mediremos mediante una norma. El problema de mnimos
cuadrados consiste en encontrar x P Cn1 para que el vector residuo tenga la menor
norma eucldea posible. Su formulacion precisa sera la siguiente:
Problema de mnimos cuadrados: Sea F  R o C. Dada una matriz A P Fmn
y un vector b P Fm ,(m n) encontrar x P Cn1 para que }Ax  b}2 sea mnimo.
La eleccion de la norma eucldea se puede justificar desde varios puntos de vista:
historico, geometrico, estadstico, . . . ; pero sobre todo porque es la norma habitual,
conduce a los algoritmos mas sencillos y as como todas las normas son funciones
continuas de los vectores, la norma eucldea es, ademas, diferenciable. Como, por
a
nadidura, la funcion }Ax  b}2 alcanza su maximo absoluto en un maximo local,
este maximo puede calcularse igualando a cero las derivadas parciales de dicha funcion. Este proceso conduce a lo que se llaman las ecuaciones normales del problema
de mnimos cuadrados. Estas ecuaciones nos las encontraremos mas adelante procedentes de un contexto completamente diferente.

Ejemplo 8.1 El ejemplo mas tpico de ajuste de datos por mnimos cuadrados es
el calculo del polinomio de interpolaci
on: dados m puntos del plano pxi , yi q,
i  1, . . . , m, de forma que xi  xj para i  j, se trata de encontrar un polinomio
de grado a lo mas m  1, ppxq  a0 a1 x    am1 xm1 , que pase por los n
puntos.

Se trata, entonces, de encontrar los coeficientes a0 , a1 ,. . . , am1 , para que


ppxi q  yi ,

i  1, . . . , m.

Esto equivale a resolver el sistema lineal


a0

a1 x i



am1 xim1

 yi ,

i  1, . . . , m

(8.1)

8.1 El problema de mnimos cuadrados

161

cuya matriz de coeficientes es




1
1 x1 x21    xm
1
m
1 
2
 j 1  
1 x2 x2    x2 
A  xi
  .. .. .. . . . ..


. .
.
.
m1
2
1 xm xm    xm
Esta es una matriz de Vandermonde cuyo determinante es
det A 

pxi  xj q.

i j

Por consiguiente A es invertible y el sistema (8.1) tiene una u


nica solucion. En
la Figura 8.1 se muestra la grafica del polinomio de interpolacion que pasa por
los 11 puntos pi, 0q con i  5, 4, . . . , 1, 0, 1, . . . , 4, 5. Se trata de un polinomio
de grado 10. A su derecha se ha escrito el codigo de MATLAB que obtiene los
coeficientes del polinomio de interpolacion: c  Azb y que da la grafica: plot(t,
polyval(p,t),a,b,r*,markersize,10);. El comando polyval(p,t) devuelve un vector: el valor del polinomio p en las componentes del vector t. Notese el
uso de las sentencias fliplr y flipud para obtener la matriz de los coeficientes
del sistema y los coeficientes del polinomio de interpolacion en la forma apropiada. La sentencia zeroaxes hace que los ejes cartesianos se dibujen en la forma que
se acostumbra a utilizar en la pizarra: dos lneas perpendiculares que se cortan en
p0, 0q.
5
4
3
2
1
6

2
1
2
3

Figura 8.1:
a=-5:5;
A=fliplr(vander(a));
b=[0 0 0 1 1 1 0 0 0 0 0];
c=Azb;
p=flipud(c);
t=linspace(-5.05,5.05);
plot(t, polyval(p,t),a,b,r*,...;
markersize,10);
zeroaxes

Indudablemente el polinomio de interpolacion se ajusta perfectamente a los datos,


pero a menudo estos proceden de experimentos y lo que se pretende es buscar una

162

El Problema de Mnimos Cuadrados

curva que interprete los datos obtenidos. Como las mediciones se realizan en momentos puntuales, tal grafica debera reflejar, salvo que se tengan motivos para pensar
lo contrario, una comportamiento suave entre dos datos consecutivos, y no la fluctuacion que muestra el polinomio de interpolacion de nuestro ejemplo. Quiza un
polinomio de menor grado pueda mostrar un mejor comportamiento. Tal polinomio
no pasara por algunos de los puntos. Pero la medicion de todo proceso real conlleva
errores que podran explicar tal fenomeno.
Ejemplo 8.2 (Ajuste por mnimos cuadrados) Con los mismos datos del ejemplo anterior calcular el polinomio de grado 7 que mejor se ajusta a los datos en el
sentido de los mnimos cuadrados.
Siguiendo los mismos pasos que en el ejemplo anterior lo que buscamos es un polinomio de grado a lo mas n  1 m  1
ppxq  a0

a1 x



an1 xn1

tal que }ppxq  y }2 sea mnimo. Aqu, ppxq es el vector cuya i-esima componente es
ppxi q y el vector y es el que tiene por i-esima componente yi .
Ahora bien, si

1 x1 x21    x1n1
1 x
x22    x2n1 
2


A   .. ..

.. . . ..

.
..
.
.
2
n1
1 xm xm    xm

es la matriz de Vandermonde truncada y c  pa0 , a1 , . . . , an1 q es el vector de los


coeficientes de p tenemos que ppxq  Ac. As que se trata de hallar un vector c en
el que se alcance
mnn }Ax  y }2 .

x C

En la Figura 8.2 se presenta la grafica producida por MATLAB del polinomio de


grado 7 que mejor se ajusta a los datos pai , bi q en el sentido de los mnimos cuadrados.
El problema de mnimos cuadrados correspondiente se calcula en el interior de la
sentencia ployfit. El resto del codigo de MATLAB que se muestra es el mismo que
en el apartado anterior.
Una observacion final antes de abordar la solucion del problema de mnimos cuadrados y los algoritmos correspondientes. Una variante del problema de encontrar

8.2 La solucion del problema de mnimos cuadrados

Figura 8.2:

a=-5:5
A=fliplr(vander(a))
b=[0 0 0 1 1 1 0 0 0 0 0];
p=polyfit(a,b,7);
t=linspace(-5.3,5.3);
plot(t, polyval(p,t),a,b,r*,...
markersize,10);
axis([-6 6 -3 5]);
zeroaxes

4
3
2
1
6

163

1
2
3

el polinomio de grado a lo mas n  1 que mejor se ajusta a una nube de m puntos,


pxi, yiq, distribudos en el plano es el de encontrar la funcion
pxq  c1 1 pxq

c2 2 pxq



cn n pxq,

que mejor se ajusta a una de tales nubes de puntos. Aqu 1 , 2 ,. . . , n son funciones
dadas, o de las que uno sospecha que una combinacion lineal de ellas puede ajustarse
bien a los datos. En este caso el problema se reduce a calcular el vector c donde se
alcanza el mnimo:
mn }Ax  y }2 ,

x C

siendo A P Fmn la matriz cuyo elemento en la posicion pi, j q es j pxi q y siendo y el


vector cuyas componetes son y1 , . . . , ym .

8.2.

La soluci
on del problema de mnimos cuadrados

En esta seccion demostramos el resultado que nos da la solucion del problema de


mnimos cuadrados. Geometricamente la situacion es muy simple (vease la Figura
8.3): el vector de Im A cuya distancia a b es mnima es la proyeccion ortogonal de b
sobre Im A. Y la distancia mnima es la norma del residuo. Esto es lo que nos dice
el siguiente Teorema.

164

El Problema de Mnimos Cuadrados

r=Ax0b
b

Ax

Im A

Figura 8.3: La solucion del problema de mnimos cuadrados


Teorema 8.3 Sean A P Fmn , F  R o C, y b P Fm1 , m n. Sea PA la proyeccion
ortogonal sobre Im A. Entonces, Ax0 cumple

}Ax0  b}2  m
n }Ax  b}2
xPF
n

si y solo si se cumple cualquiera de las siguientes condiciones que son equivalentes:

 PAb.
b  Ax0 P pIm AqK .
A Ax0  A b.

(i) Ax0
(ii)
(iii)

Ademas, la solucion x0 es u
nica si y solo si rang A  n.
En la demostracion se usa el teorema de Pitagoras: Si x, y P Cn son ortogonales
entonces }x y }22  }x}22 }y }22 . En efecto, }x y }22  px y q px y q  x x y 
x y y  x  x x y  y  }x}22 }y }22 , donde hemos usado que x y  y  x  0 porque
x e y son ortogonales.
Demostraci
on.- Todo se basa en la demostracion de la idea geometrica expuesta
mas arriba:
mnn }Ax  b}2  }PA b  b}2 .

x C

Vemaos que esto es as. En efecto

}Ax  b}22  }Ax  PAb

PA b  b}22

 }Ax  PAb}22 }PAb  b}22

8.3 Algoritmos para calcular la solucion del problema de mnimos cuadrados

165

porque Ax  PA b P Im A y PA b  b  pI  PA qb P pImAqK y aplicando el Teorema


de Pitagoras. Por lo tanto, para todo x P Cn

}Ax  b}2 }PAb  b}2.


Pero como PA b P Im A, existe x1 P Cn tal que Ax1  PA b; i.e., }Ax1 b}2  }PA bb}2 .
Por lo tanto mn }Ax  b}2  }PA b  b}2 , tal y como deseabamos mostrar.
xPC
n

Ahora, si Ax0 es el vector que hace mnima la distancia de Ax a b entonces


n }Ax  b}22  }Ax0  b}22  }Ax0  PA b}22 }PA b  b}22 .
}PAb  b}22  xm
PC
n

De aqu deducimos que }Ax0  PA b}2

 0; es decir, Ax0  PAb.

Solo queda demostrar la equivalencia entre las tres condiciones. Por una parte

b  Ax0  b  PAb  pI  PAqb P pIm AqK.


Y si b  Ax0 P pIm AqK entonces PA pb  Ax0 q  0 de modo que PA b  PA Ax0 . Pero
como Ax0 P Im A tenemos que PA Ax0  Ax0 . Esto demuestra la equivalencia entre
PA b  Ax0

las condiciones (i) y (ii).

Finalmente, como pIm AqK  Ker A tenemos que b  Ax0


A pb  Ax0 q  0; i. e., A Ax0  A b.

P pIm AqK si y solo si

Falta demostrar que la solucion del problema de mnimos cuadrados es u


nica si y
solo si rang A  n. Ahora bien, rang A  n si y solo si A A es invertible. Una forma
de ver esto es, por ejemplo, la siguiente: rang A  n si y solo si n pAq  0. Como
los valores singulares de A son las races cuadradas positivas de los valores propios
de A A, n  0 si y solo si todos los valores propios de A A son distintos de cero;
i.e. detpA Aq  0. Pero A A es invertible si y solo si el sistema A Ax  A b tiene
solucion u
nica.

8.3.

Algoritmos para calcular la soluci


on del problema de mnimos cuadrados

El Teorema 8.3 nos da las claves para calcular un vector x0 que solucione el problema
de mnimos cuadrados. En primer lugar, el sistema A Ax  A b recibe el nombre de

166

El Problema de Mnimos Cuadrados

ecuaciones normales del problema de mnimos cuadrados. Es el sistema que aparece


al calcular el mnimo local de la funcion
f pxq  }Ax  b}2 .
Es decir, el sistema

Bf pxq  0,
B xi

i  1, . . . , n

da lugar al sistema A Ax  A b. Como la funcion f es convexa, alcanza su mnimo


absoluto en un mnimo local.
Para resolver el sistema A Ax  A b numericamente, tendremos en cuenta la estructura especial de la matriz A A: es hermtica (simetrica en el caso real). Ademas
es definida positiva porque x A Ax  }Ax}2 0 para x  0. Ahora bien toda
matriz hermtica definida positiva admite una factorizacion de Cholesky (variante
de la factorizacion LU cuando la matriz es simetrica o hermtica). En MATLAB
el comando chol(A) devuelve la factorizacion de Cholesky de A si esta es hermtica definida positiva. Recordemos que una factorizacion de Cholesky de una matriz
hermtica definida positiva, A, es una factorizacion de la forma
A  LL
siendo L una matriz triangular superior. Esta factorizacion es especialmente apropiada para resolver sistemas lineales mediante sustitucion hacia adelante y hacia
atras.
Teniendo en cuenta todo esto podemos dar un primer algoritmo para la resolucion
del problema de mnimos cuadrados.

Algoritmo mnimos cuadrados via ecuaciones normales


Dada A P Fmn y dado b P Fm
1. Formense las matrices A A y A b.
2. Calc
ulese la factorizacion de Cholesky de A A  LL , (chol(A))

 Ab (z o sustitucion hacia adelante)


Resuelvase L x  y.(z o sustitucion hacia atras)

3. Resuelvase Ly
4.

8.3 Algoritmos para calcular la solucion del problema de mnimos cuadrados

167

Cuando A es hermtica definida positiva pero mal condicionada, el algoritmo de


Cholesky puede dar resultados muy inexactos. Por lo tanto, el algoritmo anterior
no es adecuado para resolver el problema de mnimos cuadrados. Una posibilidad
sera usar la factorizacion QR de A A para conseguir la factorizacion de Cholesky
de A A en vez del algoritmo de Cholesky. En efecto, si A  QR es la factorizacion
QR reducida de A, entonces
A A  R Q QR  R R  LL ,
donde hemos utilizado que Q Q  In , por tener Q columnas ortonormales, y hemos
puesto L  R . Esto nos muestra que si A es de rango completo, la factorizacion de
Cholesky de A A es u
nica. Esta alternativa, sin embargo, carece de sentido porque
la ventaja del algoritmo de Choleski es que su coste es  n2 (mientras que el de
la factorizacion QR sera de orden c
ubico) y hay otros algoritmos que, cuando el
de Choleski no es aconsejable, usan la factorizacion QR y solo precisan resolver un
sistema triangular. Presentamos a continuacion uno de tales algoritmos.
En el segundo algoritmo se trata de conseguir la solucion, x0 , como solucion del
sistema Ax0  PA b. Para ello, debemos conseguir PA , que es la proyeccion ortogonal
sobre Im A. Recordemos que PA  QQ , donde Q es una matriz cuyas columnas
son una base ortonormal de Im A. Recordemos que si A  QR es una factorizacion
QR de A entonces las columnas de Q son una base ortonormal de Im A y, por
consiguiente, QQ es la proyeccion ortogonal sobre Im A.

Algoritmo mnimos cuadrados via factorizaci


on QR
Dada A P Fmn y dado b P Fm
1. Hallese la factorizacion QR, reducida, de A
2. Calc
ulese Q b.
3. Resuelvase Rx  Q b (z o sustitucion hacia atras)

Estos dos algoritmos pueden presentar problemas si la matriz A es singular o muy


proxima a serlo; i.e., pAq es muy grande. Si la situacion es esta, tenemos una
alternativa: los valores singulares.

168

El Problema de Mnimos Cuadrados

8.3.1.

El problema de mnimos cuadrados y la inversa MoorePenrose

La inversa generalizada de Moore-Penrose se puede definir como la matriz que soluciona el problema de mnimos cuadrados. Es decir, de la misma que la solucion del
sistema Ax  b es x  A1 b siempre que A sea invertible, la solucion del problema
de mnimos cuadrados es x0  A: b. Veremos que esto es, en efecto as, y que este hecho nos proporciona un algoritmo alternativo para resolver el problema de mnimos
cuadrados.
Recordemos que x0 es solucion del problema se mnimos cuadrados si y solo si es
solucion del sistema Ax  PA b, siendo PA la proyeccion ortogonal sobre Im A. Recordemos tambien que si r  rang A y A  U V  es una descomposicion completa
de A en valores singulares, entonces las r primeras columnas de U son una base ortonormal de Im A. (Proposicion 3.10). Sea Ur la submatriz de U formada por sus r
primeras columnas. Como son una base ortonormal de Im A, la matriz Ur Ur es la
proyeccion ortogonal sobre Im A. Es decir, PA  Ur Ur . As pues, si ponemos


r 0
0 0

entonces el sistema Ax  PA b es equivalente a




Ur r 0 V  x  Ur Ur b.
Y este sistema es equivalente a r 0 V  x  Ur b dado que Ur Ur
c  Ur b y y  V  x. Entonces,


Ax  PA b r 0 y
Si r

 Ir . Pongamos

 c.

 Diagp1, . . . , r q, la solucion general de este sistema es


y

 c1{1

c2 {2



cr {r yr



yn

T

con yr 1 ,. . . , yn , n
umeros arbitrarios. Si el rango de A es completo, n, la solucion del
sistema queda completamente determinada; cosa que ya habamos demostrado. Pero
si rang A n entonces hay infinitas soluciones del problema de mnimos cuadrados.
Entre ellas, se suele escoger la solucion de norma mnima. Y esta es la que se consigue
haciendo yr 1      yn  0. Finalmente, como y  V  x, tenemos que x  V y.

8.3 Algoritmos para calcular la solucion del problema de mnimos cuadrados

169

Ademas, }x}2  }V y }2  }y }2 . En definitiva, el vector x0 de norma mnima que


soluciona el problema de mnimos cuadrados es:


c1 {1
c2 {2 


 .. 
 . 

c1 {1
c { 


 2 2
x0  V y0  V cr {r   Vr  ..  ,


 . 
 0 
 . 
cr {r
 .. 
0
donde Vr es la submatriz de V formada por sus r primeras columnas.
Ahora vamos a volver hacia atras a fin de recuperar la solucion del problema
en terminos de los datos originales: A y b. Recordemos, antes de nada, que con
las notaciones introducidas A  Ur r Vr es una descomposicion reducida de A en
valores singulares. En consecuencia
A:

 Vr r 1Ur

es la inversa generalizada o Moore-Penrose de A.


Ahora bien,

c1 {1
c { 
 2 2
1
1 
x0  Vr  ..   Vr 
r c  Vr r Ur b,
 . 
cr {r

porque c  Ur b. As pues, el vector de norma mnima que soluciona el problema de


mnimos cuadrados es
x0

 Vr r 1Urb  A:b

tal y como habamos anunciado.


Este proceso, ademas, nos proporciona un algoritmo para calcular la solucion del
problema de mnimos cuadrados en el caso mas general.

170

El Problema de Mnimos Cuadrados

Algoritmo mnimos cuadrados via valores singulares


Dada A P Fmn y dado b P Fm
1. Calcular la descomposicion reducida de A en valores singulares:
A  U V  , U P Fmr , V P Fnr y  Diagp1 , . . . , r q.
2. Calcular c  U  b.
3. Calcular x  V 1 c. Este es el vector de menor norma que soluciona el problema de mnimos cuadrados.

8.4.

El condicionamiento del problema de mnimos cuadrados

El condicionamiento del problema de mnimos cuadrados es un tema importante porque tiene implicaciones no triviales en el estudio de la estabilidad de los algoritmos
para este problema. Como es habitual analizaremos en detalle el condicionamiento del problema y estudiaremos la estabilidad de los algoritmos mediante ejemplos
significativos.
Recordemos que el problema de mnimos cuadrados consiste en lo siguiente (supondremos en lo sucesivo que la matriz del sistema tiene rango completo):
Dada A P Fmn de rango completo y m n, y dado b P Fm ,
calcular x P Fn para que }Ax  b}2 sea mnima.

(8.2)

Ya sabemos que, en este caso, la solucion del problema es u


nica y viene dada por
x  A: b
donde A: P Fnn es la pseudoinversa o inversa generalizada de Moore-Penrose de A
(ver 3.6). Ademas, si y  Ax es el vector en Im A mas proximo a b entonces
y

 P b,

8.4 El condicionamiento del problema de mnimos cuadrados

171

siendo P la proyeccion ortogonal sobre Im A.


Nuestro objetivo es estudiar el condicionamiento del Problema (8.2) respecto a perturbacione en A y en b. Es decir, los datos del problema son la matriz A y el vector
b. La solucion es el vector de coeficientes x o el correspondiente vector y  Ax.
As pues
Datos: A, b.
Soluciones: x, y.
Tenemos as, en realidad, cuatro posibles cuestiones de condicionamiento: Error
relativo en x o y respecto a peque
nas perturbaciones en los datos b o A.
El objetivo en esta seccion es dar un resultado fundamental sobre el condicionamiento del problema de mnimos cuadrados. Para entender el enunciado y como apoyo
a la demostracion necesitamos introducir algunos conceptos y un par de resultados
auxiliares. En primer lugar debemos recordar que para una matriz A P Fmn de
rango completo n el n
umero de condicion es
2 pAq  }A}2 }A: }2

 1 .
n

r=Axb
y=Ax=Pb

Im A

Figura 8.4: El problema de mnimos cuadrados.


En segundo lugar, necesitamos el conceto de angulo entre dos vectores de Fm . Lo
definimos, como es habitual, a partir de la desigualdad de Cauchy-Schwartz: si x, y P
Fm entonces
|xy| }x}2}y}2,

172

El Problema de Mnimos Cuadrados

de modo que

1 }x}x }yy} 1.
2

Se define, entonces el angulo, , de x, y como

 arc cos }x}x }yy}


2

Equivalentemente
cos

 }x}x }yy}
2

.
2

En nuestro caso, para calcular el angulo de b e y debemos hacer el producto escalar


b y  b P b. Teniendo en cuenta que P es una proyeccion (P 2  P ) ortogonal
pP   P ) resulta que
b y

 bP b  bP P b  bP P b  }P b}22  }y}22.

As pues

 }}yb}}2 .
2
Para el seno usamos la identidad sen2  1  cos2 :
}y}22  }b}22  }y}22 .
sen2  1 
}b}22
}b}22
Ahora bien, b  y b  y siendo y y b  y ortogonales (y P Im A y b  y 
b  P b  pIm  P qb P pIm AqK ). Por consiguiente, usando el Teorema de Pitagoras,
}b}22  }y}22 }b  y}22 y
}b  y }2
sen 
}b}
cos

Todas estos resultados generalizan los habituales en R2 (Figura 8.4)


En tercer lugar, para cualquier norma inducida }Ax} }A} }x}. Necesitaremos una
medidad de lo lejos o cerca que esta }y }  }Ax} de su maximo valor posible:

2 }x}2
 }A}}y2 }}x}2  }A}}Ax
} .
2

Estos parametros tienen el siguiente rango de variacion:


1 pAq 8 0

{2

pAq

8.4 El condicionamiento del problema de mnimos cuadrados

173

Todas estas acotaciones son claras excepto, quiza, la u


ltima que viene de la siguiente
observacion:
}x}2  }A1Ax}2 }A1}2}Ax}2,
de modo que

}
A}2 }A1 }2 }Ax}2
 2pAq.

}Ax}2

El resultado previo que necesitamos es el siguiente


Lema 8.4 Para A P Fmn de rango completo n se tiene:

}pAAq1A}2  1 .

(8.3)

}pAAq1}2  12

(8.4)

siendo 1

   n los valores singulares de A.

Demostraci
on.- La propiedad (8.4) es una consecuencia inmediata de que los valores singulares de A son las races cuadradas positivas de los valores propios de A A,
y de que 1{n2 es el mayor valor singular de pA Aq1 (ver Porposiciones 3.12 y 3.16).
Para probar la propiedad (8.3) se usa el Teorema SVD para ver que los valores
singulares de pA Aq1 A y los de A: coinciden.
Podemos ahora plantear y demostrar el resultado principal
Teorema 8.5 Sean b P Fm y A P Fmn con b  0 y rang A  n m. Para el
problema de mnimos cuadrados (8.2) se cumplen las siguientes propiedades, todo
respecto de la norma `2 :
(i) El n
umero de condicion del problema de calcular y
1
.
cos

 Ax P Fn respecto de b es
(8.5)

174

El Problema de Mnimos Cuadrados

(ii) El n
umero de condicion del problema de calcular x P Fn respecto de b es
2 pAq
.
cos

(8.6)

(iii) Sea x la solucion del problema de mnimos cuadrados relativo a minimizar


}2 n entonces
}pA Aqx  b}2. Si y  pA Aqx y   }}A
A}2
1

}y  y}2  2pAq
}y}2
cos

Op2 q.

(8.7)

(iv) En las mismas condiciones del apartado anterior

}x  x}2   pAq
2
}x}2

2 pAq2 tan

Op2 q.

(8.8)

(v) Sea x es la solucion del problema de mnimos cuadrados relativo a minimizar


}pA Aqx  pb bq}2. Si sen  1 y
  max

"

}A}2 , }b}2 * n
}A}2 }b}2
1

   n los valores singulares de A, entonces

*
}x  x}2  " pAq  1
2 pAq2 tan
1
2
}x}2
cos

siendo 1

Op2 q.

(8.9)

En el caso especial en que m  n, el problema de mnimos cuadrados se reduce al


de la resolucion de un sistema de ecuaciones lineales. En tal caso  0 y las cotas
de (8.6) y (8.8) se reducen a 2 pAq{ y 2 pAq recuperando los resultados vistos en
la Leccion 4.
Demostraci
on.- Demostraremos las propiedades (i) y (v). La propiedad (ii) se
demuestra de manera muy similar a la propirdad (i), la propiedad (iv) es una caso
particular de la (v) y la propiedad (iii) requiere una demostracion independiente
pero parecida a la (iv).
(i) La relacion entre b e y es
y

 Pb

8.4 El condicionamiento del problema de mnimos cuadrados

175

siendo P la proyecccion ortogonal sobre Im A. Vimos en la Seccion 4.3 del Captulo


4 que el n
umero de condicion del problema de multiplicar Ax para A dada y x
variable:
f : Fn
Fm
x ; b  Ax
es


}f 1pxq}  }A} }x} ,


}f pxq}{}x} }Ax}

(8.10)

En nuestro caso se trata del n


umero de condicion del problema y
b para P dado. Entonces
}P }2}b}2
pbq 
}y }2

 P b respecto de

Como P es una proyeccion ortogonal


P  QQ para alguna matriz Q P Fnm con

r una matriz unitaria. Entonces
columnas ortonormales. Sea U  Q Q
U P U



Q
I 0

r
QQ Q Q  n

r
0 0
Q

Por lo tanto, los valores singulares de P son todos iguales a 1 y en particular

}P }2  1pP q  1
}y}2 . En conclusion:
Finalmente, recordemos que cos 
}b}2
}P }2}b}2  1 ,
pbq 
}y}2
cos
tal y como se deseaba demostrar.

}2 n
 1 A y f  1 b. Por hipotesis, }}A
A}2
1
y como }A}2  1 , tenemos que }A}2 n . Por el Teorema 3.18 resulta que
rangpA Aq  n y consecuentemente rangpA tE q  n para todo t P r0, s. Se
(v) En primer lugar definimos E

sigue entonces que el sistema

pA

tE q pA

tE qxptq  pA

tE q pb

tf q

(8.11)

176

El Problema de Mnimos Cuadrados

tiene una u
nica solucion para cada t P r0, s. Invertir una matriz es una funcion
diferenciable en los elementos de la matriz. Por lo tanto x es una funcion diferenciable
de t en r0, s. Por la definicion de diferencial
x1 p0q

xpq  xp0q

Op2 q.

Como xpq  x, xp0q  x, b  0 y sen

 1, tenemos que x  0 y
}x  x}2   }x1p0q}2 Op2q.
(8.12)
}x}2
}x}2
Necesitamos una estimacion de }x1 p0q}2 . Para ello calculamos x1 p0q en (8.11). Primero derivamos
E  pA tE qxptq

tE q Exptq

pA

pA

tE q pA tE qx1 ptq  E  ppb tf q

tE q f,

pA

y sustitumos t  0 recordando que xp0q  x:


E  Ax
As

A Ex

x1 p0q  pA Aq1 A pf

A Ax1 p0q  A f

E  b.

 Exq pAAq1E pb  Axq.

Tomando normas:

}x1p0q}2 }pAAq1A}2p}f }2 }E }2}x}2q }pAAq1}2}E }2}b  Ax}2.


Por una parte, }E }2

 1 }A}2 }A}2. Y de la misma forma }f }2 }b}2. Tambien

}A}2  }A}2, as que

}x1p0q}2 }pAAq1A}2p}A}2}x}2 }b}2q


}pAAq1}2}A}2}b  Ax}2
}2 .
}pAAq1A}2}A}2 }}Ab}}2 }x}2 }pAAq1}2}A}22 }b }AAx
}
2

Por otra parte, por el Lema 8.4,


2 pAq2 . Entonces

}pAAq1A}2}A}2  2pAq y }pAAq1}2}A}22 

}x1p0q}2 pAq  }b}2{}Ax}2


2
}x}2
}A}2}x}2{}Ax}2

2 pAq2

}b  Ax}2{}Ax}2 .
}A}2}x}2{}Ax}2

8.5 Estabilidad de los algoritmos para el problema de mnimos cuadrados

Ahora bien,

}2}x}2 , cos  }Ax}2


 }A}Ax
}
}b}
2

y tan

177

}2 . En consecuencia
 }b}AxAx
}
2

}x1p0q}2 pAq  1
2
}x}2
cos

2 pAq2

tan

sustituyendo en (8.12)

}x  x}2  " pAq  1


2
}x}2
cos

2 pAq2 tan

Op2 q,

tal y como se quera demostrar.

8.5.

Estabilidad de los algoritmos para el problema de mnimos cuadrados

Un estudio experimental de la estabilidad de los algoritmos para la resolucion del


problema de mnimos cuadrados lineal es el objetivo de una de las practicas obligatorias con MATLAB que habra de realizarse en este curso. En ella se plantea
un problema de mnimos cuadrados cuya solucion debe ser calculada con los tres
algoritmos vistos en la Seccion 8.3. A su vez, para los algoritmos basados en la factorizacion QR, se utilizaran los tres algoritmos vistos en las Lecciones 6 y 7; es decir,
los algoritmos clasico y modificado de Gram-Schmidt y el algoritmo de Householder.
A traves de dicho experimento se comprobara que los algoritmos basados en la resolucion de las ecuaciones normales y el factorizacion de Cholesky as como los basados
en la factorizacion QR obtenida con los algoritmos de Gram-Schmidt pueden dar
resultados con mucho error si la matriz del sistema esta mal condicionada. Por lo
tanto, estos algoritmos son inestables. No obstante, hay resultados (ver [11, Sec
20.4]) que muestran que para matrices bien condicionadas el algoritmo basado en la
resolucion de las ecuaciones normales es estable hacia atras y para valores de m mucho mayores que n, el coste operacional sensiblemente menor que el metodo basado
en la factorizacion QR mediante reflexiones de Householder. En tale situaciones, el
metodo basado en la resolucion de las ecuaciones normales sera el preferido. Por
otra parte, a pesar de que el metodo basado en la factorizacion QR mediante el
algoritmo modificado de Gram-Schmidt es inestable cuando se implementa de la
manera indicada en la Seccion 8.3, hay una forma de hacerlo que lo hace estable

178

El Problema de Mnimos Cuadrados

hacia atras (ver [11, Sec 20.3]). Finalmente, los algoritmos basados en la factorizacion QR mediante reflexiones de Householder y valores singulares son estables hacia
atras para sistemas en los que A es una matriz de rango completo. A continuacion
se enuncian los teoremas que lo hace explto.
Teorema 8.6 Supongamos que el problema de mnimos cuadrados con una matriz
A de rango completo se resuelve mediante el algoritmo QR por reflexiones de Householder o mediante la descomposicion en valores singulares en un ordenador que
cumple los axiomas (5.2) y (5.4) de la Leccion 5. Este algoritmo es estable hacia
atras: para cada A P Fmn (m n y rang A  n) existe una perturbacion A tal
que
}A}  Op q
M
}A}
p producida por el algoritmo satisface
y la solucion x

}pA

p  b}2
Aqx

 m
n }pA
xPF
n

Aqx  b}2 .

Para terminar, conviene mencionar que si la matriz A no es de rango completo,


sabemos que la solucion no esta determinada de forma u
nica y el u
nico algoritmo
completamente estable es el basado en la descomposicion de A en valores singulares.

Captulo 9

El algebra de los valores propios

9.1.

Introducci
on

El objetivo de este tema es proporcionar las ideas matematicas que se usan en


el calculo numerico de los valores propios de matrices. En parte es un repaso de

conceptos ya estudiado en cursos basicos de Algebra


Lineal pero el enfasis se pone
en aquellos aspectos que son importantes en el analisis numerico. As, mientras que el
objetivo teorico u
ltimo, en relacion con los valores y vectores propios, es la obtencion
de la forma canonica de Jordan que proporciona un sistema completo de invariantes
para la semejanza (o conjugacion) de matrices, esta es de muy poca relevancia
desde el punto de vista numerico. La razon es que la forma canonica de Jordan es
altamente inestable y, salvo que se usen algoritmos simbolicos, rara vez se puede
obtener con fiabilidad. A lo largo de este tema veremos que uno de los problemas es
que las transformaciones de semejanza no son recomendables para la obtencion de
los valores y vectores propios de matrices. En su lugar, mucho mas fiables son las
transformaciones de semejanza unitaria. Este planteamiento nos conduce a estudiar
179

180

El algebra de los valores propios

con detalle la forma de Schur (compleja y real) que sera el objetivo final de los
algoritmos de calculo de valores propios.
En este primer tema sobre valores propios nos centraremos en los aspectos teoricos
que nos permitiran comprender mejor los algoritmos que veremos en el siguiente
tema. Empezaremos repasando los conceptos de Algebra Lineal relacionados con
los valores y vectores propios. Entre otras cosas veremos que el conjunto de las
matrices con valores propios distintos forman un conjunto denso en el espacio de las
matrices cuadradas; lo cual, desde un punto de vista numerico, hace practicamente
indistinguibles las matrices con valores propios distintos de las que no tienen esta
propiedad. Por ello, las matrices que tienen valores propios repetidos se llaman
matrices defectuosas. Veremos que no ser defectuosa equivale a ser diagonalizable
por semejanza (o conjungacion).
La mayor parte de los problemas en los que hay que calcular valores propios suelen
involucrar matrices de n
umeros reales. Pero como estas pueden tener valores propios
complejos y la teora basica es la misma para matrices reales o complejas, en todo
este tema, y salvo que se especifique lo contrario, F representara indistintamente el
cuerpo de los n
umeros reales o el de los complejos.

9.2.

Valores y vectores propios

Si A P Fnn , 0
x P Cn tal que

P C es un valor propio (o autovalor) de A si existe un vector no nulo


Ax  0 x

Al conjunto de valores propios (distintos) de A lo denotaremos por pAq; y a este


conjunto se le conoce con el nombre de espectro de A. En algunos libros y artculos se le suele denotar por pAq, pero cada vez se utiliza mas la notacion que se
empleara aqu: pAq.
Si 0 P pAq, los vectores x  0 para los que Ax  0 x se llaman vectores propios
o autovectores de A asociados al valor propio 0 . Para 0 P pAq sea
S0

 tx P Cn|Ax  0xu

Este conjunto es un subespacio vectorial de Cn que se llama subespacio propio de A


asociado a 0 . Como
x P S0 p0 In  Aqx  0

9.2 Valores y vectores propios

181

resulta que el subespacio propio de A asociado a 0 es Kerp0 In


x P S0 entonces
p0In  AqAx  Ap0In  Aqx  0,

 Aq. Ademas si

de modo que Ax P S0 . Los subespacios que cumplen esta propiedad (x P S Ax P


S) se llaman subespacios invariantes por A. As pues, los subespacios propios de A
son invariantes por A (o A-invariantes).
La siguiente propiedad pone de manifiesto que vectores propios asociados a valores
propios distintos son linealmente independientes
Proposici
on 9.1 Sea A P Fnn y t1 , . . . , s u pAq.
(a) Si para i  1, . . . , s, xi es un vector propio de A asociado al valor propio i ,
entonces los vectores x1 ,. . . , xs son linealmente independientes.
(b) La suma Kerp1 In  Aq



Kerps In  Aq es directa.

Demostraci
on.- (a) Lo demostraremos por contradiccion. Recordemos que pAq
es el conjunto de los valores propios de A y, por lo tanto i  j para i  j.


Con los vectores x1 ,. . . , xs construmos la matriz X  x1    xs . Si x1 ,. . . , xs


no son linealmente dependientes, entonces rang X  r s y hay r columnas de X,
digamos xi1 ,. . . , xir que son linealmente independientes y vectores propios asociados
a los valores propios i1 ,. . . , ir . Sea xj una columna de X tal que j R ti1 , . . . , ir u,
entonces
xj  1 xi1    r xir .
Como xj

P Kerpj In  Aq y Axi  i xi , k  1, . . . , s, resulta que

0  pj In Aqxj

 pj InAqp1xi   
1

r xir q  1 pj i1 qxi1



r pj ir qxir

Y como xi1 ,. . . , xir son linealmente independientes


k pj

 i q  0,
k

 1, . . . , r.

Pero xj  0, de modo que al menos un k  0. Para ese ndice k conclumos que


necesariamente j  ik contradiciendo que todos los valores propios son distintos.

182

El algebra de los valores propios

 KerpiIn  Aq, entonces para j  1, . . . , s


Mj  R1 X    X Rj 1 X Rj 1 X    X Rs  t0u.

(b) Hay que demostrar que si Ri

Si 0  x P Mj para alg
un j, entonces
Ax  j x  j pv1



v j 1

vj



vs q,

As

pi  j qvi 

i j

i j

i vi  j

i j

vi

Avi  j x  A

i j

vi

P KerpiIn  Aq.

vi

 j x  Ax  j x  0

i j

Pero, por el apartado (a), los vectores v1 , . . . , vj 1 , vj 1 , . . . , vs son linealmente independientes. Por consiguiente i  j para i  1, . . . , j  1, j 1, . . . , s, lo que es
imposible porque son todos distintos.
Introducimos ahora los conceptos de multiplicidad algebraica y geometrica.
Definici
on 9.2 Para 0 P pAq se define la multiplicidad geometrica de 0 como
la dimension del subespacio propio de A asociado a 0 , y se denota por mgA p0 q:
mgA p0 q  dim Kerp0 In  Aq
Por otra parte,

P pAq Dx  0 t. q. p0In  Aqx  0 detp0In  Aq  0


Si denota una indeterminada, la matriz In  A esta definida en Frs, el anillo de
0

los polinomios en la indeterminada con coeficientes en F; i.e.


In  A P Frsnn

Como Frs es una anillo conmutativo, podemos calcular el determinante de In  A.


Es facil ver que este es un polinomio de grado n con coeficiente principal 1:
detpIn  Aq  n

p1 n1



pn1

pn .

Los polinomios cuyo coeficiente principal es 1 se llaman polinomios monicos. Y


al polinomio monico detpIn  Aq se le llama polinomio caracterstico de A. Lo
denotaremos por
pA pq  detpIn  Aq.

9.2 Valores y vectores propios

183

Si factorizamos este polinomio en C, se descompone como producto de potencias de


factores lineales:
ppq  p  1 qm1 p  1 qm2  . . .  p  1 qms ,

 j ,
entonces pAq  t1 , 2 , . . . , s u porque 0 P pAq si y solo si detp0 In  Aq  0,
i

tal y como hemos visto mas arriba.

Definici
on 9.3 Al n
umero mi se le llama multiplicidad algebraica de i como valor
propio de A, y se representa por maA pi q.
En otras palabras, la multiplicidad algebraica de un valor propio es su multiplicidad
como raz del polinomio caracterstico.
Cuando no haya posibilidad de confusion, en la notacion de las multiplicidades
algebraica y geometrica (maA p0 q y mgA p0 q) suprimiremos los subndices que hacen
referencia a la matriz.
Por otra parte, si A, B P Fnn son semejantes; i.e., A  T 1 BT para alguna matriz
T P Gln pFq, entonces tienen el mismo polinomio caracterstico, pA pq  pB pq. En
efecto,
pA pq





detpIn  Aq  detpIn  T 1 BT q 
detpT 1 pIn  B qT q  detpT 1 q detpT q detpIn  B q 
detpIn  B q  pB pq.

Una consecuendia de esta propiedad es que pAq  pB q y para cada 0 P pAq 


pB q, maA p0 q  maB p0 q. Tambien es cierto que mgA p0 q  mgB p0 q porque
Kerp0 In  Aq  T 1 Kerp0 In  B q,
lo cual se demuestra por doble inclusion como sigue:
x P Kerp0 In  Aq p0 In  Aqx  0 T 1 p0 In  B qT x  0
p0In  B qT x  0 T x P Kerp0In  B q x P T 1 Kerp0In  B q.
Ademas, como T es invertible, dim Kerp0 In  Aq  dim Kerp0 In  B q.
Las multiplicidades algebraica y geometrica de cada valor propio estan relacionadas
tay y como muestra la siguiente proposicion.

184

El algebra de los valores propios

Proposici
on 9.4 Para A P Fnn y 0

P pAq,map0q mgp0q.

Demostraci
on.- Sea mgp0 q  r y tt1 , . . . , tr u una base del subespacio propio
S0  Kerp0 In  Aq. Ampliamos
 esta base tt1 , . . . , tr , tr 1 , . . . , tn u para obtener
una base de Cn . Pongamos T  t1 t2    tn la matriz cuyas columnas son los
vectores de la base escogida. Y sea B  T 1 AT . Veamos la forma que tiene esta
matriz:
AT

At1

t1

As

Por lo tanto




Atr Atr
tr tr




tn

Atn


 0 Ir


C
D

p  0qIr
In  B 
0

0 t1



0 tr yr



yn

 T B.

C
Inr  D

detpIn  B q  p  0 qr detpInr  Dq.

Como A y B tienen para cada valor propio las mismas multiplicidades algebraicas y
geometricas y 0 podra ser valor propio de D, concluimos que r  mgp0 q map0 q.

Definici
on 9.5 Sea A P Fnn y 0

P pAq.

(a) Si mgp0 q map0 q entonces se dice que 0 es un valor propio defectuoso


de A. En caso contrario se dice que es no defectuoso. La matriz A se dice que
es defectuosa si tiene alg
un valor propio defectuoso y en caso contrario se dice
que es no defectuosa.
(b) Si map0 q  1 entonces se dice que 0 es un valor propio simple de A. La
matriz A se dice que es simple si todos sus valores propios son simples.
(c) Los valores propios no defectuosos que no son simple se llaman semisimples.
La matriz A se dice que es semisimple si sus valores propios son simples o
semisimples.

9.2 Valores y vectores propios

185

Debe notarse que para una matriz es lo mismo ser semisimple o ser no defectuosa
y que las matrices simples tiene todos sus valores propios distintos. En el extremo
opuesto, las matrices cuyos valores propios tienen todos multiplicidad geometrica 1,
se llaman no derogatorias. Las matrices simples son a la vez no defectuosas y no
derogatorias.
Posiblemente la denominacion de matriz defectuosa se debe al hecho de que casi todas las matrices son no defectuosas. Veremos que, en efecto, el conjunto de
matrices no defectuosas es un conjunto abierto y denso en el conjunto de todas
las matrices cuadradas. En otras palabras, tan cerca como se quiera de una matriz
defectuosa hay matrices que no lo son. Tambien se dice que la propiedad ser no
defectuosa es generica para las matrices.
Definici
on 9.6 A P Fnn se dice que es diagonalizable si es semejante a una matriz
diagonal.
Si A es diagonalizable, las matrices diagonales a las que es semejante son matrices
cuyos elementos diagonales son los valores propios (en alg
un orden) de A. En efecto,

1
si T AT  D  Diagpd1 , . . . , dn q entonces A y D tienen el mismo polinomio
caracterstico. Pero
detpIn  Dq  p  d1 qp  d2 q  . . .  p  dn q;
as que d1 , . . . , dn son los valores propios (quiza repetidos) de D y, por lo tanto, de
A.
Proposici
on 9.7 A P Fnn es no defectuosa si y solo si es diagonalizable.
Demostraci
on.- Claramente si A es diagonalizable es no defectuosa porque la mutiplicidad algebraica de sus valores propios es 1.
Recprocamente, si A es no defectuosa entonces para cada 0
map0 q  mgp0 q. Supongamos
pAq  t1 , . . . , s u
y

mapi q  mgpi q  mi ,

i  1, . . . , s.

P pAq se tiene que

186

El algebra de los valores propios

Esto significa que dim Kerpi In  Aq  mi y m1    ms  n. Pero por la


Proposicion 9.1 la suma Kerp1  Aq    Kerps In  Aq es directa, de modo
que dimpKerp1  Aq    Kerps In  Aqq  m1    ms  n. Es decir,
Cn  Kerp1  Aq `    ` Kerps In  Aq. As, si ttii , . . . , timi u es una base de
Kerpi In  Aq y T  t11    t1m1    ts1    tsms , las columnas de T forman
una base de Cn y consecuentemente T es invertible. Ahora
AT







At11

1 t11

t11






At1m1
1 t1m1

t1m1






ts1

Ats1    Atsms 

s ts1    s tsms 
1

..
.







tsms 



















1
...
s
..

s
TD

Como T es invertible, T 1 AT

 D con D diagonal.

La demostracion nos proporciona la siguiente informacion: Si A es diagonalizable y


formamos una matriz T cuyas columnas sean vectores propios asociados a los valores
propios de A (un vector propio por cada valor propio) entonces T es invertible y
T 1 AT es una matriz diagonal cuyos elementos diagonales son los valores propios
de A. Pero el recproco tambien es cierto: si T 1 AT  D es diagonal, entonces los
valores propios de A son los elementos diagonales de D y la i-esima columna de T
es un vector propio de A asociado al valor propio que ocupa la i-esima posicion de
la diagonal de D.
Si A no es diagonalizable, todava podemos encontrar una matriz T , no singular, tal
que T 1 AT es casi diagonal:

Teorema 9.8 (Forma can


onica de Jordan) Dada A P Fnn existe una matriz
no singular T P Cnn tal que T 1 AT  J es la forma canonica de Jordan de A. Es
decir, J es una matriz diagonal por bloques J  DiagpJn1 p1 q, Jn2 p2 q, . . . , Jns ps qq

9.2 Valores y vectores propios

187

y Jni pi q  DiagpJni1 pi q, Jni2 pi q, . . . , Jniri pi qq con




Jnij pi q 


0
.
 ..

0



.

i . . 0 0 
.. . . . .
.  P Cnij nij .
.
. .. 
.

0    i 1 
0    0 i

J es u
nica salvo permutacion de sus bloques diagonales.

Demostraciones de este teorema pueden encontrarse en muchos libros de Algebra


Lineal.
La forma canonica de Jordan ofrece toda la informacion sobre la estructura propia de
la matriz A. En efecto, sus valores propios son 1 ,. . . , s ; la multiplicidad geometrica
de i es ni y su multiplicidad geometrica es ri , el n
umero de bloques diagonales en
Jni pi q. Pero calcular numericamente la forma canonica de Jordan es una tarea
difcil, si no imposible, por dos razones especialmente:
No depende continuamente de A de modo que los errores de redondeo, por
peque
nos que sean pueden cambiarla completamente.
Ejemplo 9.9 Sea






Jn p0q  

1
.. ..
.
. 


..
. 1
0

una matriz en forma de Jordan. Para todo lo perque


no que se quiera, si
se a
nade el n
umero i  al elemento en la posicion pi, iq de Jn p0q la matriz
resultante tiene n valores propios distintos y es, por lo tanto, diagonalizable.
Su forma de Jordan sera Diagp, 2, . . . , nq. La distancia entre Jn p0q y esta
matriz diagonal es, en la norma de Frobenius, mayor que n  1. Por lo tanto,
peque
nas modificaciones en los elementos de Jn p0q producen una matriz cuya
forma de Jordan esta lejos de la forma de Jordan de Jn p0q (que es ella misma).
Por lo tanto la aplicacion que a cada matriz le asocia su forma de Jordan no
es continua.

188

El algebra de los valores propios

No se puede calcular de forma estable en general. En realidad, este es un


problema incluso cuando la forma de Jordan es diagonal: si T 1 AT  J y
T esta muy mal condicionada (pT q  }T } }T 1 } es muy grande) los valores
propios obtenidos pueden estar muy lejos de los exactos. El siguiente resultado
nos da muestra de ello.
Teorema 9.10 (Teorema de Bauer-Fike) Sea A P Fnn una matriz diagonalizable y sea T P Gln pCq tal que T 1 AT  D  Diagp1 , . . . , n q. Entonces, para cada
P pA E q, E P Fnn , se tiene que
mn |i  | }T } }T 1 } }E }

1 i n

donde

}  } es cualquier norma de matriz inducida por una norma de vector `p.

Recordemos que el n
umero de condicion de T es pT q  }T } }T 1 }, de modo que
este resultado nos dice que si T esta mal condicionada entonces los valores propios
de A E pueden estar muy lejos de los de A aunque E sea muy peque
na. El siguiente
ejemplo nos lo muestra.
Ejemplo 9.11 Sean

1
2
3
A  0 0,9990 1 ,
0
0
2
Entonces T 1 AT

1
1 0,9623
T  0 0,0005 0,1923
0
0
0,1925

 Diagp1, 0,9990, 2q. Y si




0
0
0
0
0 
E 0

5
10
0 105
entonces

p A

E q  t0,9995

0,0044i, 0,9995  0,0044i, 2, 0001u

El error en el calculo de los valores propios sera 2 ordenes de magnitud mayor


que el de la perturbacion. Notese que pT q  6,8708  103 . Lo que sera deseable
es poder utilizar matrices cuyo n
umero de condicion fuera lo mas peque
no posible.
Estas matrices son las matrices unitarias. Sin embargo, solo algunas matrices pueden reducirse a forma diagonal usando matrices unitarias tal y como veremos mas
adelante.

9.2 Valores y vectores propios

189

Demostraci
on Si P pAq entonces mn1in |i  |  0 y no hay nada que
demostrar. Supondremos entonces que R pAq de modo que  i para todo
i  1, . . . , n y In  D es invertible.
Como P pA

E q, existe un vector no nulo x P Cn tal que pA

E qx  x. As

Ex  pIn  Aqx  pIn  T DT 1 qx  T pIn  DqT 1 x.


Pongamos

T 1 x  y.

Entonces

T 1 Ex  pIn  Dqy

o
y

 pIn  Dq1T 1Ex  pIn  Dq1T 1ET y.

Tomando normas de vector y las correspondientes normas de matriz inducidas

}y} }pIn  Dq1} }T 1} }E } }T } }y}.


Como y

0

1 }pIn  Dq1 } }T 1 } }E } }T }

Ahora bien pIn

(9.1)

 Dq1  Diag 1 , . . . , 1 , y para cualquier matriz


1
n
diagonal B  Diagpb1 , . . . , bn q y para cualquier norma de matriz inducida por una
norma de vector `p se tiene que

}B }  1m
ax |b |
in i
En efecto

}B }  }m
ax }Bx}p
x}  1
p

pero

b1 x 1
b x 
 2 2
Bx   .. 
 . 
bn x n

As, para cualquier x P Fn unitario tenemos que

}Bx}p 1m
ax |b | }x}p  max |bi |
in i
1in

190

El algebra de los valores propios

Por otra parte, si max |bi |

 |bk | y tomamos x  ek , el k-esimo vector canonico,


resulta que }Bx}p  |bk |. En conclusion, para cualquier x P Fn unitario, }Bx}p
max |bi | y hay un x de norma 1 tal que }Bx}p  max |bi |. Por consiguiente
1in
1in

1 i n

}B }  }m
ax }Bx}p  max |bi |.
1in
x}  1
p

Continuando con la demostracion del teorema, tomando cualquier norma de matriz


inducida por una norma de vector `p
1
}pIn  Dq1}  1m
ax

in |  | mn
i

|  i |

1 i n

Sustituyendo en (9.1) conclumos que


mn |  i | }T } }T 1 } }E }

1 i n

que es lo que se quera demostrar.

9.3.

Semejanza Unitaria

En general no se puede diagonalizar una matriz cualquiera usando matrices unitarias,


pero s se puede triangularizar. Para calcular los valores propios esto es suficiente
porque los valores propios de una matriz triangular son tambien sus elementos diagonales. El siguiente resultado nos muestra como reducir una matriz cualquiera a
forma triangular mediante semejanza unitaria. Pero primero la defincion de lo que
significa este concepto.
Definici
on 9.12 Dos matrices A, B P Cnn se dice que son unitariamente semejantes si existe una matriz unitaria U P Cnn tal que B  U  AU . Si A, B P Rnn y
existe una matriz ortogonal P P Rnn tal que B  P T AP entonces se dice que A y
B son ortogonalmente semejantes.
Teorema 9.13 (Teorema de Schur) Si A P Fnn entonces A es unitariamente
semejante a una matriz triangular superior. Los valores propios de A son los elementos diagonales de dicha matriz triangular.

9.3 Semejanza Unitaria

191

Recordemos que F  R o C. El teorema dice que tanto si A es real como compleja


existe una matriz unitaria U P Cnn tal que U  AU  T con T triangular superior.
De la propia demostracion del teorema se desprendera que si A es real y sus valores
propios son todos reales entonces U tambien puede tomarse real y, por lo tnato,
ortogonal. Sin embargo, si A tiene valores propios complejos no reales entonces U
es necesariamente compleja.
Demostraci
on.- La demostracion es por induccion sobre n. Si n  1 no hay nada
que probar porque A  ras ya es triangular. Suponemos entonces que el teorema
nn
esta demostrado para matrices de orden hasta n  1. Sea
y 1 P pAq. Sea
 APC

u un vector propio unitario de A asociado a 1 y U  u U1 una matriz unitaria.
As, el espacio generado por las columnas de U1 es u K . Entonces
U  AU



u Au u AU1
u
A u U1 

U1 Au U1 AU1
U1

Como Au  1 u y u es un vector de norma eucldea 1, u Au  1 . Y como


U1  u K , U1 Au  1 U1 u  0. Por lo tanto, si ponemos B  U1 AU y
c  u AU1 , se tiene que


1 c

.
U AU 
0 B
Ahora, B es de tama
no pn  1qpn  1q por lo que aplicando la hipotesis de induccion
se tiene que existe una matrix unitaria V P Cpn1qpn1q tal que V  BV  T1 es una
matriz triangular superior. Entonces


1 0
1 0
U  AU

0 V
0 V

1 a
0 T1

 T,


1 0
donde a  c V , es una matriz triangular superior. Teniendo en cuenta que

0 V
es una matriz unitaria y que, por consiguiente, A y T son semejantes, se concluye
que detpIn  Aq  detpIn  T q 

i 1

 p  tiiq; i.e., los valores propios de A son

los elementos diagonales de T . Esto termina la demostracion del teorema.


Una consecuencia importante del Teorema de Schur es el siguiente resultado
Corolario 9.14 El conjunto de las matrices complejas de tama
no n  n con valores
nn
propios distintos es denso en C .

192

El algebra de los valores propios

Im

t77 +e7

t66=t77
e+
t
6 66

e2+ t22
t11= t22
e1+t11

Re

e4+t44
t55 + e5 t33=t44=t55
e3+t33

Figura 9.1: Distintos elementos para la diagonal de E

menor que 1{2


n

T . El radio de cada disco es

Demostraci
on.- Hay que probar que dada A P Cnn y dado 0 existe una matriz
1
nn
A PC
con todos sus valores propios distintos tal que }A  A1 } en alguna
norma. Usaremos la norma de Frobenius. Por el Teorema de Schur existe una matriz
unitaria U P Cnn tal que
U  AU  T  rtij s.
Tal y como se muestra en la Figura 9.1 se pueden escoger n n
umeros complejos
e1 , . . . , en tales que:
(a) |ei |
(b) t11

,y
n1{2

e1 , t22

e2 , . . . , tnn

en sean todos n
umeros distintos

De esta forma, si E  Diagpe1 , . . . , en q entonces T E es triangular superior con


los n
umeros t11 e1 , t22 e2 , . . . , tnn en en la diagonal; siendo estos n
umeros sus
1

valores propios. Ahora, si A  U pA E qU y teniendo en cuenta que la norma de
Frobenius es unitariamente invariante, resulta que

}A  A1}F  }U T U  U pE T qU }F }U EU }F 


}E }F 
2
2 1{2

 p|e1|2    |en|2q1{2 n    n

9.3 Semejanza Unitaria

193

que es lo que se quera demostrar.


Este resultado nos muestra una vez mas que solo es razonable intentar calcular
numericamente los valores propios de matrices diagonalizables y que con altsima
probabilidad los valores propios que puedan devolver los algoritmos van a ser todos
distintos.
Por otra parte, si A P Rnn es real se deseara poder reducir A a forma triangular
usando matrices ortogonales reales; i.e., usando aritmetica real que es mas barata desde el punto de vista del calculo. Ahora bien, una matriz real puede tener
valores propios complejos aunque estos deben aparecer en pares conjugados. Esto es
debido a que detpIn  Aq se factoriza en R en factores lineales o cuadraticos; los
primeros corresponden a races reales y los segundos tienen races complejas pero
ambas conjugadas, debido a que los coeficientes de los factores son reales. As pues,
no es posible obtener una matriz triangular realizando transformaciones ortogonales
sobre una matriz real si esta tiene valores propios complejos. A lo mas que podemos
aspirar es a obtener una matriz triangular por bloques con bloques diagonales de
tama
no 2  2 a lo mas.
Teorema 9.15 (Teorema de Schur real) Si A P Rnn , existe una matriz ortogonal P P Rnn tal que P T AP  T , con T una matriz cuasi triangular superior.
Es decir, T es una matriz triangular superior por bloques con bloques diagonales de
tama
no 1  1 o 2  2. Los valores propios de A son los valores propios de los bloques
diagonales de T . Los bloques de tama
no 1  1 corresponden a valores propios de A
reales y los de tama
no 2  2 a sus valores propios complejos conjugados.
Demostraci
on.- Se hace por induccion sobre n como en el caso complejo. Si n 
1 no hay nada que demostrar as que supondremos demostrado el teorema para
matrices de tama
no menor o igual que n  1. Sea A P Rnn y un valor propio
de A. Si P R entonces admite un vector propio, u, real y unitario. Que sea real
es consecuencia de que es solucion del sistema pIn  Aqx  0, siendo In  A
una matriz de n
umeros reales y las soluciones de los sistemas se obtienen mediante
operaciones sin salir del cuerpo. As Au  u y se procede como en el caso del
teorema de Schur complejo.
es tambien valor propio. Y si u es un vector
Si es un n
umero complejo entonces
s En efecto,
propio de A asociado a , u es un vector propio de A asociado a .

su
su
 u
sA
s  Au
s
Au

194

El algebra de los valores propios

Pongamos
uR

 u 2 us

uI

 us
 u 2i

s . Sea
siendo i la unidad
imaginaria. As uR , uI P Rn1 y uR , uI  u, u

r
r
U  uR uI y U  QR su factorizacion QR real (i.e., Q es real con columnas
r
ortonormales y R es real) As Im Q  uR , uI y podemos escoger una matriz Q
r es real y ortogonal. Ahora
tal que U  Q Q

U T AU



T
T
r
QT
r  Q AQ Q AQ
A
Q
Q
T
T
T
r
r AQ Q
r AQ
r
Q
Q

Pongamos B  QT AQ y observemos que B P R22 porque Q P Rn2 . As AQ  QB


r T AQ  Q
r T QB  0 porque las columnas de Q y Q
r son ortonormales. Por lo
y Q
tanto


T
r
B
Q
A
Q
U T AU 
r T AQ
r
0 Q
r T AQ
r P Rpn2qpn2q , aplicamos la hip
Como Q
otesis de induccion a esta matriz como
en el caso complejo.
s En efecto, como u y u
s son
Falta demostrar que los valores propios de B son y .
vectores propios asociados a valores propios distintos, son linealmente

 independienr  uR uI  QR resulta
tes. Y es facil ver que tambien uR y uI lo son. Y como U
que R es invertible. As


AQR  A uR uI

AuR AuI .

Ahora bien


AuR

u
s

 A 2  2 u 2 us 
 12 ppuR iuI q spuR  iuI qq  12 pp
 RepquR  ImpquI .
u

De la misma forma AuI




A uR uI

 ImpquR


AuR AuI

squR

quI q 
ip 

RepquI . Entonces


uR uI

Repq Impq
Impq Repq .

9.4 Vectores propios a la izquierda

195

Como B  QT AQ resulta que AQR  QBR  QRR1 BR y QR


consiguiente


Repq Impq

1
R BR 
Impq Repq

uR uI . Por

s como valores propios.


y esta matriz tiene y

9.4.

Vectores propios a la izquierda

A los vectores propios, tal y como han sido definidos, se les suele llamar vectores
propios a la derecha. La razon es que, en ocasiones, se usan tambien vectores propios
a la izquierda y es necesario distinguirlos.
Definici
on 9.16 Si A P Fnn y 0 es un valor propio de A, se dice que un vector
no nulo y P Cn1 es un vector propio a la izquierda de A asociado al valor propio
0 si
y  A  y  0 .
El subespacio propio a la izquierda de A asociado a 0 es el conjunto de vectores
propios por la izquierda junto con el vector 0.
Debe observarse que los valores propios de A y A estan relacionados mediante
s0 P pA q. Como, adem
conjugacion. Es decir, 0 P pAq si y solo si
as, conjugando
y trasponiendo se tiene que
y  A  y  0

Ay  s0y,

el siguiente resultado se sigue de forma inmediata.


Proposici
on 9.17 y P Cn1 es un vector propio a la izquierda de A asociado al
valor propio 0 si y solo si es un vector propio a la derecha de A asociado al valor
s0 .
propio
Si la matriz A es diagonalizable; o incluso, si 0 es un valor propio simple de A
aunque A no sea diagonalizable, entonces en su forma canonica de Jordan el bloque

196

El algebra de los valores propios

correspondiente a 0 es de tama
no 1  1. Por lo tanto, si


T 1 AT

J 

...





0




..

0
..
.



0
..
.


..






0




...

y 0 esta en la posicion pi, iq de J entonces


yi A  0 yi

y Axi

 0 xi ,

siendo yi la i-esima fila de T 1 y xi la i-esima columna de T . Como T 1 T es la


matriz identidad se sigue que y  x  1. Sin embargo, si 0 es un valor propio con un
bloque de Jordan de tama
no mayor que 1 este producto escalar es cero. Para verlo
basta considerar el caso en el que A es de la forma Jn p0 q. En este caso, un vector

T
1
0



0
propio por
la
derecha
de
A
es
e

y un vector propio por la izquierda
1


es en  0 0    1 .
Que pasa, finalmente, si 0 es semisimple pero no simple?. En este caso hay mas
de un bloque de Jordan de A asociado a 0 , pero todos ellos son de tama
no 1  1;
i.e., las mutiplicidades algebraicas y geometricas de 0 son iguales y mayores que 1.
Hay vectores propios a la izquierda y a la derecha cuyo producto escalar es 1, pero
los hay tambien que son ortogonales.
El producto escalar entre los vectores propios por la izquierda y la derecha de un
valor propio juega un papel fundamental en el analisis del condicionamiento del
problema de calcular los valores propios de una matriz.
Los vectores propios a la izquierda se pueden usar para proporcionar otra forma de
construir una forma de Schur de una matriz. El proceso sera el siguiente (se detalla
solo el caso complejo, el real sera similar): Si A P Cnn y P pAq sea u P Cn1 un
vector propio a la izquierda de A de norma eucldea 1 asociado a . Con este vector
se construye una matriz unitaria U que tiene el vector u como u
ltima columna:
U
Entonces

U  AU

U1 u .




U1
U1 AU1 U1 Au
U
u
A

.
1
u
u AU1 u Au

9.5 Matrices unitariamente diagonalizables

Pero u Au  u u  y u AU1
ortonormales a u. As
U  AU




197

u U1

0 porque las columnas de U1 son

U1 AU1 U1 Au


0

y aplicamos el proceso de induccion a U1 AU1 para obtener una matriz triangular.

9.5.

Matrices unitariamente diagonalizables

Hemos visto que toda matriz compleja es unitariamente semejante a una matriz
triangular (teorema de Schur). Algunas tienen la propiedad mas fuerte de ser semejantes a una matriz diagonal. Son las matrices normales. Las introducimos, sin
embargo, de otra forma.
Definici
on 9.18 Una matriz A P Cnn se dice que es normal si conmuta con su
traspuesta conjugada. Es decir, si AA  A A.
Con esta definicion vemos que las matrices unitarias y las matrices hermticas son
ejemplos de matrices normales. En efecto, si U P Cnn es unitaria entonces U  U 
U U   In . Y is H P Cnn es hermtica entonces H   H y toda matriz conmuta
consigo misma.
Veamos ahora que las matrices normales as definidas son precisamente las que son
unitariamente diagonalizables.

Teorema 9.19 Una matriz es normal si y solo si es unitariamente diagonalizable.


Demostraci
on.- Si A P Cnn es unitariamente diagonalizable entonces
U  AU
con U

D

P Cnn unitaria y D  Diagp1, . . . , nq. Entonces A  U DU  y


A

s 
 U DU   U DU

198

El algebra de los valores propios

En consecuencia

s  U DU 
A A  U DU


s
 U DDU

s son diagonales, conmutan. Es decir,


Y como D y D


s
A A  U DDU

s   U DU  U DU
s   AA ,
 U DDU

y A es normal.
Recprocamente, por el teorema de Schur para cada A P Cnn existe una matriz
unitaria U P Cnn tal que U  AU  T , una matriz triangular superior. Si A es
normal entonces A A  AA y esto equivale a que T  T  T T  . Veamos, por
induccion sobre el tama
no de T , n, que esto solo es posible si T es diagonal.
Si n  1 no hay nada que demostrar. Supongamos la propiedad demostrada para
matrices de tama
no a lo mas n  1 y sea T una matriz triangular superior tal que


T T  T T . Pongamos


t11 t12
T 
0 T22
Entonces

s
t
T   11

t12

Por una parte

0

T22

|t |2
T T   11

Y por otra
T T


t12 t12 t12 T22

T22 t12
T22 T22

2
 t|11t11t12|

s
t11 t12

 T22
T22

Para que estas dos matrices sean iguales debe suceder que t12 t12
}t12}22 y }t12}2  0 si y solo si t12  0. En consecuencia
T

t11 0
0 T22

 0. Pero t12t12 

  T  T22 . Aplicando la hipotesis de induccion a T22


y T  T  T  T si y solo si T22 T22
22
conclumos que T22 , y por lo tanto T , son diagonales.
Este resultado (que las matrices normales sean unitariamente diagonalizables) se
conoce con el nombre de Teorema espectral para las matrices normales. Y este, a

9.6 Teora de Perturbacion

199

su vez, se expresa diciendo que una matriz A P Fnn es normal si y solo si se puede
escribir en la forma
A

i vi vi

i 1

con v1 ,. . . , vn vectores ortonormales.


Se trata, en efecto, de otra forma de escribir U  AU
V  U  entonces V es unitaria y




 Diagp1, . . . , nq porque si


v1
1




.
..
V  Diagp1 , . . . , n qV   ..  
 v1
.

vn
n

1 v1 v1





vn

n vn vn .

Hay dos tipos de matrices normales especialmente importantes: las matrices unitarias y las matrices hermticas (ortogonales y simetricas en el caso real). Las matrices
unitarias (ortogonales) son las matrices normales cuyos valores propios estan en la
circunferencia unidad (i.e., tienen modulo 1). Y las matrices hermticas (simetricas)
son las matrices unitarias cuyos valores propios son n
umeros reales. SE deja como
ejercicio probar ambas caracterizaciones.

9.6.

Teora de Perturbaci
on

El Teorema de Bauer-Fike (Teorema 9.10) es un ejemplo tpico de un resultado de


perturbacion cuantitativa de valores propios. Es decir, es un resultado sobre como
varan los valores propios de una matriz al someterla a una perturbacion aditiva (peque
na, habitualmente). Hay muchos otros resultados de este tipo (vease por ejemplo
[24]), pero en esta seccion nos centraremos en lo que se conoce como perturbacion
cualitativa. En particular estudiaremos la continuidad y diferenciabilidad de los valores propios como funciones de la matriz. El objetivo final es encontrar una expresion
simple para el n
umero de condicion del problema de calcular un valor propio de una
matriz.

200

9.6.1.

El algebra de los valores propios

Continuidad de los valores propios

En el Ejemplo 9.9 hemos visto que, en general, la Forma de Jordan de una matriz
no depende continuamente de esta. Este hecho implica que peque
nos cambios en la
matriz dada pueden resultar en grandes modificaciones en su Forma de Jordan. Esto
no significa que no sea posible calcular numericamente la forma de Jordan de ciertas
matrices (de hecho lo es) pero el dise
no de cualquier algoritmo con este proposito
debera tener en cuenta este problema de falta de continuidad y en particular el
hecho de que el conjunto de matrices simples es denso en Fnn (Corolario 9.14).
Tanto este Corolario como el Ejemplo 9.9 reflejan que el problema estriba en la
preservacion de los tama
nos de los bloques de Jordan por peque
nas perturbaciones.
Ahora nos proponemos mostrar que es ah y solo ah donde estan las dificultades
teoricas. Es decir, el objetivo es demostrar que los valores propios de una matriz
dependen continuamente de la matriz, y que en el caso de ser simples lo hacen
diferenciablemente. Este resultado nos permitira definir el n
umero de condicion del
problema de calcular valores propios simples.
El problema que queremos abordar es el de calcular los valores propios de cada
matriz A P Fnn . La primera dificultad que nos encontramos para plantear la funcion que define este problema es cual es su conjunto de llegada. El conjunto de
partida esta claro: Fnn (F  R o C) pero hay una peque
na dificultad para definir
correctamente el conjunto de llegada. Por ejemplo, los valores propios de la matriz
A

1 3
0 2

son tanto p1, 2q como p2, 1q. En otras palabras, mirando pAq como una n-tupla
de n
umeros complejos (posiblemente repetidos), esta esta determinada salvo una
permutacion de sus componentes. Esto nos conduce a considerar en el conjunto Cn
la siguiente relacion de equivalencia:

p1, . . . , nq  p1, . . . , nq i  piq, i  1, . . . , n


para alguna permutacion P n , el grupo de permutaciones de orden n. Al correspondiente conjunto cociente lo representamos como Cn {. As el problema de
calcular los valores propios de una matriz queda definido por la aplicacion:
f : Fnn
Cn {
r  rp1 , . . . , n qs
A ;

9.6 Teora de Perturbacion

201

donde pAq  p1 , . . . , n q son los valores propios de A en alg


un orden. A los
elementos de Cn { los llamaremos n-tuplas desordenadas de n
umeros complejos.
Nuestro objetvo es demostrar que f es una funcion continua. Para ello debemos
dotar a Cn { de una topologa. Lo mas natural es considerar en Cn la topologa
habitual (la derivada de cualquier norma) y en Cn { la correspondiente topologa
cociente; es decir, la topologa mas fina que hace que la proyeccion canonica
:

Cn

Cn {
r  rp1 , . . . , n qs
 p1 , . . . , n q ;

sea una funcion continua. En otras palabras U


Cn abierto.

Cn{ abierto si y solo si 1pU q

Otra forma de dotar a Cn { de una topologa es a traves de una metrica. Para


r
,
r P Cn { se define la distancia de emparejamiento
optimo entre estas dos
n-tuplas desordenadas de la siguiente forma:
r
rq  mn m
dp,
ax |j

n 1 j n

 p j q |

ry
r, resdonde p1 , . . . , n q y p1 , . . . , n q son dos representantes cualesquiera de
pectivamente, y n es el grupo simetrico de orden n (i.e., el grupo de permutaciones
de orden n).
r
r y
Es facil demostrar que dp,
rq no depende de los representates elegidos para
r. Tambi

en se puede demostrar que d es, en efecto, una metrica para Cn { y que


la topologa cociente y la derivada de esta metrica son las misma; es decir, que un
subconjunto de Cn { es abierto en la topoloda cociente si y solo si es abierto en la
topologa derivada de la distancia de emparejamiento optimo. No lo haremos aqu y
se deja como ejercicio (vease [1, Ex. VI.I.1]).

Necesitamos ahora analizar de cerca el polinomio caracterstico de una matriz A.


Recordemos que pA pq  detpIn  Aq. Un analisis minucioso de este determinante
revela (vease por ejemplo el Teorema 4.11.2 de [14]) que si pA pq  n a1 n1
   an1 an entonces
ak

p1qk det Api1 : ik , i1 : ik q

1 i1 ... ik n

donde Api1 : ik , i1 : ik q es la submatriz principal de A formada por las filas y columnas


i1 , . . . , ik . En particular, a1   trpAq y an  p1qn det A. Esta representacion

202

El algebra de los valores propios

Im

Im

n ceros de f=
n ceros de f+g

33
Re

32
3(triple)
31

1
1(doble)
11

Re

23 21
24 2(cuadruple)
22

z
|f(z)|>|g(z)|

Figura 9.2: Interpretacion del Teorema


de Rouche

12

Figura 9.3: Valores propios de A E


en las bolas disjuntas centradas en los
valores propios de A con igual multiplicidad

explta de pA pq es importante porque muestra que los coeficientes del polinomio


caracterstico de una matriz son funciones continuas de esta. Veremos enseguida que
esta propiedad es crucial para demostrar que los valores propios, que son las races
del polinomio caracterstico, son funciones continuas de la matriz. Para lograr este
objetivo haremos uso de un importante resultado sobre funciones analticas de una
variable compleja (ver Figura 9.2):
Lema 9.20 (Teorema de Rouch
e) Sean f y g dos funciones analticas en el interior y sobre un contorno cerrado simple C. Si |f pz q| |g pz q| en todo punto
de entonces las funciones f y f g tienen el mismo n
umero de ceros, contando
sus multiplicidades, dentro de .
Ahora podemos demostrar que los valores propios son funciones continuas de la
matriz.
Teorema 9.21 La aplicacion
f : Fnn
Cn {
r  rp1 , . . . , n qs
A ;
que a cada matriz le asocia la n-tupla desordenada de sus valores propios (contando
multiplicidades) es una funcion continua cuando en Fnn se considera la topologa
habitual y en Cn { la derivada de la distancia de emparejamiento optimo.

9.6 Teora de Perturbacion

203

Demostraci
on.- Sea }  } una norma en Fnn . Debemos demostrar que @ 0
r} y
r es la n-tupla desordenada de valores propios de
existe tal que si }A  A
r
r entonces dp,
A
rq .
Supongamos fijado un 0 y denotemos por i1 ,. . . ,is los valores propios distintos
de A. Sea mj la multiplicidad algebraica de ij , j  1, . . . , s. Sea B pij q la bola con
centro en ij y radio . Tomamos de modo que y que las bolas B pij q sean
disjuntas dos a dos (vease la Figura 9.3). Nuestro objetivo es demostrar que existe
r} entonces en el interior de cada
un n
umero real positivo tal que si }A  A
r (v
bola B pij q hay exactamente mj valores propios (quiza repetidos) de A
ease de
r en
nuevo la Figura 9.3). As pues, la distancia de ij a los mj valores propios de A
B pij q es menor que . Esto implica que hay una forma de emparejar los valores
r (existe una permutaci
propios de A y A
on ) tal que max |j  pj q | . Es decir,

1 j n

q , que es lo que se quiere demostrar.


Sea pA pq  n a1 n1    an1 an el polinomio caracterstico de A y sea j
la circunferencias que forma la frontera de la bola B pi q. Consideremos la funcion
r
r
d ,

polinomial

g : C
z ; zn

a1 z 

n 1



an1 z

an

Esta es una funcion analtica que no se anula en ning


un punto de j y que tiene
en el interior de cada j un u
nico cero de multiplicidad mj . Como j es compacto
y g es una funcion continua g alcanza en j su mnimo que es distinto de cero
porque, como acabamos de decir, g no se anula en j . Sea j  mn |g pz q| 0.

z j

Para este n
umero j
hpz q  z n b1 z n1
En efecto,

|gpzq  hpzq| |z|

0 existe j 0 tal que si |ak  bk | j para k  1, . . . , n y


   bn1z bn entonces |gpzq  hpzq| j para todo z P j .
|a1  b1||z| 

   |an1  bn1||z| |an  bn| j

n 1

|z |k

k 0

Como j es compacto, la funcion

|z |k

alcanza su maximo en j , digamos Mj .

Escogiendo 0 j {Mj conclumos que |g pz q  hpz q| j . Por consiguiente, si


ponemos q pz q  hpz q  g pz q resulta que |q pz q| j  mn |g pz q| |g pz q| para todo
k 0

z j

z P j . Por el Teorema de Rouche, g pz q y g pz q q pz q  hpz q tienen el mismo n


umero
de ceros en el interior de j . Es decir, hpz q tiene mj ceros en el interior de B pij q.

204

El algebra de los valores propios

 1m
n . Por la continuidad de los coeficientes del polinomio
j s j
r} y p rpq 
caracterstico respecto de la matriz, existe 0 tal que si }A  A
A
r entonces |ak  bk |
n b1 n1    b1 b0 es el polinomio caracterstico de A,
r est
para k  1, . . . , n. En conclusion, para j  1, . . . , s, mj valores propios de A
an
en el interior de B pi q, que es lo que se quera demostrar.
Sea, finalmente,

Corolario 9.22 El conjunto de matrices simples de Fnn es abierto


Demostraci
on.- Es una consecuencia inmediata del Teorema 9.21. En efecto, sea A
una matriz con valores propios simples 1 ,. . . , n y sea 0 tal que B pi qXB pi q 
H para i  j. De acuerdo con la demostracion del Teorema 9.21 existe un ta que si
}A  Ar} entonces Ar tiene un unico valor propio en cada B piq. En consecuencia,
r es simple. Esto demuestra que el conjunto de matrices simple es abierto.
A

9.6.2.

Localizaci
on de los valores propios

Tal y como hemos comentado en la introduccion de esta seccion, nuestro objetivo final es calcular el n
umero de condicion de los valores propios de una matriz.
Veremos que los valores propios simples son funciones diferenciables y para ello utilizaremos un resultado auxiliar que es importante en s mismo porque sirve para
localizar aproximadamente los valores propios de una matriz, es el llamado Teorema
de Gerschgorin:

Teorema 9.23 (Teorema de Gerschgorin) Sea A

P Cnn y i 




j 1
j i

|aij |, i 

1, . . . , n. Entonces todos los valores propios de A estan localizados en la union de


los n discos:
n

tz P C : |z  aii| iu : GpAq.

i 1

Ademas, si la union de k de estos n discos forma una region conexa que es disjunta
de los restantes n  k discos, entonces en dicha region hay precisamente k valores
propios de A.

9.6 Teora de Perturbacion

205

Demostraci
on.- Sea un valor propio de A y x un vector propio asociado a .
Pongamos x  rxi s y sea xp la componente no nula de x da mayor modulo: |xp | |xi |,
i  1, . . . , n. Como Ax  x tenemos que:
xp

 rAxsp 

apj xj

j 1

que es equivalente a

xp p  app q 

apj xj .




j 1
j p

La desigualdad triangular nos permite concluir que

|xp||  app| 







n


apj xj 

 j 1

 j p


|xp|




j 1
j p




j 1
j p

|apj xj | 




j 1
j p

|apj ||xj |

|apj |  |xp|p

As pues, |  app | p para alg


un p; es decir, esta en el disco cerrado con centro
en app y radio p . Puesto que no sabemos que p corresponde a cada valor propio
(salvo que conozcamos un vector propio asociado, que es tanto como conocer el
propio valor propio, y entonces no estaramos interesados en localizarlo porque lo
conoceramos exactamente), solo podemos concluir que cada valor propio esta en
la union de todos los posibles discos. Esto es GpAq.
Para demostrar la segunda parte escribimos A  D C con D  Diagpa11 , . . . , ann q
y por lo tanto C es la misma matriz que A salvo que los elementos diagonales son
todos cero. Para t P r0, 1s definimos B ptq  D tC, de forma que B p0q  D y
B p1q  A. Observamos que
i ptq 




j 1
j i

|bij ptq| 




|taij |  ti

j 1
j i

por lo que
GpB ptqq 

tz P C : |z  biiptq| iptqu  tz P C : |z  aii| tiu

i 1

i 1

206

El algebra de los valores propios

Por simplicidad vamos a suponer que la region conexa que es union de k discos y
disjunta de los restantes es la formada por los primeros k discos. Denotemos a esta
region por Gk , i. e.
Gk :

tz P C : |z  aii| iu

i 1

 GpAq  Gk su complementario respecto de GpAq. As Gk X Gck  H.


Esta claro que en Gk hay k valores propios de Ap0q  D y los restantes n  k estan
en Gck . Vamos a demostrar que esto mismo sucede para todo Aptq con t P r0, 1s.
Tomando un 0 para que la union de los discos Dpaii , q este en Gk para i 
1, . . . , k y en Gck para i  k 1, . . . , n, por la continuidad de los valores propios,
resulta que existe un 0 tal que si }E } entonces Ap0q E tiene k valores
propios en Gk y n  k en Gck . En particular existe un t0 0 tal que para t P r0, t0 q,
k valores propios de Aptq estan en Gk y n  k en Gck . Si t0 1 ya hemos terminado.
Si no, para probar que Aptq tiene k valores propios en Gk y n  k en Gck para todo
t P r0, 1s procedemos por contradiccion. Podemos suponer que existe t1 P rt0 , 1s tal
que Aptq tiene k valores propios en Gk y n  k en Gck para t P r0, t1 q y Apt1 q tiene
menos de k valores propios en Gk y mas de n  k en Gck . Si fuera al reves; es decir, si
Apt1 q tuviera menos de n  k valores propios en Gck y mas de k en Gk se procedera
y por Gck

de forma similar.

Veamos que esto conduce a una contradiccion. En efecto, sean 1 , . . . , s los valores
propios no repetidos de Apt1 q en Gk y s 1 , . . . , r los que estan en Gck . Sea 0 un
n
umero real tal que la union de los discos Dpi , q esta en Gk para i  1, . . . , s y en
Gck para i  s 1, . . . , r. Tal y como hemos razonado mas arriba, por la continuidad
de los valores propios, existe un t 0 tal que Apt1  tq tiene en

valores propios como Apt1 q y lo mismo en

i 1

Dpi , q tantos

Dpi , q. Es decir, Apt1  tq tiene

menos de k valores propios en Gk y mas de n  k en Gck ; lo que es una contradiccion


porque t1  t t1 y para t t1 la suposicion es que Aptq tiene exactamente k
valores propios en Gk y n  k en Gck .
i s 1

Lo siguiente es un ejemplo de aplicacion del Teorema de Gerschgorin

9.6 Teora de Perturbacion

207

Ejemplo 9.24 La siguiente matriz


A

1
104
104
2

puede verse como una perturbacion de la matriz Diagp1, 2q. Sus valores propios
pueden calcularse a mano: 1  108 y 2 108 . Que resultado nos proporciona el
Teorema de Gerschgorin? Seg
un este teorema, los valores propios de A deben estar
en el intervalo r1  104 , 1 104 s y r2  104 , 2 104 s. Por que en la recta real?
El Teorema de Gerschgorin garantiza que hay un valor propio en la bola de centro
1 y radio 104 y otro en la de centro 2 y el mismo radio. Pero A es real de modo
que si sus valores propios fueran complejos deberan ser conjugado uno del otro y
no podra uno estar en una bola y otro en la otra. Por lo tanto deben ser reales.

El teorema de Gerschgorin en el ejemplo anterior nos da una idea de que los valores
propios de A estan proximos a 1 y 2 pero la precision es escasa. Hay resultados que
mejoran el resultado de este teorema pero no proseguiremos en esa direccion. El
lector interesado puede consultar los libros [12, 26], por ejemplo.

9.6.3.

Diferenciabilidad de los valores propios simples

Podemos ahora afrontar el problema de la diferenciabilidad de los valores propios.


Veremos que los valores propios simples son funciones diferenciales de la matriz.
Cuando los valores propios no son simples esta propiedad de diferenciabilidad puede
fallar. Consideremos, por ejemplo, la siguiente matriz n  n


1
... ... 



A

.

. . 1

0
El polinomio caracterstico de esta matriz es ?n  de modo que A tiene como
valores propios las n races complejas de :  n . es diferenciable como funcion
de pero
1
d
n 1
 n
d

208

El algebra de los valores propios

que es 8 en  0 y para n 2. En otras palabras no es diferenciable en  0


cuando n 2. Esto no significa que no puedan calcularse los n
umero de condicion de valores propios m
ultiples, sino que no se puede hacer usando la diferencial.
Centraremos nuestra atencion en los valores propios simples.
El primer problema a la hora de hablar de la diferenciabilidad de los valores propios
simples es el de definir de forma adecuada una funcion que asocie a una matriz un
valor propio simple. Esto lo podemos hacer localmente con ayuda del teorema de
continuidad de los valores propios. En efecto, este teorema nos asegura que si 0 es
un valor propio simple de A P Fnn y 0 es cualquier n
umero real para el que
las bolas con centro en los valores propios de A y radio son disjuntas dos a dos,
r P B pAq resulta que en la bola
entonces existe un n
umero real 0 tal que si A
r Esto nos permite definir localmente, en el
B p0 q hay un u
nico valor propio de A.
entorno de una matriz A con un valor propio simple 0 , una funcion que asocia a
cada matriz de dicho entorno el u
nico valor propio simple que tiene en el entorno
fijado de 0 :
f : B pAq B p0 q
(9.2)
r0
r
A
;

Con esta notacion tenemos el siguiente resultado


Teorema 9.25 Sea A P Fnn , 0 un valor simple de A. Existen bolas abiertas
B pAq y B p0 q tales que la funcion definida en (9.2) es diferenciable en todo B pAq.
Ademas, si x, y son vectores propios de A, por la derecha e izquierda respectivamente,
r  A con A
r P B pAq entonces
asociados a 0 y E  A
r0

 0

y  Ex
yx

Op}E }2 q.

(9.3)

Demostraci
on: Para probar que f es diferenciable, supongamos que hemos demostrado la propiedad (9.3) para el valor propio simple 0 de A. Esto significa que para
A tE P B pAq se tiene que
f pA

tE q  f pAq
t

Por lo tanto
lm

f pA

 yyEx
x

tE q  f pAq
t

Op|t|}E }2 q.

 yyEx
x

9.6 Teora de Perturbacion

209

y esto significa que f es diferenciable y


f 1 pAqpE q 

y  Ex
yx

es la diferencial de f en A.
As pues solo debemos demostrar (9.3). Supongamos para ello que J  T 1 AT es
la forma de Jordan de A del Teorema 9.8. En realidad, nos interesa considerar una
leve variacion de esta forma clasica de Jordan. Se trata de lo siguiente. Supongamos
que z  0 es un n
umero complejo y que Jn pq es un bloque de Jordan. Definamos
2
Dz  Diagpz, z , . . . , z n q. Esta matriz es invertible y Dz1 Jn Dz difiere de Jn en que
los elementos en la subdiagonal superior son todos iguales a z en vez de ser todos
iguales a 1. Este procedimiento para un bloque de Jordan se puede generalizar a
cualquier matriz en forma de Jordan de modo que podemos suponer que la matriz
J  T 1 AT de mas arriba es la forma de Jordan de A con {3 en vez de 1 en la
superdiagonal. Dado que es un n
umero tal que las bolas centradas en los valores
propios de A y radio son disjuntas dos a dos, la distancia de 0 a cualquier otro
valor propio de A es mayor que . Ademas, como x, y son vectores propios de A por
la derecha e izquierda, podemos suponer que el elemento en la posicion p1, 1q de J
es 0 , que x es la primera columna de T y que y  es la primera fila de T 1 . Si no
x
fuera as podrmos sustituir x por x1   que tambien sera un valor propio de A
y x
por la derecha asociado a 0 y tendrmos que y  x1  1, que es lo que se necesita.
rA
Sea E una matriz tal que A

P BpAq y

Jr  T 1 pA

E qT

Si denotamos por yi a la i-esima fila de T 1 y por xj a la j-esima columna de T


resulta que el elemento en la posicion pi, j q de Jr es
Jrij
As pues, si ponemos ij
Jr11

 y1Ax1

Jrii

 yiAxi

 yiExj

yi Axj

 yiExj

 yiExj , tenemos que

y1 Ex1
yi Exi

 0

 i

11 ,
ii si i 1,

Jij .

210

El algebra de los valores propios

Jrii
Jrij

1  Jii

 Jij

yi Exi

yi Exj

1 

3
ii

ii
1

si Jii

si Jii

1

0

 ij en cualquier otro caso.

Ahora, si  0 y D  Diagp, 1, . . . , 1q resulta que Jr


Jr y tiene la siguiente forma:


0 11
12
 1 

22
21
2

Jr  
..
..

.
.

1
n1
n2




1n
2n
..
.

...



r 1 es semejante a
 DJD







nn

r  A E, Jr y Jr son los mismos cualquiera que sea  0.


Los valores propios de A
Vamos a usar el Teorema de Gerschgorin para localizar los valores propios de Jr en
el disco de centro 0 11 . El radio de este disco esta acotado por pn  1q siendo
  maxt|ij | : 1 i, j nu. Los demas discos de Gerschgorin estan centrados en
i ii y sus radios estan acotados por

1 

pn  3q.

(9.4)

Nuestro objetivo es encontrar n


umeros reales  0 y (que dependera de ) tales
que el disco de centro 0 11 y radio pn  1q sea disjunto de los discos con centro en
i ii y radio la cantidad de (9.4). En estas condiciones el Teorema de Gerschgorin
asegurara que en el disco con centro en 0 11 y radio ||p|12 |    |1n |q solo
habra un valor propio de Jr ; i.e. de A E. El radio de este disco nos permitira
valorar la distancia entre 0 y ese valor propio de A E. Veremos que esa distancia
se corresponde con la expresion (9.3).
Para que los discos en cuestion sean disjuntos es suficiente que la suma de sus radios
sea menor que la distancia entre los correspondientes centros; es decir,

| 0
Ahora bien

11  i  ii | pn  1q

| 0

1 

11  i  ii | |0  i |

3
2

pn  3q.
2.

9.6 Teora de Perturbacion

211

Y basta elegir y  0 para que

1 

pn  1q pn  4q

y en particular basta con que

1 

pn  1q

n

porque  0. Procedemos ahora a manipular esta desigualdad. En primer lugar es


equivalente a

pn  1q2  n

3
ya

(9.5)
n2     2   n  2   n
2
2
3
6
Recordemos que buscamos un n
umero real 0. Con esto en mente, para que se

verifique (9.5), basta encotrar y  positivos de forma que  n 0 y n2  


6

 0. La segunda desigualdad depende de y . Buscamos un n


umero real
2

y positivo que depende  para el que se cumpla que n2    0. Vista como


2
una inecuacion en el discriminante es
2
4

 4n 
2

2
4

1

16n2
2

que sera positivo si y solo si


16n2
2

1.

Si  cumple esta condicion, basta escoger

sustitucion que n2    0.
2

4
para ver mediante una simple

16n2
4


n 0 y

1 y tomamos 
resulta
2
6

que se verifica la desigualdad (9.5). Ahora bien, estas dos condiciones sobre  son
equivalentes a
"
*

0  mn
, ?
.
(9.6)
6n 4 n
En conclusion, si  cumple

212

El algebra de los valores propios

Por lo tanto, si  cumple esta condicion y 

4
, el disco con centro en 0 11 y

radio pn  1q tendra interseccion vaca con lo discos de centro i ii y radio el
n
umero de (9.4).
Finalmente, hemos definido   maxtij : 1 i, j nu y ij  yi Exj . As pues
|ij | }yi}2}xj }2}E }2 }T 1}2}T }2}E }2 donde }}9 2 es la norma espectral. Pongamos
"

 mn
, ?
6n 4 n
y sea

0 un numero real tal que

"

mn }T }1}T } , .
2
2
Si }E }2 entonces A E P B pAq y
  max t|ij |u }T 1 }2 }T }2 }E }2
1i,j n

Con este  y 

4
, en el disco de centro 0

r  A E. Pero,
valor propio de A

y  Ex y radio pn  1q hay un u


nico

pn  1q  4pn  1q  Op}E }22q  Op}E }2q,


2

debido a la equivalencia de normas. En conclusion


r0

 0

y  Ex
yx

Op}E }2 q

tal y como se deseaba demostrar.

9.6.4.

El n
umero de condici
on de los valores propios simples

Una vez que sabemos que los valores propios simples de una matriz son funciones
diferenciables de esta, podemos calcular facilmente el n
umero de condicion absoluto.
En efecto, sabemos que para A P Fnn el n
umero de condicion del problema de
calcular el valor propio simples 0 es
p0 q  }f 1 pAq}

9.6 Teora de Perturbacion

213

siendo f la funcion definida en (9.2) y f 1 pAq la matriz Jacobiana de f . Ahora bien,


el Teorema 9.25 nos da una expresion para la diferencial de f :
y  Ex
yx

f 1 pAqpE q 

donde y y x son vectores propios por la izquierda y derecha de A asociados a 0 .


Tomaremos valores propios normalizados; es decir, }x}2  }y }2  1. Escribiendo
esta diferencial mas formalmente (como aplicacion lineal):
f 1 pAq : Fnn
E

C
y  Ex
yx

la matriz Jacobiana, que seguimos denotando como f 1 pAq, es la matriz de esta


aplicacion lineal cuando se toman las bases canocicas. Es decir, es una matriz 1  n2
que identificandola con una matriz n  n, la pi, j q-esima componente es
y  Eij x
yx

siendo Eij la matriz cuyos elementos son todos cero excepto el de la posicion pi, j q
que es 1. As
y  Eij x  y i xj

y, en consecuencia, escrita la matriz Jacobiana 1  n2 en forma de matriz n  n:


B

 y1x yxT  y1x yx.

La norma eucldea de la matriz Jacobiana 1  n2 corresponde a la norma de Frobenius


de B. Es decir,

}f 1pAq}22  }B }2F  trpB B q  xyy1 x tr

xy  yx

 }y}22  1. Pero,

tr xx  trpxx q  1
   |xn|2  1. Por lo tanto

donde hemos usado que y  y

porque trpxx q  |x1 |2

2 p0 q  }f 1 pAq}2

 |y1x| .

 |y1x|2 tr

xx

214

El algebra de los valores propios

Finalmente, como y y x son unitarios |y  x|


forman y y x. Consecuentemente
2 p0 q 

1
| y  x|

 cos siendo el angulo agudo que


 sec

La interpretacion de este resultado es clara: el problema de calcular un valor propio


simple de una matriz esta mal condicionado cuando los vectores propios por la
izquierda y derecha son casi perpendiculares, mientras que cuando son colineales o
casi colineales esta bien condicionado. En particular si un valor propio tiene asociado
un bloque de Jordan de tama
no mayor que 1, entonces los vectores propios por la
derecha e izquierda son ortogonales (vease la Seccion 9.4) y su n
umero de condicion
es 8, lo que concuerda con el ejemplo visto al comienzo de la Seccion 9.6.3.
Por el contrario, si A es normal, entonces es unitariamente diagonalizable: U  AU 
D y los valores propios por la izquierda y por la derecha de A para el mismo valor
propio coinciden. Es decir, y  x  x x  1 y el problema de calcular valores propios
simples esta perfectamente condicionado. De hecho la expresion (9.3) proporciona,
en este caso, una relacion directa de la perturbacion en A y la perturbacion en 0 :

|r0  0| |xEx|

Op}E }2 q }E }2

Op}E }2 q

donde hemos usado que por la desigualdad de Cauchy-Schwarz |x Ex| }x}2 }Ex}2 
}Ex}2 y por la compatibilidad de la norma eucldea y la espectral }Ex}2 }E }2}x}2 
}E }2. No obstante, este resultado tambien es una consecuenca directa del Teorema
de Bauer-Fike.

Captulo 10

El problema de valores propios

10.1.

Introducci
on

El objetivo de este captulo es estudiar los algoritmos mas importantes para calcular
los valores propios de matrices generales; es decir, matrices que no son simetricas
o hermticas. Los algoritmos que veremos aqu son aplicables tambien a matrices
simetricas y hermticas pero para estas hay, ademas, otros algoritmos especficos.

En Algebra
Lineal Numerica se suele hablar de algoritmos directos y de algoritmos
iterativos para distinguir entre los algoritmos que producen el resultado deseado
tras un n
umero finito de iteraciones (algoritmos directos como los de Gauss o QR)
y aquellos que tienen como objetivo la construccion de una sucesion de objetos
que converge al resultado deseado. Como veremos enseguida hay una razon muy
poderosa para que los algoritmos para el calculo de valores y vectores propios sean
del segundo tipo. Y siendo las cosas as se habla de metodos directos e iterativos para
el calculo de valores y vectores propios con un significado diferente a los anteriores.
Los primeros buscan obtener todos los valores propios y (opcionalmente) los vectores
215

216

El problema de valores propios

propios; es decir, la forma de Schur de la matriz. Los metodos iterativos tratan de


calcular un valor propio seleccionado y un vector propio, y de forma reiterada llegar a
encontrar, si es posible, todos ellos. El algoritmo QR es el paradigma de los metodos
directos y el Metodo de las Potencias el de los metodos iterativos. En este Captulo
trataremos los metodos iterativos.

10.2.

El m
etodo de las potencias

El objetivo del metodo de las potencias es calcular un vector propio de una matriz
dada A P Fnn . Es extremadamente simple: Dado un vector no nulo x P Fn se construye la sucesion tAk xu, k  1, 2, . . .. Esta sucesion de vectores puede no converger
a un vector, pero frecuentemente la sucesion de los subespacios generados por sus
elementos,t Ak x u, s. Recordemos que para cada valor propio no hay un vector
propio determinado unvocamente, sino todo un subespacio de ellos (exceptuando
el vector cero que no es un vector propio). Por lo tanto, lo que nos interesa es buscar un subespacio propio de A y despues escoger un vector propio particular; por
ejemplo, un vector propio unitario. As pues, debemos estudiar la convergencia de
subespacios y no de vectores propiamente.

10.2.1.

Convergencia de subespacios

En primer lugar, al conjunto de subespacios de Fn de dimension d se le llama Grassmanniana o Variedad de Grassman, y se representa mediante el smbolo Grd pFn q:
Grd pFn q  tS

Fn : S subespacio de dimension du

Para poder hablar de convergencia de subespacios, debemos dotar a Grd pFn q de una
estructura topologica. Hay dos formas clasicas de hacerlo que producen la misma
topologa: definir una distancia entre subespacios, llamada distancia gap, o identificar el conjunto de subespacios de dimension d con un conjunto cociente de matrices
y definir en este la topologa cociente. Aunque la primera forma de proceder es mas
apropiada para el analisis numerico porque proporciona cotas cuantitativas en el
analisis del error, es tambien la mas larga. Como, ademas, no haremos un analisis
del error muy riguroso, adoptaremos la segunda aproximacion, que es mas rapida.

10.2 El metodo de las potencias

217

Dado un subespacio S de dimension d en F n y dada una


 base tx1 , . . . , xd u, llamaremos matriz base de S a la matriz X  x1    xd . Las matrices base de los
subespacios de dimension d tienen la particularidad de ser matrices de tama
no n  d
y de rango d. Y toda matriz con estas propiedades genera un subespacio de dimension d. Pero puede haber mas de una matriz n  d de rango d que genere el mismo
subespacio: todas las matrices base deben estar relacionadas mediante una matriz
de cambio de base. Es decir, X1 , X2 P Fnd generan el mismo subespacio de dimension d si y solo si rang X1  rang X2  d y existe una matriz invertible P P Fdd
tal que X1  X2 P . Ahora bien, la relacion X1  X2 si y solo si existe P P Fdd
tal que X1  X2 P es una relacion de equivalencia en el conjunto Mn,d pFq de las
matrices n  d de rango d con elementos en F. Y cada subespacio de dimension d
puede identificarse con una clase de equivalencia. As, identificaremos
Grd pFn q 
M

Mn,d pFq
Gld pFq

pFq

donde Gln,d
representa el conjunto de clases de equivalencia por la relacion que
d pFq
acabamos de definir. En concecuencia, dada una matriz X P Mn,d pFq denotaremos
por X P Grd pFq el subespacio generado por las columnas de X.
Ahora, Mn,d pFq es un conjunto abierto de Fnd que podemos considerar dotado de
la topologa relativa. En este caso, U Mn,d pFq es abierto en Mn,d pFq si lo es
en Fnd . Con esta topologa en Mn,d pFq podemos dotar a Grd pFn q de la topologa
M pFq
cociente en Gln,d
: Si
d pFq
: Mn,d pFq
X

GrdpFnq
X

es la proyeccion canonica, U Grd pFn q es abierto si y solo si 1 pU q es abierto en


Mn,d pFq. As pues, la topologa de Grd pFn q es la topologa mas fina que hace de
una aplicacion continua. Tenemos ademas
Lema 10.1 es una aplicacion abierta.
Demostraci
on.- Hay que probar que si U Mn,d pFq es abierto entonces pU q
es abierto en Grd pFn q. Y, de acuerdo con la definicion de la topologa definida
en Grd pFn q, esto significa que 1 p pU qq es abierto en Mn,d pFq. Ahora bien, Y P

218

El problema de valores propios

1 p pU qq si y solo si Y P pU q; y esto equivale a que


alguna matriz X P U. Por lo tanto,
1 p pU qq  tXP : X

Y  X para

P U y P P GldpFqu

Para demostrar que 1 p pU qq es abierto tenemos que ver que si X P 1 p pU qq


existe un r 0 tal que si }X  Y } r entonces Y P 1 p pU qq. Tomamos, como
norma, cualquier norma de matriz y sea X P 1 p pU qq. Entonces XP P U para
alguna matriz P P Gld pFq. Como U es abierto, existe s 0 tal que si }XP  Z } s
entonces Z P U. Sea
s
0r
}P }
y supongamos }X  Y } r. Como }XP  Y P } }X  Y }}P } resulta que }XP 
Y P } s; por lo que Y P P U. Es decir, Y P 1 p pU qq tal y como se deseaba
demostrar.
Hay algunas propiedades topologicas importantes de Grd pFn q que utilizaremos pero
que no vamos a demostrar. Son las siguientes:
n,d pFq es el subconjunto de Mn,d pFq de matrices cuyas columnas son
(i) Si M
ortonormales y Ud pFq representa el grupo matrices unitarias (ortogonales si
n,d pFq{Ud pFq son
F  R) de tama
no d  d entonces Mn,d pFq{ Gld pFq y M
n,d pFq est
homeomorfos. Se entiende que M
a dotado de la topologa relativa
n,d pFq{Ud pFq es el conjunto cociente de
como subconjunto de Mn,d pFq y M
clases de matrices con columnas ortonormales que son matriz base del mismo
n,d pFq est
espacio vectorial. Es decir, Q1 , Q2 P M
an relacionadas si y solo si
n,d pFq{Ud pFq se
existe U P Ud pFq tal que Q2  Q1 U . El espacio cociente M
supone dotado con la correspondiente topologa cociente.
n,d pFq{Ud pFq son homeomorfos se puede
La prueba de que Mn,d pFq{ Gld pFq y M
obtener como consecuencia de que los factores Q y R en la factorizacion QR
de A (recordemos que por ser A de rango completo es u
nica) son funciones
continuas de A.

(ii) Si V

n,d pFq entonces


M
r1 p
rpV qq  tQZ : Q P V y Z P Ud pFqu,

r es una aplicaci
y se demuestra igual que en el Lema 10.1 que
on abierta.

10.2 El metodo de las potencias

219

(iii) Ya hemos dicho que a Grd pFn q se le puede dotar de una estructura de espacio
metrico con la llamada metrica gap. Somos ahora un poco mas precisos en
este punto: Dados dos subespacios S1 , S2 P Grd pFn q se define la distancia gap
entre S1 y S2 como
pS1 , S2 q  }P1  P2 }2
siendo Pi la proyeccion ortogonal sobre Si . Esta definicion es una generalizacion
de un hecho bastante natural para subespacios de dimension 1. Si dim S1 
dim S2  1 entonces S1  x y S2  y , digamos, con x  0, y  0.
En este caso resulta (aunque no es trivial demostrarlo) que }P1  P2 }2  sen
siendo el angulo agudo que forman x, y. Es claro que en este caso pS1 , S2 q 
sen define una metrica.
En cualquier caso, Grd pFn q con la topologa derivada de la metrica gap y
n,d pFq{Ud pFq son homeomorfos. La
los espacios cocientes Mn,d pFq{ Gld pFq y M
demostracion de este resultado tampoco es trivial.
(iv) Como todo espacio metrico es Hausdorff, Grd pFn q es Haussdorff.
n,d pFq es cerrado y acotado; por lo tanto com(v) Se demuestra facilmente que M
pacto (por ser subespacio de Fnd y F  R o C). Como la proyeccion canonica
n,d pFq
r:M

pq
n
p q es continua, Grd pF q es compacto.

n,d F
M
Ud F

El siguiente resultado muestra que la convergencia de sucesiones de subespacios


puede estudiarse a partir de la convergencia de matrices bases de los mismos.
Teorema 10.2 Sea tSk uk0,1,2,... Grd pFn q una sucesion de subespacios y S P
Grd pFq. Sea X P Mn,d pFq una matriz base de S y, para k  0, 1, 2, . . . Xk una
matriz base de Sk . Entonces Sk S si y solo si para cada k  0, 1, 2, . . . existe una
matriz invertible d  d Pk tal que Xk Pk X.
Demostraci
on.- La demostracion es elemental. Supongamos Sk S y sea UX un
entorno abierto de X. Como es abierta VS  pUX q es un entorno abierto de S y
como Sk S, existe un n
umero natural N tal que si k N entonces Sk P VS . Dado
que VS  pUX q, para cada k N existe una matriz Yk P UX tal que Sk  Yk .
Es decir, para cada k N existe una matriz invertible Pk tal que Xk Pk P UX . Esto
significa que Xk Pk X.

220

El problema de valores propios

El recproco se demuestra igual. Si VS es un entorno abierto de S entonces UX 


1 pVS q es un entorno abierto de X. Si existen matrices invertibles Pk tales que
Xk Pk X entonces existe un entero positivo N 0 tal que si k N se tiene que
Xk Pk P UX pero VS  pUX q. Por lo tanto, para k N se tiene que Sk  pXk Pk q P
VS . Es decir, Sk S.
r es abierta, la demostraci
Usando que
on del siguiente resultado es igual que la del
Teorema 10.2

Teorema 10.3 Sea tSk uk0,1,2,... Grd pFn q una sucesion de subespacios y S P
n,d pFq una matriz base ortonormal de S y, para k  0, 1, 2, . . .
Grd pFq. Sea Q P M
Qk una matriz base ortonormal de Sk . Entonces Sk S si y solo si para cada
k  0, 1, 2, . . . existe una matriz unitaria d  d Zk tal que Qk Zk Q.

Con estos resultados sobre convergencia de subespacios podemos probar el siguiente


resultado fundamental:
Teorema 10.4 Sea X P Mn,d pFq y A P Fnn una matriz tal que rangpAk X q  d
para todo k  1, 2, . . .. Si la sucesion de subespacios t Ak X u converge, lo hace a
un subespacio S P Grd pFn q que es A-invariante.
Demostraci
on.- Supongamos que Ak X S. Como rangpAk X q  d para
cada k 0 el subespacio Ak X P Grd pFn q. Ahora bien, Grd pFn q es un espacio
compacto y Hausdorff, por lo tanto cerrado. Si Ak X converge debe hacerlo
a un subespacio de Grd pFn q. Veamos que, ademas, este debe ser A-invariante. En
efecto, como para k  0, 1, 2, . . . Ak X es una matriz base de Ak X aplicando
el Teorema 10.2, para cada k  0, 1, 2, . . . existe una matriz invertible Pk tal que
AK XPk Y , donde Y es una matriz base de S. Dado que A es lineal, y por lo
tanto continua, ApAK XPk q AY . Aplicando de nuevo el Teorema 10.2 deducimos
que Ak 1 X AY . Pero por hipotesis Ak 1 X Y . Como Grd pFq
es Haussdorf, el lmite es u
nico. Por lo tanto, AY  Y  S. Ahora es facil
deducir que AS S. En efecto, si x P S entonces x  Y y Ax  AY P AY 
S.

10.2 El metodo de las potencias

10.2.2.

221

El algoritmo del m
etodo de las potencias

Aplicamos el Teorema 10.4 al metodo de las potencias.

Corolario 10.5 Sea A P Fnn y x P Fn un vector no nulo. Si la sucesion de subespacios Ak x converge a un subespacio y no nulo entonces y es un vector
propio de A.

Demostraci
on.- En primer lugar, si Ak x y con y  0 entonces Ak x  0
para todo k  1, 2, . . .. Por el Teorema 10.4 y es A-invariante, lo cual significa
que Ay P y . Es decir, Ay  y para alg
un P F. Por lo tanto, y es un vector
propio de A asociado al valor propio .

Notese que de acuerdo con la demostracion del corolario, si A y x son reales y

Ak x converge a un subespacio no nulo y entonces y es vector propio real


asociado a un valor propio real.
De forma similar se demuestra

Corolario
Sea A P Fnn y q P Fn un vector unitario. Si la sucesion de subes 10.6

Ak q
pacios
}Ak q}2 converge a un subespacio y no nulo entonces y es un vector
propio unitario de A.

Este resultado es la base del metodo de las potencias cuya primera version es la
siguiente:

222

El problema de valores propios

M
etodo de las Potencias (Primera Versi
on)
Dada A P Rnn
Paso 1: Eljase x0 P Fn1 (F  R o C)
x0
Paso 2: q0 
}x0}2
Paso 2: for j  0, 1, 2, 3, . . . hasta convergencia

 Aqj
xj 1
(vector propio unitario aproximado)
1 
k xj 1 k
j 1  q  Aqj 1 (valor propio aproximado)

j 1
xj
qj

end for.
Antes de analizar la convergencia de este algoritmo conviene hacer algunas observaciones:
1. En primer lugar, el algoritmo construye la sucesion de vectores unitarios:
q0 , q1 , q2 , . . . donde
Aqi1
qi 
}Aqi1}2 , i  1, 2, . . .
Es muy facil ver que
i

qi

 }AAiqq0}

0 2

"

Ak q0
Es decir, el algoritmo construye la sucesion
}Ak q0}2 del Corolario 10.6. Por
lo tanto, si esta sucesion converge lo hace a un vector propio unitario de A. No
obstante, esta sucesi
 ok n puede
 no converger y sin embargo s hacerlo la sucesion
A q0
de subespacios
}Ak q0}2 . Esto es lo importante. En tal caso, de acuerdo con
el Corolario 10.6, obtendremos un subespacio propio de A como lmite.
2. Se usa provisionalmente la expresion hasta convergencia para indicar que,
en caso de que la sucesion de subespacios converja, la rutina for se realizara un n
umero suficiente de veces. Mas adelante estudiaremos un criterio de
terminacion de esta rutina.

10.2 El metodo de las potencias

223

3. El algoritmo calcula vectores unitarios qj que cuando qj q proporcionan un vector propio unitario, q, de A. Por eso llamamos vectores propios
aproximados a los vectores qj .
umero en F. Si qj fuera un
4. Con cada vector qj se calcula qj Aqj que es un n
vector propio exacto entonces qj Aqj sera un valor propio exacto. En efecto:
Aqj

 qj qjAqj  qjqj 

porque qj es unitario. Si qj es un vector proximo a un vector propio entonces


j  q  Aqj es, por continuidad, un n
umero proximo a un valor propio de A.

j
Por eso le llamamos valor propio aproximado. Ademas, si A es real y x0 es
real, entonces todo se realiza en aritmetica real. Es decir, los vectores y valores
propios aproximados calculados son reales.
5. A
un cuando la sucesion qj no converja, si qj converge lo hace a un subespacio propio y los vectores qj seguiran siendo vectores propios aproximados.
j convergera a un valor proEn consecuencia, si qj converge, la sucesion
pio de A. Es decir, si el algoritmo converge (en el sentido que qj converge)
se obtiene un vector propio unitario y un valor propio tan aproximados como
se quiera (dentro de la aritmetica en punto flotante que se utilice) de A. Pero
dado que los vectores propios pueden cambiar de direccion, los criterios para
terminar el algoritmo deberan tener en cuenta tanto a los vectores propios
como a los valores propios.

10.2.3.

An
alisis de la convergencia del m
etodo de las potencias

La cuestion ahora es establecer condiciones suficientes lo mas amplias posible sobre


A y q para poder asegurar que qk converge. El siguiente teorema es el resultado
fundamental:
Teorema 10.7 Sea q0 P Fn un vector unitario y A P Fnn una matriz diagonalizable
con 1 , . . . , n como valores propios. Sea tv1 , . . . , vn u una base de vectores propios
unitarios de A (Avi  i vi y }vi }2  1, i  1, . . . , n) y supongamos que q0 
1 v1    n vn . Supongamos tambien que

|1| |2| |3|    |n|

(10.1)

224

El problema de valores propios

Entonces qj v1 si y solo si 1  0. Mas a


un, en tal caso, para j
0, 1, 2, . . . existen n
umeros complejos zj de modulo 1 tales que

}zj qj  v1}2 
Recuerdese que la expresion }zj qj

 
 2 j
O   .

 v1}2 

 

 j
O  12  significa que para j suficien-

temente grande existe una constante positiva K tal que

}zj qj  v1}2

 j
 2 
K   .

Por lo tanto, la segunda parte del Teorema nos dice que, cuando
"  *hay convergencia,
 j
esta se produce a la misma velocidad a la que la sucesion  12  converge a 0.
Demostraci
on.- Es facil ver que si Avi  i vi entonces Aj vi  ji vi y, en consecuencia,
Aj q0  1 Aj v1    n Aj vn  1 j1 v1    n jn vn .
Si 1
As j

j
 0, como 1  0 porque |1| |2| 0, podemos definir j  }A q0j}2 .

 0 y recordando que qj 
j qj

 v1

 
 
Como por hipotesis  21 

2
1

1 1

Aj q0
}Aj q0}2 tenemos que

2
1

1, tenemos
concluimos que qj v1 .

v2



n
1

que lm j qj
j

n
1

vn .

(10.2)

v1 . Por el Teorema 10.2

Recprocamente, supongamos qj v1 . Por el Teorema 10.2 existen n


umeros
j tales que j qj v1 . Sea P la proyeccion sobre v1 a lo largo de v2 , . . . , vn .
Entonces P pj qj q P v1  v1 . Pero
P pj qj q 

j
j
j
j
j
P
p
A
q
q

0
}Aj q0}2
}Aj q0}2 P p11v1 22v2



n jn vn q 

j
j
}Aj q0}2 11v1.

10.2 El metodo de las potencias

225

j
1 j1 v1 v1 . Como v1  0 debe ser 1  0. A la proyeccion sobre v1
j
}A q0}2
a lo largo de v2 , . . . , vn se le llama proyeccion espectral sobre el subespacio
propio v1 .
As

Para demostrar la segunda parte del teorema partimos de la expresion (10.2) y


ponemos

j

j

j
2 2
3 3
n n
xj 
v2
v3   
vn .
1 1
1 1
1 1
Entonces, teniendo en cuenta que }vi }2

}xj }2

La sucesion

   j
 2   2 
    v2
   
 1 j 1 
 2   2 
   
   

   j
 3   3 
    v3
2
   
   1 j 1
 3   3 
  
   



   j
 n   n 
    vn
2
  
1
   j 1
 n   n 
  
  

   j
 3   3 
  
   



   j
 n   n 
  
  

} }

 
 2 
 
 
1

 1,

} }



} }2 

es monotona decreciente (o mejor, no creciente) y acotada superiormente. Sea K


una cota superior (por ejemplo, K puede tomarse el elemento de la sucesion correspondiente a j  0). As
 j
 
}xj }2 K  2  .
1
Por otra parte, como j qj  v1 xj y lm xj  0 tenemos que lm j qj  v1 .
j

Ademas, la norma es una funcion continua, de modo que lm |j |

}qj }2  }v1}2  1. Mas aun,


 j

 A q0 2


1
 j

1 1

1  j
A q0

 1 dado que



||j |  1|  } }   1 j }Aj q0}2  |1j1| 
| |
|11| 

} }2  }1j1v1}2
|1j1|
1 j }Aj q0  1j1v1}2  }xj }2.
|11|
As, para j  0, 1, 2, . . .
1  }xj }2 |j | 1 }xj }2 .

226

El problema de valores propios

y como xj 0, para j suficientemente grande 1  }xj }2 0. Supondremos de ahora


en adelante que j es suficientemente grande como para que se cumpla esta condicion.

Ahora si zj  |jj | entonces |zj |  1 y


zj qj

1
|j | pv1

xj q

1
pv1
1  } xj } 2

xj q 

}xj }2
v
1
1  }xj }2

1
xj .
1  }xj }2

Por lo tanto, teniendo en cuenta que }v1 }2

 1,
}zj qj  v1}2 1 2}x}jx}2}
j 2
Para j suficientemente grande 1  }xj }2 12 , por lo que
}zj qj  v1}2 4}xj }2.

Finalmente, como }xj }2

 j
 2 
K   , conclumos que

}zj qj  v1}2

 j
 2 
4K  

para j suficientemente grande, tal y como se deseaba demostrar.


La condicion suficiente de convergencia del Teorema 10.7 requiere que la matriz
A tenga un valor propio dominante en modulo y que para el vector inicial x0 la
componente de este en la direccion del subespacio propio asociado a dicho valor
propio dominante sea no nula. Ambas condiciones son genericas (es decir, casi todas
las matrices y vectores las cumplen). Ya sabemos que el conjunto de las matrices que
tienen valores propios distintos es abierto y denso, de modo que la condicion de tener
un valor propio dominante en modulo es generica salvo que la matriz sea real y tenga
valores propios complejos. Esta situacion la analizamos enseguida. En el supuesto
de que la matriz dada tenga un valor propio dominante en modulo, la eleccion de
un vector x0 que no tenga componente nula en la direccion del correspondiente
subespacio propio no presenta problemas. Practicamente cualquier vector cumple
esta condicion. Pensemos, por ejemplo, en la siguiente situacion: sabemos que alguien
ha dibujado dos vectores linealmente independientes en R2 con origen en p0, 0q pero
desconocemos que vectores son. Que posibilidades tenemos de dar un vector que sea
colineal con uno de ellos? Convendremos inmediatamente que es muy improbable

10.2 El metodo de las potencias

227

que escogido un vector al azar, este sea colineal con uno de los vectores dados.
De la misma forma, si escogemos x0 al azar es casi seguro que su componente en
la direccion del subespacio propio asociado al valor propio dominante sea no nula.
Una buena practica consiste en no tomar x0 un vector con estructura (por ejemplo,
x0  p1, 0, . . . , 0q) sino al azar.
Si la matriz tiene valores propios complejos a
un cuando sus valores propios sean
distintos pueden tener igual modulo. esto es claro si la matriz es real con valores
propios complejos, pero puede suceder, incluso, con matrices complejas. Por ejemplo,
la matriz
A =
1.0000 + 1.0000i
0
0 - 1.0000i

0 + 2.0000i
1.0000 - 1.0000i
-3.0000

0
0
1.0000

tiene como valores propios:


>> eig(A)
ans =
1.0000
1.0000 + 1.0000i
1.0000 - 1.0000i
Aplicando el metodo de las potencias con vector
>> x0=rand(3,1)
x0 =
0.8147
0.9058
0.1270
produce 4 subsucesiones de valores propios que parecen estabilizarse en los valores
1.0000 - 0.6119i, 1.5931 - 0.2490i, 1.0000 - 0.1563i, 0.4069 - 0.2490i

228

El problema de valores propios

Veamos que este no es un hecho casual. Supongamos que A es diagonalizable y que


|1|  |2| |3|    . Supongamos tambien que 1  2 y que las componentes, 1
y 2 , de x en las direcciones de los vectores propios v1 y v2 no son cero. Supongamos
finalmente que 1  ei 2 , 0 2. Entonces
Ak x  k2

eik 1 v1

2 v2

3
2

v3



n
2

vn

Recordemos ahora que en el metodo de las potencias la convergencia que se analiza


es la de los subespacios generados por los vectores propios aproximados, Teorema
10.7, y no la de los vectores mismos. As pues, si existe un n
umero racional p  t{(s
2
tal que  p entonces hay t subsucesiones en la sucesion de subespacios Ak x
que convergen, cada una de ellas, a los subespacios generados por los vectores
e
En el ejemplo de arriba 1

2ksi
t

1 v1

ie

2 v 2 ,

2i
4

 1, . . . , t.

p1  iq, de modo que  24 y t  4.

Hay otros casos en los que no cumpliendose la condicion (10.1) todava se puede
asegurar la convergencia. Recordemos que A es diagonalizable y supongamos que 1
es un valor propio semisimple pero 1  2      r |r 1 |    con r n
o 1      n con |n | 0 (el caso A diagonalizable y i  0 para i  1, . . . , n
implica que A  0). En estas condiciones
Ak x  k1

i vi

i 1

i r 1

i
1

vi

siendo x1  1 v1    r vr la proyeccion de x sobre el subespacio v1 , . . . .vr a


lo largo de vr 1 , . . . , vn . Como el valor propio 1 es semisimple de multiplicidad
r, resulta que v1 , . . . .vr  Kerp1 In  Aq. Por lo tanto, si la proyeccion de x sobre
Kerp1 In  Aq a lo largo de vr 1 , . . . , vn no es cero, para k  0, 1, 2, . . . existen
1
escalares k  k (notese que 1  0 porque o bien |1    |n | 0 o 1      n
1
con |n |
r

i 1

i vi

0) tales que k Ak x

i 1

i vi . Es decir,

Ak x

i 1

i vi

. Pero

P Kerp1In  Aq, de modo que este es un vector propio de A asociado al

valor propio 1 .

10.2 El metodo de las potencias

229

Un u
ltimo aspecto a considerar es el de la velocidad de convergencia cuando esta
se da. Tal y como comentamos antes de la demostracion del Teorema 10.7, la segunda parte de este nos indica que cuando se dan las condiciones de convergencia,
la velocidad a la que los subespacios Aj x0 convergen al subespacio propio correspondiente al valor propio de mayor modulo
 j es aproximadamente la misma que
 2 
la velocidad de convergencia de la sucesion   . Si el cociente |2 |{|1 | es proximo
1
a 1 debemos esperar una convergencia lenta y cuanto mas peque
no sea esta razon,
la convergencia sera mas rapida. En cualquier caso se trata de una razon de convergencia lineal porque depende del cociente |2 |{|1 | y no de su cuadrado, o su cubo,
etc.
Cuando se pretende calcular un u
nico valor y vector propio, el metodo de las potencia
puede ser una primer algoritmo para conseguir en unas pocas iteraciones un vector
y un valor propio aproximados que puedan servir como valores iniciales para otros
metodos que convergen mas rapidamente.

10.2.4.

Criterios de terminaci
on del algoritmo

Recordemos que al escribir el algoritmo fuimos muy imprecisos sobre cuando debera
terminar. Decamos que se ejecutara un bucle para calcular los sucesivos vectores
unitarios propios aproximados y los correspondientes valores propios aproximados
hasta la convergencia(cuando la haya). Ahora vamos a ser mas precisos.
Un posible criterio de finalizacion del algoritmo podra ser cuando la distancia entre
dos subespacios proximos propios aproximados sea menor que una cantidad previamente especificada. Para ello bastara almacenar los vectores propios aproximados
calculados en dos pasos sucesivos, digamos qj y qj 1 , y calcular la distancia entre
ellos utilizando la metrica gap. Esto es sencillo porque sabemos que si Xj  qj
y Xj 1  qj 1 entonces
pXj , Xj

q  }PX  PX }2
j

j 1

siendo PX la proyeccion ortogonal sobre X . Ahora bien como qj y qj


PXj

 qj qj

y PX j

 qj

son unitarios

1 qj 1 .

As pues, solo habra que modificar el algoritmo para que se ejecutara el calculo de qj
hasta que }qj qj  qj 1 qj 1 }2 fuera menor que una cantidad previamente especificada.

230

El problema de valores propios

Nosotros, sin embargo, utilizaremos otro criterio para terminar el algoritmo de las
potencias y todos los que se derivan de el. Este criterio tiene su fundamento en el
siguiente resultado:
Proposici
on 10.8 Sea A P Fnn , x P Cn un vector unitario y P C. Sea r
Ax  x. Existe una matriz E P Cnn tal que k E kF  }r}2 y pA E qx  x.

Podemos interpretar este resultado como una especie de estabilidad hacia atras.
En efecto, esta proposicion dice que los valores-vectores propios aproximados de A
son valores-vectores propios exactos de matrices proximas a A.
Demostraci
on.- La matriz E que se necesita es de rango 1:
E

 rx

Teniendo en cuenta que x es unitario tenemos que

pA

porque r

E qx  Ax  rx x  Ax  r

 x

 Ax  x. Ademas
}E }2F  trpEE q  trprxxrq  trprrq  }r}22,

que es lo que se quera demostrar.


Debe observarse que el error relativo de tomar A

}E }F  }r}2
}A}F }A}F

E por A es

El calculo del residuo r es muy facil en el proceso que define el algoritmo de las
}F
potencias y consideraremos obtenida la convergencia cuando el error relativo }}E
A}F
sea menor que una cantidad predeterminada. Es decir, cuando hayamos calculado
r tan pr
un valor-vector propio exactos de una matriz A
oxima a A como necesitemos.
Dado que puede no haber convergencia, habra que tomar las precauciones necesarias
por si el error relativo nunca alcanza a ser menor que la cantidad prefijada.
En conclusion, fijaremos un  0 y un n
umero maximo de iteraciones y el algoritmo
terminara cuando el error relativo sea menor que  o cuando se sobrepase el n
umero
de iteraciones maximo.
Con todo esto en mente, la version final del algoritmo de las potencias es la siguiente:

10.3 El metodo de iteracion inversa

231

M
etodo de las Potencias (Versi
on Final)
Datos: A P Fnn , x0 P Fn ,  0 e itermax
Objetivo: calcular un par p, xq valor-vector propio aproximado de A.
x

x0
}x0}2
res=1
iter=0
normA=}A}F
while res  normA e iter itermax
y  Ax
(siguiente potencia)
 x y
(valor propio aproximado)
res=}y  x}2
(residuo)
y
(normalizacion)
x
}y}2
iter=iter+1
end while

10.3.

El m
etodo de iteraci
on inversa

El objetivo del metodo de iteracion inversa es mejorar la velocidad de convergencia


del metodo de las potencias y posibilitar la obtencion de un valor-vector propio
que no se tenga que corresponder necesariamente con el valor propio dominante. Se
parte de la siguiente observacion: si 0 es un valor propio de A P Fnn y ppq 
pd d pd1 d1    p1 p0 es un polinomio cualquiera entonces pp0 q es un
valor propio de la matriz
ppAq  pd Ad

pd1 Ad1



p1 A

p0 In .

En efecto, si v es un vector propio de A para 0 entonces Av


Por lo tanto
ppAqv

 pd A d v
 pdd0 v
 pp0qv.

pd1 Ad1 v
pd1 d01 v




p1 Av
p1 0 v

 0v y Aj v  j0v.

p0 v 
p0 v 

Es decir, v es tambien vector propio de ppAq para pp0 q. Se prueba de forma similar
que si ppAq es invertible entonces pp0 q1 es valor propio de ppAq1 y v es vector

232

El problema de valores propios

propio de esta matriz para dicho valor propio:

 pp0qv v  pp0qppAq1v pp0q1v  ppAq1v.


En particular si R pAq entonces In  A es invertible y 0 P pAq si y solo si
1
P ppIn  Aq1q. Por lo tanto, si 1,. . . ,n son los valores propios de A
 0
entonces los valores propios de pIn  Aq1 son
ppAqv

 1

, . . . n

 1

El metodo de iteracion inversa es el metodo de las potencias aplicado a la matriz


pIn  Aq1 para algun numero . A este numero se le suele llamar desplazamiento
o precondicionamiento y se suele usar para aumentar la velocidad de convergencia
del metodo de las potencias y para obtener un valor-propio particular de la matriz A
cuando se tiene un cierto conocimiento de ellos. Veamos como se hace. Supongamos
r0  i de A (por
que por el medio que sea conocemos un valor propio aproximado
ejemplo con una o dos cifras decimales de precision) pero i no tiene por que ser el
r0 de modo que  i y es muy
valor propio dominante de A. Tomamos 
diferente de los demas valores propios de A. Esto significa que


 1 


 
i

| 1 |  



 1 


 
j

j  

( significa mucho mayor) para todo valor propio j de A distinto de i . Si


aplicamos el metodo de las potencias a pIn  Aq1 tenemos que si |2 | |3 |
 k
 
   |n| entonces la velocidad de convergencia sera del orden de  2  , tanto
1
mas grande cuanto mas proximo este a i . En estas condiciones el metodo de
las potencias aplicado directamente a pIn  Aq1 proporcionara, supuesto que
converja, un valor-vector propio de esta matriz; digamos, 1 y v1 . Pero, tal y como
hemos visto mas arriba v1 sera tambien un vector propio de A para i y podemos
usar este vector propio para calcular directamente el valor propio de A: i  v1 Av1 .
En otras palabras, modificaremos el metodo de las potencias para, haciendo uso de
los vectores propios unitarios aproximados qj , obtener valores propios aproximados
de A en la forma qj Aqj .
Hay otra modificacion en la implementacion del metodo de iteracion inversa respecto
del de las potencias. El primer paso en el algoritmo del metodo de las potencias

10.3 El metodo de iteracion inversa

233

consiste en calcular qj 1  Aqj . Si lo aplicamos directamente a la matriz pIn  Aq1


habra que hacer qj 1  pIn  Aq1 qj . En vez de calcular la inversa, lo que se hace
es resolver el sistema
pIn  Aqqj 1  qj .
Ambas operaciones son teoricamente equivalentes pero la segunda requiere menos
operaciones. De hecho, genericamente In  A admite una descomposicion LU que
conviene calcular de una vez por todas y usar solo sustituscion hacia delante y hacia
atras para resolver el sistema pIn  Aqqj 1  qj . En nuestra implementacion del
algoritmo, y puesto que practicaremos con MATLAB, dejaremos que sea este quien
se encargue de resolver este sistema. Para ello usaremos la orden qj 1  pIn  Aqzqj .
Se podra argumentar que en cualquier caso la mariz In  A esta tanto mas cerca
de ser singular cuanto mas cerca de un valor propio exacto de A, y que esto hace
que los errores de redondeo se magnifiquen tanto si se calcula la inversa como si se
resuelve el sistema. En efecto es as y a pesar de todo, el algoritmo converge. Por
que?
La respuesta a esta cuestion esta en el analisis del error en el algoritmo que se emplee
para resolver los sistemas linales. Si este algoritmo es estable hacia atras (como por
ejemplo lo es para casi todas las matrices el de la eliminacion gaussiana), la solucion
calculada para el sistema (pIn  Aqy  x es la solucion exacta de alg
un sistema
pIn  A E qy  x conde el error relativo }E }F {}A}F es del orden del epsilon de
la maquina. Si el valor-vector propio (exacto) que estamos buscando esta bien
condicionado, sera muy parecido al de pIn  A E q y la sucesion de valores-vectors
propios calculados seguira convergiendo hacia una valor-vector propio de In  A.
Dicho de otra manera mas intuitiva, la mayor parte de las veces la propagacion del
error juega a nuestro favor porque cuando esta muy cerca de un valor propio de
A, el vector y se calcula, en efecto, de manera inexacta pero, tal y como vimos en
la demostracion del Teorema 10.7,

pIn  Aqk q0  p 1 qk v1 p 2 qk v2    p n qk vn.


1
2
n
Esto significa que cuanto mas proximo este a 1 mayor sera la componente de
pIn Aqk q0 en la direccion de v1, de manera que los errores en el redondeo redundan
en una potenciacion de la direccion en la que queremos que converjan los subespacios
propios aproximados. De hecho, si y 1 son casi iguales, una sola iteracion nos
proporciona un vector que es ya casi un vector propio porque la proyeccion espectral

234

El problema de valores propios

de este sobre el subespacio v2 , . . . , vn


proyeccion espectral sobre v1 .

es insignificante en comparacion con la

En resumen, el algoritmo para el metodo de iteracion simultanea es el siguiente:

M
etodo de Iteraci
on Inversa (Primera Versi
on)
Datos: A P Fnn , x0 P Fn , ,  0 e itermax
Objetivo: calcular un par p, xq valor-vector propio aproximado de A.
x

x0
}x0}2
res=1
iter=0
normA=}A}F
while res  normA e iter itermax
y  pIn  Aqzx ( pA  In qy  x)
y
x
}y }2 (vector propio unitario aproximado)
 x Ax
(valor propio aproximado)
res=}x  Ax}2
(nuevo residuo)
iter=iter+1
end while

Hay algunas mejoras que se pueden introducir en el algoritmo a fin optimizar el


n
umero de operaciones evitando sucesivas multiplicaciones de A por x, que es la
parte mas costosa. Concretamente, en la notacion del algoritmo representamos con
el mismo smbolo x dos n
umeros diferentes en las dos primeras lneas del bucle
while. Vamos a mantener el smbolo x para el primero; i.e.
y
p su actualizaci
y con x
on:

De esta forma

 pIn  Aq1x
p
x

y
}y}2 .

pIn  Aqxp  pIn}y} Aqy  }yx}


2

10.4 El metodo del cociente de Rayleigh

Pongamos w

 }yx}

235

. Entonces

p Ax
px
p pIn  Aqx
p
x

con

p pIn  Aqx
px
p w.
x

Finalmente el residuo es
r

 xp  Axp  pIn  Aqxp  xp  w  xp.

Con todo esto en mente el algoritmo de iteracion inversa queda como sigue:

M
etodo de Iteraci
on Inversa (Versi
on Final)
nn
n
Datos: A P F , x0 P F , ,  0 e itermax
Objetivo: calcular un par p, xq valor-vector propio aproximado de A.
x

x0
}x0}2
res=1
iter=0
normA=}A}F
while res  normA e iter
y  pIn  Aqzx
x
w
}y}2
y
x
}y}2
 x w

res=}w  x}2
iter=iter+1
end while

10.4.

itermax

El m
etodo del cociente de Rayleigh

El metodo del cociente de Rayleigh es exactamente igual que el de iteracion inversa


pero con un desplazamiento que vara en cada iteracion. La cuestion es como elegir

236

El problema de valores propios

el desplazamiento para hacer que el residuo sea lo mas peque


no posible en cada
iteracion? La respuesta es sencilla porque se trata de calcular la solucion de un
problema de mnimos cuadrados lineal. Recordemos que el residuo es
r

 }x  Ax}

donde y x son el valor y vector unitario propios aproximados que se calculan en


cada iteracion. Puesto que es un valor propio aproximado (que esta variando en
cada iteracion) bien podemos hacer uso de el en cada iteracion. La pregunta es cual
es el valor de que hace mnimo el residuo? Nos preguntamos por el problema de
hallar
mn }x  Ax}2

Debe observarse que en este problema la matriz de coeficientes es x (n  1) y el


vector de terminos independientes es Ax (tambien n  1). Recordemos que una
forma resolver el problema de mnimos cuadrados mnyPFn }By  c}2 con B P Fmn
y c P Fm1 es resolviendo el sistema de ecuaciones normales: B  By0  B  c. En
nuestro caso el sistema de ecuaciones normales es
x x0
Por lo tanto
0

 xAx


 xxAx
x

es el n
umero que minimiza el residuo.
Definici
on 10.9 Para A
n
umero

P Fnn se llama cociente de Rayleigh de A en x P Fn al


Rpxq 

x Ax
x x

As pues, lo que hemos demostrado mas arriba es


Teorema 10.10 Si A P Fnn y x P Fn entonces el cociente de Rayleigh de A en x
es el n
umero donde se alcanza el mnimo del residuo }x  Ax}2 . Es decir
mn }x  Ax}2

 }Rpxqx  Ax}2.

10.4 El metodo del cociente de Rayleigh

237

En la practica, el algoritmo del cociente de Rayleigh consiste en sustituir por en


el algoritmo de iteracion inversa iniciando el primer desplazamiento con el cociente
de Rayleigh de la matriz dada en el vector inicial elegido. Notese que puesto que
los vectores propios aproximados son unitarios, el denominador en el cociente de
Rayleigh es siempre 1.

M
etodo del cociente de Rayleigh
Datos: A P Fnn , x0 P Fn ,  0 e itermax
Objetivo: calcular un par p, xq valor-vector propio aproximado de A.
x

x0
}x0}2
 x Ax
res=1
iter=0
normA=}A}F
while res  normA e iter
y  pIn  Aqzx
x
w
}y}2
y
x
}y}2
 x w

res=}w  x}2
iter=iter+1
end while

itermax

Aunque en esta forma de implementar el algoritmo no lo parezca, resulta que 


Rpxq en cada iteracion. Para verlo basta deshacer los cambios que hicimos en el
algoritmo de iteracion inversa. En efecto, al igual que en aquel caso denotamos con
p los valores actualizados y con x y los que entran en la iteraci
py
x
on. Debemos

p
p
ver que  Rpx
pq  x
p Ax
p. Para ello, en la iteraci
on   . Entonces
p



  }yy} }yx}   y pIyny Aqy 
2
2
y  Ay
 xpAxp.
yy

x
p w

y  y
yy

238

El problema de valores propios

En los ejercicios veremos que, en general, la convergencia del metodo del cociente de
Rayleigh sigue siendo lineal, pero si la matriz es simetrica es, al menos, cuadratica.
Ello es debido al siguiente resultado, que se conoce con el nombre de propiedad
estacionaria de los vectores propios de las matrices simetricas.
Teorema 10.11 Sea A P Rnn una matriz simetrica. Entonces p0 , x0 q es un valorvector propio de A si y solo si x0 es un punto estacionario o crtico de Rpxq y
Rpx0 q  0 . Esto es,
Rpx0 q  0 y Rpx0 q  0
donde Rpxq es el gradiente de Rpxq.

Demostraci
on: Debemos demostrar que p0 , x0 q es un valor-vector propio de A si
xT Ax
B
R
p
x0 q  0, i  1, . . . , n y Rpx0 q  0 . En el caso real Rpxq  T .
y solo si
B xi
x x
Bp
xT Axq
T
Calculamos primero
Bxi y luego haremos lo mismo con x x. En primer lugar
x Ax 
T

ajk xj xk ,

j,k 1

as que

n
BpxT Axq 
aik xk
B xi
k1
Como A es simetrica, aji  aij y entonces

aji xj .

j 1

n
BpxT Axq  2
aij xj  2pAxqi
B xi
j 1

siendo pAxqi la i-esima componente del vector Ax.


De la misma forma xT x 

x2j y

j 1

BpxT xq  2x .
i
B xi

10.5 El algoritmo QR con desplazamiento explcito

239

Por lo tanto

BR  2pxT xqpAxqi  2pxT Axqxi  2 pAxq  xT Ax x



i
i
B xi
pxT xq2
xT x
xT x
 xT2x ppAxqi  Rpxqxiq  xT2x pAx  Rpxqxqi

donde pAx  Rpxqxqi q es la i-esima componente del vector Ax  Rpxqx. Ahora es


claro que Rpx0 q  0 y Rpx0 q  0 si y solo si Ax0  0 x0  0; i.e., p0 , x0 q es un
valor-vector propio de A.
Tal y como habamos anunciado una consecuencia interesante de este Teorema es
Corolario 10.12 Si para una matriz simetrica A y un vector q0 el algoritmo del
cociente de Rayleigh converge, lo hace, a partir de un cierto momento, cuadraticamente.
Demostraci
on: Ya sabemos que si el algoritmo del cociente de Rayleigh converge, lo
hace a un valor-vector unitario propios, p0 , x0 q, de A. Es decir, el algoritmo produce
una secuencia pk , k qk q de valores-vectores propios aproximados de A que converge
a p0 , x0 q. Pero k  Rpk qk q y desarrolando Rpxq en serie de Taylor alrededor de
x0 tenemos que
Rpxq  Rpx0 q  Rpx0 qpx  x0 q

Op}x  x0 }2 q  Op}x  x0 }2 q

por ser x0 un vector propio de A. Esto implica que para k suficientemente grande
Rpk qk q  Rpx0 q  Op}qk  x0 }2 q. Como qk converge a x0 linealmente
(al menos), el residuo converge a cero, a partir de ese k suficientemente grande,
cuadraticamente (al menos).

10.5.

El algoritmo QR con desplazamiento explcito

Todos los algoritmos tienen como objetivo u


ltimo reducir una matriz dada A P
Fnn , a una forma de Schur (real o compleja) para extraer de ah la informacion
correspondiente a los valores y vectores propios. La finalidad de los que hemos visto

240

El problema de valores propios

hasta ahora era obtener un vector propio unitario (siempre que se den las condiciones
apropiadas) y a partir de ah, usando el cociente de Rayleigh, el correspondiente valor
propio. Este es el primer paso para obtener la forma de Schur compleja porque, tal
y como mostramos en la demostracion del Teorema de Schur, una vez
 obtenidos,

r
digamos p1 , q1 q, se puede construir una matriz unitaria, digamos Q  q Q , para
la que


1 b

Q AQ 
.
0 B
A continuacion se aplica el algoritmo correspondiente a B y as sucesivamente. Este
proceso de ir aplicando el algoritmo a matrices cada vez mas peque
nas se llama deflaci
on. Si se dan las condiciones apropiadas (valores propios con modulos diferentes
y proyeccion espectral no nula sobre los correspondientes subespacios propios) el resultado de este proceso de deflacion es una matriz triangular superior unitariamente
semejante a A; i.e., una forma de Schur de A.
El algoritmo QR comparte el mismo objetivo: reducir A a una forma de Schur. La
forma en que este proceso se lleva a cabo, sin embargo, parece no tener nada que
ver con los algoritmos que hemos visto hasta ahora. Esta es la primera version del
algoritmo QR con desplazamiento explcito:

Dada A P Fnn
A0  A
for k  0, 1, 2, . . . hasta convergencia
Eljase un desplazamiento k
Calc
ulese la descomposicion QR de Ak  k In : Ak  k In
Reviertanse los factortes: Ak 1  Rk Qk k In
end for

 Qk Rk

En resumen, el algoritmo construye una sucesion de matrices tAk u a partir de una


dada A  A0 calculando la factorizacion QR de Ak  k In (para un k que se
elige expltamente en cada paso) y definiendo la siguiente matriz de la sucesion,
Ak 1 , multiplicando los factores Q y R al reves y a
nadiendo el desplazamiento. Por
que hacer tal cosa produce algo significativo en relacion con el calculo de los valores
y vectores propios de A? La historia empieza con John Francis y Eva Kublanovskaya
que lo desarrollaron independientemente hacia 1959 en Inglaterra y la extinta Union
Sovietica. Se tardo muchos a
nos, sin embargo, en comprenderlo bien. La razon de por

10.5 El algoritmo QR con desplazamiento explcito

241

que este algoritmo calcula valores y vectores propios de A es, esencialmente, porque
es una forma elegante de implementar el algoritmo del cociente de Rayleigh y, cuando
se toma desplazamiento k  0 (algoritmo QR a secas, sin desplazamiento), entonces
calcula las mismas matrices que el algoritmo de iteracion simultanea (u ortogonal)
que es una generalizacion del algoritmo de las potencias. En este curso solo veremos
la relacion entre el algoritmo QR con desplazamiento explcito y el del cociente de
Rayleigh. Pero antes de nada es importante observar que todas las matrices en la
sucesion tAk u que construye el algoritmo son unitariamente semejantes.
Lema 10.13 Las matrices Ak que construye el algoritmo QR con desplazamiento
explcito son todas unitariamente semejantes.
Demostraci
on: Para un k  0, 1, 2, . . . arbitario, supongamos dada Ak y veamos
que Ak 1 es unitariamente semejante a Ak . Esto demuestra que todas las matrices
de la sucesion son unitariamente semejantes. Sea Ak  k In  Qk Rk la factorizacion
QR de Ak  k In .
Ak




por lo que Ak

Rk Qk k In  Qk pAk  k In qQk k In


Qk Ak Qk  k Qk Qk k In  Qk Ak Qk ,
1

pRk  Qk pAk  k Inq

y Ak son unitariamente semejantes.

 1, 2, . . .
Ak  Qk1 Ak1 Qk1  Qk1 Qk2 Ak2 Qk2 Qk1      Qk1    Q0 A0 Q0    Qk1

Este Lema tiene una consecuencia importante: Para cada k

Es decir, el algoritmo QR no solo proporciona una sucesion de matrices unitariamente semejantes a A sino que nos da tambien la matriz unitaria que conecta A
con cada una de las matrices de la sucesion: es el producto de los factores Q en la
factorizacion QR de Ak  k In . Si para alg
un valor de k la matriz Ak es (casi) una
forma de Schur de A tendremos ademas la matriz unitaria que convierte A en dicha
(casi) forma de Schur.

10.5.1.

El algoritmo QR y el cociente de Rayleigh

Para ver que el algoritmo QR converge en las mismas condiciones que el algoritmo
del cociente de Rayleigh vamos a ver que ambos son esencialmente lo mismo. En

242

El problema de valores propios

realidad el algoritmo QR aplica el metodo del cociente de Rayleigh para calcular


vectores propios por la izquierda en vez de hacerlo para calcular vectores propios
por la derecha. Como sera el metodo del cociente de Rayleigh en este caso? Igual
que el ya visto pero operando con vectores filas: Dada A, un vector fila inicial x0 el
algoritmo del cociente de Rayleigh consta de 4 pasos para j  1, 2, . . .:
1. Elegir un desplazamiento j , que es el cociente de Rayleigh de la iteracion
anterior,
2. Resolver el sistema yj pA  j In q  xj 1 ,
3. Normalizar xj

 }yyj}

(vector propio aproximado por la izquierda), y

j 2

4. Calcular el nuevo cociente de Rayleigh j


ximado)

 xj Axj (nuevo valor propio apro-

Cuando el algoritmo converge lo hace a un valor-vector propio unitario por la iz-


p q
quierda p, q q de A. Con este q podemos formar una matriz unitaria Q  Q
de forma que (vease la Seccion 9.4 del Captulo 9 sobre vectores propios por la
izquierda)


B b

Q AQ 
0
Ahora procederamos por deflacion aplicando el algoritmo por filas a B y as sucesivamente.
Supongamos ahora que hacemos una sola iteracion del algoritmo del cociente de
Rayleigh por filas con vector inicial x0  en . El desplazamiento inicial sera
en Aen

 .

Sea q el vector unitario que obtenemos al aplicar esta iteracion (quitamos los subndices porque solo hablamos de una iteracion y por comodidad):
q


In q1
 }eenppAAI
q1}
n

(10.3)
2

Analicemos una iteracion del algoritmo QR con el mismo desplazamiento


Calculamos la descomposicion QR de A  In :
A  In

 QR.

 enAen.

10.5 El algoritmo QR con desplazamiento explcito

Entonces
y

Q
en Q

243

 RpA  Inq1

 enRpA  Inq1  rnnenpA  Inq1.

Ahora bien, en Q es la u


ltima fila de Q . Denotemosla por qr . Este vector es unitario
y acabamos de ver que
qr  rnn en pA  In q1 .
De aqu deducimos (recordamos que los elementos diagonales de R son n
umeros
reales positivos)
1
rnn  
}enpA  Inq1}2 ,
y en consecuencia, comparando con (10.3)
q  q.
En palabras: la u
ltima fila de la matriz Q en la factorizacion QR de A  In con
 en Aen coincide con el vector propio por la izquierda unitario aproximado, q, de
A que calcula el metodo del cociente de Rayleigh cuando se emplea en como vector
inicial en la primera iteracion . Es decir,


r q
Q Q

(10.4)

r 
El valor propio aproximado que nos proporciona el cociente de Rayleigh sera
q  Aq y el residuo (recordemos que estamos calculando vectores propios por la izquierr  . Estos c
da) r  q  A  q
alculos concluyen la iteracion del metodo del cociente
de Rayleigh.

Respecto al algoritmo QR con desplazamiento, la segunda y u


ltima etapa consiste
en calcular la siguiente matriz en la sucesion revirtiendo los factores Q y R de la
factorizacion QR de A y sumando el desplazamiento:
p  RQ
A

In

 QpA  InqQ

In

 QAQ.

Escribiendo Q como en (10.4)


p
A

r
Q

q

r q
A Q

r  AQ
r Q
r  Aq
Q
r q  Aq
q  AQ

244

El problema de valores propios

r y q  A  r
r  . Por ello, teniendo en cuenta que q es
Ahora bien, q  Aq 
q
r
ortogonal a todas las columnas de Q,
r  r Q
r
q  AQ

r Q
r  r Q
r
q

}qAQr}22  }rQr}22  rQrQrr.


(10.5)
r }2  }r }2 . Para ello debemos recordar
Nuestro objetivo es demostrar que }q  AQ

r es la soluci
el Teorema 10.10. De acuerdo con este Teorema,
on del problema de
mnimos cuadrados consistente en calcular el n
umero complejo, , que hace mnima
la distancia q   q  A. Es decir,
r   q  A}2  mn }q   q  A}2 .
}r}2  }q
P C

Recordemos tambien (Teorema 8.3 del Captulo 7) que para el problema de mnimos
cuadrados mnn }By  c}2 , y0 es una solucion si y solo si By  c P pIm B qK . En nuestro

y C

r   q  A P pIm q  qK o equivalentemente q  r  0. Es
caso, debe suceder que r  q
r Con esto en mente, podemos demostrar que }q  AQ
r }2  }r }2 . En
decir, r P Im Q.
efecto, por (10.5)
}qAQr}22  rQrQrr,
rQ
r  es la proyecci
r y r P Im Q;
r por lo tanto Q
rQ
r r
pero Q
on ortogonal sobre Im Q
r }2  r r  }r }2 tal y como dese
abamos demostrar. En definitiva
y }q  AQ
2
2
p
A

r  AQ
r Q
r  Aq
Q
r
r
q  AQ

r

r  es el residuo del algoritmo del cociente


r }2  }r }2 siendo r   q  A  q
y }q  AQ
de Rayleigh aplicado por filas a la matriz A con vector inicial en . En conclusion

Teorema 10.14 Para una matriz A P Fnn el algoritmo QR con desplazamiento


explto k  en Ak en produce
on de matrices
tAk uk0 tales que si pa una sucesi

p
kq
p
kq
p
kq
p
kq
ra k  0, 1, 2, . . ., an  an1    ann1 ann es la u
ltima fila de Ak , Ak 

pk1q

pkq pk1q

Qk1 Ak1 Qk1 y qn


es la u
ltima fila de Qk1 entonces pann , qn
q es el valorvector propio unitario por la izquierda aproximados que produce el algoritmo del
cociente
a Ak1 con vector inicial en . Ademas la norma del

 de Rayleigh aplicado
kq
vector apn1
   apnnkq1 es igual a la norma del residuo producido por el algoritmo
del cociente de Rayleigh.

10.5 El algoritmo QR con desplazamiento explcito

245

Este resultado nos indica que si el algoritmo del cociente de Rayleigh converge para
la matriz A con vector inicial en entonces usando como desplazamiento explcito el
elemento en la posicion pn, nq de la matriz obtenida en cada iteracion, el algoritmo
QR con estos desplazamientos produce una sucesion de matrices que converge a una
matriz con la forma


B c
0

siendo un valor propio de A. Ademas , el vector formado por los elementos diagonales de la u
ltima fila de la matriz producida en cada iteracion tiene la misma
norma que el residuo producido por el algoritmo del cociente de Rayleigh. Podemos
usar como criterio para terminar el proceso iterativo que la norma de este vector
sea menor que una cantidad previamente especificada. Una vez obtenido un vector
suficientemente peque
no sustituiramos los elementos no diagonales de la u
ltima fila
por cero y procederamos a deflactar la matriz hasta obtener, si hay convergencia,
una matriz en forma de Schur. El proceso, ademas, produce las matrices unitarias
de paso.
El algoritmo en cada etapa sera el siguiente:

Una etapa del algoritmo QR


Datos: A P Fnn ,  0 e itermax
Objetivo: Obtener una matriz T , semejante a A, cuyos elementos en la u
ltima
fila sean todos cero excepto el de la diagonal, y la matriz unitaria de semejanza
Q.
normA=}A}F
T  A, Q  In
d  T pn, 1 : n  1q, iter=0
while }d}2  normA e iter itermax
s  T pn, nq
(desplazamiento)
T  sIn  Q1 R1
(factorizacion QR de T  sIn )
T  R1 Q1 sIn
(revertimos los factores)
d  T pn, 1 : n  1q (nuevos elementos no diagonales)
Q  QQ1
(actualizamos la matriz unitaria de paso)
iter=iter+1
end while

246

El problema de valores propios

if iteritermax
T pn, 1 : n  1q  0
end if

10.5.2.

(para que quede bonito)

An
alisis de la velocidad de convergencia del algoritmo QR

Para analizar la velocidad de convergencia del algoritmo QR vamos a determinar


pk 1q
pk q
una cota de }an }2 en terminos de }an }2 . Para no arrastrar los subndices todo
p  Ak 1 . La notaci
el rato, vamos a poner A  Ak y A
on sera similar al referirnos
a los diversos elementos y matrices relacionados con Ak y Ak 1 . As, pondremos
p  In  RQ.
A  In  QR y A
Consideremos A, Q y R particionadas como sigue:
A  In
Entonces

p  In
A

B  In1
h
g


p
p  In1
B
h

p

gp

P f
e



S r
0

S r
0



 QR.

(10.6)

P f
.
e

(10.7)

El objetivo es acotar gp en funcion de g.


En primer lugar, como Q es unitaria, la norma de cada una de sus filas y columnas
es 1. En particular, }e}22 | |2  }f }22 | |2 , de donde concluimos que

}e}2  }f }2.
Por otra parte, en (10.6)

g

 eS.
Suponiendo que S es no singular y  }S 1 }2 , tenemos que
}e}2 }g}2.
Ahora como Q es unitaria, despejando R en (10.6) obtenemos


S r
0

P e
f



B  In1
h
.
g


10.5 El algoritmo QR con desplazamiento explcito

De aqu sacamos que  f  h


p  q. Como | | 1, }e}2
y, por la desigualdad de Cauchy-Schwarz, |f  h| }f }2 }h}2 :

247

 }f }2, }e}2 }g}2

|| }g}2}h}2 |  |.
Finalmente de (10.7) obtenemos gp  e . Poniendo todo junto y teniendo en cuenta,
otra vez, que }e}2 }g }2 conclumos
}gp}2 2}h}2}g}22 |  |}g}2,
o, con los subndices restaurados,

}gk 1}2 k2}hk }2}gk }22

k |k  k |}gk }2 .

Notemos finalmente que para todo k  1, 2, . . . }hk }2 }A}2 . En efecto, todas las
matrices Ak que se van construyendo mediante el algoritmo QR son unitariamente
semejantes (Ak 1  Qk Ak Qk ), de modo que }Ak }2  }A}2 . Pero

}hk }22 }hk }22 ||2  }Ak en}22 }Ak }22}en}22  }Ak }22.
En conclusion, existe un n
umero real 0 tal que }hk }2 para todo k  1, 2, . . ..

Entonces

}gk 1}2 k2}gk }22

k |k  k |}gk }2 .

(10.8)

Lo primero que sugiere esta expresion es, tal y como ya hemos deducido al comparar
los algoritmos QR y cociente de Rayleigh, que el desplazamiento apropiado en cada
iteracion es k  k porque esta eleccion proporciona una cota de gk 1 en terminos
del cuadrado de }gk }2 . En tal caso, la cota queda

}gk 1}2 k2}gk }22


Vamos a suponer que existe un n
umero real 0 tal que para todo k  1, 2, . . .
}Sk1}2 .
Se puede demostrar que, de hecho, esta propiedad es verdadera para valores de gk
suficientemente peque
nos.
En estas condiciones

}gk 1}2 2}gk }22.

248

El problema de valores propios

As pues, cuando el algoritmo QR converge a un valor propio simple y }Sk1 }2


para todo k, la norma de gk 1 esta acotada por una cantidad que es proporcional
al cuadrado de la norma de gk . Se dice que la sucesion t}gk }2 u converge cuadraticamente, al menos, a cero.
Tal y como ya hemos dicho la condicion }Sk1 }2 se cumple para valores de gk
suficientemente peque
nos, as que no podemos decir que la convergencia es siempre
cuadratica. Al principio puede no serlo, pero llegara un momento en el que lo sera con
seguridad. Se dice que la convergencia del algoritmo QR es localmente cuadr
atica.
La convergencia cuadratica es muy conveniente porque, una vez que empieza, es
muy rapida. Para hacernos una idea, si 2  1 y }g0 }2  101 , entonces

}g1}2 102
}g2}2 104
}g3}2 108
}g4}2 1016

Cuatro iteraciones bastan para reducir el error por debajo de la unidad de redondeo
para la doble precision.
Si A fuera hermtica, entonces tambien lo seran cada una de las Ak (Recordemos
que Ak  Qk1 Ak1 Qk1 ). En particular tendramos que hk  gk , de modo que
podemos reemplazar por }gk }2 y la acotacion sera

}gk 1}2 2}gk }32.

Este tipo de convergencia se llama c


ubica.
Observaciones 10.15 El analisis de la convergencia que hemos hecho es local; esto
es, se supone que gk es suficientemente peque
no (o, equivalentemente, k suficientemente proximo a un valor propio). No hay teoremas para la convergencia global
del algoritmo QR aplicables a cualquier matriz. El comportamiento tpico del algoritmo parece ser el siguiente: se consumen unas cuantas iteraciones en las que la
convergencia puede ser muy lenta o parecer, incluso, que no hay convergencia y en
un momento dado emp`eza la convergencia de manera muy rapida. Para el calculo
de los siguientes valores propios se necesitan cada vez menos iteraciones. La razon
de esta u
ltima caracterstica del comportamiento del algoritmo QR se puede explicar, al menos parcialmente, por la relacion entre este algoritmo y el del metodo de
iteracion ortogonal o simultanea que no abordaremos en este curso.

10.6 Consideraciones finales

10.6.

249

Consideraciones finales

Hay muchas mas cosas que decir sobre el algoritmo QR. En particular, su relacion
con el algoritmo de iteracion simultanea, que es una generalizacion del metodo de
las potencias, es muy importante porque sirve para establecer condiciones suficientes
de convergencia. Otro aspecto importante es la relacion entre el algoritmo QR y la
reduccion a forma Hessenberg y, en general, la implementacion practica del algoritmo
QR (algoritmo QR con desplazamiento implcito). Tambien es importante la eleccion
de los desplazamientos y la reduccion a forma de Schur real cuando la matriz es real.
Genericamente las matrices complejas tienen valores propios distintos en modulo,
pero esto no es verdad para las matrices reales en las que cuando aparecen valores
propios complejos estos vienen conjugados a pares. Es por eso que la reduccion a
forma de Schur real es tan importante para estas matrices.
De vez en cuando surgen tipos de matrices para las que el algoritmo QR con los
desplazamientos conocidos no converge. Lo habitual en tales casos es a
nadir nuevos
desplazamientos a la lista de los ya conocidos. Sin embargo, por ahora no hay un
algoritmo universal eficiente para todas las matrices.
Finalmente, los algoritmos para el calculo de los valores propios no terminan con
el algoritmo QR aunque este sea el algoritmo de proposito general que mas se utiliza. Para matrices con estructura existen algoritmos especiales. Por ejemplo, para
matrices simetricas o hermticas que son unitariamente diagonalizables ademas del
algoritmo QR existen otros que aprovechan la estructura de estas matrices. Otro
caso es el de las matrices con muchos elementos iguales a cero (sparse matrices en
ingles). Los algoritmos para el calculo de valores propios han sido y sigue siendo un
campo de mucha actividad investigadora.

250

El problema de valores propios

Captulo 11

El problema simetrico de valores


propios

11.1.

Introducci
on

El u
nico algoritmo de proposito general que se usa en la practica para calcular
todos los valores propios y, opcionalmente, los vectores propios de matrices densas
y no simetricas es el algoritmo QR. Para matrices simetricas (o hermticas) hay una
variedad de algoritmos que en algunos casos ofrecen mayor flexibilidad y eficiencia.
Trataremos exclusivamente el caso real (simetrico) y analizaremos cuatro de estos
algoritmos. En esta introduccion comentaremos las propiedades del algoritmo QR
cuando se aplica a matrices simetricas. El metodo de Jacobi se discutira en los
problemas y dedicaremos sendas secciones a los metodos de biseccion y divide y
venceras.
Hay que decir, en primer lugar, que los algoritmos QR, divide y venceras y el metodo
de biseccion se aplican una vez se ha reducido la matriz simetrica a forma Hessenberg;
251

252

El problema simetrico de valores propios

el metodo de Jacobi no. Debe notarse que si A P Rnn es simetrica y Q P Rnn es


ortogonal, entonces QT AQ tambien es simetrica. Por lo tanto, si H  QT AQ es una
forma Hessenberg de A entonces H es tridiagonal. Esto significa que en el proceso de
reduccion de A a forma Hessenberg, la estructura simetrica de la matriz se mantiene
y los ceros se van creando en posiciones simetricas. En otras palabras, una vez hechos
ceros por debajo de la posicion pk 1, k q:
Rpk
se puede poner

1 : n, k q  Rpk
Rpk, k

1 : n, k q  2uuT Rpk

1 : nq  Rpk

1 : n, k q

1 : n, k qT

sin tener que operar por columnas. Ahora, las operaciones por columnas solo habra
que hacerlas sobre la submatriz Rpk 1 : n, k 1 : nq:
R pk

1 : n, k

1 : nq  Rpk

1 : n, k

1 : nq  2Rpk

1 : n, k

1 : nquuT .

n3 en el caso general a  34 n3 en el
Esto reduce el n
umero de operaciones de  10
3
simetrico , sin formar explcitamente la matriz Q. Y de  14
n3 a  83 n3 , formando
3
explcitamente la matriz Q.
Una vez reducida la matriz simetrica A a forma tridiagonal, el algoritmo QR encuentra todos los valores propios y, opcionalmente, todos los vectores propios de
A. Si este algoritmo se implementa eficientemente es, en la actualidad, el metodo
practico mas rapido para calcular todos los valores propios de una matriz simetrica,
y una vez reducida esta a forma tridiagonal solo necesita Opn2 q flops. Dado que la
umero de flops para calcular
reduccion a forma tridiagonal requiere  43 n3 flops, el n
los valores propios es insignificante para valores suficientemente grandes de n. Ahora
bien, si se requieren tambien los vectores propios, el algoritmo QR precisa del orden
de 6n3 flops (en promedio). En tal caso, es el algoritmo mas rapido para matrices
de tama
no peque
no, alrededor de n  25, y es el que corre por debajo del comando
eig de MATLAB. Para matrices de tama
nos mayores que 25 el algoritmo QR es
superado por el algoritmo divide y venceras que analizaremos mas adelante.
Para concluir esta introduccion recordemos que las matrices hermticas son unitariamente diagonalizables y sus valores propios son n
umeros reales. Esto hace que los
valores propios se comporten bien respecto a peque
nas perturbaciones de la matriz
(vease el teorema de Bauer-Fike, Teorema 9.10 en la Leccion 9). No estudiaremos
aqu la teora de perturbacion de los valores propios de matrices hermticas pero
hacemos la observacion de que los valores propios simples de las matrices hermticas

11.2 El algoritmo divide y venceras

253

estan bien condicionados. En efecto, si A es hermtica entonces A  A y si x es un


vector propio por la derecha asociado al valor propio entonces x es vector propio
por la izquierda asociado al mismo valor propio. Ello se deduce de que
Ax  x x A  x A

 pAxq  pxq  x

porque P R. As pues el n
umero de condicion (absoluto) de es (vease la ??)
1
pq  
x x

 }x1}2  1,
2

porque para calcular el n


umero de condicion de se toman vectores propios unitarios.

11.2.

El algoritmo divide y vencer


as

Este algoritmo se basa en el siguiente principio: el problema de calcular los valores


propios de una matriz tridiagonal simetrica, se puede subdividir en dos de tales
problemas de la mitad de tama
no; cada uno de estos, a su vez, en otros dos de
la mitad de tama
no; y as sucesivamente. Este algoritmo supone la mejora mas
importante en el calculo numerico de los valores propios desde la decada de 1960.
Fue presentado por Cuppen en 1981 y es un metodo que duplica la velocidad del
algoritmo QR si lo que se quiere es calcular tanto los valores como los vectores
propios.
Daremos solo las ideas esenciales sin entrar en los detalles de implementacion. Hay
que decir, no obstante, que para implementar este algoritmo de manera eficiente y
estable, los detalles son importantes ya que no se consigue plena estabilidad a menos
que se implemente de manera correcta. Esta cuestion no fue comprendida del todo
hasta pasada una decada desde el descubrimiento de Cuppen.
Sea T P Rnn , n 2, una matriz simetrica, tridiagonal e irreducible en el sentido de
que todos los elementos que estan en la super y subdiagonal son distintos de 0. En
caso contrario, el problema se puede deflactar y reducir a dos problemas de menor
tama
no.

254

El problema simetrico de valores propios

Para cualquier k tal que 1 k





 b1














a1

a1


 b1













b1
...
...

n, podemos escribir T

b1
..
.
...

..

..

..

. bn1
bn1 an

ak1 bk1
bk1 ak  bk
ak

1  bk

bk

T1 0
0 T2

bk 1
...

...

..

..

bn1
an

bn1

0
 .. 
.

 

















...
ak1 bk1
bk1 ak
bk
b k ak 1 b k 1
..
.
bk 1
..
.

de la siguiente forma:

 
0
 
1
bk   0
1
 
0
.
 .. 



0 1 1 0










































T1 0
0 T2

bk b k
bk b k

bk vv T .

0
Esta expresion de T ,
T

T1 0
0 T2

bk vv T ,

(11.1)

nos indica que toda matriz tridiagonal se puede escribir como la suma de de una
matriz diagonal por bloques, con dos bloques diagonales que son tridiagonales, y una
correccion de rango 1.
El algoritmo divide y venceras procede de la siguiente forma. Supongamos que para

11.2 El algoritmo divide y venceras

255

cualquier division de T de la forma (11.1), sabemos como calcular los valores propios
de T a partir de los de T1 y T2 (este problema lo analizaremos mas abajo). Entonces:
1. Se divide la matriz T como en (11.1) con k
aproximadamente.

 n{2; es decir, en dos mitades

2. Procedemos recursivamente de la misma forma, subdividiendo las matrices T1


y T2 en dos mitades cada una, las cuales son subdivididas a su vez en dos
mitades y as sucesivamente. Para cada subdivision, se calculan los valores
propios de la matriz subdividida a partir de los bloques diagonales de las
subdivisiones y las correspondientes correcciones de rango 1.
3. Paramos cuando lleguemos a bloques diagonales de tama
no 1  1 o cuando
lleguemos a matrices de tama
no suficientemente peque
no como para que sea
mas rapido o economico calcular los valores propios de los bloques diagonales

mediante el algoritmo QR. LAPACK, librera de programas de Algebra


Lineal
en la que se basan las funciones de MATLAB, utiliza n  25 como tama
no
mnimo para parar las subdivisiones y pasar a calcular los valores propios con
el algoritmo QR simetrico.
De esta manera, el problema de calcular los valores propios de una matriz tridiagonal se reduce al de calcular los valores propios de una matriz 1  1 (o de tama
no
suficientemente peque
no) mas una coleccion de matrices de rango 1.
En este programa hay un problema que hemos mencionado y no hemos dicho como resolver: conocidos los valores propios de T1 y T2 como calculamos los valores
propios de T ? Vamos a responder ahora a esta cuestion crucial. Para ello supongamos que disponemos de la informacion espectral de T1 y T2 ; es decir, de sus valores
propios y de vectores propios ortonormales:
T1

 Q1D1QT1 ,

T2

 Q2D2QT2 ,

siendo D1 y D2 diagonales y Q1 y Q2 matrices ortogonales (seran unitarias en el


caso complejo). Entonces
T




T1 0
Q1 D1 QT1
0
bk vv T 
bk vv T
T
0
T
0
Q
D
Q
2
2
2

 


 T 2 
Q1 0
D1
Q1 0
T
bk uu
0 Q2
D2
0 QT2

256

El problema simetrico de valores propios

donde

u

QT1 0
v
0 QT2

D1

q1k
,
q21

q1k
q21

 ultima columna de QT1 ,


 primera columna de QT2 .

bk uuT son ortogonalmente semejantes, hemos reducido


D2
el problema al calculo de los valores propios de una matriz diagonal mas una correccion de rango 1. Pongamos bm  y D  DiagpD1 , D2 q (por simplicidad notacional)
y calculemos los valores propios de S  D uuT . Para ello formamos su matriz

caracterstica I  S  I  D  uuT . Esta


es una matriz polinomial en la indeterminada . Es decir, es una matriz cuyos elementos estan en Rrs, el anillo de los
polinomios cuyos coeficientes son n
umeros reales y la indeterminada es . Tambien
es una matriz con elementos en el cuerpo de fracciones Rpq del anillo Rrs; esto
es, el cuerpo de fracciones racionales: cocientes de polinomios de Rrs tales que los
denominadores no son el polinomio 0. El determinante de I  D  uuT sera un
polinomio, y sera el mismo polinomio tanto si lo calculamos en el cuerpo Rpq como
si lo calculamos en el anillo Rrs. Ahora bien, hacer las operaciones en el cuerpo
Rpq nos permite mayor flexibilidad. Concretamente, la matriz I  D tiene inversa
en Rpq (pero no en Rrs) de modo que operando en Rpq podemos escribir:
Como T y S

detpI

 D  uuT q 



detppI  DqpI  pI  Dq1 uuT qq 


detpI  Dq detpI  pI  Dq1 uuT q 
r

i 1

donde estamos suponiendo que D

(11.2)

p  diq detpI  pI  Dq1uuT q.

 Diagpd1, . . . , dr q es de tamano r  r.

Pongamos w  pI  Dq1 u y recordemos que en el Problema 4 de la Leccion 7 se


peda demostrar que si A  I xy T entonces detpAq  1 y T x (all se demostro para
matrices de n
umeros reales o complejos, pero la misma demostracion sirve para
matrices sobre cualquier cuerpo). Por lo tanto

 pI  Dq1uuT q  detpI  wuT q  1  uT w  1  uT pI  Dq1u.


Ahora bien, suponiendo que D es de tama
no r  r:
detpI


u pI  Dq1 u  u1
T





ur 


1
d1

1
d2

 
 u1
  .. 
 . 


...
1
dr

ur

u2i

  di

i 1

11.2 El algoritmo divide y venceras

257

por lo que
detpI

 pI  Dq1uuT q  1 

u2i

  di

i 1

A la ecuacion
1

u2i

  di

0

i 1

se le llama ecuacion secular de S. Denotando


f pq : 1 

u2i

  di

i 1

conclumos que, por (11.2),


detpI

 Sq 


detpI
r

i 1

 D  uuT q  p  diqf pq 
r

p  diq

1

i 1
u2i

(11.3)

  di

i 1

Las siguientes observaciones sobre esta identidad son importantes:


Observaciones 11.1
que

1. La expresion en (11.3) es, en efecto, un polinomio por


r

u2i

 di
i1

j i
r

i 1

p  dj q
p  dj q

u2i ,

j 1

y as,
detpI

 Sq 

i 1j i

p  di q 

i 1

2. Si uk

 

i 1j i

 

p  dj qu2i

(11.4)

 0 para algun k entonces p  dk q se puede sacar factor comun en


p  dj qu2i , y por lo tanto  dk es una valor propio de S.

3. Del mismo modo, si hay dos elementos diagonales de D que se repiten, digamos
dk  dk 1 para alg
un k, entonces
f pq  1 

u2k u2k
 dk

i k,k 1

u2i

 di

y, por (11.3),  dk sera, de nuevo, un valor propio de S.

258

El problema simetrico de valores propios

Figura 11.1: Grafica de f pq  1

1
1

0,8
1

0,6
2

0,4
3,5

0,5
5

4. Teniendo en cuenta (11.4) y que podemos escribir


f pq 
r

i 1

p  diq

i 1j i

i 1

p  diq 

 

p  dj qu2i

conclumos que los valores propios de S son los ceros (races del numerador)
de f pq.
En la Figura 11.1 se muestra el aspecto (para n  5 y 0) de la grafica de una
funcion f pq asociada a una ecuacion secular con valores concretos de ui y di . En
ella se aprecian varias propiedades interesantes:
1. La recta y  1 es una asntota horizontal y las rectas  di son asntotas

verticales. Estas
son las races del denominador de la funcion racional f pq y
se les llama los polos de f pq.
r

u2i
y hemos escogido 0, la funcion es decreciente
2
i1 p  di q
en todos los intervalos en los que esta definida.

2. Como f 1 pq 

3. Como consecuencia de lo anterior, los valores propios de S (que son, recordemos, los ceros de f pq ; i. e., los puntos en los que f pq corta el eje de abscisas)
se entrelazan con los de D quedando el mas peque
no de S a la izquierda del
mas peque
no de D. Esto es debido a que 0. Si fuera 0 entonces f pq

11.2 El algoritmo divide y venceras

259

sera creciente, y el mayor valor propio de S quedara a la derecha del mayor


valor de la diagonal de D.
4. En la grafica de la Figura 11.1 todos los valores de di son diferentes. Si dos
de ellos se repitieran, digamos dk  dk 1 , entonces f pdk q  0 tal y como se ha
puesto de manifiesto en el item 2 de las Observaciones 11.1. En otras palabras,
f colapsara a un punto en dk .
Dado que f pq es monotona (creciente o decreciente) y derivable en cada intervalo
pdi, di 1q, se podra, en principio, aplicar el metodo de Newton para calcular la raz

de f en ese intervalo (recordemos que solo hay una). En la practica se usa una
variante del metodo de Newton que se adapta mejor a la grafica de f pq en cada
subintervalo, pero no vamos a entrar en los detalles. Lo que merece la pena destacar
es que, en la practica, esta variante del metodo de Newton converge en un n
umero
acotado de etapas por valor propio. Dado que evaluar f pq y f 1 pq cuesta Oprq flops,
calcular un valor propio cuesta Oprq flops y, por lo tanto, encontrar los r valores
propios de D uuT cuesta Opr2 q flops.
Tambien es facil el calculo de los vectores propios. En primer lugar, hemos visto en
las Observaciones 11.1 que si uk  0 para alg
un k, entonces dk es una valor propio
de S  D uuT . Esto lo hicimos analizando la ecuacion secular, pero tambien se
deduce directamente de la forma de la matriz S. En efecto, si uk  0, la k-esima
columna y la k-esima fila de uuT son nulas. Por ello, esta misma fila y columna de
dk I  S son tambien nulas. As pues, detpdk I  S q  0, indicando que dk es un valor
propio de S, y si ek es el k-esimo vector canonico, entonces pdk I  S qek  0. Es
decir, ek es un vector propio unitario asociado al valor propio dk .
Cuando dk  dk 1 sabemos tambien que este n
umero es valor propio de S. Sin entrar
en detalles, se puede demostrar que existe una matriz ortogonal Q (en realidad una
reflexion de Householder o una rotacion de Givens en el plano ek , ek 1 ) tal
que QDQT  D y la k 1-esima componente Qu es cero. Entonces si z  Qu,
tenemos que QpD uuT qQT  D zz T son ortogonalmente semejantes, zk 1  0
y ek 1 es un vector propio de D zz T . Por lo tanto , QT ek 1 es un vector propio
de S asociado al valor propio dk 1  dk . Se puede ver tambien que formar el vector
QT ek 1 tiene un coste de Op1q flops.
En lo sucesivo podemos suponer (despues de deflactar la matriz S si fuera necesario)
que todos los elementos diagonales de D son distintos dos a dos. En estas condiciones
tenemos:

260

El problema simetrico de valores propios

Proposici
on 11.2 Si es un valor propio de D uuT , entonces pIr  Dq1 u
es un vector propio asociado a . Ademas calcular este vector propio cuesta Oprq
flops.
Demostraci
on.- Calculemos pD

uuT qpI

 Dq1u:
pD uuT qpI  Dq1u  pI  D  I  uuT qpI  Dq1u 
 u pI  Dq1u uruT pI  Dq1us 
pdado que 1  uT pD  I q1u  f pq  0q
 u pI  Dq1u u 
 pI  Dq1u.
Puesto que Ir  D es diagonal, para calcular pIr  Dq1 u hay que hacer r restas,
r divisiones y r multiplicaciones. Su coste es 3r flops.

Evaluar la formula de esta Proposicion para los r valores propios de D uuT costara
Opr2 q flops. Desafortunadamente, esta formula para el calculo de los vectores propios
no es estable porque para dos valores propios muy proximos una implementacion
directa de esta formula puede producir una perdida de ortogonalidad de los vectores
propios calculados numericamente. Costo mas de 10 a
nos conseguir una alternativa
numericamente estable de este algoritmo. No discutiremos aqu los detalles.
He aqu el algoritmo divide y venceras para calcular los valores y vectores propios
de una matriz tridiagonal simetrica T . La entrada es la matriz T y la salida matrices
D y Q tales que D es diagonal Q es (casi) ortogonal y QDQT (casi) la descomposicion espectral de T ; i.e. QT T Q es (casi) D. El algoritmo utiliza otra funcion que
usando una variante del metodo de Newton calcula los valores y vectores propios
(ortogonales) de las sucesivas matrices D uuT . Hemos omitido los detalles que
hacen este calculo estable de modo que el algoritmo no es operativo. Lo presentamos
como resumen de lo discutido hasta aqu. Hay otro aspecto importante que tampoco estudiaremos y que es fundamental para comprender la velocidad a la que este
algoritmo converge: la deflacion. Ya hemos dicho que cuando uk  0 o dk  dk 1
para alg
un k, entonces dk es valor propio de D uuT y el correspondiente vector propio es facilmente calculable y, por lo tanto, la matriz se puede deflactar. En
la practica la deflacion se realiza cuando uk es suficientemente peque
no o cuando
dk y dk 1 son suficientemente parecidos. Este importante aspecto tampoco se hace
explcito en el algoritmo. De hecho se realiza dentro de la funcion diagupdate que
no se hace explcita. Para una exposicion mas detallada de los aspectos no cubiertos
aqu pueden consultarse [5] o [23] y sus referencias.

11.2 El algoritmo divide y venceras

261

El algoritmo se llama a s mismo (es recursivo) por lo que le daremos un nombre (DivVenc) y usaremos el formato de MATLAB para la llamada: [D Q] = DivVenc(T).
Emplearemos el mismo criterio con la funcion diagupdate.

Algoritmo Divide y Vencer


as
Nombre de la funcion: DivVenc
no mnimo, tmin para calcular
Datos: T P Rnn simetrica y tridiagonal y un tama
la descomposicion espectral de las matrices de menor tama
no con el algoritmo QR.
Objetivo: Obtener una matriz D, ortogonalmente semejante a A, y la matriz ortogonal de semejanza Q.
n=tama
no de T
if n tmin
Calcula D y Q con el algoritmo QR
else
s  tn{2u
T1  T p1 : s, 1 : sq
T1 ps, sq  T ps, sq  T ps, s 1q
[D1 , Q1 ]=DivVenc(T1 )
T2  T ps 1 : n, s 1 : nq
T2 p1, 1q  T2 p1, 1q  T ps, s 1q
[D2 , Q2 ]=DivVenc(T2 )
D  DiagpD1 , D2 q
T
 ps,T s 1q 



Q1 p:, sq
u
ltima columna de QT1
Recordemos que u 
u
primera columna de QT2
QT2 p:, 1q
p Q
p s diagupdatepD, , uq
rD,
p p1 : s, :q
Qp1 : s, :q  Q1 Q
p ps 1 : n, :q
Qps 1 : n, :q  Q2 Q
end if
Para evaluar el coste del algoritmo, analizamos el coste de cada nivel de recurrencia.
Por conveniencia supondremos que el tama
no de la matriz original T es n  2m . De
este modo tendremos m niveles de recurrencia: T se divide en dos (21 bloques); cada
bloque en otros dos (22 bloques); cada uno de ellos en otros dos (23 bloques), etc. En
todos los niveles debemos resolver el mismo problema (calcular los valores y vectores

262

El problema simetrico de valores propios

propios de la matriz correspondiente) pero con tama


nos que van disminuyendo por
mitades. As, en el primer nivel debemos resolver un problema
con un coste, digamos

n
, C pnq. En el segundo, 2 problemas
 con un coste de C 2 cada uno. En el tercero,
4 con un coste cada uno de C n4 . Y as sucesivamente. En total:

   2mC p2mnq.
Basta, entonces, con determinar el valor de la funcion C pnq. El trabajo se realiza en
Ctotal

 C pnq

21 C p21 nq

22 C p22 nq

las sentencias:

p Q
p s diagupdatepD, , uq,
rD,
p p1 : s, :q, y
Qp1 : s, :q  Q1 Q
p ps 1 : n, :q
Qps 1 : n, :q  Q2 Q

Ya hemos visto que la primera de ellas es de coste Opn2 q, mientras que cada multi3
2
plicacion cuesta n 2 n flops. Considerando las dos multiplicaciones
C pnq  n3  n2
Entonces
Ctotal




n3
n3
2 3 22 6
2
 2
1
1
1
3
n
2
4 4
43
n3

 n3
23

n3
9
2

flops.

 
3

   1 n 1{4  43 n3.

As pues, el coste total del calculo de todos los valores propios y todos los vectores
propios de una matriz tridiagonal simetrica T P Rnn es  34 n3 una gran mejora, si n
es grande, respecto al algoritmo QR cuyo coste es (calculando los vectores propios)
 6n3. Teniendo en cuenta que la reduccion a forma tridiagonal es  83 n3, la mejora
es de  9n3 (para QR) a  4n3 (para divide y venceras); un poco menos de la mitad
de operaciones.

11.3.

El m
etodo de bisecci
on

El metodo de biseccion es de gran importancia practica para el calculo de algunos


valores propios de una matriz simetrica. Una vez que la matriz ha sido reducida

11.3 El metodo de biseccion

263

a forma tridiagonal, es el algoritmo que habitualmente se usa cuando no se desea


calcular todos los valores propios sino solo un subconjunto del total. Por ejemplo,
mediante este metodo se puede calcular el 10 % de los valores propios mas grandes
o los 30 valores propios mas peque
nos, o los valores propios que se encuentran en
un determinado intervalo, etc. Una vez calculados los valores propios deseados, los
correspondientes vectores propios pueden obtenerse aplicando una sola etapa del
algoritmo de iteracion inversa. El coste tpico de encontrar k valores propios, con la
matriz en forma tridiagonal, es Opknq.
El metodo de biseccion para calcular los valores propios es muy parecido al metodo
con el mismo nombre para encontrar los ceros de una funcion en un determinado
intervalo. Recordemos que este metodo consiste en lo siguiente: Dada una funcion
real f pxq de variable real y un intervalo ra, bs en el que se sabe que f paq y f pbq tienen
distinto signo, se trata de ir subdividiendo el intervalo en mitades y calculando
los signos de f en los lmites de cada subintervalo. Se va llevando cuenta de los
subintervalos en los que se mantienen los signos distintos, los cuales se vuelven a
subdividir. Y as sucesivamente hasta que se alcanzan subintervalos arbitrariamente
peque
nos en los que la funcion cambia de signo en sus extremos y consecuentemente,
en su interior hay al menos un cero de la funcion. Se podra aplicar este metodo al
polinomio caracterstico detpIn  T q de la matriz tridiagonal. Claro, este polinomio
como tal no se debera calcular explcitamente (eso sera carsimo desde el punto de
vista computacional) sino que lo que se hara es calcular detpIn  T q con igual a
los extremos de los intervalos en los que se calcula el valor del polinomio. Es decir,
si pT pq  detpIn  T q y se quiere saber el valor de pT pq en  a, no se calcula
pT pq y se sustituye  a en la expresion obtenida sino que se calcula directamente
detpaIn  T q. Esto se puede hacer a partir de la factorizacion LU con pivoteo parcial,
pero el coste de cada evaluacion sera de orden Opn3 q. Por lo tanto, no sera efectivo.
Lo que hace interesante y efectivo al metodo de biseccion son las propiedades que
se esconden detras de las matrices tridiagonales simetricas (o hermticas) y que no
son inmediatamente obvias. Haremos aqu una descripcion del metodo y sus fundamentos, pero no haremos completamente explcito el pseudocodigo del algoritmo.
De hecho los algoritmos mas efectivos estan basados en la llamada ley de inercia de
Sylvester, que supone una aproximacion diferente a la que se adoptara aqu.
Supongamos que A P Rnn es una matriz simetrica y sea B P Rpn1qpn1q la submatriz de A obtenida al suprimir una fila y las misma columna. Entonces B sigue
siendo simetrica. Si 1 pAq    n pAq y 1 pB q    n1 pB q son los valores
propios (recordemos que son n
umeros reales) de A y B, estos n
umeros cumplen la

264

El problema simetrico de valores propios

siguiente propiedad (habitualmente asociada al nombre de Cauchy):


1 pAq 1 pB q 2 pAq 2 pB q 3 pAq    n1 pAq n1 pB q n pAq
(11.5)
Es decir, los valores propios de A y de cualquiera de sus submatrices principales de un
orden menos, se entrelazan. Una demostracion de esta propiedad puede encontrarse
por ejemplo en [12].
Ahora bien, si la matriz A es triangular irreducida (i.e., sus elementos en las sub
y s
uper diagonales son todos distintos de cero) entonces este entrelazamiento es
estricto. Esta propiedad puede demostrarse de la siguiente manera. Sea


A

a1 b 1
 b 1 a2






b2

b2
a3
..
.

...
..

bn1

bn1
an








y denotemos con Ar  Ap1 : r, 1 : rq la submatriz de A formada por sus r primeras


filas y columnas, r  1, . . . , n. Sea pr pq  detpIr  Ar q el polinomio caracterstico
de Ar . Podemos expresar este polinomio en funcion de pr1 pq  detpIr1  Ar1 q
y pr2 pq  detpIr2  Ar2 q. En efecto, desarrollando detpIr  Ar q por su u
ltima
columna obtenemos:
pr pq  p  ar qpr1 pq  b2r1 pr2 pq.
Y para que esta expresion se pueda aplicar a r

(11.6)

 1, 2, . . . , n, pondremos p0pq  1.

Ahora, Ar y Ar1 no pueden tener ning


un valor propio en com
un porque si tal cosa
ocurriera y fuera tal valor propio, tendramos que
pr pq  pr1 pq  0.
Dado que br2  0, se sigue de (11.6) que pr2 pq  0. Del mismo modo, como
pr1 pq  pr2 pq  0 y br3  0, deducimos que pr3 pq  0. En definitiva,
pr pq  pr1 pq      p1 pq  0. Pero p2 pq  p  a2 qp1 pq  b1 con b1  0, de
modo que p1 pq y p2 pq no pueden tener una raz com
un.
Hemos demostrado de hecho una propiedad mas fuerte:

11.3 El metodo de biseccion

265

Proposici
on 11.3 Sean A1 , A2 ,. . . , An  A definidas como mas arriba a partir de
pkq
pkq
una matriz A P Rnn que es simetrica y tridiagonal irreducida. Sean 1 2
   pkkq los valores propios de Ak , k  1, . . . , n. Entonces

pk 1q pkq pk 1q ,
j
j 1

 1, . . . , n,

 1, 2, . . . , k  1.

(11.7)

Una consecuencia inmediata de la esta Proposicion (11.3) es que todos los valores
propios de Ak son distintos (propiedad que ya vimos en los ejercicios del Captulo
9).
Esta propiedad de entrelazamiento estricto es la que hace posible calcular el n
umero
exacto de valores propios en un intervalo. En primer lugar, observemos que si alg
un
bi  0 entonces el problema puede ser deflactado dividiendo el problema de calcular
los valores propios de A en el mismo problema pero en dos submatrices de menor
orden. Supondremos a partir de ahora que A es tridiagonal simetrica e irreducida.
Veamos en un ejemplo como se puede calcular el n
umero de valores propios negativos
a partir de (11.7). Consideremos la matriz


1
1
A
 0
0

1

0
0 1
1 3
0 1

0
0

1 .
4

Los determinantes de las submatrices Ak son:


det A1

 1,

det A2

 1,

det A3

 4,

det A4

 det A  17.

(11.8)

Recordemos ahora que el determinante de una matriz es el producto de sus valores


propios. Por lo tanto, A1 no tiene valores propios negativos. Como det A2  1
p2q
p1q
p2q
p1q
p2q
p2q
y 1 1 2 y 1  1 deducimos que 1 1 y por lo tanto 2 0.
Es decir, A2 tiene un valor propio negativo. Un razonamiento similar con A3 nos
p2q
p3q
p3q
p2q
conduce a que 0 2 3 , y como det A3 0 y 1 1 1 debe ser
p3q
2 0. Finalmente, el cambio de signo de det A3 a det A4 indica que A4 debe tener
p4q
p4q
p3q
p3q
p4q
p3q
2 valores propio negativos porque 1 1 2 2 0 y 0 3 4 .
p4q
Como det A4 0 necesariamente 3 0.
En definitiva, los cambios de signo en la secuencia (11.9) nos indican el n
umero
de valores propios negativos que se van a
nadiendo a las sucesivas submatrices. El
n
umero de cambios de signos en la secuencia completa nos da el n
umero de valores

propios negativos en la matriz A. Este es un resultado general:

266

El problema simetrico de valores propios

Para cualquier matriz simetrica tridiagonal irreducida A P Rnn , el


n
umero de valores propios negativos es igual al n
umero de cambios
de signo en la secuencia:
1, det A1 , det A2 , . . . , det An

 det A.

Puede suceder, por supuesto, que alguno de estos determinantes sea cero (incluyendo
det A  0). En tal caso, se debe entender como cambio de signo cualquier transicion
de o 0 a , o de  o 0 a , pero no de o  a 0.
Si lo que se quiere es saber cuantos valores propios de A son menores que un n
umero
determinado, digamos a, basta calcular los valores propios negativos de la matriz
B  A  aIn . En efecto, por una parte 0 P pAq si y solo si 0  a P pA  aIn q y
por otra, 0  a 0 si y solo si 0 a. Finalmente, el n
umero de valores propios de
A en el intervalo ra, bq es el n
umero de valores propios de A menores que b menos
el n
umero de valores propios de A menores que a. Esto nos conduce a la u
ltima
observacion que completa la descripcion del algortimo de biseccion: si calculamos
el determinante detpAk  Ik q desarrollondolo por los los elementos de la u
ltima
columna obtenemos:
detpAk  Ik q  pak  q detpAk1  Ik1 q  b2k1 detpAk2  Ik2 q.
Si ponemos pk pq  detpAk  Ik q (i.e., pk pq es el polinomio caracterstico de Ak
pero con los signos de los coeficientes cambiados) y convenimos que p1 pq  0 y
p0 pq  1, entonces
pk pq  pak  qpk1 pq  b2k1 pk2 pq,

 1, 2, . . . , n.

Como el n
umero de valores propios de A menores que a es el n
umero de cambios de
signo en la secuencia
1, detpA1  aI1 q, detpA2  aI2 q, . . . , detpAn  aIn q  detpA  aIn q,
el n
umero de valores propios de A menores que a es tambien el n
umero de cambios
de signo en la secuencia
p0 paq, p1 paq, p2 paq, . . . , pn paq.

(11.9)

Tal y como hemos convenido, se debe entender que si pk paq  0 entonces pk paq tiene
el signo opuesto de pk1 paq.

11.3 El metodo de biseccion

267

Debe observarse que los polinomios pk pq no se forman nunca. Lo que se hace es evaluarlos en los puntos deseados y contar el n
umero de cambios de signo sobre la marcha (multiplicando los valores consecutivos seg
un se van obteniendo, por ejemplo). El
coste de evaluar todos los polinomios es Opnq. Si llamamos contnegval(A,x,tol)
al algoritmo que nos cuenta, mediante este procedimiento de conteo de cambios de
signo, el n
umero de valores propios menores que x, el siguiente algoritmo nos permitira calcular los valores propios de A en el inetvalo ra, bq hasta una tolerancia, tol,
dada. El algoritmo produce una lista, lista, de subintervalos rx, y q que contienen
ny  nx valores propios siendo nx el n
umero de valores propios menores que x ( y lo
mismo para ny ).
Algoritmo de Bisecci
on
Nombre de la lista: lista
Datos: T P Rnn simetrica y tridiagonal, un intervalo ra, bq y una tolerancia tol.
Objetivo: Obtener los valores propios de T en ra, bq con una tolerancia tol.
na =contnegvalpT, aq
nb =contnegvalpT, bq
if na  nb
Coloca ra, na , b, nb s en la lista
while lista no vaca
Quita rx, nx , y, ny s de la lista
if y  x tol
print hay ny  nx valores propios en rx, y q
else
z  px y q{2
nz contnegvalpT, z q
if nz nx
Coloca rx, nx , z, nz s en la lista
end if
if ny nz
Coloca rz, nz , y, ny s en la lista
end if
end if
end while
else
print No hay valores propios en ra, bq
end if

268

El problema simetrico de valores propios

La convergencia del algoritmo es lineal. Dado que, tal y como se ha dicho, el coste de
cada evaluacion en contnegval es Opnq, el coste total con tol=M es Opn logpM qq
flops para encontrar un valor propio con una precision relativa de M . Si solo se
necesita un n
umero peque
no de valores propios, supone una buena mejora respecto
2
a las Opn q flops que usa el algoritmo QR (todo ello supuesto que A ya esta en
forma tridiagonal). En un ordenador con varios procesadores, se pueden calcular
varios valores propios simultaneamente trabajando los procesadores en paralelo.

Captulo 12

Metodos Iterativos

12.1.

Introducci
on

En este u
ltimo Captulo dejamos el territorio clasico y bien conocido de los metodos
directos para adentrarnos en el menos explorado pero de gran actualidad de los
metodos iterativos. Los algoritmos de Gauss (factorizacion LU y sus derivados) o
los de factorizacion QR son metodos directos en los que los algoritmos terminan
despues de un n
umero finito de etapas. Los vistos hasta ahora para calcular valores
propios se incluyen tambien en esta categora aunque para calcular valores y vectores
propios de matrices tenemos que usar, necesariamente, algoritmos basados en la
realizacion de iteraciones. No obstante, como la experiencia nos muestra que estos
algoritmos proporcionan (casi siempre) soluciones suficientemente aproximadas en
un n
umero finito de iteraciones, se les considera algoritmos directos. Los llamados
metodos iterativos proporcionan, por lo general, solo parte de las soluciones despues
de un n
umero de iteraciones que suele interrupir el propio usuario cuando considera
que ha alcanzado los objetivos deseados. Se suelen aplicar a matrices de grandes
dimensiones para las que o bien no se pueden aplicar los metodos directos por su
269

270

Metodos Iterativos

alto coste, o bien porque solo se precisa informacion parcial de las soluciones. Estas
matrices de grandes dimensiones suelen tener la propiedad de ser dispersas, termino
que proviene de la traduccion del ingles sparse matrices, y que se usa para referirse
a matrices con una gran cantidad de elementos iguales a cero (lo opuesto a matriz
dispersa es matriz densa). Estas matrices dispersas frecuentemente aparecen en
la discretizacion de ecuaciones diferenciales o integrales al usar modelos de elementos
finitos o diferencias finitas. Por ejemplo, una discretizacion de diferencias finitas de
una ecuacion en derivadas parciales puede traducirse en una matriz de dimension
m  105 con solo  10 elementos no nulos por fila.
Los algoritmos iterativos solo requieren la capacidad de calcular Ax para cualquier x.
Este producto, de realizarse todas las operaciones involucradas, tendra un coste de
Opm2 q flops. Si la matriz es dispersa, puede lograrse en con un n
umero mucho menor
de operaciones; por ejemplo Opmq. Mas a
un, la forma de calcular este producto
puede variar grandemente dependiendo del problema que se tenga entre manos.
La suposicion es que se deja en manos del usuario la forma en que se realizan estas
multiplicaciones matriz-vector, y el programador se centra en el dise
no del algoritmo
propiamente.
Se usan metodos iterativos tanto para calcular valores y vectores propios (Ax  x)
como para resolver sistemas lineales (Ax  b). En el primer caso el objetivo suele
ser conseguir un subconjunto de valores y vectores propios realizando un n
umero
limitado de iteraciones para obtener algunos valores propios de interes con suficiente aproximacion. En la resolucion de sistemas lineales, los metodos iterativos se
usan cuando metodos como la eliminacion gaussiana o la factorizacion QR requieren
demasiado tiempo o espacio. En contraste con los metodos directos, los metodos iterativos no produce, por lo general, la respuesta exacta (incluso en ausencia de errores
de redondeo) despues de un n
umero finito de pasos, sino que en cada iteracion disminuyen el error en una cierta proporcion. Las iteraciones se interrumpen cuando
el error es menor que un umbral prefijado por el usuario. El n
umero de iteraciones
para obtener ese umbral depende frecuentemente de las propiedades espectrales de
la matriz A. Por ejemplo, el metodo Gradiente Conjugado garantiza la solucion de
un sistema lineal con una matriz hermtica definida positiva rapidamente si los valores propios de A estan juntos unos de otros y alejados del cero. De forma similar,
el metodo de Lanczos garantiza el calculo rapido de ciertos valores propios de una
matriz hermtica si dichos valores estan bien separados del resto del espectro (y si
el vector inicial que comienza la iteracion es suficientemente generico).
El objetivo general es desarrollar metodos que decrezcan mucho el error en cada

12.2 El metodo de Arnoldi

271

iteracion y con la menor cantidad de trabajo posible en cada una de ellas.


Estudiaremos aqu unos pocos metodos y sin alcanzar profundidad. Nos centraremos
en metodos basados en la idea de proyectar un problema m-dimensional en un
subespacio de Krylov de dimension mucho menor. Dada una matriz A P Fmm y un
vector b P Fn1 , la secuencia de Krylov asociada es b, Ab, A2 b, A3 b,. . . (que en la forma producto matriz-vectro sera: b, Ab, ApAbq, ApApAbqq,. . . ) . Los correspondientes
subespacios de Krylov son los subespacios generados por este tipo de vectores. Por
ejemplo,
Kj pA, bq  b, Ab, A2 b, . . . , Aj 1 b .

es un subespacio de Krylov asociado a pA, bq de orden j. Notese que este subespacio


puede tener dimension menor que j.
Los metodos que analizaremos en este captulo se resumen en la siguiente tabla:
Ax  b

Ax  x

A  A

CG

Lanczos

A  A

GMRES

Arnoldi

GC significa Conjugate Gradiente y GMRES Generalized Minimal Residual.


En todos estos metodos, el resultado de proyectar sobre los subespacios de Krylov
es que el problema con la matriz original se reduce a una secuencia de problemas
con matrices de dimensiones n  1, 2, 3, . . .. Cuando A es hermtica, las matrices
reducidas son tridiagonales, mientras que en el caso no hermtico, tienen forma
Hessenberg. As el metodo de Arnoldi, por ejemplo, aproxima valores propios de
matrices muy grandes calculando los valores propios de ciertas matrices Hessenberg
de tama
nos cada vez mas grandes. Este es el primer metodo que estudiaremos.

12.2.

El m
etodo de Arnoldi

En la Leccion 10 vimos como reducir una matriz A P Fmm a forma Hessenberg


superior por medio de reflexiones de Householder. Hay otra forma de proceder. La
idea que esta detras es la siguiente. Para calcular la factorizacion QR de una matriz

272

Metodos Iterativos

A vimos que haba dos procedimientos bien distintos: realizar sobre las filas de A
transformaciones unitarias (reflexiones de Householder o rotaciones de Givens) o
bien emplear el metodo de Gram-Schmidt que consiste en ir trabajando con las
columnas de A para producir, columna a columna, una base ortonormal del espacio
generado por las columnas de A. El proceso de reduccion de A a forma Hessenberg
es el analogo a la factorizacion QR con reflexiones de Householder, mientras que
el metodo de Arnoldi es el analogo del proceso de Gram-Schmidt: se trata de ir
produciendo, una a una, columnas ortonormales que permitan expresar la matriz A,
respecto a las bases que estas columnas forman, en forma Hessenberg. La mecanica
de este procedimiento se expone a continuacion.
Una reduccion completa de A a forma Hessenberg mediante semejanza unitaria se
escribira Q AQ  H , o equivalentemente, AQ  QH. Ahora bien, cuando A es muy
grande (m enorme o infinito) el calculo de una reduccion completa es impensable.
En lugar de ello, trabajaremos con n columnas (n m) de las matrices AQ y QH.
r n la
Sea Qn la submatriz m  n de Q formada por sus n primeras columnas; y sea H
submatriz de H formada por las n 1 primera fils y n primeras columnas. Es decir,


Qn

q1 q2



qn ,

h11 h12

h
 21 h22

...
...
r
Hn  


0
hn,n1

Entonces, de AQ  QH obtenemos AQn


. . . de H son cero. Mas explcitamente:

 Qn

A q1 q 2



qn

q 1 q2



qn

..
.
hnn
hn 1,n





.



(12.1)

r porque las filas n

1 Hn

h1n

h11 h12

h
21 h22


...
...
qn 1 


0
hn,n1

h1n
..
.
hnn
hn 1,n

1, n

2,









(12.2)

O, equivalentemente,
Aqk

 h1k q1

h2k q2

   hkk qk

hk

1k qk 1 ,

 1, 2, . . . , n.

(12.3)

En palabras, cada qk 1 , k  1, . . . , n, satisface una recurrencia de k 1 sumandos


que involucran al propio vector y sus predecesores en la secuencia de Krylov.

12.2 El metodo de Arnoldi

273

El metodo de Arnoldi es una iteracion de tipo Gram-Schmidt que implementa (12.3)


a partir de un vector escogido por el usuario. El algoritmo es muy simple y se puede
implementar en MATLAB con unas pocas lneas de codigo:

Algoritmo de Arnoldi
Dato: A P Fmm y un entero n, 0 n m
Objetivo: Forma Hessenberg parcial, pn 1q n, de A y la correspondiente
Q, m  pn 1q.
b  arbitario
b
q1 
}b}2
for k  1 : n
v  Aqk
for j  1 : k
hjk  qj v
v  v  hjk qj
end for
hk 1k  }v }2
v
qk 1 
hk 1k
end for

Si analizamos de cerca este algoritmo observamos lo siguiente: comenzamos con


un vector b (no nulo) pero escogido como uno quiera y lo normalizamos. Entonces b  q1 . A continuacion, multiplicamos Aq1 de modo que b, Ab 
q1 , Aq1 . En la siguiente etapa, el objetivo es encontrar q2 de modo que b, Ab 
q1 , Aq1  q1 , q2 y tq1 , q2 u sea un sistema ortonormal de vectores; i.e., una base
ortonormal de b, Ab . Para ello, se calcula h11  q1 Aq1 y v  Aq1  h11 q1 . Se
calcula entonces h21  }v }2 y q2  }vv}2 que es un vector unitario y ortogonal a q1
porque
q1 q2

 |v1} pq1vq  |v1} pq1pAq1  h11q1qq  |v1} pq1Aq1  h11q  0.


2

Ademas,
Aq1

 h11q1

 h11q1 }v}2 }vv}  h11q1


2

h21 q2 ,

274

Metodos Iterativos

lo que demuestra que q1 , Aq1  q1 , q2 salvo que h21  0; es decir, salvo que
Aq1 P q1 o equivalentemente, Ab P b . En tal caso, el proceso de Arnoldi
quedara interrumpido. Esta situacion no se ha contemplado en el algoritmo tal y
como lo hemos expuesto dado que supondremos que b, Ab,. . . , An1 b son linealmente
independientes.
Una vez calculados q1 y q2 se procede a calcular q3 y hk2 , k
forma:

 1, 2, 3, de la misma

 Aq2 h12  q1Aq2 v  Aq2  h12q1 h22  q2Aq2


v  Aq2  h12q1  h22q2 h32  }v}2 q3  }vv} .
v

Y se prosigue as sucesivamente de modo que si para j  1, . . . , n, Kj pA, bq 


b, Ab, . . . , Aj 1 b es el subespacio de Krylov asociado a pA, bq de dimension k,
entonces
Kj pA, bq  b, Ab, . . . , Aj 1 b  q1 , q2 , . . . , qj ,
siendo tq1 , q2 , . . . , qn u una base ortonormal del subespacio Kn pA, bq.

La semejanza con el algoritmo clasico de Gram-Schmidt es evidente. De hecho, en


aritmetica exacta, el algoritmo de Arnoldi sera equivalente a aplicar el proceso de
Gram-Schmidt a la matriz de Krylov (para un n dado)
Kn

b Ab A2 b



An1 b

para obtener Kn  Qn Rn . Esta matriz Qn sera la misma que la producida por el


metodo de Arnoldi. La diferencia (muy importante) es que en el proceso de Arnoldi
no se forman explcitamente ni la matriz Kn ni la matriz Rn . Hacerlo producira
un algoritmo inestable porque, como ya sabemos, las sucesivas potencias de b, Ab,
A2 b, etc. se aproximan (salvo productos por constantes) a un vector propio de A.
Es decir, a medida que n aumenta, las columnas de Kn tienden a estar cada vez
mas juntas, a ser mas linealmente dependientes, haciendo de Kn para n grande,
una matriz mal condicionada. En la Leccion ?? que el algoritmo clasico de GramSchmidt puede producir matrices Qn que estan muy lejos de ser ortogonales cuando
se aplica a matrices mal condicionadas.
Sin embargo, la idea de que los vectores b, Ab, A2 b, etc. converjan (de nuevo salvo
producto por constantes) a un vector propio, nos indica que en Kn debe haber buena
informacion sobre los valores propios de A de mayor modulo (recordemos que esto
es lo que hace el metodo de las potencias). De hecho, el metodo de Arnoldi para

12.2 El metodo de Arnoldi

275

calcular (algunos) valores propios de A procede de la siguiente manera: En cada


paso n, o cada cierto n
umero de pasos, se van calculando los valores propios de
r n la u
las sucesivas matrices Hessenberg Hn que se obtienen al quitar a H
ltima fila.
Estos valores propios se calculan mediante metodos estandar como el algoritmo QR,
por ejemplo. Lo que sucede habitualmente es que con algunos de estos n
umeros se
pueden formar subsucesiones que convergen rapidamente; muy a menudo de forma
lineal produciendo un nuevo dgito de exactitud en cada nueva etapa y lo hacen hacia
los valores propios mas grandes en modulo. Una pregunta perfectamente legtima es
que tienen que ver los lmites de estas sucesiones con los valores propios de A. En
lo que sigue intentaremos explicarlo.
Tal y como hemos dicho, una vez fijado n m, el metodo de Arnoldi calcula matrices
Qn y Qn 1 con columnas ortonormales, tales que

 Qn

AQn
r n como en (12.1) y Qn
con H

es una matriz n  pn

Q n qn

Qn Qn

1 Hn .

. Se sigue entonces que

In 0

1q. Por lo tanto, si




h11 h12
h
 21 h22
Hn  
...

0
rn
tenemos que Qn Qn 1 H


...

h1n



..  ,
. 

hn,n1 hnn

 Hn y por lo tanto, como AQn  Qn


Hn

 QnAQn.

1 Hn ,

(12.4)

Cual es el significado de esta identidad? Desde luego no significa que A y Hn son semejantes (ni tan siquiera son del mismo tama
no). Analizamos a continuacion su significado. Consideremos el subespacio de Krylov Kn pA, bq  b, Ab, . . . , An1 b 
q1 , . . . , qn (para simplificar la notacion lo denotaremos con Kn ). Si este subespacio es A-invariante; es decir, si para todo v P Kn sucede que Av P Kn , entonces, en
particular Aqn P Kn y por (12.3)
Aqn

 h1nq1

h2n q2

   hnnqn

hn

1n qn 1 .

276

Metodos Iterativos

Como Aqn P q1 , . . . , qn , conclumos que hn 1n  0. Por otra parte, si a


nadimos
m m
r
columnas a Qn para formar una matriz unitaria Q  Qn Q P F
, entonces

Q AQ y A seran unitariamente semejantes y tendran los mismos valores propios.
Pero
Q AQ 



r
Qn
Qn AQn Qn AQ
r
A

Q
Q
n



r
r AQn Q
r AQ
r
Q
Q

r
Hn Qn AQ
.

r AQ
r
0 Q

(12.5)

r  AQn  0 se debe a que todas las columnas de AQn est


La identidad Q
an en Kn
r
y las columnas de Q son ortogonales a las de Qn , que forman una base ortonormal
de Kn . En este caso, el significado exacto de la expresion Hn  Qn AQn es que
Hn es la matriz de la aplicacion lineal determinada por A restringida a Kn en la
base q1 , . . . , qn . Ademas, de (12.5) conclumos que todos los valores propios
de Hn son valores propios de A. Tal y como ya hemos mencionado, estos valores
propios se calculan aplicando, por ejemplo, el algoritmo QR a la matriz Hn . Como
se calcularan vectores propios de A asociados a esos valores propios? Como, en este
caso hh 1n  0, tenemos que AQn  Qn Hn . Por lo tanto, si x0  0 es un vector
propio de Hn asociado al valor proprio 0 , entonces

Hn x0

 0x0 AQnx0  QnHx0  Qn0x0  0Qnx0.

Es decir, Qn x0 es un vector propio de A asociado a 0 .


En conclusion, que Kn sea un subespacio A-invariante es muy deseable porque en tal
caso es facil obtener valores y vectores propios de A a partir de los de Hn (recordemos
de nuevo que seran los de mayores modulos). Pero que pasa si no lo es? cual es
r n ) obtenemos
el significado de (12.4) en este caso? De (12.2) (AQn  Qn 1 H
Qn Qn AQn

 QnQnQn

1 Hn

 QnHn.

Esto significa que Hn es la matriz de la aplicacion Qn Qn A en la base q1 , q2 , . . . , qn


de Kn . Ahora bien, Qn Qn es la proyeccion ortogonal sobre Kn , de modo que Qn Qn A
es la aplicacion lineal obtenida al componer la restriccion de A a Kn seguida de la
proyeccion ortogonal sobre este subespacio:
Kn

A|Kn

QQ
Fm
Kn

Este tipo de proyecciones aparecen en varios sitios de la matematica aplicada y


numerica. Son conocidos como procedimientos de Rayleigh-Ritz. No en vano, de

12.2 El metodo de Arnoldi

277

(12.3) se deduce que los elementos diagonales de Hn son hii


cocientes de Rayleigh de A respecto a cada qi .

 qiAqi; es decir, los

Debe notarse que cuando Kn es A-invariante entonces Ax P Kn para todo x P Kn , y


as QQ Ax  Ax @x P Kn . Es decir, QQ A|Kn  A|Kn .
Por otra parte, si Kn no es A-invariante entonces hn 1n  0 y una simple cuenta nos
permite escribir:
(12.6)
AQn  Qn Hn hn 1n qn 1 eTn .
Los valores propios de Hn no son exactamente valores propios de A, pero si hn 1n es
peque
no, todava podemos esperar que si p, y q es un par valor-vector propio de Hn ,
entonces p, Qn y q sea un par valor-vector propio aproximado de A. Esta esperanza
se basa en dos resultados de distinta naturaleza. El primero nos da una estimacion
del residuo
}AQny  Qny}2.
Proposici
on 12.1 Supongamos que se han realizado n iteraciones de
 Arnoldisobre
A con un vector inicial arbitrario b para generar matrices Qn 1  Qn qn 1 , con
r n  Hn hn 1n en 1 eT . Sea p, y q un par valor-vector
columnas ortonormales, y H
n
propio de Hn y pongamos w  Qn y. Entonces si yn es la n-esima componente de y,
se tiene
}Aw  w}2  |hn 1n| |yn|.
Demostraci
on.- Se trata de hacer unas cuentas muy simples teniendo en cuenta
(12.6):
Aw  w

 AQny  Qny  AQny  QnHny  hn 1nqn


Y como }qn 1 }2  1
}Aw  w}2  |hn 1n| |yn|,

T
1 en y

 hn

1n

yn qn 1 .

que es lo que se quera demostrar.


Esta Proposicion nos dice que si hn 1n  0 o yn  0 entonces p, Qn y q es un par
valor-vector propio de una matriz A E con }E }F  |hn 1n | |yn | (Proposicion
10.8de la Leccion 10). No obstante, a
un cuando hn 1n no sea peque
no, el factor yn
puede hacer que el residuo sea peque
no. La experiencia practica muestra que esto
sucede muy frecuentemente. A los n n
umeros:

tj u  t valores propios de Hnu

278

Metodos Iterativos

se les llama los valores propios estimados de Arnoldi y tambien los valores de Ritz
de A respecto de Kn .

12.2.1.

El m
etodo de Arnoldi y la aproximaci
on polinomial

El segundo resultado que nos permite esperar que los valores propios de Hn sean
valores propios aproximados de algunos valores propios de A esta basado en la
relacion del metodo de Arnoldi con la solucion de un problema de aproximacion
polinomial.
Supongamos, por el momento, que Kn  b, Ab, . . . , An1 b es A-invariante y
dim Kn  n; i.e., los vectores b, Ab,. . . , An1 b son linealmente independientes. Como
Kn es A-invariante y An1 b P Kn , se sigue que An b  ApAn1 bq P Kn . El recproco
tambien es cierto: si An b P Kn entonces Kn es A-invariante. En efecto, x P Kn si y
solo si
x  c1 b c2 Ab    cn An1 b,
de modo que

Ax  c1 Ab

c2 A 2 b

Por lo tanto, si An b P Kn entonces Ax P Kn .



cn An b.

Ahora bien, An b P Kn si y solo si


An b  x0 b

x1 Ab



xn1 An1 b.

Si llamamos q pq al polinomio q pq  n  xn1 n1      x1  x0 , tenemos


q pAqb  An b  xn1 An1 b      X1 Ab  x0 b  0.
Resulta que, como veremos, las races de q pq son valores propios de A. Mas especficamente, q pq es el polinomio caracterstico de Hn . Para verlo recordemos que Hn
es la matriz de la restriccion de A a Kn en la base de Kn definida por las columnas
de Qn . Ahora bien, dado que estamos suponiendo que dim Kn  n, los vectores b,
Ab,. . . , An1 b forman tambien una base de Kn . Como es la matriz de la restriccion
de A a Kn en esta base? Para responder a esta pregunta basta saber cual es la matriz
B P Fnn para la que se cumple


A b Ab



An1 b

b Ab



An1 b B.

12.2 El metodo de Arnoldi

279

En otras palabras, las componentes de la j-esima columna de B son los coeficientes


de ApAj 1 bq en la base tb, Ab, . . . , An1 bu. Es decir, bj  ej 1 , j  1, 2, . . . , n  1 y
como
ApAn1 bq  An b  x0 b

x1 Ab

xn1 An1 b



resulta que
bn
Por lo tanto




x0 x1


1
.
 ..


0

...

   xn1 T .



x0




0 x1 
.. 
. . . . ..
. .
.
. 
.

   . . . 0 xn2
0       1 xn1

Es decir, B es una matriz compa


nera del polinomio q pq  n  xn1 n1    x1 
x0 . Como B y Hn son semejantes (porque son dos matrices de la misma aplicacion
lineal en distintas bases), q pq es el polinomio caracterstico de Hn .
Cuando Kn no es A-invariante, entonces An b R b, Ab, . . . , An1 b y no hay ning
un
polinomio q pq de grado n tal que q pAqb  0. Nos podemos entonces preguntar por
el polinomio p de grado n que hace mnima la norma }ppAqb}2 . Si cuando Kn es
A invariante las races del polinomio que cumple q pAqb  0 nos da valores propios
exactos de A, parece razonable pensar que cuando Kn no sea A-invariante, las races
del polinomio que minimiza }ppAqb}2 nos dara informacion sobre valores propios
aproximados de A.
Resulta que, al igual que cuando Kn es A-invariante, el polinomio de grado n que
minimiza }ppAqb}2 es el polinomio caracterstico de Hn . Para verlo, enunciamos con
claridad el problema y su solucion.
Recordemos que un polinomio monico es un polinomio cuyo coeficiente principal (el
correspondiente al monomio de mayor grado) es 1.

280

Metodos Iterativos

Problema de aproximaci
on polinomial
Sea P n  tppq P Frs : ppq monico y de grado nu. Encontrar el polinomio pn
tal que
}pnpAqb}2  mnn }ppAqb}2.

P Pn

p P

Teorema 12.2 Si dim Kn  n existe un u


nico polinomio pn pq que soluciona el
problema de aproximacion polinomial; es decir, }pn pAqb}2  mnn }ppAqb}2 . Concre-

p P

tamente, tal polinomio es el polinomio caracterstico de Hn .

Demostraci
on.- El problema de aproximacion polinomial es en realidad un problema de mnimos cuadrados. En efecto, si p P P n entonces
ppAqb





donde

1
An b  y0 b  y1 Ab      yn
b
1 An
y0


  y1 

An b  b Ab    An1 b  ..  
 . 

yn1

A b  T y,
n

 b Ab    An1b , y  y0 y1    yn1 T .
En consecuencia }pn pAqb}2  mn }ppAqb}2 si y solo si }An b  T yr}2  mn }An b 
pPP
y PF
T y }2 donde pn pAqb  An bT yr. Es decir, pn pq  n yrn1 n1   yr1 yr0 . Ahora
bien, dado que dim Kn  n tenemos que rank T  n y por lo tanto la solucion del
problema de mnimos cuadrados mn }An b  T y }2 tiene solucion u
nica (Teorema 8.3
y PF
de la Leccion 8). As pues, hay un u
nico pn P P n tal que }pn pAqb}2  mn }ppAqb}2 .
pPP
T

n 1

n 1

Veamos que este polinomio es el polinomio caracterstico de Hn .

Denotemos con yr la u
nica solucion del problema mnn1 }An b  T y }2 . Por el Teorema

y F

8.3 de la Leccion 8, yr es la solucion del problema mnn1 }An b  T y }2 si y solo si


A b  T yr P pIm T qK
n

y PF
K
 Kn . Como las columnas de Qn forman una base ortonormal

12.2 El metodo de Arnoldi

281

de Kn tenemos que
An b  T yr P KnK

QnpAnb  T yrq  0 QnAnb  QnT yr.

(12.7)

Por otra parte, Hn  Qn AQn es la matriz de la aplicacion lineal Qn Qn A|Kn cuando
en Kn se toma como base las columnas ortonormales de la matriz Qn . Recordemos
que
Qn Qn A|Kn : Kn Kn
es la restriccion de A a Kn seguida de la proyeccion ortogonal sobre este subespacio.
Si ahora tomamos como base de Kn las columnas de la matriz T , la matriz de
Qn Qn A|Kn en esta nueva base sera la matriz B que verifica
Qn Qn AT
Pero

Qn Qn AT

 QnQn

 T B.

Ab A2 b



An1 b An b

Como Ab, A2 b,. . . An1 b son vectores de Kn tenemos que


Qn Qn Aj b  Aj b,
y por (12.7)
porque T yr P Kn . As pues
Qn Qn AT




 1, . . . , n  1,

Qn Qn An b  Qn Qn T yr  T yr

Ab A2 b

b Ab





An1
b An b
0

.
1 . .
 . .
. ..
An1 b 
.

0




T


e2 e3   en yr
0 yr0

0 yr1 
.. 
. . ..
. .
. 
.

..
. 0 yrn2 
   1 yrn1

Es decir, B es una matriz compa


nera del polinomio n  yrn1 n1      yr1  yr0 y
este polinomio es pn pq. Como B y Hn son semejantes, conclumos que pn pq es el
polinomio caracterstico de Hn , tal y como se deseaba demostrar.
Este resultado explica, al menos en parte, la convergencia de los valores propios de
las sucesivas matrices Hn hacia valores propios de A (los de mayor modulo como se

282

Metodos Iterativos

ha visto mas arriba) a medida que el n


umero de iteraciones, n, aumenta. Si Kn es
A-invariante para alg
un n, entonces la correspondiente Hn tiene n valores propios
que son valores propios exactos de A. Para este valor n resulta que el polinomio
caracterstico de Hn cumple pn pAqb  0. Y si Kn no es A-invariante pn pAqb hace
mnimo el valor }ppAqb}2 para todos los posible polinomios monicos de grado n. No
hay hay polinomio mejor que este (una vez fijado b) para encontrar informacion
sobre valores propios aproximados de A. Las races de este polinomio son los valores
propios de Hn y, por consiguiente, los valores de Ritz de A.
Debe notarse la dependencia respecto del vector b en todo el proceso. Este vector
ha sido escogido arbitrariamente. Una buena estrategia para seleccionar b podra
producir que los valores de n para los que Kn es A-invariante fueran peque
nos
respecto de la tam
no de la matriz A. O, fijado un valor concreto de n, tal eleccion
podra hacer que el valor del mnn }ppAqb}2 fuera tan peque
no como se pudiera desear.

p P

Este tipo de problemas es objeto de investigacion en la actualidad.

12.3.

El m
etodo de Lanczos

El metodo de Lanczos es el de Arnoldi aplicado a matrices hermticas. En este


caso cada Hn es hermtica y Hessenberg; por lo tanto, tridiagonal. Si escribimos las
ecuaciones correspondientes a (12.2) y (12.3) para el caso hermtico obtendramos


A q1 q2



qn

y
Aqk

q1 q2

 k1qi



k qk

1 1
 1 2 2


qn qn








1i qk 1 ,

n1





 (12.8)
n1 



 1, 2, . . . , n,

(12.9)

2 3
..
.

..
.
..
.

respectivamente. As los k 1 sumandos del metodo de Arnoldi quedan reducidos a


tres sumandos. Para conseguir el algoritmo de Lanczos basta hacer explcito el bucle
interno
for j

1:k
hjk  qj v

12.3 El metodo de Lanczos

283

v  v  hjk qj
end for
del algoritmo de Arnoldi. Concretamente,

Algoritmo de Lanczos
Dato: A P Fmm y un entero n, 0 n m
Objetivo: Forma tridiagonal parcial, pn 1q n, de A y la correspondiente
Q, m  pn 1q.

0  0, q0  0
b  arbitario
b
q1 
}b}2
for k  1 : n
v  Aqk
k  qkT v
v  v  k 1 q k 1  k q k
k  }v }2
v
qk 1 
k
end for

Por lo demas, todo lo dicho para el metodo de Arnoldi es de aplicacion para el de


Lanczos.

284

Metodos Iterativos

Bibliografa
[1] R. Bathia, Matrix analysis. Springer, New York, 1997.
[2] S. L. Campbell, C. D. Meyer, Generalized Inverses of Linear Transformations.
New York: Dover, 1991.
[3] F. Chatelin: Eigenvalues of Matrices. Wiley, New York, 1995.
[4] B. N. Datta, Numerical Linear Algebra and Applications. Brooks/Cole Publishing Company. Pacific Grove. 1995.
[5] J. W. Demmel, Applied Numerical Linear Algebra. SIAM. Philadelhia, 1997.
[6] F. R. Gantmacher, The Theory of Matrices. 2 vols. Chelsea, New York, 1959.
Reeditado por AMS Chelsea Publishing, Providence, 1998.
[7] C. F. Gauss, Theory of the Combination of Observations Least Subject to Errors.
Part One, Part Two, Supplement. Society for Industrial and applied Mathematics,
Philadelphia, PA, USA, 1995. Translated from the Latin originals (18211828) by
G. W. Stewart.
[8] C. Goldberg, What every computer scientist should know about floating-point
arithmetic. ACM Computing Surveys, 23 (1), 548, 1991.
[9] G. H. Golub, Ch. F. van Loan, Matrix Computations. SIAM, Philadelphia, 1996.
[10] J. F. Grcar, How ordinary elimination became Gaussian elimination. Historia
Mathematica, 38 (2), 163218, 2011.
[11] N. J. Higham, Accuracy and Stability of Numerical Algorithms. SIAM, Philadelphia, 2002.
251

252

BIBLIOGRAFIA

[12] R. Horn, Ch. R. Johnson, Matrix Analysis. Cambridge University Press. New
York, 1985.
[13] R. Horn, Ch. R. Johnson, Topics in Matrix Analysis. Cambridge University
Press. New York, 1991.
[14] P. Lancaster, M. Tismenetsky, The Theory of Matrices. Academic Press, New
York, 1985.
[15] L. Lay-Yong, S. Kangshen, Methods of solving linear equations in traditional
China. Historia Mathematica, 16 (2), 107122, 1989.
[16] C. C. MacDuffee, The Theory of Matrices. Chelsea, New York, 1946.
[17] M. Marcus, Matrices and MATLAB: A Tutorial. Prentice-Hall. Englwood Cliffs,
New Jersey. 1993.
[18] B. D. McCulloough, H. D. Vinod. The numerical reliability of econometric
software. Journal of Economic Literature, 37, 633665, 1999.
[19] C. B. Moler, Numerical Computing with MATLAB. SIAM. Philadelphia, 2004.
[20] G. W. Stewart, Gauss, statistics, and Gaussian elimination. J. Comput. Graph.
Statist., 4 (1), 111, 1995.
[21] G. W. Stewart, Afternotes on Numerical Analysis. SIAM. Philadelhia, 1996.
[22] G. W. Stewart, Afternotes goes to Garduate School. Lectures on Advanced Numerical Analysis. SIAM. Philadelhia, 1998.
[23] G. W. Stewart, Ji-guang Sun, Matrix Perturbation Theory. Academic Press,
1990.
[24] LL. N. Trefethen, D. Bau, Numerical Linear Algebra. SIAM. Philadelhia, 1997.
[25] R. Varga, Gerschgorin and his cicles. Springer, New York, 2004.

S-ar putea să vă placă și