Documente Academic
Documente Profesional
Documente Cultură
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.
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
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 ;
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
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.
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
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
A.
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
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.
. . . Ap
A
con Aij
A11 A12
0 A22
..
..
.
.
0
0
. . . A1p
. . . A2p
.
. . . ..
.
. . . App
P Rn n .
i
Vectores y Matrices
0 0 1
P 1 0 0 y PT
0 1 0
0 1 0
0 0 1
1 0 0
1
3
1 2 3 PT
P 2 1 y
3
2
3 1 2 .
P P 1 y si A raij s entonces
P A rapiqj s y AP T raipj q s.
1
1.1.2.
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
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.
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
aij xj ,
i 1, . . . , m.
j 1
b1
a11
b a
2 21
.. .. x1
. .
bm
a12
a
22
.. x2
.
am1
a1n
a
2n
.. xn .
.
am2
amn
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.
Por consiguiente
cij
11
ai1b1j
ai2 b2j
ain bnj ,
(1.2)
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 ,
12
Vectores y Matrices
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
k 1
13
a1pb11qT
a2 pb12 qT
aik bkj .
an pb1n qT ,
14
Vectores y Matrices
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
AE1 pq a1
ai
aj
ai
an .
0 entonces la
15
E2 pq
i
1
i
..
.
1
..
.
1
En efecto
a1
..
.
E2 pqA ai
.
..
y AE2 pq a1
ai
an .
am
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
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:
17
b11
b12
b21
b22
b13
b23
i1
tb31
tb32
i3
tb41
tb42
tb43
i4
j1
j2
j3
A
b33
i2
tpi1, . . . , ir q : 1 i1 . . . ir nu
bij
a ,
1 i r,
i j
1j
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
0
3
A
4
7
Ar1, 2|1, 3s
1.2.
1
2
5
6
a11 a13
a21 a23
2
1
6
5
3
0
7
4
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
1.2 Imagen y N
ucleo de una matriz
19
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 :
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
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
1.3 Factorizacion LU
21
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
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
51
, x2
59
1
8
51
88
59
8
, x1
59
1
10
8
20
59
106
16
.
59
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
pk q
1, . . . , n las cantidades
pkq
mik
pkq
aikpkq .
akk
26
Vectores y Matrices
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
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
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
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
2.1.
Introducci
on
p1 xq1 1
x2
x3
pI Aq1 I
A2
A3
...
31
...
32
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
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)
33
(a)
La norma `1 :
k x k1
| xi | .
i 1
(b)
i 1
| xi | 2 .
34
(c)
La norma `8 :
k x k8 max |xi |.
1 i n
(d)
| 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
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 .
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
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
ppxxqq c2, @x P V.
36
r
c2
r.
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
38
resulta que si px y q
es continua.
Fn
a pa1 , . . . , an q
a1 v 1
an v n
paivi biviq
i 1
i 1
39
f :
pa1 v1
R son funciones
an v n q
1 pxq
} a} 1
Pero como
a1
, . . . aan1
a 1
}}
}}
}a}1
vi
f
ai
}a}1
an vn
vi
i 1
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
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.
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
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
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
Fn
a pa1 , . . . , an q
a1v1
an vn
2.3.
2.3.1.
Normas de Matrices
Definiciones, Ejemplos y Primeras Propiedades
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.
m
n
| aij |2
1
2
i 1j 1
k 1
aik bkj
44
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
1 i m
1 j n
m
n
|aij |
i 1j 1
1 i,j n
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 |
45
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
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
y S1
}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
donde
f pAq
sup n
P
0 x F
k Ax km
k x kn
kxkn 1
En efecto si M
kAxkm
0 x kxkn
sup
entonces M
kAxkm
,
kxkn
te, si M
sup
kxkn 1
k Ax km , entonces M
@x 0. En particular M k
sup
kxkn 1
k Ax km . Recprocamen-
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.
47
max
kxkn 1
k Ax km
maxn
P
0 x F
k Ax km
k x kn
P Fnp entonces
}AB }m,p }A}m,n}B }n,p.
kxk 1
kxk 1
|| kxk
max
1
kxk 1
k Ax k || k A k .
48
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
y 0
k Xy k
kyk
0. As
P Fnn entonces
}AB }n,n }A}n,n }B }n,n.
Es decir,
49
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
P Fn tal que
50
1 j n
k
Tomando x0
1, x P Fnu que se
}x}1 1
1 j n
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)
j 1
|aij |
n
aij xij .
j 1
(2.3)
51
}A}8 }xm
ax }Ax}8 }Axi }
} 8 1
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
2.4.
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
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
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
j 0
Proposici
on 2.14 Si la serie numerica
j 0
}Aj }
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 .
} }
} }
j 0
Aj
} } ,
53
aj Aj es conver-
j 0
j 0
aj z j en un entorno de z
j 0
aj Aj con A
j 0
0 con un radio de
R, la serie
j 0
Fnn . Si hay
|aj | }A}j
converge y
aj Aj .
j 0
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
54
j 0
1z
p1 zq1 si |z| 1:
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
lm pIn AqSk
y tambien
lm pIn AqSk
Ak q In Ak 1 .
pIn AqB,
kl8
m pIn Ak 1 q.
pIn Aq1 B
j 0
Aj .
y la sucesion
55
Finalmente
}pIn Aq1}
8
Aj
j 0
j 0
}A}j 1 1}A} .
56
Captulo 3
Valores singulares
3.1.
Introducci
on
58
Valores singulares
3.2.
x, y
x, y '
%
i 1
n
y i xi
i 1
yT x
si F R,
yx
si F C
|xi|2 }x}22.
i 1
yx 0.
59
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.
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
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
Proposici
on 3.3 Para U
R sirven
(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
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
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
}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
}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
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.
64
Valores singulares
u1
un un
U V U U
0mnn
um
V
y
0mnn
A.
U V
,
.
.
.
,
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
65
U V
}A1} A, }A}2 y V 1. As
2
}A1} A }A}2 1 A.
2
}x}2 1
66
Valores singulares
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
Veamos que tambi
en u1 AV 1 0. Pongamos w u1 AV 1 y B U 1 AV 1 , S
}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
U AV
1
1 0
.
0 B
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
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
1 0
.
0 B
0
x0
P Cn.
Claramente y y
2
$
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.
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 .
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
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 .
69
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
V T V
70
Valores singulares
Diagp1, . . . , nq
(3.1)
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
71
}A}2 }}2
}A}F }}F .
}x}2
12 |x1 |2
n2 |xn |2
}m
ax }x}2 }}2 .
x} 1
2
Proposici
on 3.15 Si A P Cnn y 1
| 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
detpInq
| detpU q| | detpV q| 1,
y
| detpAq| | detpq| 1 . . . n.
Proposici
on 3.16 Si A
Cnn es invertible y 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
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:
Proposici
on 3.17 Si A U V
singulares y rangpAq r entonces
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
Diagp0, . . . , i , . . . , 0q 0
0
0
U i V y que U i V
i 1
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.
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 qk
rang B
donde 1
}A B }2 k
74
Valores singulares
Demostraci
on.- Tal y como viene siendo habitual demostraremos que k
una cota superior alcanzable del conjunto de n
umeros
es
con r
D
r 0
0 0
Diagp1, 2, . . . , r q.
75
Diagp1 , . . . , k q 0
0
0
k
1.
P Cmn.
}A Ak }2 }U pD Dk qV }2 }D Dk }2.
Pero
D Dk
Diagp0, . . . , 0, k 1 , . . . , r q 0
0
0
Por lo tanto
Diagpk 1 , . . . , r q 0
0
0
}A Ak }2 }D Dk }2 k
1,
p q0
det B
2 . . . n 0
}A B }2 n.
Demostraci
on.- det B
76
Valores singulares
3.6.
La inversa de Moore-Penrose
Diagp1 , . . . , n q
Diag
1
1
,...,
n
1
A U V ,
Diagp1 , . . . , r q 0
0
0
Diag
1
1
,...,
1
r
0
0
0
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
Diagp1, . . . , r q
1
entonces
r Diag
1
1
,...,
1
r
78
Valores singulares
A U1 r V1
y A:
V1r 1U1.
U1P
y V1
V1Q.
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.
Captulo 4
Condicionamiento
4.1.
Introducci
on
80
Condicionamiento
4.2.
Condicionamiento de un problema
81
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
}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)
}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}
y observemos que si 0 1
lo tanto
p1 q sup
}x}1
}f px
83
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
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
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
h 0
de modo que
}J pxqh} ,
}h} }h}
sup
}J pxqh} }J pxq},
0 }h}
}h}
lm sup
84
Condicionamiento
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}
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
0 }x}
entonces sup
}x}
J x x
sup
}x}
x
pq
} }
r x
p q
J x x
x
} p q } ,
}x} } }
sup
Ejemplo 4.2
1. Para x P R calcular
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
?x 12 .
1
2 x
P R calcular x1 x2.
Bf Bf x
2
B x1 B x2
x1 .
4.3.
El n
umero de condici
on para el producto de
matrices y vectores
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
(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
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
4.3 El n
umero de condicion para el producto de matrices y vectores
87
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
, y as
singular de A1 es 1{n . Es decir, }A1 }2
n
2 pAq
1
.
n
107 1010
1010 107
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,
89
Demostraci
on.- Por una parte
1
2 pAq
Y por otra parte,
n
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
4.4.
1
.
n
La condici
on de los sistemas de ecuaciones
lineales
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}
91
}f 1pAq} }m
ax }f 1 pAqpX q}.
X }1
}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
pA
t0
rpIn
lm
lm
tX q1 b A1 b
rpIn tA1X q1A1 A1sb
lm
t0
t
t
92
Condicionamiento
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
tA1 X q1
}fr1pAq} }m
ax }A1 XA1 } }A1 }2 .
X }1
(4.8)
(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
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:
}A}y }b} y1
1
1
} }), que
BA1 b Bx }x}Bx0
}X }1
94
Condicionamiento
Captulo 5
Estabilidad
5.1.
Introducci
on
5.2.
Aritm
etica en punto flotante
0f
y e un n
umero entero.
95
96
Estabilidad
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)
97
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
(5.4)
| flpxq x| .
| x|
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
2
0,100
0,011 21
0,001 21 0,100 21
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;
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.
Y,
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
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.
101
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}
(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
}x x} Op q
M
}x}
fpxq f pxq.
103
3,000 2,000
1,000 2,000
f 10e,
0.x1x2x3x4, 0 xi 9
As, los n
umeros en el intervalo r1, 10q en este sistema seran (en forma no normalif
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
..
.
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
1,000 2,000
A1
0
1,333
As, exactamente
m21
105
a
21 m21 a11
0
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.
}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
}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
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.
(5.8)
2,435
107
1 q,
flpx2 q x2 p1
2 q
3 q
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
2M .
Y de la misma manera
108
Estabilidad
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
Pero en realidad tenemos una cota mucho mejor que nos la proporciona el siguiente
resultado, que damos sin demostracion (ver Problema 4).
Proposici
on 5.5 Si nM
con
(5.9)
|| 1,06nM .
A la cantidad
1M
1,05M
p1
1 qp1
2 q . . . p1
n q 1
OpM q,
109
5.4.2.
Producto escalar
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
x1y1p1 qn
x2 y2 p1 qn
x3 y3 p1 qn1
xn yn p1 q2 .
110
Estabilidad
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
As
flpflpflpx1 q flpy1 qq
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 ,
Y si ponemos
x2
16
17
y2
17 ,
0,9339
16
entonces
x2 y2
111
Ademas
x1 y1
5.4.3.
1,045.
x2 y2
Producto exterior
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 ,
respectivamente.
y A,
Por lo tanto
}A A}8 Op q,
M
}A}8
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
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
5.5.
113
Estabilidad de la eliminaci
on gaussiana
ai1{a11,
a
i1
ai1p1
i1 q
(5.10)
ai1{a11.
(5.11)
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)
A ..
..
.. .
.
.
.
a
n1 a
n2
a
nn
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.
115
3 0,3333 0,9999,
a
31
3 0,6666 1,9998.
Ahora en la matriz
a123
a133
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
Pero a122 provena de hacer una operacion elemental con el multiplicador m21 . As
a
22
a122
m21 a12
1,9995332.
As en aritmetica exacta
a1 23
1,601
a123
m21 a13
3,0001668.
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
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.
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 .
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
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
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
119
donde
}rpx xq} 0. As
}xx}0 }x x}
}f pxq f pxq}
}f pxq}
rpx xq
lm
}x x} Op q
M
} x}
tal que f pxq fpxq. Entonces
(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}
Captulo 6
Proyecciones y bases ortonormales
6.1.
Introducci
on
122
6.2.
Proyecciones
In 2P
P2
In P
porque
Proposici
on 6.3 Si P
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.
123
Ip 0
0 0
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
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
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,
P ; es
125
q1 x
r
q x
2
QQ x Q .. pqi xqqi .
.
qr x
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.
ar qr y qi x1
ai. Sustitu-
QQ x
ai q i x 1 .
j 1
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 .
126
6.4.
El algoritmo cl
asico de Gram-Schmidt
q1, . . . , qj a1, . . . , aj ,
1, . . . , n.
}aa1}
1 2
q1
q j 1
q1, . . . , qj1 K, y as
pIm Qj1Qj1qaj
vj
qj
}vj }2 }pIm Qj1Qj1qaj }2 .
aj Qj1Qj1aj
y
qj
aj
}vvj}
j 2
Qj 1
q1 aj
q2 aj
..
.
qj1 aj
j1
aj pqiaj qqi.
i 1
127
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
A a1 a2
an
q1 q2
a1 a2
r11 r12
0 r22
qj ..
..
.
.
0
0
...
an
Cmn ,
r1n
r2n
.. .
.
rnn
128
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.
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
q 1 q2
q1
q 2
qn ..
.
q1q1
q2 q2
qn qna st.
qn
pI Q Q qa
}pI m Q j1Qj1qa j}
m
j 1
j 1
j 2
129
En definitiva, si ponemos Pi
(6.2)
q1 K. Esto es P1x
q2 K. Esto
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
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
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
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
pIn Qj1Qj1qaj
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
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.
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
Cmn (m
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
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
5.7735e-01
5.7735e-01
5.7735e-01
1.7321e+00
3.8459e-16
8.5397e-32
-1.0000e+00
1.0000e+00
-1.0000e+00
1
1
1
1.0000e+00
-1.0000e+00
1.0000e+00
135
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
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.
Un an
alisis experimetal de la estabilidad de
los algoritmos de Gram-Schmidt
10
10
eps1/2
10
rjj
10
15
10
eps
20
10
25
10
10
20
30
40
50
60
70
80
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
}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
As pues
aj
801{2
21 u1
22 u2
280 u80 .
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.
139
0,70000 0,70711
0,70001 0,70711
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
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
140
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
142
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 .
Q,
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
7.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
v K
145
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
H+
u1
u
||x||2 e1
v
+||x||2 e1
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
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
}x}2ei e1
1 1
1 1
Ahora bien
v1 x
Y
v1 v1
Por lo tanto
Qu1 x x 2
}x}2p|x1| }x}2q v x
1
2}x}2 p}x}2 |x1 |q
v1
147
}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
y v2
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
Y Qu2 x 6e1 .
Ahora podemos describir el proceso de triangularizacion de Householder. La induccion del siguiente teorema lo pone claramente de manifiesto.
148
Ii1 0
0 Qui
P Cmm
Qn . . . Q1 A DR
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
.
}a1}2ei
Qu A
0
1
xT
B
2
(Q
Qu ) entonces
149
n . . . Q
2C
Q
D R,
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
(iii)
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
3.000000000000000
4.000000000000000
151
-0.000000000000000
1.000000000000000
0.000000000000000
1.000000000000000
3.000000177635681
-3.999999866773233
-3.000000199999997
3.999999849999995
}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
si elegimos
}x}2 x1
x2
}x}e1 x
..
.
xm
x1 , y la suma es un
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,
153
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
Q1Q2 Qn. Si
Ii1 0
.
0 Qui
154
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
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
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
156
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
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.
2mn2 32 n3
2
Notese que este algoritmo requiere del orden de n3 flops menos que los algoritmos
3
de Gram-Schmidt.
7.4.
157
Qi
Im 2uiui ,
ui
}vvi} .
i
158
}A} Op q
M
}A}
rR
rA
yQ
A.
Captulo 8
8.1.
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
Ax b P Cm,
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.
i 1, . . . , m.
a1 x i
am1 xim1
yi ,
i 1, . . . , m
(8.1)
161
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
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
162
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
x C
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
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
8.2.
La soluci
on del problema de mnimos cuadrados
164
r=Ax0b
b
Ax
Im A
}Ax0 b}2 m
n }Ax b}2
xPF
n
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
PA b b}22
165
Solo queda demostrar la equivalencia entre las tres condiciones. Por una parte
8.3.
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
Bf pxq 0,
B xi
i 1, . . . , n
3. Resuelvase Ly
4.
167
168
8.3.1.
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
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.
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.
169
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
c1 {1
c {
2 2
1
1
x0 Vr .. Vr
r c Vr r Ur b,
.
cr {r
Vr r 1Urb A:b
170
8.4.
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)
P b,
171
1 .
n
r=Axb
y=Ax=Pb
Im A
172
de modo que
1 }x}x }yy} 1.
2
Equivalentemente
cos
}x}x }yy}
2
.
2
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
2 }x}2
}A}}y2 }}x}2 }A}}Ax
} .
2
{2
pAq
173
}
A}2 }A1 }2 }Ax}2
2pAq.
}Ax}2
}pAAq1A}2 1 .
(8.3)
}pAAq1}2 12
(8.4)
siendo 1
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
(ii) El n
umero de condicion del problema de calcular x P Fn respecto de b es
2 pAq
.
cos
(8.6)
}y y}2 2pAq
}y}2
cos
Op2 q.
(8.7)
}x x}2 pAq
2
}x}2
2 pAq2 tan
Op2 q.
(8.8)
"
}A}2 , }b}2 * n
}A}2 }b}2
1
*
}x x}2 " pAq 1
2 pAq2 tan
1
2
}x}2
cos
siendo 1
Op2 q.
(8.9)
Pb
175
(8.10)
P b respecto de
Q
I 0
r
QQ Q Q n
r
0 0
Q
}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
pA
tE q pA
tE qxptq pA
tE q pb
tf q
(8.11)
176
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.
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 f,
pA
A Ex
A Ax1 p0q A f
E b.
Tomando normas:
2 pAq2
}b Ax}2{}Ax}2 .
}A}2}x}2{}Ax}2
Ahora bien,
y tan
177
}2 . En consecuencia
}b}AxAx
}
2
}x1p0q}2 pAq 1
2
}x}2
cos
2 pAq2
tan
sustituyendo en (8.12)
2 pAq2 tan
Op2 q,
8.5.
178
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 .
Captulo 9
9.1.
Introducci
on
180
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.
Si A P Fnn , 0
x P Cn tal que
tx P Cn|Ax 0xu
181
Aq. Ademas si
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.
0 pj In Aqxj
pj InAqp1xi
1
r pj ir qxir
i q 0,
k
1, . . . , r.
182
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,
p1 n1
pn1
pn .
183
j ,
entonces pAq t1 , 2 , . . . , s u porque 0 P pAq si y solo si detp0 In Aq 0,
i
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.
184
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
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.
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.
186
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.
187
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.
Jn p0q
1
.. ..
.
.
..
. 1
0
188
1 i n
donde
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
0
0
0
0
0
E 0
5
10
0 105
entonces
p A
E q t0,9995
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 qx x. As
T 1 x y.
Entonces
T 1 Ex pIn Dqy
o
y
0
1 }pIn Dq1 } }T 1 } }E } }T }
(9.1)
}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
}Bx}p 1m
ax |b | }x}p max |bi |
in i
1in
190
1 i n
}B } }m
ax }Bx}p max |bi |.
1in
x} 1
p
| i |
1 i n
1 i n
9.3.
Semejanza Unitaria
191
u Au u AU1
u
A u U1
U1 Au U1 AU1
U1
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
192
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
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
193
194
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
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
A uR uI
ImpquR
AuR AuI
squR
quI q
ip
RepquI . Entonces
uR uI
Repq Impq
Impq Repq .
195
uR uI . Por
9.4.
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,
196
correspondiente a 0 es de tama
no 1 1. Por lo tanto, si
T 1 AT
J
...
0
..
0
..
.
0
..
.
..
0
...
y Axi
0 xi ,
U AU
U1 u .
U1
U1 AU1 U1 Au
U
u
A
.
1
u
u AU1 u Au
Pero u Au u u y u AU1
ortonormales a u. As
U AU
197
u U1
y aplicamos el proceso de induccion a U1 AU1 para obtener una matriz triangular.
9.5.
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.
D
s
U DU U DU
198
En consecuencia
s U DU
A A U DU
s
U DDU
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
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
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
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
200
9.6.1.
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:
201
Cn
Cn {
r rp1 , . . . , n qs
p1 , . . . , n q ;
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
1 i1 ... ik n
202
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)|
12
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
polinomial
g : C
z ; zn
a1 z
n 1
an1 z
an
z j
Para este n
umero j
hpz q z n b1 z n1
En efecto,
n 1
|z |k
k 0
|z |k
z j
204
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,
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:
P Cnn y i
j 1
j i
|aij |, i
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.
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
|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
j 1
j i
|bij ptq|
|taij | ti
j 1
j i
por lo que
GpB ptqq
i 1
i 1
206
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
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
i 1
Dpi , q tantos
207
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.
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
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
209
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
y1Ax1
Jrii
yiAxi
yiExj
yi Axj
yiExj
y1 Ex1
yi Exi
0
i
11 ,
ii si i 1,
Jij .
210
Jrii
Jrij
1 Jii
Jij
yi Exi
yi Exj
1
3
ii
ii
1
si Jii
si Jii
1
0
0 11
12
1
22
21
2
Jr
..
..
.
.
1
n1
n2
1n
2n
..
.
...
r 1 es semejante a
DJD
nn
1
pn 3q.
(9.4)
| 0
Ahora bien
| 0
1
11 i ii | |0 i |
3
2
pn 3q.
2.
211
1
pn 1q pn 4q
1
pn 1q
n
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
4n
2
2
4
1
16n2
2
1.
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
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
"
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
0
y Ex
yx
Op}E }2 q
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}
213
f 1 pAqpE q
C
y Ex
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
xy yx
}y}22 1. Pero,
tr xx trpxx q 1
|xn|2 1. Por lo tanto
2 p0 q }f 1 pAq}2
|y1x| .
|y1x|2 tr
xx
214
1
| y x|
|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
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
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.
217
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
218
Y X para
P U y P P GldpFqu
(ii) Si V
r es una aplicaci
y se demuestra igual que en el Lema 10.1 que
on abierta.
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
220
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.
10.2.2.
221
El algoritmo del m
etodo 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 .
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
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.
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
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
(10.1)
224
}zj qj v1}2
Recuerdese que la expresion }zj qj
2 j
O .
v1}2
j
O 12 significa que para j suficien-
}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)
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.
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
}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
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
1
|j | pv1
xj q
1
pv1
1 } xj } 2
xj q
}xj }2
v
1
1 }xj }2
1
xj .
1 }xj }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.
j
2
K , conclumos que
}zj qj v1}2
j
2
4K
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
228
eik 1 v1
2 v2
3
2
v3
n
2
vn
2ksi
t
1 v1
ie
2 v 2 ,
2i
4
1, . . . , t.
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
i 1
i vi
0) tales que k Ak x
i 1
i vi . Es decir,
Ak x
i 1
i vi
. Pero
valor propio 1 .
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
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
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
pA
porque r
E qx Ax rx x Ax r
x
Ax x. Ademas
}E }2F trpEE q trprxxrq trprrq }r}22,
}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:
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
pd1 Ad1
p1 A
p0 In .
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
1
, . . . n
1
| 1 |
1
j
j
233
234
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
De esta forma
pIn Aq1x
p
x
y
}y}2 .
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
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
236
}x Ax}
xAx
xxAx
x
es el n
umero que minimiza el residuo.
Definici
on 10.9 Para A
n
umero
x Ax
x x
}Rpxqx Ax}2.
237
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
}yy} }yx} y pIyny Aqy
2
2
y Ay
xpAxp.
yy
x
p w
y y
yy
238
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
x2j y
j 1
BpxT xq 2x .
i
B xi
239
Por lo tanto
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.
240
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
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
1, 2, . . .
Ak Qk1 Ak1 Qk1 Qk1 Qk2 Ak2 Qk2 Qk1 Qk1 Q0 A0 Q0 Qk1
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.
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
}yyj}
j 2
.
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
QR.
enAen.
Entonces
y
Q
en Q
243
RpA Inq1
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.
In
QpA InqQ
In
QAQ.
r
Q
q
r q
A Q
r AQ
r Q
r Aq
Q
r q Aq
q AQ
244
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
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
pk1q
pkq pk1q
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:
246
if iteritermax
T pn, 1 : n 1q 0
end if
10.5.2.
An
alisis de la velocidad de convergencia del algoritmo QR
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)
}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
247
|| }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,
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
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
248
}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
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
Captulo 11
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
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
253
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
11.2.
254
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
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.
Q1D1QT1 ,
T2
Q2D2QT2 ,
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
donde
u
QT1 0
v
0 QT2
D1
q1k
,
q21
q1k
q21
detpI
D uuT q
i 1
(11.2)
Diagpd1, . . . , dr q es de tamano r r.
u pI Dq1 u u1
T
ur
1
d1
1
d2
u1
..
.
...
1
dr
ur
u2i
di
i 1
257
por lo que
detpI
pI Dq1uuT q 1
u2i
di
i 1
A la ecuacion
1
u2i
di
0
i 1
u2i
di
i 1
Sq
detpI
r
i 1
D uuT q p diqf pq
r
p diq
1
i 1
u2i
(11.3)
di
i 1
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)
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
258
1
1
0,8
1
0,6
2
0,4
3,5
0,5
5
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
259
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
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.
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.
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
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
263
264
A
a1 b 1
b 1 a2
b2
b2
a3
..
.
...
..
bn1
bn1
an
(11.6)
1, 2, . . . , n, pondremos p0pq 1.
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
1,
det A2
1,
det A3
4,
det A4
det A 17.
(11.8)
266
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.
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
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
271
Ax x
A A
CG
Lanczos
A A
GMRES
Arnoldi
12.2.
El m
etodo de Arnoldi
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
Qn
A q1 q 2
qn
q 1 q2
qn
..
.
hnn
hn 1,n
.
(12.1)
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)
273
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
Ademas,
Aq1
h11q1
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
b Ab A2 b
An1 b
275
Qn
AQn
r n como en (12.1) y Qn
con H
es una matriz n pn
Q n qn
Qn Qn
1 Hn .
In 0
h11 h12
h
21 h22
Hn
...
0
rn
tenemos que Qn Qn 1 H
...
h1n
.. ,
.
hn,n1 hnn
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
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)
Hn x0
QnQnQn
1 Hn
QnHn.
A|Kn
QQ
Fm
Kn
277
T
1 en y
hn
1n
yn qn 1 .
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
cn An b.
x1 Ab
xn1 An1 b.
A b Ab
An1 b
b Ab
An1 b B.
279
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
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
p P
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
Denotemos con yr la u
nica solucion del problema mnn1 }An b T y }2 . Por el Teorema
y F
y PF
K
Kn . Como las columnas de Qn forman una base ortonormal
281
de Kn tenemos que
An b T yr P KnK
(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
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
282
Metodos Iterativos
p P
12.3.
El m
etodo de Lanczos
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
..
.
..
.
..
.
1:k
hjk qj v
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
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.