Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Álgebra Lineal Numérica Con Matlab PDF
Álgebra Lineal Numérica Con Matlab PDF
lgebra lineal
=
numrica con
Matlab
Mtodos Matemticos de
Especialidad
=(Mecnica-Mquinas)
=
Escuela Tcnica Superior de Ingenieros Industriales
Universidad Politcnica de Madrid
Javier Garca de Jaln de la Fuente
Septiembre 2004
lgebra lineal
numrica con Matlab
Mtodos Matemticos de
Especialidad
(Mecnica-Mquinas)
ndice
pg. i
Prefacio.......................................................................................................................................v
Introduccin................................................................................................................................1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.6.1
1.6.2
1.6.3
1.8
2.
2.6
2.7
2.8
2.9
pg. ii
3.
3.1
3.2
3.3
3.4
3.5
3.8
3.7
Matrices normales....................................................................................................................... 49
3.5.1
3.5.2
3.5.3
3.5.4
3.6
4.
Factorizacin LU ........................................................................................................................ 63
4.1.1
4.1.2
4.1.3
4.1.4
ndice
pg. iii
4.1.5
4.2
4.2.1
4.2.2
4.2.3
4.2.4
4.3
4.4
Factorizacin QR ........................................................................................................................ 67
Factorizacin QR por Gram-Schmidt........................................................................................ 67
Factorizacin QR de matrices rectangulares ............................................................................. 68
Factorizacin QR mediante matrices de Householder............................................................... 70
Factorizacin QR mediante rotaciones de Givens..................................................................... 71
Prefacio
0.
pg. v
Prefacio
Los mtodos numricos para la resolucin de problemas de lgebra Lineal tienen una enorme importancia prctica en la asignatura de Mtodos Matemticos de Especialidad, asignatura troncal que
se imparte en el primer semestre del cuarto curso en la Escuela Tcnica Superior de Ingenieros Industriales de la Universidad Politcnica de Madrid. Los mtodos matriciales se aplican en multitud
de reas de la ingeniera, y adems su resolucin numrica es algo que se les da bastante bien a los
computadores actuales.
La experiencia del curso 2003-04 primero en el que se imparti esta asignatura del Plan 2000 y
de la asignatura Matemticas de Especialidad del Plan 1976, aconseja no dar por supuesto que se
mantienen los conocimientos adquiridos en las asignaturas de lgebra I y II de primer curso. Tampoco es posible dedicar un gran nmero de horas de clase a presentar de nuevo los contenidos fundamentales de dichas asignaturas.
El objetivo de estos apuntes es facilitar a loa alumnos de cuarto el repaso personal de los temas ms
importantes de clculo vectorial y matricial, que vieron al comienzo de la carrera. La idea no es dar
por sabida el lgebra Lineal numrica en la asignatura de cuarto, sino liberarse de los aspectos ms
tericos y poder dedicar las clases a los aspectos ms algortmicos y a las aplicaciones prcticas.
Por tratarse de unos apuntes de repaso, el orden es diferente del que se utiliz o utilizara en primero, conteniendo algunas referencias a temas que se tratarn posteriormente.
Algunas demostraciones se han omitido, sobre todo cuando son complicadas y no tienen gran inters pedaggico. Muchas otras se han incluido, aunque pueden omitirse en una primera lectura. En
muchos casos, se les ha restado importancia utilizando una letra ms pequea. Se han incluido tambin algunos programas de Matlab, con objeto de ilustrar los algoritmos explicados en teora. Estos
algoritmos pueden servir de base para muchos otros, introduciendo en ellos las modificaciones
oportunas.
El autor de estos apuntes asume ntegramente la responsabilidad de sus limitaciones y deficiencias,
pero no puede desaprovechar la oportunidad de agradecer a sus compaeros del Departamento de
Matemtica Aplicada a la Ingeniera Industrial, en particular a los profesores de Mtodos Matemticos de Especialidad y de lgebra II, el apoyo y la ayuda prestadas en estas materias a lo largo de los
ltimos cursos.
Madrid, 24 de septiembre de 2004,
Introduccin
pg. 1
1.
Introduccin
1.1
Tipos de matrices
1.2
a ) Simetra:
u,v = v, u
b) Lineal en la 1 variable:
u+ v, w = u,w + v, w
c ) Definida-positiva
u,u > 0, si u 0;
(1)
u,u = 0, slo si u = 0
x, y = x T y = y T x = x1 y1 + x2 y2 + ... + xn yn
(2)
En Cn :
x, y = x H y = x T y = x1 y1 + x2 y2 + ... + xn yn
(3)
El considerar el conjugado y transpuesto del primer factor en Cn es necesario para asegurar la propiedad c) de (1). Los espacios eucldeos son un caso particular de los espacios hermticos en el que
todos los vectores y escalares son reales.
En lo sucesivo se considerarn slo los espacios vectoriales eucldeos, salvo que se indique otra
cosa. Prcticamente todo lo que se diga sobre ellos es vlido para los espacios hermticos cambiando la notacin de transpuesta (T) por la de conjugada y transpuesta (H).
1.2.2 Bases ortonormales en espacios eucldeos
uT u = u 2 = 1
(4)
pg. 2
Se dice que dos vectores u, v R n son ortogonales cuando su producto escalar es nulo:
uT v = 0
(5)
Se dice que una base ( q1 , q 2 ,..., q n ) en un espacio vectorial de dimensin n es ortonormal cuando
est formada por n vectores de norma unidad y ortogonales entre s:
qTi q j = ij
i, j = 1, 2,..., n
(6)
(7)
(8)
(9)
= Q 1a
(10)
La matriz Q [q1 , q 2 ,..., q n ] es una matriz cuadrada y ortogonal cuyas columnas son los vectores
de la base. Comparando las expresiones (9) y (10) se concluye que la inversa de Q es su transpuesta,
lo que caracteriza a las matrices ortogonales:
q1T a
qT a
= 2 = QT a = Q 1a
#
qT a
2
Q 1 = QT
(11)
q1 = b1 b1
(12)
Introduccin
pg. 3
Los vectores q2, q3, se obtienen quitando a los vectores a2, a3, las componentes segn los "q"
anteriores (calculadas segn (9)) y normalizando (siempre existe bi 0 , por ser los ai linealmente
independientes):
b 2 a2 ( q1T a2 ) q1
q 2 = b2 b2
(13)
b3 a3 ( q1T a3 ) q1 ( qT2 a3 ) q 2
q 3 = b3 b3
(14)
q n = bn bn
(15)
Existe otra forma de organizar los clculos (mtodo de Gram-Schmidt modificado) consistente en
eliminar la componente segn qi a todos los vectores aj (j=i+1,...,n), tan pronto como qi ha sido calculado (se obtienen menores errores numricos):
q1 = a1 a1
a j = a j ( q1T a j ) q1
j = 2, 3,..., n
q 2 = a2 a2
a j = a j ( qT2 a j ) q 2
j = 3, 4,..., n
a j = a j ( qTi a j ) q i
j = i + 1,..., n
...
q i = ai ai
(16)
Obsrvese que en la expresin de cada qi (ai) slo intervienen a1,..., ai (q1,..., qi).
b 3 = a3 ( q1T a3 ) q1 ( qT2 a3 ) q 2
a3
q3
q1
q2
b 2 = a2 ( q1T a2 ) q1
b1 = a1
a2
Figura 1. Interpretacin grfica del mtodo de Gram-Schmidt.
q1 = b1 b1
b 2 a2 ( q1T a2 ) q1
q 2 = b2 b2
b3 a3 ( q1T a3 ) q1 ( qT2 a3 ) q 2
q 3 = b3 b3
(17)
Teniendo en cuenta que cada vector ai slo tiene proyeccin no nula sobre los vectores ortonorma-
les ( q1 , q 2 ,..., q i ) , los subespacios generados por ( a1 , a2 ,..., ai ) y por ( q1 , q 2 ,..., q i ) coinciden:
pg. 4
L [q1 ] = L [ a1 ]
L [q1 , q 2 ] = L [ a1 , a2 ]
(18)
L [q1 , q 2 , q 3 ] = L [ a1 , a2 , a3 ]
La relacin entre los vectores ( a1 , a2 , a3 ) , ( b1 , b 2 , b3 ) y ( q1 , q 2 , q 3 ) se muestra en la Figura 1.
1.2.6 Matrices ortogonales
Una matriz Q es ortogonal si es cuadrada y sus columnas q i son ortonormales entre s:
(q q
Q R nn , qTi q j = ij
T
i
= 1; qTi q j = 0, i j )
(19)
Estas condiciones se expresan de modo grfico y matricial tal como se muestra en la Figura 2 y en
la ecuacin (20).
q1T
qT2
#
q1
q2
"
qn
qTn
1
0
#
0
0
1
#
0
"
"
%
"
0
0
#
1
QT Q = I
(20)
1.3
Un subespacio se puede determinar, entre otras formas, de los dos modos siguientes (representados
respectivamente en la Figura 3 y en la Figura 4):
Introduccin
pg. 5
1.
Por un conjunto de vectores generador (ejemplo, un plano determinado por dos vectores no
colineales). Estos vectores pueden constituir una base, o ser un sistema linealmente dependiente del que se puede extraer una base.
2.
Por un conjunto de restricciones sobre un espacio vectorial que lo contiene (por ejemplo, un
plano queda determinado por la recta a la que es perpendicular).
En relacin con una matriz rectangular A, de tamao mn y rango r, se pueden considerar los cuatro
subespacios vectoriales fundamentales siguientes:
1.
2.
Subespacio de filas Im(AT). Es el subespacio de Rn generado por las filas de A. Tambin tendr dimensin r, pues slo hay r filas independientes.
3.
Subespacio nulo Ker(A). Es subespacio de Rn formado por todos los vectores x tales que
Ax=0. Todos los vectores de Ker(A) son ortogonales a las filas de A (y a todas sus combinaciones lineales), por lo que Ker(A) e Im(AT) son subespacios ortogonales y complementarios
en Rn. De aqu se concluye que la dimensin de Ker(A) es nr. Se tiene:
Ker ( A ) = Im ( A T )
4.
1.4
(21)
(22)
Matrices de rango 1
Las matrices de rango 1 se pueden obtener como producto de un vector columna por un vector fila:
A=uvT. Las columnas de A son mltiplos de u y las filas de A son mltiplos de vT, por ejemplo:
u1
T
A = uv = u2 {v1 v2
u
3
u1v1 u1v2
v3} = u2 v1 u2v2
u3v1 u3v2
u1v3
u2 v3 = [ uv1 uv2
u3v3
u1v T
uv3 ] = u2 v T
u3vT
(23)
Como slo hay una fila y una columna linealmente independientes, el rango es uno. Como consecuencia de su rango, la matriz A=uvT tendr un valor propio 0 con multiplicidad n1, y un nico
valor propio distinto de cero. Es fcil determinar este valor propio y el vector propio asociado. La
ecuacin de valores y vectores propios de la matriz A es:
Ax = x
(24)
pg. 6
En la ec. (24) el miembro izquierdo pertenece a Im(A) porque es una combinacin de las columnas
de A, luego para 0 tambin el miembro derecho, esto es x, pertenecer a Im(A). Por ello, en el
caso de la matriz de rango uno A=uvT, el vector propio asociado con el nico valor propio distinto
de cero ser u, asociado con el valor propio vTu, ya que se cumple:
Au = ( uv T ) u = u ( v T u ) = ( v T u ) u = u
= vT u
(25)
Tambin se puede decir algo acerca de los n1 vectores propios asociados con el valor propio nulo.
Son todos los vectores del subespacio nulo o ncleo Ker(A), definido por la ecuacin:
( uv ) x = 0
T
u ( vT x ) = 0
vT x = 0
(26)
(27)
Una matriz de rango uno P = uv T , con v T u = 1 es una matriz de proyeccin, pues cumple:
P2 = ( uvT )( uvT ) = u ( vT u ) vT = 1 uvT = P
(28)
Sin embargo, no es una matriz de proyeccin ortogonal, pues no es simtrica. Se podra hablar de
proyeccin oblicua. Si v = u , imponiendo la condicin v T u = uT u = 1 se obtiene la expresin general de la matriz de proyeccin ortogonal sobre un subespacio de dimensin 1, que es:
P=
1.5
uuT
= uuT
T
u u
(29)
El producto de matrices C = AB se puede interpretar de varias formas diferentes, dos de las cuales
estn basadas respectivamente en el producto escalar o interior y en el producto exterior de vectores. Denotando respectivamente como a j y aTj a la columna j y a la fila j de la matriz A:
a1T
a1T b1 a1T b 2
T
T
a
a b aT2 b 2
C = AB = 2 [ b1 b 2 " b n ] = 2 1
#
#
#
T
T
T
a m
a m b1 a m b 2
C = AB = [a1 a 2
" a1T b n
" aT2 b n
%
#
" aTm b n
b1T
T
l
b
" al ] 2 = a1b1T + a 2 bT2 + ... + al bTl = ai bTi
#
i =1
T
bl
(30)
(31)
Introduccin
pg. 7
c1T
a1T
T
T
c 2 = AB = a2 B
#
#
T
T
c m
a m
1.6
(32)
bp
p=Pb
Sb
Figura 5. Proyeccin y simetra sobre una recta en R2.
Sea p el vector proyeccin de b sobre a. Se trata de hallar una matriz P tal que Pb=p. Si x es la
magnitud de dicha proyeccin, la matriz de proyeccin P se puede determinar como sigue:
p = xa,
x=
(b p) a
aT ( b xa ) =0
aT b
aT b
aaT
p
=
x
a
=
a
=
b Pb
aT a
aT a
aT a
(33)
aaT
aT a
Esta expresin de P coincide con la ec. (29). Esta expresin de P es general, en el sentido de que
sirve para Rn cuando se proyecta sobre un subespacio de dimensin 1.
Algunas propiedades de la matriz P son las siguientes:
Es simtrica (slo si la proyeccin es ortogonal).
Se verifica que P2=PP=P (idempotente).
La matriz P tiene rango 1 (es singular) y su subespacio Im(A) est generado por el vector a.
El subespacio nulo Ker(A) es el complemento ortogonal a Im(A).
La proyeccin Pb pertenece a Im(A) (todas las columnas de P tienen la direccin de a).
La Figura 5 muestra tambin el vector simtrico de b respecto de la recta a. La matriz de simetra S
se puede determinar en funcin de la matriz de proyeccin P en la forma:
Sb = b + 2 ( Pb b ) = ( 2P I ) b
S = 2P I
(34)
ST S = S 2 = ( 2P I )( 2P I ) = 4P 2 4P + I = I
S 1 = S
(35)
Definiendo el vector a por medio de sus componentes c cos y s sen , la matriz de proyeccin P, correspondiente a la Figura 6, se puede calcular a partir de la expresin (33):
pg. 8
c
{c s}
c 2 cs
aaT s
P= T =
=
a a
c
sc s 2
{c s}
s
(36)
=
2
sc s 0 1 2 sc
2cs
s2 c2
(37)
Pb
Sb
a
ay
ax
c cos , s sen
(38)
Las matrices de rotacin de Givens son rotaciones planas 2-D que se aplican a matrices nn. Se
utilizan para hacer cero un elemento determinado (i,j) de una matriz A o como transformaciones de
semejanza unitarias (como matrices de rotacin, son ortogonales).
Sea la matriz Gij una matriz nn con todos sus elementos iguales a los de la matriz identidad I, excepto los cuatro elementos siguientes:
gii = g jj = cos c;
g ji = gij = sen s
(39)
Introduccin
1
#
Gij A = #
0
#
0
pg. 9
" 0 "
% #
" c "
# %
" s "
#
" 0 "
a11
" 0
#
#
#
cai1 sa j1
s " 0
#
#
#A =
sa + ca
c " 0
j1
i1
# % #
0 " 1
an1
0
"
a1i
"
caii sa ji
#
saii + ca ji
anj
"
"
"
"
"
ani
"
a1 j
cain sa jn
sain + ca jn
ann
a1n
(40)
Los valores de c y s se pueden determinar con la condicin de que el nuevo elemento (j,i) se anule:
saii + ca ji = 0;
aii
c=
aii2 + a 2ji
, s=
a ji
(41)
aii2 + a 2ji
Las matrices de Givens se pueden utilizar para triangularizar una matriz A de modo semejante a
como se hace en el mtodo de eliminacin de Gauss. Haciendo ceros por columnas, de izquierda a
derecha, los ceros anteriores se conservan y la matriz A se triangulariza con un n finito de operaciones aritmticas.
Como se ha dicho anteriormente y es fcil de comprobar, las matrices de Givens son ortogonales y
su producto, es decir la aplicacin sucesiva de varias rotaciones de este tipo, tambin lo es. Por tanto, la factorizacin de A con matrices de Givens ser del tipo A=QR (ver apartado 4.2). La factorizacin de Givens es ms costosa en operaciones aritmticas que la descomposicin LU.
1.7
b w
= min b w
wF
(42)
La 2 parte de la expresin (42) indica que el vector w*F es una aproximacin ptima en F del
vector bE. Adems, dicha aproximacin ptima es nica. La Figura 9 ilustra este teorema.
Demostracin: Si w es la proyeccin ortogonal de b sobre F, se verificar que b w F . Si w es un punto cualquiera de F, se podr escribir:
b w = ( b w ) + ( w w ) =
2
= bw
+ w w + 2 b w ,w w = b w
(43)
+ w w bw
lo que demuestra que w es la aproximacin ptima, que adems es nica porque para alcanzar la igualdad es necesario
que se cumpla w w = 0 . Recprocamente, la condicin de aproximacin ptima en (43) implica que w sea la proyeccin ortogonal de b sobre F.
pg. 10
rF
w*=Pb
Sb
Figura 9. Teorema de la proyeccin ortogonal.
(44)
El teorema de la proyeccin ortogonal establece que r debe ser ortogonal a Im(A). Esta condicin
se puede imponer haciendo que r sea ortogonal a una base de Im(A), es decir, a las columnas de A:
AT r = 0
A T ( v Ax ) = 0
A T Ax = A T v
x = ( AT A ) AT v
1
(45)
Ax = Pv
A ( A T A ) A T v = Pv
1
P = A ( AT A ) AT
1
(46)
P=
1
aaT
= a ( aT a ) aT
T
a a
(47)
S = ( 2P I )
(48)
Introduccin
pg. 11
(49)
H =I2
vv T
,
vT v
o bien: H = I 2uuT
u =1
(50)
donde v es un vector cualquiera. La matriz de Householder define una simetra respecto al hiperplano perpendicular al vector v. La Figura 9 justifica la expresin (50): Sea P1 la matriz de proyeccin
sobre el subespacio de dimensin 1 generado por v. La matriz de proyeccin P sobre el hiperplano
ortogonal a v y la correspondiente matriz de simetra de acuerdo con la expresin (48), sern:
P = I P1 = I
vvT
;
vT v
H = 2P I = 2 ( I P1 ) I = I 2P1 = I 2
vvT
vT v
(51)
Es obvio que las matrices de Householder son simtricas, y es fcil demostrar que son ortogonales:
e1T {1 0 " 0}
(52)
se demostrar que el producto Hx tiene nulos todos los elementos excepto el 1. Como H es ortogonal conserva las magnitudes, luego se deber cumplir:
Hx = x e1
(53)
En efecto, con H definida en la ecuacin (50) y v definido por la ecuacin (52), el producto Hx es:
pg. 12
2 ( x x e1 ) x
vvT
vvT x
Hx = I 2 T x = x 2 T = x ( x x e1 )
=
T
T
v
v
v
v
x
x
e
x
x
e
(
1) (
1)
T
= x ( x x e1 )
2x x 2 x x1
T
x x 2 x x1 + x
T
(54)
= x ( x x e1 ) = x e1
En el clculo del vector v segn (52) deben evitarse sustracciones o restas numricas que puedan
disminuir la precisin. As, cuando x1>0, el clculo del elemento v1 se puede hacer mediante una
expresin alternativa en la que todos los trminos son positivos:
2
( x22 + ... + xn2 )
x12 x
v1 = x1 x =
=
x1 + x
x1 + x
(55)
Las matrices de Householder se pueden utilizar para hacer ceros debajo de la diagonal en una matriz
A, en forma anloga al mtodo de Gauss:
vv
; v = x x e1
T
v v
1 = x
U1 = H1 = I 2
1
0
U1 A = 0
#
0
"
"
"
%
"
(56)
La segunda trasformacin es similar, pero con una matriz H de tamao n1 completada con la primera fila y columna de la matriz identidad:
1 0 0 " 0
0
U 2 = 0
,
H2
1
0
2
U 2U1 A = 0 0
#
#
0 0
"
"
"
%
"
(57)
Cada transformacin conserva los ceros de las anteriores. Esta transformacin es ms estable que la
de Gauss, aunque ms costosa en nmero de operaciones aritmticas.
A continuacin de incluye una funcin de Matlab para calcular el vector v y el factor a partir de
un vector cualquiera x. El vector v se normaliza haciendo v(1)=1, de modo que v se pueda almacenar en lugar de los ceros introducidos (el primer elemento vale siempre 1 y no necesita ser almacenado). Se utilizan las expresiones siguientes.
Introduccin
pg. 13
v = x x e1
e1T {1 0 " 0}
Si x1 > 0
v1 =
( x + ... + x
2
2
2
n
x1 + x
T
H = I vv ;
2
;
vT v
v = v / v1
(58)
(59)
Con la expresin (59) el producto HA no necesita O(n3) operaciones aritmticas como un producto
de matrices estndar, sino que basta un n de operaciones aritmticas de orden O(n2).
1.8
Las normas de vectores y matrices proporcionan una forma sencilla de "medir" el tamao de un
vector y/o una matriz por medio de un nmero real positivo, en la misma forma en la que se emplea
el mdulo de un vector en Rn.
1.8.1 Normas vectoriales en Rn Cn
Como se ha dicho, el objetivo es disponer de una medida del tamao de los vectores, con objeto de
estudiar convergencias, relaciones de mayor o menor, proximidad a cero, etc.
El producto escalar permite definir de modo natural una norma en Cn, que coincide con la longitud
de un vector en R2 y R3. Esta norma se llama norma eucldea, y responde a la expresin:
x2=
x, x =
x
j =1
2
j
(60)
De un modo ms general (hay otros tipos de normas posibles), la norma de un vector x debe satisfacer las tres propiedades siguientes:
pg. 14
1. x 0, y x = 0 si y slo si x =0
(61)
2. x = x , para cualquier K (R o C)
(62)
3. x + y x + y (desigualdad triangular)
(63)
La norma eucldea no es la nica posibilidad. Puede considerarse que es un caso particular de una
norma ms general, la llamada norma-p, que se define en la forma:
x
n
= xj
j =1
p 1
(64)
Dependiendo del valor de p, existen varios casos particulares muy utilizados de la norma-p:
1. Norma-1: Se toma p=1,
n
x 1 = x j = x1 + x2 + ... + xn
(65)
j =1
= x1 + x2 + ... + xn
(66)
= lim x
p
x 1 1
n
= lim x j
p
j =1
a) p=1
= max x j
(67)
1 j n
b) p=2
c) p=
j =1
j =1
j =1
x + y 1 = xj + yj xj + yj = x 1 + y
(68)
Introduccin
pg. 15
(69)
Este teorema establece una equivalencia de normas: por ejemplo, si con una norma una secuencia de vectores tiende a cero, tambin tender a cero con cualquier otra norma.
1.8.2 Norma de una matriz
Una norma de una matriz es un nmero real positivo que "mide" el tamao de una matriz, y permite por ejemplo estudiar cuando una matriz tiende a otra matriz o a la matriz nula.
A la norma de una matriz se le exige las mismas tres condiciones que deba satisfacer la norma de
un vector, y una condicin adicional relacionada con el producto de matrices:
1. A 0, y A = 0 si y slo si A =0
(70)
2. A = A , para cualquier K
(71)
3. A + B A + B (desigualdad triangular)
(72)
4. AB A B
(73)
Es posible definir normas de matrices directamente. Por ejemplo, en lgebra II se vio que las matrices ARmn forman un espacio vectorial eucldeo con un producto escalar definido como:
m
(74)
i =1 j =1
Este producto escalar induce una norma, la norma de Frobenius, que responde a la expresin:
A
m n
= traza ( A T A ) = aij2
i =1 j =1
(75)
Sin embargo, las normas matriciales ms utilizadas se definen por otro camino.
1.8.3 Norma matricial inducida por una norma vectorial (norma natural):
En este caso la norma matricial se va a definir a partir de una norma vectorial en la forma:
A max
x 0
Ax
, o bien: A max Au = Ay
u =1
x
(y
= 1)
(76)
(77)
pg. 16
1. Si x 0, A 0, y A = 0 si y slo si A =0
2. A = max
Ax
= max
x 0
Ax
x
x 0
(78)
= A , K
( R o C)
(79)
3. A + B = ( A + B ) y = Ay + By Ay + By A + B
(80)
4. AB = ( AB ) y = A ( By ) A By A B
(81)
Se van a estudiar a continuacin las normas matriciales inducidas por las normas vectoriales x 1 ,
x
(82)
La norma-1 es el mximo de la suma de los valores absolutos de los elementos de cada columna.
Demostracin: Supngase que la igualdad en la definicin de la norma se alcanza para un vector y tal que:
(83)
A 1 = Ay 1 , siendo y 1 = 1.
n
j =1
a jk
(84)
El desarrollo anterior demuestra que el mximo de las sumas de los valores absolutos de cada columna es un lmite
superior de la norma-1, pero para que sta sea verdaderamente la expresin de la norma-1 este lmite debe poder ser
alcanzado, al menos para un cierto vector x.
En efecto, supngase que la columna que da el mximo es la columna K. Tomando como vector x el vector eK de la
base natural ( e K = 1) :
1
= j =1 k =1 a jk kK = j =1 a jK = A
n
Ae K
(85)
= max j =1 akj
n
(86)
La norma- es el mximo de la suma de los valores absolutos de los elementos de cada fila.
Demostracin: Supngase que la igualdad en la definicin de la norma se alcanza para un vector y tal que:
A
= Ay , siendo y
(87)
= 1.
= Ay
= max
j
n
k =1
max yk max k =1 a jk = y
a jk yk max k =1 a jk yk
n
max k =1 a jk = max k =1 a jk
n
(88)
Introduccin
pg. 17
Al igual que en el caso anterior, se ha obtenido un lmite superior para la norma-. Para que la expresin obtenida corresponda a dicha norma, hay que demostrar que dicho lmite se puede realmente alcanzar para un cierto vector x.
En efecto, supngase que la fila que da la mxima suma de valores absolutos es la fila J. Se toma un vector x tal que
xk = a Jk a Jk , si a Jk 0; xk = 0, si a Jk = 0 . Sustituyendo en (88):
Ax
= max
j
(x
a jk xk = k =1 a Jk xk = k =1 a Jk2 a Jk = k =1 a Jk ,
n
k =1
= 1)
(89)
(90)
donde ( M ) es el radio espectral, esto es, el valor absoluto del mximo valor propio en valor absoluto. La expresin (90) indica que la norma-2 es la raz cuadrada positiva del mximo valor propio de la matriz AHA, que es una matriz hermtica y al menos semidefinida positiva, cuyos valores propios son por tanto reales y no negativos.
Demostracin: La matriz AHA tendr una base ortonormal de vectores propios u1, u2, ..., un:
(91)
A H Au j = j u j j = u Hj A H Au j
El vector yRn que produce la igualdad en la definicin de la norma inducida (76) se puede expresar como combinacin lineal de los n vectores propios uj:
y = k =1 k u k ;
y 2 = k =1 k2 = 1
(92)
A 2 = Ay 2 = y H A H Ay =
=
n
j =1
ju
H
j
)(
n
k =1
n
j =1
j u Hj A H A
k k u k = k =1 k k max i
n
n
k =1
n
k =1
k uk =
) = max = ( A
i
A)
(93)
De nuevo ste es solamente un lmite superior, pero dicho lmite se puede alcanzar para x=un:
Au n
2
2
= u nH A H Au n = u nH u n n = n = ( A H A )
(94)
y A
m Ai A jM A
(95)
(A) A
pues A = max Ax Au n = n u n = n u n = n = ( A )
x =1
(96)
pg. 18
Teorema 4: Para cualquier matriz cuadrada ACnn y cualquier valor arbitrariamente pequeo, existe alguna norma natural A tal que:
(A) A (A) +
(97)
El radio espectral de una matriz cuadrada no es una norma (salvo que la matriz A sea normal, en cuyo caso A 2 = ( A ) ), pero puede ser utilizado como tal dada su "cercana".
Corolario: Para cualquier matriz cuadrada A: ( A ) = inf A .
pg. 19
2.
2.1
La resolucin de sistemas de ecuaciones lineales es uno de los problemas matemticos ms importantes en ingeniera. Hasta la llegada de los computadores digitales (segunda mitad del s. XX) la
capacidad de resolver sistemas de ecuaciones lineales estaba muy limitada, no por la dificultad conceptual del problema, sino por el gran nmero de operaciones aritmticas necesarias. Ahora se puede resolver con un PC un sistema 10001000 en menos de 1 seg. Con programas especiales que
aprovechan la estructura de la matriz se pueden resolver con PCs, de forma rutinaria, sistemas de
decenas cientos de miles de ecuaciones lineales.
Muchos otros mtodos matemticos (clculo de valores y vectores propios, integracin de ecuaciones diferenciales, optimizacin, ...) se reducen a la resolucin repetida de sistemas de ecuaciones
lineales. La resolucin de sistemas de ecuaciones lineales tiene adems un importante valor didctico para los mtodos numricos en general y para la programacin de ordenadores.
2.2
El sistema de ecuaciones lineales Ax=b admite al menos las dos interpretaciones siguientes:
1. Interseccin de hiperplanos. La solucin es el punto (o conjunto de puntos) que satisface las
ecuaciones de todos los hiperplanos, es decir, su interseccin. La interseccin puede ser un
punto, un subespacio de dimensin nr, o el conjunto vaco.
2. Combinacin lineal de vectores. El vector trmino independiente b es una combinacin lineal de las columnas de A, cuyos coeficientes son los valores de x. Con notacin de Matlab:
Ax = b;
(98)
b
A(:,1)x1
A(:,3)x3
A(:,1)
A(:,3)
A(:,2)
A(:,2)x2
Figura 13. Interseccin de hiperplanos.
La expresin (98) indica que para que el sistema de ecuaciones Ax=b tenga solucin, es necesario y
suficiente que el vector b pertenezca a Im(A), es decir, al subespacio generado por las columnas de
A. La solucin ser nica si hay una nica forma de expresar b como combinacin lineal de las columnas de A.
2.3
Como ejemplo ilustrativo de lo dicho en el apartado anterior, en la Figura 15 se muestran geomtricamente algunos casos posibles de sistemas de ecuaciones en R2, teniendo en cuenta los nmeros de
ecuaciones y de incgnitas, el rango de la matriz A y el vector b. La interpretacin es inmediata.
pg. 20
m=2, n=2,
bIm(A)
bIm(A)
bIm(A)
2.4
Se parte de un sistema de ecuaciones lineales expresado en forma matricial del siguiente modo:
a11 x1 + a12 x2 + ... + a1n xn = b1
a21 x1 + a22 x2 + ... + a2 n xn = b2
Ax = b
...
a11 a12
a
a22
21
#
#
am1 am 2
" a1n x1 b1
" a2 n x2 b2
=
% # # #
" amn xn bm
(99)
Como se ha dicho anteriormente, para que el sistema tenga solucin, el vector b debe ser combinacin lineal de las columnas de A (en Matlab, A(:,i) representa la columna i de A):
Ax = b
(100)
El mtodo de eliminacin de Gauss est basado en el hecho de que una ecuacin cualquiera puede
sustituirse por una combinacin lineal de esa ecuacin y de las dems, sin que vare la solucin del
sistema. As pues, el mtodo de eliminacin de Gauss:
Combina ecuaciones (filas de la matriz A y elementos del vector b) de forma que el sistema
adopte una forma ms sencilla: forma triangular superior o forma de escalera.
Permite entender mejor las caractersticas del sistema a resolver: si tiene solucin o no, si la
solucin es nica, etc.
Es equivalente a una factorizacin PA=LU, donde P es una matriz de permutacin, L es
una matriz triangular inferior mm con unos en la diagonal, que contiene los factores por los
que se han multiplicado las filas de los pivots y U es una matriz mn que resulta de transformar A a la forma de escalera.
2.5
pg. 21
a41 a42
a14
a24
,
a34
a44
a13
a23
a33
a43
1
m
P21 = 21
0
0 0 0
1 0 0
,
0 1 0
0 0 1
a11 a12
0 a
22
P21A =
a31 a32
a41 a42
a13
a23
a33
a43
a14
a24
a34
a44
(101)
donde:
m21 =
a21
a
= a21 m21a11 = a21 21 a11 = 0; a2 j = a2 j m21a1 j , j = 2,..., 4
; a21
a11
a11
(102)
0
1
0
0
0
0
1
0
0
0
,
0
a11 a12
0 a
22
P41P31P21A =
0 a32
0 a42
0 0 0
1
a
0
mi1 = i1
1 0 0
,
a11
P41 =
0 1 0
0
a = a m a
ij
i1 1 j
ij
m41 0 0 1
a13 a14
0 0 0
1
a24
a23
m
1 0 0
, P1 P41P31P21 = 21
a34
a33
m31 0 1 0
a44
a43
m41 0 0 1
(103)
Obsrvese la forma peculiar en que se multiplican las matrices elementales Pi1. Si la matriz A es
simtrica, la submatriz de P1A en la que hay que seguir haciendo ceros tambin lo es. De forma
anloga se hacen ceros, debajo de la diagonal, en las columnas 2 y 3, pre-multiplicando por unas
matrices P2 y P3:
a11 a12
0 a
22
P42 P32P1A =
0
0
0
0
a11 a12
0 a
22
P3P2P1A =
0
0
0
0
a13
a23
a33
a43
a14
a24
,
a34
a44
a13 a14
a24
a23
,
a34
a33
0 a44
0
1
0
1
P2 P42P32 =
0 m32
0 m42
1
0
P3 P43 =
0
1
0
0
1
0 m43
0 0
0 0
1 0
0 1
(104)
0
0
(105)
Para llegar a este resultado se ha supuesto que los elementos que aparecen sobre la diagonal los
y a33
son distintos de cero, pues aparecen en los denominadores de los factores mji.
pivots: a11 , a22
Finalmente se llega a un sistema de ecuaciones lineales equivalente al original, que tiene la forma:
pg. 22
( P3P2P1A ) x = P3P2P1b
(106)
Este sistema es mucho ms fcil de resolver que el original, por los ceros introducidos en la matriz.
El sistema podra resolverse calculando x4 de la cuarta ecuacin, x3 de la tercera, x2 de la segunda, y
finalmente x1 de la primera ecuacin.
2.5.2 Factorizacin LU equivalente
Las matrices elementales Pi introducidas en las expresiones (103), (104) y (105) tienen propiedades
especiales y operan de una forma particular. Por una parte, es fcil comprobar que el producto P3P2
no ofrece ninguna caracterstica especial:
1
0
P3P2 =
0
1
0
0
1
0 m43
0 1
0
0 0
1
0 0 m32
1 0 m42
0 0 1
0
0 0
0
1
=
m32
1 0 0
0 1 0 m43m32 m42
0
0
1
m43
0
0
(107)
Sin embargo, la inversa de las matrices Pj tiene una forma muy sencilla, ya que se obtiene simplemente cambiando el signo de los factores mij, como se comprueba a continuacin para P2:
0
1
0
1
P2 P21 =
0 m32
0 m42
0 0 1 0
0 0 0 1
1 0 0 m32
0 1 0 m42
0 0 1
0 0 0
=
1 0 0
0 1 0
0 0 0
1 0 0
0 1 0
0 0 1
(108)
Ahora se comprobar que el producto de las inversas de P3P2 en orden inverso se realiza mediante simple "superposicin":
1 0
0 1
1 1
P2 P3 =
0 m32
0 m42
0 0 1
0 0 0
1 0 0
0 1 0
1
0
0
1
0 m43
0 1 0
0 0 1
=
0 0 m32
1 0 m42
0
0
1
m43
0
0
(109)
Pre-multiplicando la ecuacin (105) por las inversas de las matrices Pi y teniendo en cuenta la forma (109) que adopta dicho producto de inversas:
a11 a12
0 a
22
A = P11P21P31
0
0
0
0
a13
a23
a33
0
a14 1
0
m21 1
a24
=
m31 m32
a34
m41 m42
a44
0
0
1
m43
0 a11 a12
0 0 a22
0 0
0
1 0
0
a13
a23
a33
0
a14
a24
a34
a44
(110)
(111)
La factorizacin LU tiene una gran importancia en lgebra lineal numrica y se estudiar con detalle en el apartado 4.1.
pg. 23
k
i
k
0
i
*k
*
=
i
0
En una segunda fase se calculan las incgnitas mediante la vuelta atrs, con el siguiente proceso:
% se calcula x(n) de la ltima ecuacin
x(n)=b(n)/A(n,n);
% se calcula x(k) de la ecuacin k
for k=n-1:-1:1
s=0;
for i=k+1:n
s=s+A(k,i)*x(i);
end
x(k)=(b(k)-s)/A(k,k);
end
El algoritmo bsico puede modificarse si la matriz A es simtrica, haciendo que el nmero de operaciones se reduzca aproximadamente a la mitad (en negrita las dos sentencias modificadas):
% triangularizacin de la matriz A (simtrica)
% se hacen ceros en las n-1 primeras columnas
for k=1:n-1
% se hacen ceros en la columna k
for i=k+1:n
m=A(k,i)/A(k,k); % se tiene en cuenta la simetra
% a la fila i se resta la fila k multiplicada por m
% slo se opera por encima de la diagonal
for j=i:n
A(i,j)=A(i,j)-m*A(k,j);
end
% se transforma del mismo modo el trmino independiente
b(i)=b(i)-m*b(k);
end
end
pg. 24
k
0
k
11
*k
i
*k
*
=
0
Figura 18. Resolucin de Ly=b.
pg. 25
La vectorizacin puede ser doble realizando las operaciones del mtodo de Gauss en otro orden
diferente, mostrado en la Figura 20. Obsrvese que en vez de hacer ceros por columnas, se hacen
cero los elementos de la fila i que estn delante de la diagonal. Los elementos mostrados en gris han
alcanzado ya su valor definitivo.
Para transformar la fila i (hacer ceros en ella) se crea el vector de factores por los que hay que multiplicar las filas anteriores a la i:
v(1: i 1) = A (1: i 1, i ) '. / diag(( A (1: i 1,1: i 1)) '
(112)
La fila i puede sufrir todas las transformaciones a la vez, resultando un mtodo sensiblemente ms
rpido que los anteriores (con versiones antiguas de Matlab):
i 1
(113)
A (i,1: i 1) = v (1: i 1)
i
Elementos
que ya son 0
i
Elementos a
hacer 0
Elementos ya
transformados
Fila a transformar
Elementos con el
valor inicial
2.6
pg. 26
a11 a12
0
0
P1A =
0 a32
0 a42
a13
a23
a14
a24
a33
a43
a34
a44
a15
a25
a35
a45
(114)
0 0 0 a11 a12
0
0 1 0 0
1 0 0 0 a32
0 0 1 0 a42
a13
a23
a14
a24
a34
a33
a44
a43
a25
=
0
a35
0
0 a42
a45
a13
a33
a14
a34
a24
a23
a44
a43
a15
a35
a25
a45
(115)
La matriz P puede construirse a partir de un vector p que contiene el orden de los pivots [1,3,2,4].
Tambin puede suceder que algunas columnas carezcan de pvot vlido. Por ejemplo, si al hacer
ceros en la columna 2 los elementos correspondientes de la columna 3 se han hecho tambin cero:
a11 a12
0 a
22
P2 P1A =
0
0
0
0
a13 a14
a24
a23
0 a34
0
a44
a15
a25
,
a35
a45
1
0
P44 =
0
0
1
0 m43
0
0
P4 ,
0
m43 =
a44
a34
(116)
P4P2P1A =
0
0
0
0
a13
a23
a14
a24
a34
a15
a25
a35
a45
(117)
2. La eliminacin se detiene porque debajo del ltimo pvot encontrado todas las filas restantes
se han hecho cero (una fila dependiente de las dems, y dos variables libres: x3 y x5).
a11 a12
0 a
22
P4P2P1A =
0
0
0
0
a13
a23
0
0
a14
a24
a34
0
a15
a25
a35
(118)
pg. 27
3. De modo anlogo se calculan los pivots en las restantes columnas y se hacen cero los elementos de cada columna, pero slo en las filas en las que no han aparecido pivots.
4. En el sistema final es fcil hallar las incgnitas xn, ..., x1, partiendo de la fila en la que ha
aparecido el ltimo pvot, luego en la del penltimo pvot, y as hasta la del primero.
5. En la prctica, no es necesario intercambiar filas: basta conocer las filas dnde han ido apareciendo los sucesivos pivots, almacenando en un vector la informacin correspondiente.
0
0
0 0
0 0
0
0 0
0 0 0 0
0 0 0 0 0 0 0
0 0
0 0 0 0 0 0
0 0
0 0 0 0
0 0 0
Posibles dificultades del mtodo de Gauss con el pivotamiento por columnas descrito:
Si una ecuacin del sistema (o una fila de la matriz) se multiplica por un nmero muy grande (por ejemplo, 1e10), la solucin del sistema no vara, pero se puede alterar el orden en el
que se eligen los pivots, y con dicho orden la precisin de la solucin calculada.
Por ello es conveniente que todas las filas de la matriz sean vectores que tengan aproximadamente la misma norma, o bien que, al elegir los pivots, se comparen los elementos de la
columna correspondiente, dividiendo cada uno de ellos por la norma de su fila. A este proceso se le denomina escalamiento o scaling por filas.
A continuacin se presenta un programa de Matlab, llamado pivotcol1.m, que selecciona directamente los pivots en cada columna, sin dividir por la norma de la fila.
% fichero pivotcol1.m
% Gauss y pivotamiento por columnas. Vectorizacin simple
% se generan aleatoriamente la matriz y el vector de un tamao dado
n=5; A=round(rand(n,n)*20-10); b=round(rand(n,1)*20-10); x=zeros(n,1);
% se calcula la solucin exacta con el operador (\)
xe=AA\bb;
% vector que contendr el orden de los pivots
p=[1:n];
for k=1:n-1
% buscar el pvot en columna k. No intervienen las filas de pivots anteriores
[pk,ik]=max(abs(A(p(k:n),k)));
% se intercambian los elementos en p para indicar el orden de los pivots
temp=p(k);
p(k)=p(ik+k-1);
p(ik+k-1)=temp;
% hacer ceros en columna pvot
for i=p(k+1:n)
m=A(i,k)/A(p(k),k);
A(i,k:n)=A(i,k:n)m*A(p(k),k:n);
b(i)=b(i)-m*b(p(k));
%A(i,k)=m;
end
end
% vuelta atrs: orden inverso de aparicin de pivots
x(n)=b(p(n))/A(p(n),n);
for i=n-1:-1:1
s=A(p(i),i+1:n)*x(i+1:n);
x(i)=(b(p(i))-s)/A(p(i),i);
end
...
pg. 28
0 0 0 0
0 0 0
0 0
0 0 0 0
0 0 0 0 0 0
0 0 0 0
0 0
0 0 0 0 0 0 0 0 0
0
0
El pivotamiento total mejora algo la estabilidad del proceso de eliminacin de Gauss, pero en general se considera que esta ganancia no merece la pena por el esfuerzo adicional que lleva consigo.
Como ya se ha dicho, se utiliza en ocasiones cuando el objetivo es determinar el rango de la matriz
o una particin ptima entre variables bsicas y variables libres.
Con pivotamiento total puede ser conveniente utilizar escalamiento por filas y por columnas, segn
la siguiente expresin (D1 y D2 permutaciones de una matriz diagonal):
D1AD 2 y = D1b, siendo x = D 2 y
(119)
El escalamiento por columnas implica un cambio de unidades en las incgnitas: en algunos casos
puede ser conveniente no mezclar metros con micras, y en otros casos puede ser necesario hacerlo.
Hay que sealar que no hay criterios absolutos para hacer un buen escalamiento por columnas. Un
buen criterio podra ser hacer que el mximo elemento de cada fila y columna tenga una magnitud
parecida, por ejemplo que est entre y 1. Hay que tener en cuenta que si al hacer el scaling se
multiplica y divide siempre por potencias de 2, no se introducen errores de redondeo adicionales.
2.7
pg. 29
PA = LU = L 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0
0
0
0 0
P
L
pivot
elemento 0
matriz de permutacin m m
matriz triangular inferior m m
(120)
Esta forma de escalera es muy interesante, pues arroja mucha ms luz sobre el sistema de ecuaciones a resolver que el sistema original Ax=b. Aparecen r pivots (elementos distintos de cero), con
ceros debajo y a la izquierda. El rango de la matriz A es r. En la prctica las cosas no estarn tan
claras, por ejemplo cuando los elementos (3,3), (4,5), (4,6), (4,7) y (4,8) sean muy pequeos, pero
no exactamente cero: Cundo un nmero pequeo debe pasar a considerarse cero? La mejor solucin a este tipo de preguntas no est en la forma de escalera, sino el la DVS (Descomposicin de
Valores Singulares), que se ver en el apartado 4.2.4.
De momento, se supondr que la forma de escalera no presenta confusin posible entre elementos
cero y elementos muy pequeos.
2.7.2 Conclusiones de la forma de escalera PA=LU
A partir de la forma de escalera dada por la expresin (120) se pueden extraer las conclusiones siguientes:
La matriz P indica las posibles permutaciones de filas realizadas para que los pivots aparezcan siempre ordenadamente en las filas superiores. La factorizacin LU realizada corresponde a la matriz PA, es decir a la matriz A con las filas permutadas.
En el sistema original slo r de las m ecuaciones eran independientes y por tanto slo r de
los m vectores fila (en Rn) eran independientes. Por eso hay mr filas que se han hecho cero,
correspondientes a las filas que eran linealmente dependientes de las dems.
Las columnas (y las incgnitas) aparecen divididas en dos grupos: las que tienen pivots (variables bsicas o dependientes) y las que no tienen pivots (variables libres o independientes). Si hay variables libres, la solucin, caso de existir, no ser nica.
Dependiendo de lo que haya sucedido con el vector b (que habr debido sufrir las mismas permutaciones y combinaciones de filas que la matriz A), se pueden presentar distintas posibilidades. Recurdese que, matricialmente, el sistema se ha transformado en la forma:
PAx = LUx = Pb
Ux = L1Pb = ( P4 P3P2 P1 ) Pb
(121)
Existe solucin si las (mr) filas que se han hecho cero en el primer miembro Ux se hacen tambin
cero en el segundo miembro L1Pb, es decir cuando los (mr) ltimos elementos de ( P4 P3 P2 P1 ) Pb
se anulan al igual que las correspondientes filas de U. Adems, si el sistema tiene solucin y hay
variables libres, el sistema tiene infinitas soluciones.
pg. 30
Ax = b
0
PL1Ax = Ux =
0 0 0
0 0 0 0 0
x = PL1b =
?
0
(122)
2.8
En esta apartado se van a describir brevemente algunas funciones de Matlab en relacin con el mtodo de eliminacin de Gauss y la resolucin de sistemas de ecuaciones lineales.
1.
pg. 31
Si A es una matriz cuadrada no singular, A\b es la solucin de Ax=b calculada por eliminacin de Gauss con pivotamiento por columnas.
Si A y b son tales que el sistema tiene infinitas soluciones o ninguna, A\b da la solucin de
variables libres nulas o la de mnimos cuadrados, respectivamente.
Adems, el operador \ es "inteligente", en el sentido de que es capaz de descubrir y aprovechar si A es simtrica y definida-positiva, o si tiene forma triangular.
2.
Funcin [L,U,P]=lu(A)
Calcula con pivotamiento por columnas la factorizacin LU de la matriz PA, donde P es una
matriz de permutacin que representa el orden de filas en que han aparecido los pivots.
3.
Funcin [R,c]=rref(A,tol)
Reduce A a forma de escalera con pivots unidad y ceros tambin encima de cada pvot. El
vector c es un vector de enteros cuyo nmero de elementos indica el rango de la matriz y
cuyos elementos indican las columnas de los pivots (variables bsicas o dependientes).
2.9
(123)
donde ( A ) es el radio espectral de A y la serie I + A + A 2 + A 3 + ... converge si A es convergente. En efecto, si A es convergente, la matriz (IA) es no singular y se puede expresar como:
S I + A + A 2 + A 3 + ... = I + A ( I + A + A 2 + A 3 + ... ) = I + AS
S (I A) = I
(I A)
= I + A + A 2 + A 3 + ...
(124)
(125)
Demostracin de la desigualdad a)
I = ( I A )( I A )
1 I A (I A)
(1 + A ) ( I A )
(126)
1
1
(I A)
1+ A
Demostracin de la desigualdad b)
(I A) (I A ) = I
1
(I A)
(I A)
(I A ) A = I (I A ) = I + (I A ) A
1 + A (I A)
(I A)
1
1 A
(127)
pg. 32
Ax = b
Ax = b
1
A (x + x) = b + b
A x = b
x = A b
b A x
x A 1
(128)
Multiplicando miembro a miembro las desigualdades anteriores se puede calcular una acotacin para el error relativo de
la solucin, en funcin del error relativo del trmino independiente:
b x A 1 A x b
A 1 A
b
b
(129)
A continuacin se estudiar el error relativo en la solucin debido a una perturbacin o error en la matriz del sistema:
Ax = b
A x + A ( x + x ) =0 x = A 1 A ( x + x )
( A + A )( x + x ) = b
(130)
x A 1 A x + x
x
A 1 A
x +x
x
A
A 1 A
x +x
A
(131)
Tanto en la expresin (129) como en la (131) el error relativo en los datos se multiplica por un mismo factor:
( A ) A 1 A ,
( A ) 1 pues I = A 1A, 1 A 1 A = ( A )
(132)
Este factor () se llama nmero de condicin o condicin numrica y es un nmero real mayor o
igual a uno que controla la transmisin de errores en los sistemas de ecuaciones lineales. Tal y como se ha definido, se exige que la matriz A sea no singular. Otra observacin importante es que las
cotas para el error relativo (129) y (131) son ptimas, en el sentido de que la igualdad es alcanzable.
( A + A )( x + x ) = b + b
(133)
Se supone tambin que las perturbaciones en A son pequeas, de modo que se cumple:
A <
A
A
1
= 1
=
A 1
A A (A)
(A)
, ( A ) condicin numrica de A
(134)
(I + A
A ) no singular
(135)
(I + A
A)
1
1
1 A 1 A 1 A 1 A
(136)
(I + A
(137)
A ) ( x + x ) = x + A 1 b
pg. 33
x = ( I + A 1 A ) A 1 ( b Ax )
1
x ( I + A 1 A )
A 1
( b
+ A x
(138)
x
x
1
1 A
+ A
A 1
A
x
bA x
x
x
A 1
1 A
A + A
A b
(139)
x
x
A 1
1 A
A 1 A
b
b
A
A + A =
+
b
A
A b
1 A 1 A
(140)
Finalmente:
x
x
b
(A)
A
+
A b
A
1 (A)
(141)
Al igual que en las expresiones (129) y (131), es de nuevo la condicin numrica el factor que controla la amplificacin en el resultado (siempre es ()1) de los errores relativos en los datos.
Hay que sealar que la condicin numrica no depende de la magnitud de los elementos de una
matriz: Si una matriz se multiplica por un escalar la condicin numrica permanece invariable.
2.9.4 Expresin general del nmero de condicin
El nmero de condicin ( A ) definido en la expresin (132) exige que la matriz A sea invertible.
De una forma ms general, vlida para cualquier tipo de matriz, el nmero de condicin se define
en la forma:
(A) =
max Ax
x =1
(142)
min Ax
x =1
El resultado (142) es el cociente entre la magnitud de la imagen del vector unitario que ms crece
con la matriz A, dividido por la magnitud de la imagen del vector unitario que menos crece. Ntese
que esta definicin se aplica tambin a una matriz rectangular.
Si el rango de A es menor que n, y R n , no nulo, tal que Ay = 0 y, por tanto, min Ax = 0 . Si A
x =1
no es la matriz nula, max Ax > 0 . En esta situacin, como extensin a la definicin de nmero de
x =1
(143)
pg. 34
La matriz AHA es hermtica y todos sus valores propios son reales y no negativos, pues dicha matriz es al menos semidefinida positiva. Adems, si la matriz A es normal y sus valores propios
son j, los valores propios de la matriz AHA son:
U H AU = D, U H A H U = D
U H ( AA H ) U = DD = diag 1 ,..., n
2
DD = U H AUU H A H U = U H AA H U
A 2 = (AH A) =
n = n = ( A )
2
(144)
(145)
Si adems la matriz A es regular, los valores propios de A1 son los inversos de los valores propios
de A. Por tanto, se verificar que:
1
A 1 = ( A H A 1 ) =
2
1
= ( A 1 )
(146)
De acuerdo con esto y con (132), el nmero de condicin de una matriz normal y regular ser:
( 2 ) ( A ) = A 1
A 2 = ( A 1 ) ( A ) =
(147)
Las matrices ortogonales y unitarias son las nicas que tienen todos sus valores propios de mdulo
unidad, y por tanto son las nicas que tienen nmero de condicin igual a uno. Estas matrices son
ptimas para resolver sistemas de ecuaciones sin errores significativos.
2.9.6 Inversas de matrices perturbadas
Ahora se va a estudiar la variacin en la inversa de una matriz A con una perturbacin A. Sea una matriz regular A en
la que se introduce una pequea perturbacin A, tal que A1A es convergente. Se desea acotar la norma del error:
(A + A)
(148)
A 1
Se parte de la siguiente identidad matricial (se puede comprobar multiplicando por B):
(149)
B 1 = A 1 B 1 ( B A ) A 1
(A + A)
= A 1 ( A + A )
(150)
( A ) A 1
(A + A)
A 1 ( A + A )
(151)
A A 1
El primer factor del segundo miembro se puede transformar en un producto de inversas, y luego se le puede aplicar la
desigualdad (136):
(A + A)
= A ( I + A 1 A )
= ( I + A 1 A ) A 1 A 1
1
(I + A
A)
A 1
1 A 1 A
(152)
(A + A)
A 1
A 1
1 A A
1
(A + A)
A
A 1
(A)
A
A
1 A A
1
(153)
Se ve que tambin en este caso el error relativo en el resultado depende del error en los datos a travs del nmero de
condicin.
pg. 35
( A )ij
2n max aij( k )
(154)
1i , j ,k n
donde n es el nmero de ecuaciones, es la precisin de la mquina (10e16 para los PCs, trabajando en doble precisin) y aij( k ) son los elementos que van apareciendo en A a lo largo del proceso de
factorizacin. El pivotamiento por columnas basta para evitar que estos elementos crezcan incontroladamente.
Tngase en cuenta que las matrices definidas positivas no necesitan pivotamiento y que por tanto,
en general, no suelen dar problemas de errores de redondeo salvo que el nmero de condicin sea
muy elevado. Si existen dudas al respecto, siempre es conveniente estimar los errores a travs de un
nmero de condicin aproximado. Matlab dispone de las funciones cond(A,p) y condest(A). La
primera de ellas calcula de modo exacto la condicin numrica de A utilizando la norma-p (si se
omite p, se supone p=2). Este clculo puede ser muy laborioso si A es de gran tamao. La funcin
condest(A) calcula de modo econmico un valor aproximado de la condicin numrica.
n=r
(155)
pg. 36
(156)
xR
A T ( b Ax 0 ) = 0
A T Ax 0 = A T b
(157)
x 0 = ( AT A ) AT b
1
(158)
( Ax ) =
Ax > 0, x 0
(159)
La matriz ATA tiene el mismo ncleo o subespacio nulo que A (tambin aunque r<n):
o Si xKer(A) Ax=0 ATAx=0 xKer(ATA)
o Si yKer(ATA) ATAy=0 yT ATAy=(Ay)T(Ay)=0 Ay=0 yKer(A)
En resumen, la solucin de mnimo error cuadrtico del sistema Ax=b, donde el rango de A coincide con el n de columnas m, se puede escribir por medio de las ecuaciones normales en la forma:
x 0 = ( AT A ) AT b
1
(160)
AT
AT
ATA
(161)
pg. 37
AT r = 0
(162)
Expresando conjuntamente las ecuaciones (161) y (162) se llega a la siguiente ecuacin matricial:
I
AT
A r b
=
0 x 0 0
(163)
que es un sistema de m+n ecuaciones con m+n incgnitas. Este sistema de ecuaciones ampliado
tiene o puede tener algunas ventajas:
La ventaja ms importante es que la condicin numrica de la matriz ampliada es menor
que la de ATA, lo que permite alcanzar la solucin con menor error.
Si la matriz A es dispersa o sparse (la mayor parte de sus elementos cero) tambin los tiempos de clculo pueden ser inferiores con la matriz ampliada, al menos para ciertos tipos de
matrices.
b Im ( Q )
(164)
x 0 = QT b
(165)
pues QT es una inversa por la izquierda de Q (no es una verdadera inversa porque no es cuadrada).
La proyeccin de b sobre el Im(Q) est dada por una matriz P definida en la ecuacin (46):
P = A ( AT A ) AT ,
1
para A = Q
P = Q ( QT Q ) QT = QQT
1
(166)
=
QT Q = I
QQT = P
pg. 38
Ax =b
m=r
n
Se trata de hallar la solucin de mnima norma eucldea del sistema (167), representado en la
Figura 28. Recurdese que la solucin general de un sistema indeterminado se puede construir sumando la solucin general del sistema homogneo a una solucin particular del sistema completo.
Sea N una matriz n(nr) cuyas columnas son una base de Ker(A). Si xP es una solucin particular
de Ax=b, la solucin general de dicho sistema viene dada por:
x = x p + Nu
u R nr
(168)
Para hallar la solucin de mnima norma se puede tener en cuenta que la ecuacin (168) representa
todas las soluciones del sistema (167), que dependen de los elementos del vector u, que pueden ser
considerados como parmetros independientes. Cualquier solucin es la suma de una componente
en el ncleo de A y otra componente en su complemento ortogonal, que es Im(AT). Esta suma es
directa, lo que implica que los sumandos estn unvocamente determinados. La solucin de mnima
norma ser pues el vector que no tenga componente en Ker(A) y que pertenezca a Im(AT).
Sea v el vector de coeficientes de la solucin de mnima norma x expresada como combinacin
lineal de las filas de A:
x = AT v,
v Rr
(169)
( AA
invertible )
(170)
x = AT ( AAT ) b
1
(171)
que es la expresin de la solucin de mnima norma. Para que la matriz AAT sea invertible es necesario que sea de mximo rango (r=m), es decir, que las filas de A sean linealmente independientes.
pg. 39
Figura 29. Sistema incompatible de dos ecuaciones con dos incgnitas, sin solucin de mnimo error nica.
m
m
n
C
Sea cual sea la matriz A (de rango r), siempre se puede descomponer en el producto de dos matrices
de rango mximo de tamaos (mr) y (rn), tal como se muestra en la Figura 30:
(172)
A =BC
Las columnas de B son una base de Im(A) y las filas de C lo son de Im(AT). Cada columna de C
contiene los coeficientes con los que hay que combinar las columnas de B para obtener cada columna de A; anlogamente, cada fila de B contiene los coeficientes con los que hay que combinar las
filas de C para obtener cada fila de A.
Utilizando la factorizacin (172), el sistema Ax=b se puede escribir en la forma:
Ax =b
BCx = b
(173)
(174)
(175)
Hay que tener en cuenta que la solucin de mnimo error cuadrtico de Ax=b se corresponde con
la de By=b, pues:
minn ( b Ax ) = minn ( b BCx ) = minr ( b By )
xR
xR
yR
(176)
Como el rango de la matriz B es mximo (igual al nmero de columnas), se puede aplicar la expresin (171) de la solucin de mnimo error cuadrtico, reemplazando A por B:
y = ( BT B ) BT b
1
(177)
Por otra parte, una vez conocido y, la ecuacin (174) constituye un sistema indeterminado con una
matriz C de rango mximo. La solucin de mnima norma viene dada por la expresin (171):
pg. 40
x + = CT ( CCT ) y
1
(178)
Combinando los resultados de mnimo error (177) y mnima norma (178) se obtiene:
x + = CT ( CCT ) y = CT ( CCT )
1
(B B)
BT b = A + b
(179)
x + = A + b,
(B B)
T
BT
(180)
La matriz A+ se conoce con el nombre de matriz seudoinversa, por analoga con la solucin de un
sistema compatible y determinado x=A1b. Esta matriz juega un papel muy importante en la teora
de sistemas de ecuaciones lineales.
Caractersticas de la solucin dada por la ecuacin (180):
Si la matriz A es cuadrada e invertible, tambin lo sern los factores B y C. En este caso la
seudoinversa coincide con la inversa:
x + = A + b = CT ( CCT )
(B B)
T
BT b = CT CT C1B 1B T BT b = C1B 1b = A 1b
(181)
BT B = CT A T AC1
(B B)
= C ( A T A ) CT
1
(182)
(183)
que es la solucin dada por las ecuaciones normales para mnimos cuadrados.
Anlogamente se puede demostrar que si el sistema es indeterminado y la matriz A de rango mximo, la solucin (180) se reduce a la expresin (171) hallada anteriormente para la
solucin de mnima norma.
La matriz pseudoinversa A+ definida en la expresin (180) se puede expresar tambin en la forma:
A + CT ( CCT )
(B B)
T
BT = CT ( BT BCCT ) BT = CT ( BT ACT ) BT
1
(184)
La expresin x+=A+b representa pues, en cada caso, la solucin ms conveniente para el sistema
general de ecuaciones lineales Ax=b. La matriz inversa A1 slo existe cuando A es cuadrada y no
singular. Sin embargo, la matriz seudoinversa A+ existe siempre y tiene algunas propiedades semejantes a las de la matriz inversa A1. Algunas de estas propiedades son (sin demostracin):
La matriz A+ es nica, a pesar de que la factorizacin A=BC no est unvocamente definida.
La seudoinversa de la seudoinversa es la matriz original: (A+)+=A
Los operadores (T) y (+) se pueden permutar: (AT)+=(A+)T
Relaciones entre rangos: r(A)=r(A+)=r(AA+)=r(A+A)
pg. 41
(185)
(186)
Sin embargo, existen tambin diferencias importantes entre la inversa y la seudoinversa. En general:
( AB )
B+ A+
AA + I, A + A I, AA + A + A
(A ) (A )
p +
(187)
La matriz P=AA+ es la matriz de proyeccin ortogonal sobre Im(A). En efecto, se cumple que Ax+= Pb, siendo x+ la solucin de mnimo error en norma cuadrtica. Puesto que tambin se cumple que x+=A+b:
Ax + = AA + b = Pb
La matriz Q=A A es la matriz de proyeccin ortogonal sobre Im(A ). Utilizando A en lugar de A en la propiedad anterior se tendr:
Q = AT ( AT )
(188)
P = AA +
(189)
(190)
La solucin general del sistema Ax=b que minimiza el cuadrado de la norma del residuo (sin minimizar la
norma de la solucin) viene dada por:
x = A +b + ( I A +A ) w
(191)
( w vector arbitrario )
pues (IA+A)=(IQ) es la matriz de proyeccin sobre el complemento ortogonal de Im(AT), que es Ker(A).
Las cuatro propiedades siguientes caracterizan a la seudoinversa de A (se puede demostrar que A+ es la nica
matriz que las cumple):
1.
AA+A=A
AA + A = BC CT ( CCT )
2.
(B B)
T
(192)
BT BC = BC = A
A+AA+=A+
A + AA + = CT ( CCT )
3.
(B B)
T
BT BC CT ( CCT )
(B B)
BT = A +
(193)
C CT B T = B ( B T B ) B T
(194)
( AA ) = ( A )
+ T
+ T
A T = B ( BT B )
AA + = BC CT ( CCT )
( CC )
T
(B B)
T
BT = B ( BT B ) BT
1
(195)
pg. 42
Conviene finalmente recordar que la seudoinversa obtenida a partir de las expresiones (184) es nica, aunque
la factorizacin A=BC no lo sea.
(x
(b
)
Ker ( A ) )
Im ( A T ) , x n Ker ( A )
(196)
Im ( A ) , b n
(197)
Sustituyendo estos valores en el sistema Ax=b y teniendo en cuenta que Axn=0 y que bn nunca puede obtenerse como combinacin lineal de las columnas de A:
Ax = Ax f + Ax n = Ax f = b c
(198)
La expresin (198) indica que tanto x como xf se transforman a Im(A). Por otra parte, cada vector
bcIm(A) proviene de un y slo un vector xfIm(AT), como se puede demostrar por reduccin al
absurdo. Suponiendo dos vectores distintos en Im(AT) que se transforman en bc:
Ax f = b c
Axf = b c
A ( x f xf ) = 0
(x
xf ) Ker ( A )
Absurdo!
(199)
A +bn = 0
(200)
A +b = A + ( bc + bn ) = A + bc
x f = A +bc
(201)
La Figura 31, inspirada en el libro de G. Strang1, representa grficamente los 4 subespacios fundamentales de la matriz A e interpreta la transformacin Ax=b en funcin de dichos subespacios, resumiendo grficamente lo establecido en los prrafos precedentes. Obsrvese que la componente de
x en Ker(A) no influye en la imagen Ax, y que la componente de b en Ker(AT) tampoco interviene
porque es inalcanzable.
pg. 43
xf Axf Ax
xf
Im(AT)
n
Ax=bc
xAx
x
0
Ker(A)
n
Im(A) r
xn
bn
xn Axn 0
Ker(AT)
nr
mr
Figura 31. Relacin entre el sistema Ax=b y los
cuatro subespacios fundamentales de la matriz A.
Rm
pg. 45
3.
3.1
Los vectores propios de una matriz A Cnn son los vectores x Cn , x 0 que se transforman del
modo:
Ax = x, C
(202)
El escalar , que puede ser real o complejo, es el valor propio asociado al vector propio x. La
ecuacin (202) tambin se puede expresar como:
( A I) x = 0
(203)
El vector nulo no se considera vector propio. Para que exista una solucin x distinta de la trivial
(x=0), el valor propio deber ser raz de la ecuacin caracterstica, que se obtiene igualando a cero
el polinomio caracterstico (de grado n):
det ( A I ) = 0
(204)
x1
Ax 2 = 2x 2
x2
Ax
x
En lo sucesivo, salvo que se indique lo contrario, se considerarn matrices reales. Para las matrices
reales, los vectores propios asociados con valores propios conjugados son tambin vectores complejos conjugados entre s.
3.2
pg. 46
Por lo general, el vector Ax no tiene la misma direccin que x. Los vectores propios son vectores
que se transforman sin cambiar de direccin. El valor propio determina el cambio de longitud.
3.3
(205)
lo que demuestra que una combinacin lineal de vectores propios asociados con un mismo valor
propio es tambin vector propio. Estos subespacios vectoriales formados por vectores propios se
conocen como subespacios propios.
Por otra parte, los subespacios propios correspondientes a valores propios distintos slo tienen en
comn el vector nulo. En efecto, si x es un vector propio comn, por reduccin al absurdo:
Ax = 1x
0 = (1 2 )x x = 0
Ax = 2x
(206)
Como consecuencia, los vectores propios correspondientes a valores propios distintos son linealmente independientes.
3.3.2 Relacin de los valores propios con la traza y el determinante
Igualando coeficientes en las distintas expresiones del determinante det(AI)=0 de la ecuacin
(204) se deducen las propiedades siguientes (frmulas de Vieta):
det ( A I ) =
a11
a12
#
an1
"
a22 "
a12
#
an 2
a1n
a2 n
%
#
" ann
= ( 1) n j j = ( 1) ( 1 )( 2 )" ( n )
j
(207)
j =0
1 = 1 + 2 + ... + n
2 = 12 + 13 + ... + n 1n
"
(208)
n = 123 ...n
En concreto, igualando los coeficientes de y de n se obtiene que:
La suma de los valores propios es igual a la traza de la matriz.
El producto de los valores propios es igual al determinante de la matriz.
3.3.3 Propiedad de "desplazamiento" de los valores propios
Si los valores propios de la matriz A son i, los valores propios de la matriz (AI), siendo un
escalar, son (i). Los vectores propios xi de la matriz A siguen siendo vectores propios de la matriz (AI):
pg. 47
Ax i = i x i ;
restando x i
( A I ) xi = ( i ) xi
(209)
(210)
3.4
(211)
Transformaciones de semejanza
(212)
Ax = MBM 1x = x
(213)
(214)
de donde se deduce que es un valor propio de B asociado con el vector propio (M1x).
Es fcil comprobar que dos matrices semejantes A y B tienen el mismo polinomio caracterstico:
det( B I) = det(M 1AM M 1M ) =
= det( M 1 ( A I)M ) = det M 1 det( A I) det M = det( A I)
(215)
Axi = i xi
A [ x1
x 2 " x n ] = [ x1
x2
1 0
0
2
" xn ]
# #
0 0
0
" 0
% #
" n
"
(216)
Llamando ahora P a la matriz cuyas columnas son los n vectores propios independientes y D a la
matriz diagonal formada por los valores propios:
pg. 48
P [ x1
x2 " xn ] ,
AP = PD
D diag ( 1 , 2 ,..., n )
P 1AP = D
A = PDP 1
(217)
Para que una matriz sea diagonalizable, debe tener n vectores propios linealmente independientes.
Para que sea invertible, debe tener los n valores propios distintos de cero.
Las matrices defectivas tienen menos de n vectores propios independientes. No se pueden diagonalizar mediante transformaciones de semejanza. Se pueden reducir a la forma cannica de Jordan.
3.4.3 Reduccin a forma triangular mediante transformaciones de semejanza
Teorema: Toda matriz cuadrada A Cnn se puede reducir mediante una transformacin de semejanza S1AS a una matriz triangular superior T, cuyos valores propios aparecen en la diagonal.
Demostracin: Siempre es posible encontrar para A un vector propio x1 asociado con 1 (en general, ambos complejos). Se puede construir una matriz no singular S1, con el vector x1 en la primera columna, tal que al multiplicar S1 por
el primer vector de la base natural e1 se tiene:
S1e1 = x1
S11x1 = e1
(218)
0 A1
(219)
Los valores propios de B1 son los de A, pues son matrices semejantes; los de A1 son los de A con la multiplicidad de 1
disminuida en una unidad. Ahora a la matriz A1 se le puede aplicar idntico razonamiento que a A, pues tambin tendr
al menos un vector propio asociado con 2 . La segunda transformacin de semejanza se deber hacer con una matriz
que respete los ceros introducidos por la primera, es decir mediante una matriz que tenga la forma:
1 0T
P2 =
0 S 2
(220)
La matriz B 2 = P21S11AS1P2 es semejante a A, y tiene ceros debajo de la diagonal en las dos primeras columnas. Continuando con transformaciones de semejanza de este tipo se llega finalmente a transformar A en una matriz triangular
superior T, cuyos valores propios estn en la diagonal. La forma cannica de Jordan es un caso particular de matriz
triangular superior a la que cualquier matriz es reducible por semejanza.
(221)
Se llama transformacin de semejanza unitaria a una transformacin de semejanza realizada mediante una matriz unitaria:
B = U H AU,
siendo U 1 = U H
(222)
Las transformaciones de semejanza unitarias tienen todas las propiedades de las transformaciones
de semejanza (y algunas ms). Las matrices A y B relacionadas por la ecuacin (222) se dicen unitariamente semejantes.
Se llaman matrices unitariamente diagonalizables (triangularizables) a las matrices que se pueden
reducir a forma diagonal (triangular) mediante una transformacin de semejanza unitaria. Hay
matrices diagonalizables que no son unitariamente diagonalizables.
pg. 49
Se cumple que si las matrices A y B son unitariamente semejantes, las matrices AHA y BHB tambin lo son (con la misma matriz U):
B = U H AU, B H = U H A H U;
U H A H AU = ( U H A H U )( U H AU ) = B H B
(223)
Las transformaciones de semejanza conservan el polinomio caracterstico y por tanto la traza, luego
la suma de los cuadrados de los mdulos de los elementos de la matriz se conserva en las transformaciones de semejanza unitarias:
n
i , j =1
i , j =1
(224)
ij
AU1 = U1
# # % #
0 * " *
1
0
U1H AU1 =
#
* " * 1
* " * 0
=
# % # 0
* " * 0
* * *
(225)
Pero por hiptesis la matriz B es una matriz (n1)(n1) unitariamente semejante a una matriz triangular superior
B = U B TB U HB luego A es unitariamente semejante a una matriz triangular T. La matriz A se podr finalmente expresar
como:
1
0
U 2 =
0
0 0 0
UB
0
U 2H U1H AU1U 2 = U 2H
0
* * *
1
U = 0
2 0
B
* * *
TB
(226)
Desde un punto de vista constructivo, la matriz A se puede reducir a forma triangular determinando un vector propio
para B y construyendo a partir de l la matriz UB, y continuando sucesivamente hasta que la matriz se haga triangular.
3.5
Matrices normales
(227)
pg. 50
BB H = ( U H AU )( U H A H U ) = U H AA H U = U H A H AU = U H A H ( UU H ) AU = B H B
(228)
Dada una matriz normal A, los vectores propios de AH son los mismos que los de A, y los valores
propios de AH son los conjugados de los valores propios de A:
U H AU = D U H A = DU H
A H U = UD H = UD
(229)
a) La matriz A es normal.
b) La matriz A es unitariamente diagonalizable.
n
c) Se verifica la igualdad:
i , j =1
aij = i
2
i =1
(230)
U H AU = T
Si A es normal, tambin lo ser T, pues la condicin de normal es conservada por las transformaciones de semejanza
unitarias.
Se va a demostrar que si una matriz triangular es normal, en realidad es diagonal. La Figura 33 muestra la forma del
producto THT, mientras que la Figura 34 lo hace con el producto TTH. Si T es normal, ambos productos deben dar el
mismo resultado.
T T
TT
De la igualdad de elementos (1,1) se concluye que en la primera fila de T slo el elemento de la diagonal es distinto de
cero:
(T T)
2
2
H
( TT )11 = t1 j t1 j = t11 + t1 j
j =1
j =2
11
= t11t11 = t11
t
j =2
1j
=0
t1 j = 0, j = 2,3,..., n
(231)
De la igualdad de elementos (2,2) se concluye que en la segunda fila de T slo el elemento de la diagonal es no nulo:
(T T)
H
22
( TT )
H
22
n
n
2
2
= t2 j t2 j = t22 + t2 j
j =2
j =3
t
j =3
2
2j
=0
t2 j = 0, j = 3, 4,..., n
(232)
Prosiguiendo del mismo modo con los restantes elementos de la diagonal de ambos productos se demuestra que T y TH
deben ser diagonales. Por tanto, toda matriz A normal es unitariamente diagonalizable.
El recproco, que toda matriz unitariamente diagonalizable es normal, se cumple porque toda matriz diagonal es normal, y por tanto tambin lo ser A que es unitariamente semejante a ella.
pg. 51
i , j =1
2
= i .
ij
i =1
La traza se conserva en las transformaciones de semejanza, pues es el 2 coeficiente del polinomio caracterstico, que es
un invariante. Si A y D son unitariamente semejantes, aplicando la propiedad vista en la expresin (224):
n
i , j =1
ij
= traza ( A H A ) = traza ( D H D ) = i
(233)
i =1
Recprocamente, esta propiedad indica que la matriz triangular T = U H AU , unitariamente semejante a A y con los
valores propios en la diagonal, debe ser diagonal, pues si se cumplen simultneamente la condicin c) y la ecuacin
(224), la suma de los cuadrados de los mdulos de los elementos de fuera de la diagonal debe ser nula.
b) d): Toda matriz es unitariamente diagonalizable si y slo si tiene n vectores propios ortonormales entre s.
Si A es diagonalizable mediante una matriz unitaria U:
U H AU = D
(234)
AU = UD
Las n columnas de U son vectores propios ortonormales de A y los elementos de D los valores propios.
Recprocamente, si A tiene n vectores propios ortonormales que son las columnas de U, la misma expresin (234) indica que es unitariamente diagonalizable.
U H A H U = D H D = D H D real
(235)
Como caso particular, las matrices reales y simtricas siempre tienen valores propios reales.
La matriz A es antihermtica si y slo si sus valores propios son imaginarios puros:
A = A H U H AU = D,
U H A H U = D H = D D : d ii imaginarios puros
(236)
A H A = ( UD H U H )( UDU H ) = UD H DU H = I
DH D = I
(237)
La matriz A es normal si y slo si los vectores (Ax) y (A x) tienen la misma norma eucldea (sin demostracin):
3.5.4 Descomposicin espectral de matrices normales
Toda matriz normal por tanto unitariamente diagonalizable admite una descomposicin espectral
mediante la que se expresa como suma de matrices de rango 1, en la forma:
A = UDU H = [u1
H
1
u1 n
k u k u kH
" u n ]
%
# =
k =1
n u nH
(238)
3.6
pg. 52
A R nn , AT = A
(239)
i , j =1
Las formas cuadrticas pueden reducirse a forma diagonal mediante cambios de coordenadas en el
vector x. Como A es simtrica, una forma particular de reducir la forma cuadrtica a forma diagonal
es mediante una transformacin de semejanza unitaria que la diagonalice. Sin embargo, como no se
exige que el cambio de coordenadas sea unitario u ortogonal, una misma forma cuadrtica puede
transformarse en muchas formas cuadrticas diagonales diferentes, pero slo en una forma diagonal cannica. La forma diagonal cannica es aquella en la que todos los elementos de la diagonal
son "1", "1" "0" (en este orden).
3.6.2 Transformaciones de congruencia
Una transformacin de congruencia se define en la forma:
B = CT AC
( C no singular )
(240)
(241)
(242)
Hay que demostrar que p=q. Se har por reduccin al absurdo. Supngase, por ejemplo, que p<q. Supngase un vector
u0 cuya expresin en las coordenadas y tiene las p primeras coordenadas nulas, y en las coordenadas z dicho vector u
tiene las (nq) ltimas coordenadas nulas.
y1 = y2 = ... = y p = 0;
zq +1 = zq + 2 = ... = zn = 0
Tal vector u existe y es no trivial, pues hay (nq+p)<n condiciones. El vector u deber verificar simultneamente:
(243)
pg. 53
(244)
lo cual es absurdo. De forma anloga se puede demostrar que p>q es imposible, luego p=q.
Una consecuencia prctica importante de la ley de inercia de Sylvester es que para cualquier matriz simtrica con una factorizacin A=LDLT, los signos de los pivots que aparecen en D coinciden
con los signos de los valores propios de A, pues A y D estn relacionadas por una transformacin
de congruencia.
3.6.4 Matrices definidas-positivas
Una matriz simtrica A es definida-positiva si cumple:
x H Ax > 0, x 0
(245)
Por otra parte, se dice que A es definida negativa cuando (A) es definida positiva.
La condicin (245) es equivalente a cualquiera de las cuatro condiciones siguientes:
Todos los valores propios de A son estrictamente positivos: i > 0, i
(246)
(247)
(248)
( R no singular )
(249)
Demostracin:
1)
Ax j = j x j , j > 0 j
(250)
xTj Ax j = j xTj x j
j > 0
(251)
Recprocamente, si todos los valores propios son positivos y los vectores propios ortonormales, la matriz A es
definida positiva:
AQ = QD
QT AQ = D, dii = i > 0
n
(252)
i =1
2)
det ( A k ) > 0, 1 k n
(253)
Si xT Ax > 0, x 0 , se verifica que det A = 12 ...n > 0 . Hay que demostrar que tambin se cumple para k<n.
Todas las matrices Ak cumplen la condicin (245), y por tanto:
xT Ax = xTk
A
0T k
x k
= xTk A k x k > 0
0
(254)
Como consecuencia todos los valores propios de Ak sern positivos y tambin sern positivos sus determinantes det Ak, que son el producto de los k valores propios correspondientes.
Recprocamente, si det Ak>0 "k, la matriz A es definida positiva. Se demostrar por induccin en n. Est claro
que si det A1>0, A1=a11>0
Se supone que An1 es definida positiva. Entonces existe una transformacin de congruencia tal que STA
1S=In1. La matriz A se puede escribir como:
pg. 54
u
A
, u R n 1 , a R ;
A = nT1
a
u
ST
T
0
0 A n 1 u S
T
a 0T
1 u
0 I n 1
=
1 vT
v
a
(255)
que es una matriz congruente con A y "casi" diagonal. Las ltimas fila y columna de esta matriz se pueden
anular mediante transformaciones de congruencia (aadindoles alguna de las n1 primeras filas y columnas,
multiplicadas por el factor adecuado). Estas transformaciones no alteran las n1 primeras filas y columnas, por
lo que se llega finalmente a una matriz diagonal:
I
D = nT1
0
0
,
d
det D = d
(256)
Este determinante (de una matriz congruente con A) debe tener el mismo signo que det A, que es positivo por
hiptesis. As pues la matriz D es definida positiva, y tambin lo ser la matriz A que es congruente con ella.
Esta propiedad que caracteriza a las matrices definidas positivas se conoce como criterio de Sylvester.
3)
(257)
las matrices Ak. Despus de triangularizar la matriz A, el pvot k se puede escribir en la forma:
akk( k 1) = det A k det A k 1 > 0
(258)
4)
A = RT R, rango R = n
(259)
(260)
A = LDLT =LD 2 D 2 LT = R T R
(261)
pues todos los pivots (elementos de la diagonal de D) son positivos. Es evidente que la matriz R es no singular.
(262)
Las matrices semi-definidas positivas tienen valores propios positivos y nulos, pero no pueden tener
ningn valor propio negativo. Siempre son singulares y tienen determinante nulo. Adems, su ncleo Ker(A) tiene al menos dimensin 1, como se deduce directamente de su definicin.
Las matrices semi-definidas positivas A R nn se pueden factorizar en la forma A=RTR, siendo
rango(R)<n.
Se dice que la matriz A es semi-definida negativa cuando (A) es semidefinida positiva.
Finalmente, se dice que una matriz simtrica A es indefinida cuando se cumple que:
y , z 0 tal que y T Ay > 0 y zT Az < 0
(263)
pg. 55
Las matrices indefinidas tienen necesariamente valores propios positivos y negativos, y tambin
pueden tener valores propios nulos. En este ltimo caso sern singulares, tendrn determinante nulo
y un ncleo no vaco. Estas matrices no admiten factorizacin real en la forma A=RTR.
3.7
Cociente de Rayleigh
R(x ) =
x T Ax
xT x
(264)
R(xi ) =
xTi Ax i xTi i x i
= T
= i
xTi x i
xi xi
(265)
Si los valores propios se ordenan de modo que 1 < 2 < ... < n , el cociente de Rayleigh es mnimo
para x=x1, mximo para x=xn y presenta un valor estacionario para cualquier otro vector propio:
R ( x ) =
(266)
De aqu se concluye que la condicin de valor estacionario equivale a que el cociente de Rayleigh
cumpla la ecuacin de valores propios:
Ax
x T Ax
x = Ax R( x )x = 0
xT x
(267)
1
1
y1 + y22 + ... + yn2
y12 + y22 + ... + yn2
y12 + y22 + ... + yn2
(268)
(269)
todos los trminos del numerador de la ltima fraccin son positivos y tambin la fraccin lo ser.
Por tanto el mnimo de R(x) vale 1 y se produce cuando el vector x es x1 (y1=1, yj=0, j1).
De forma anloga se puede demostrar que el mximo de R(x) vale n y se produce cuando x es el
valor propio xn (yn=1, yj=0, jn)
3.7.2 Error en los valores propios estimados mediante el cociente de Rayleigh
Si en el cociente de Rayleigh la aproximacin en el vector propio es lineal, la aproximacin en el
valor propio es cuadrtica. En efecto, si x=xi+v, siendo v el error en xi, se cumple que
R(x)=i+O(2).
pg. 56
Demostracin:
R ( xi + v ) =
(x Ti + v T ) A (x i + v ) x Ti Ax i + 2 x Ti Av + 2 v T Av
=
(x Ti + v T )( x i + v )
x Ti x i + 2 x Ti v + 2 v T v
(270)
Axi = xi ,
xTi x j = ij ,
xTi Av = 0,
vT xi = 0,
vT Av = j 2j
(271)
j i
i + 0 + 2 j 2j
j i
1 + 2 2j
j i
((1 x )
= i + 2 j 2j 1 + 2 2j
j i
j i
(272)
R ( x i + v ) = i + 2 j 2j i 2j + 4 (
j i
j i
(273)
) + ...
r = max min
wi
xT Ax
xT x
r = 1, 2,...n
siendo xT w i = 0,
i = 1, 2,..., (r 1)
(274)
wi
1 + ... + r2 + r2+1 + ... + n2
(275)
wi
12 + ... + r2 + r2+1 + ... + n2
(276)
Las incgnitas de la minimizacin son ahora los j, que estn restringidos por la condicin de que x sea ortogonal a los
vectores wi:
w Ti x = w Ti j x j = 0,
i = 1, 2,..., r 1
(277)
Los valores de i deben minimizar el parntesis interior de la expresin (276), a la vez que satisfacen las restricciones
(277). La fraccin, que tiene signo negativo (), deber ser lo mayor posible. Para ello, r+1=...=r=0, pues as se anulan
los trminos negativos (que restan) del numerador de la fraccin. Los (r1) valores de (1, 2, ..., r1) se deben elegir
pg. 57
de modo que se cumplan las (r1) restricciones (277). Es evidente que R(x)<r pues a r se le est restando algo positivo. Sin embargo, para wi=xi, se cumple que 1=2= ...=r1=0 y se alcanza la igualdad R(x)=r. Con esto queda demostrado el teorema maxi-min.
De forma anloga se puede demostrar en teorema mini-max.
Enunciado conjunto de los teoremas mini-max y maxi-min: El valor propio r se puede obtener de
las expresiones siguientes:
xT Ax
xT Ax
=
max
min
xw T
T
wi
x x
i x x
r = min max
wi
r = 2,..., n 1
x wi
siendo xT w i = 0,
(278)
i = 1, 2,...,( r 1)
r r(1) r +1
r = 1, 2,..., n 1
(279)
x T Ax
a) r +1 = max min T
wi
x wi x x
xT w i = 0
i = 1, 2,..., r
(280)
pg. 58
xT Ax
b) r(1) = max min T
wi
x wi x x
xT w i = 0
i = 1, 2,..., r
x T Ax
c) r = max min T
wi
x wi x x
xT wi = 0
w r = en
(281)
(282)
i = 1, 2,..., r 1
A ms libertad para elegir los vectores wi se podrn encontrar mayores mximos de los mnimos. La condicin a) deja
ms libertad para elegir los wi que b), luego r +1 r(1) . La condicin b) deja ms libertad para elegir los wi que c), luego r(1) r .
3.8
(283)
(284)
donde la matriz P es una matriz cuadrada no singular. La ley de inercia de Sylvester asegura que los
valores propios de C tienen los mismos signos que los de A, aunque en general tendrn diferentes
valores numricos. Sean y y los vectores y valores propios de C:
Cy = y,
PT APy = y
(285)
Ax = P T P 1x = ( PT P ) x
1
B ( PT P ) , Ax = Bx
1
(286)
(287)
donde A y B son ser simtricas y definidas positivas al menos una de ellas, de ordinario B. La
expresin anterior se puede poner en la forma:
( A B ) x = 0
(288)
Para que exista una solucin x distinta de la trivial, el valor propio deber ser raz del polinomio
de grado n que resulta de desarrollar el determinante:
det ( A B ) = 0
(289)
pg. 59
Bx1
x2
x1
Bx 2
Ax 2 = 2 Bx 2
Bx
x
Ax
Figura 36. Interpretacin geomtrica del problema generalizado de valores y vectores propios.
(290)
B 1Ax = x
(291)
pg. 60
Este mtodo, aunque vlido, no es una forma prctica de resolver el problema porque se pierde la
simetra y se hacen ms complicados los clculos.
De otra forma, si la matriz B es simtrica y definida positiva se puede factorizar como B=RTR (R
no singular) y se tiene:
Ax = Bx = R T Rx,
AR 1y = R T y
y Rx
x = R 1y
(292)
R T AR 1y = y
Consecuencias:
Si A y B son simtricas, la nueva matriz tambin lo es y los valores propios sern reales.
Los valores propios del problema generalizado tienen los mismos signos que los valores
propios de A (por la ley de inercia de Sylvester)
Si A y B son simtricas, los vectores propios correspondientes a valores propios distintos
son ortogonales respecto a dichas matrices:
Ax1 = 1Bx1
Ax 2 = 2 Bx 2
x T2 Ax1 = 1x T2 Bx1
x1T Ax 2 = 2 x1T Bx 2
( 1 2 ) xT2 Bx1 = 0
x T2 Bx1 = 0
T
x 2 Ax1 = 0
(293)
(294)
Como consecuencia, la matriz P cuyas columnas son los vectores propios, diagonaliza por
congruencia las matrices A y B simultneamente:
PT AP = D;
PT BP = I
(295)
T
Introduciendo el cambio de variables x=Py y pre-multiplicando por P la ecuacin de valores y vectores propios se reduce a forma diagonal:
Ax = Bx,
x Py
PT APy = PT BPy
Dy = y
(296)
Obsrvese que la matriz de vectores propios P no es una matriz ortogonal puesto que PTPI.
Para calcular la inversa de la matriz P (que no es PT) se puede proceder as:
PT BP = I
PT BPP 1 = IP 1
P 1 = PT B
(297)
Desplazamiento de los valores propios. Si se sustituye la matriz A por AB, los valores
propios pasan a ser ():
AP = BPD;
( A B ) P = BPD BP;
( A B ) P = BP ( D I )
(298)
Los valores propios no cambian ante una transformacin de congruencia aplicada a ambas
matrices A y B. La ecuacin de los valores y vectores propios es:
Ax = Bx
(299)
(300)
de donde se deduce que es un valor propio de las matrices CTAC y CTBC asociado con el
vector propio y.
pg. 61
Valores propios cuando A tiene rango menor que n. En este caso los vectores de Ker(A) son
vectores propios generalizados asociados con =0. Esto sucede cuando la matriz A es slo
semidefinida positiva.
Si es la matriz B la que tiene rango menor que n, los vectores de Ker(B) son vectores propios asociados con valor propio infinito: =.
El papel de las matrices A y B puede intercambiarse escribiendo:
Ax = Bx
Bx = 1Ax
(301)
R(x ) =
xT Ax
x T Bx
(302)
Propiedades:
Derivando respecto a x para imponer la condicin de valor estacionario:
(xT Bx) Ax (xT Ax)Bx
R ( x ) = 2
=0
xT Bx
xT Ax
Ax T
Bx = 0
x Bx
(303)
de donde se deduce que los valores estacionarios se obtienen cuando x es un vector propio,
en cuyo caso el cociente de Rayleigh es el valor propio correspondiente.
Si las matrices A y B son simtricas y definidas-positivas
o Todos los valores propios son reales y mayores que cero.
o El mnimo se obtiene para el valor propio ms pequeo 1 y el mximo para el valor
propio ms grande n.
o El caso de las matrices de rango menor que n se deduce fcilmente.
Existen tambin versiones de los teoremas mini-max y maxi-min para este problema.
3.8.5 Convergencia a otros valores propios. Tcnicas de deflaccin matricial
Para calcular el k-simo valor propio se itera con un vector B-ortogonal a los k1 vectores propios
ya calculados (esta condicin se impone en cada paso).
z k = z k j =1 ( xTj Bz k )x j
k 1
(304)
Tambin puede obtenerse la convergencia a otros valores y vectores propios mediante una transformacin de congruencia. Supngase calculado x1 y 1 ; sea S una matriz tal que:
S = [ x1 s 2
s3 ... sn ]
(305)
donde x1 es como se ha dicho un vector propio ya calculado, y s2, ..., sn son vectores linealmente
independientes de x1 y entre s. Teniendo en cuenta que PTAP=D y PTBP=I:
0
ST AS =
#
pg. 62
"
A1
0
ST BS =
#
0 "
B1
(306)
Resulta que las matrices A1 y B1 ampliadas tienen los mismos valores propios que A y B, pues se
relacionan con stas a travs de una transformacin de congruencia. Adems, tienen una fila y columna menos. Con transformaciones de este tipo se pueden calcular valores propios distintos de los
ya calculados.
pg. 63
4.
4.1
Factorizacin LU
A = LU;
a11 a12
a
a22
21
a31 a32
a41 a42
a14 1 0
a24 l21 1
=
a34 l31 l32
a44 l41 l42
a13
a23
a33
a43
0
0
1
l43
0 u11 u12
0 0 u22
0 0
0
1 0
0
u13
u23
u33
0
u14
u24
u34
u44
(307)
Exactamente a este mismo resultado se puede llegar por identificacin directa de elementos, con el
mismo n de operaciones aritmticas, pero con una secuencia ms favorable. Considrense los pasos
siguientes:
1.
u1 j = a1 j
2.
u2 j = a2 j l21u1 j = a2 j
(309)
u12u1 j
u11
j = 2,..., n
(310)
a j 2 = l j1u12 + l j 2u22 ;
5.
j = 2,3,...n
l j1 =a j1 / u11
4.
(308)
a j1 = l j1u11;
3.
j = 1, 2,..., n
l j2 =
1
( a j 2 l j1u12 )
u22
j = 3,..., n
(311)
(312)
(313)
l43 =
1
( a43 l41u13 l42u23 )
u33
(314)
(315)
pg. 64
0
Figura 37. Estado intermedio de la factorizacin A=LU.
Para calcular los elementos marcados (columna i de L y fila i de U, a partir de la diagonal) se procede del siguiente modo:
1. A partir de aii se calcula el elemento de la diagonal uii:
i 1
k =1
i 1
(316)
k =1
k =1
i 1
(317)
k =1
a ji = l jk uki + l ji uii
k =1
l ji =
i 1
1
a
l jk uki , j = i + 1,..., n
ji
uii
k =1
(318)
Las operaciones indicadas por las ecuaciones (316)-(318) presentan las siguientes ventajas respecto
a la eliminacin de Gauss:
1. Estn fundamentalmente basadas en el producto escalar de vectores (fila de L por columna de U), operacin que se realiza de un modo muy eficiente en un computador.
2. Los elementos de las matrices L y U alcanzan su valor definitivo de una vez, sin resultados intermedios. De esta forma se minimiza el trasiego de datos entre el procesador y los
distintos niveles de la memoria del ordenador. Tngase en cuenta que en los ordenadores
modernos el acceso a memoria es tan costoso o ms que las propias operaciones aritmticas. En relacin con lo que se acaba de decir, todos los datos que se utilizan a la derecha de la igualdad en las expresiones (316)-(318) tienen ya su valor definitivo, por lo
que pueden ser accedidos con operaciones de slo-lectura y hacer un uso muy eficiente
de las memorias intermedias del procesador (memorias cache).
pg. 65
A = LU = LDLT
(319)
En el clculo por filas se supone que la parte rayada est ya calculada. Se van a calcular los elementos de la fila i de LT y el elemento
de la diagonal de D (o de U). Se parte de las expresiones (316)(318) y se tiene en cuenta la relacin existente entre los elementos
de U y los de LT y D.
En primer lugar se calcula el elemento de la diagonal dii, distinguiendo segn las dos formas de almacenar los resultados:
i 1
uki
u2
uki =aii ki
k =1 ukk
k =1 ukk
i 1
i 1
i 1
i 1
k =1
k =1
(320)
Figura 38. Factorizacin LDLT
de una matriz simtrica.
(321)
El clculo de los elementos de la fila i (con lnea gruesa en la Figura 38) recuerda al producto escalar de la columna i por la columna j, excepto que cada sumando est dividido (o multiplicado) por el
elemento de la diagonal. Estas divisiones restan eficiencia a los clculos. Calculando U:
i 1
i 1
uki ukj
k =1
k =1
ukk
j = i + 1,..., n
(322)
1
dii
i 1
i 1
a
l
u
a
lkiT lkjT d kk ,
ij
ik
kj
ij
d
k =1
k =1
ii
j = i + 1,..., n
(323)
El algoritmo puede modificarse para resolver la dificultad de tener que dividir (o multiplicar) por el
elemento de la diagonal, al mismo tiempo que se vectoriza. La clave est en construir un vector
auxiliar v cuyos elementos son los de la columna i de LT multiplicados cada uno de ellos por el
correspondiente elemento de la diagonal. Las expresiones (321) y (323) se transforman en:
i 1
i 1
k =1
k =1
T T
l = aij lki lkj d kk = aij lkjT vk ,
dii
k =1
k =1
dii
T
ij
(324)
j = i + 1,..., n
(325)
pg. 66
function [D,Lt]=LUsim(A)
n=size(A,1);
% primera fila de L'
for j=2:n
A(1,j)=A(1,j)/A(1,1);
end
for i=2:n
% se forma el vector auxiliar v
for k=1:i-1;
v(k)=A(k,i)*A(k,k);
end
% clculo del elemento diagonal
for k=1:i-1
A(i,i)=A(i,i)-v(k)*A(k,i);
end
% clculo del resto de la fila i
for j=i+1:n
for k=1:i-1
A(i,j)=A(i,j)-v(k)*A(k,j);
end
A(i,j)=A(i,j)/A(i,i);
end
end
D=diag(A); Lt=eye(n)+triu(A,1);
La vectorizacin del algoritmo de factorizacin directa puede llegar an ms lejos: El siguiente programa de Matlab calcula la factorizacin LU utilizando doble vectorizacin (con un solo bucle for):
function [d,Lt]=LUsimVect2(A)
% se guardan D y L' (A=L*D*L')
n=size(A,1); v=zeros(n,1);
d=zeros(n,1);
d(1)=A(1,1);
% primera fila de L'
A(1,2:n)=A(1,2:n)/A(1,1);
pg. 67
% restantes filas
for i=2:n
% vector auxiliar: columna i dividida diagonal
v(1:i-1)=A(1:i-1,i).*d(1:i-1);
% elemento de la diagonal
dii=A(i,i);
dii=dii-v(1:i-1)'*A(1:i-1,i);
A(i,i)=dii;
d(i)=dii;
% resto de la fila i
A(i,i+1:n)=(A(i,i+1:n)-v(1:i-1)'*A(1:i-1,i+1:n))/dii;
end
Lt=eye(n)+triu(A,1);
Para ofrecer una idea de la eficiencia de la vectorizacin y de los propios ficheros *.m de Matlab, se
ha construido y ejecutado una funcin comparativa que llama a las funciones anteriores y a la funcin lu() de Matlab. Los resultados obtenidos con un procesador Intel Pentium 4 a 3 Ghz han sido
los siguientes (tiempo en segundos):
n
LUsim
250
0.2190
0.5470
0.0470
0.0160
500
1.5940
2.4840
0.3280
0.0620
1000
12.2810
11.4380
3.4220
0.4060
LUsimVect1 LUsimVect2
lu()
Hay que tener en cuenta que se ha utilizado la versin 6.5 de Matlab, que incorpora un JIT (JustIn-Time) Accelerator. Los resultados de esta tabla muestran que el acelerador JIT consigue que el
cdigo normal sea ms rpido que la vectorizacin simple, aunque no tan rpido como la vectorizacin doble. La funcin lu() de Matlab, escrita en Fortran C y compilada, es en cualquier caso mucho ms rpida que cualquiera de los ficheros *.m.
(326)
Si se trabaja con L y con la parte inferior de A, las expresiones son las siguientes:
Elemento de la diagonal:
i
i 1
aii = l l = l + l
k =1
T
ik ki
k =1
2
ik
2
ii
i 1
(327)
i 1
k =1
k =1
l ji =
i 1
1
a
l jk lik
ji
lii
k =1
(328)
4.2
Factorizacin QR
A = [a1
a2
pg. 68
"
an ]
Q = [q1
q2
"
qn ]
(329)
Recurdese que L [a1 , a 2 ,..., a k ] = L [q1 , q 2 ,..., q k ] , es decir, que las k primeras columnas de A general el mismo subespacio que las k primeras columnas de Q. Segn esto, cada vector ai slo tiene
componentes en los i primeros vectores ortonormales q, es decir:
a1 = ( q1T a1 ) q1
a 2 = ( q1T a2 ) q1 + ( qT2 a 2 ) q 2
(330)
a3 = ( q1T a3 ) q1 + ( qT2 a3 ) q 2 + ( q T3 a3 ) q 3
Las ecuaciones (330) indican que las matrices A y Q se relacionan a travs de una matriz triangular
superior R, que es cuadrada nn e invertible:
[a1
a 2 " an ] = [ q1 q 2
q1T a1 q1T a 2
0
qT2 a 2
" qn ]
#
#
0
0
" q1T a n
" qT2 a n
%
#
T
" q n a n
A = QR
(331)
La factorizacin QR suele aplicarse de modo que todos los elementos de la diagonal de R sean positivos (la funcin qr() de Matlab sin embargo, no cumple esta condicin). La fila i de Q representa
las componentes de todas las columnas de A segn el vector qi de la base ortonormal. La columna j
de R representa las componentes de aj en los vectores de la base ortonormal. Como se ver a continuacin, esta factorizacin mantiene pleno sentido aunque el nmero de columnas de A sea inferior
al nmero de filas.
El mtodo de Gram-Schmidt se suele aplicar segn el llamado algoritmo modificado, que utiliza
una secuencia de operaciones diferente a la convencional. En el algoritmo modificado, tan pronto
como se halla un vector de la base ortonormal qi se hacen ortogonales respecto a l todos los vectores aj, j=i+1,...,n. Las expresiones correspondientes son las siguientes:
q1 = a1 a1
a j = a j ( q1T a j ) q1
j = 2,3,..., n
q2 = a2 a2
a j = a j ( qT2 a j ) q 2
j = 3, 4,..., n
a j = a j ( qTi a j ) qi
j = i + 1,..., n
...
q i = ai ai
(332)
[a1
pg. 69
q n +1 " q m ]
q1T a1 q1T a 2
qT2 a 2
0
#
#
0
0
0
0
#
#
0
0
" q1T a n
" qT2 a n
%
#
T
" qn an
0
"
%
#
0
"
(333)
R
A
Q
0
Ax = b
A = QR
QRx = b
Rx = y
y = QT b x = R 1y
Qy = b
(334)
En el caso de las ecuaciones normales propias del mtodo de los mnimos cuadrados su aplicacin
es mucho ms ventajosa, porque las ecuaciones normales suelen tener nmeros de condicin altos.
En este caso se llega a:
Ax = b
A T Ax = A T b
A = QR
R T QT QRx = R T QT b
(335)
y como Q es ortogonal y R triangular superior e invertible, la ecuacin final es muy fcil de resolver
R T Rx = RT QT b
Rx = QT b
(336)
pg. 70
U n 1...U 2 U1A = R
(337)
Cada matriz Uj tiene las (j1) primeras filas y columnas iguales a las de la matriz identidad Im. Los
restantes elementos contienen una matriz de simetra de Householder que responde a la expresin:
H =I2
vvT
= I vvT ,
vT v
v = x x e1
(338)
Q U1 U 2 ...U n 1
(339)
No es necesario formar explcitamente las matrices Ui y menos an realizar los productos de matrices que aparecen en las expresiones anteriores. La matriz Hi se puede calcular mediante la expresin (338) a partir del vector v cuando se necesite, pero para hacer un producto HA basta disponer
del vector v, como se explic en el apartado 1.7.6:
HA = ( I vvT ) A = A vvT A = A v ( AT v )
Por otra parte, el vector v se puede calcular a partir de x mediante la funcin householder.m, explicada en el apartado 1.7.5. Con este mtodo, aunque la matriz A sea rectangular (m>n), se obtiene la
factorizacin QR completa.
A continuacin se muestra un programa de Matlab para hacer la factorizacin QR por Householder.
% QR por el mtodo de Householder
function [Q,R]=QRhouse(A)
[m,n]=size(A);
if m<n, disp('m no puede ser menor que n'), exit, end
R=zeros(n,n); Q=eye(m);
beta=zeros(n,1);
for j=1:n
% crear el vector de Householder
if j<m
[v,beta(j)]=householder(A(j:m,j));
% actualizar la matriz H
A(j:m,j:n)=(A(j:m,j:n)-beta(j)*v(1:m-j+1)*(v(1:m-j+1)'*A(j:m,j:n)));
% almacenar v en los ceros hechos en la matriz A
A(j+1:m,j)=v(2:m-j+1);
end
end
% Q y R no se guardan explcitamente
% Para obtener Q se puede multiplicar I(n,n) por la secuencia de transformaciones
%
Q=H1*H2*...*Hn-1*I
%
Q=I; Q=Hj*Q; j=n-1:-1:1
pg. 71
for j=n:-1:1
% se extrae v de H, aadiendo el "1"
v(j:m)=[1;A(j+1:m,j)];
% se aplica la frmula H*Q=Q-v*w'; % donde w=beta*Q'*v;
Q(j:m,j:m)=(eye(m-j+1)-beta(j)*v(j:m)*v(j:m)')*Q(j:m,j:m);
end
% R est en la parte superior de A
R=[triu(A(1:n,1:n)); zeros(m-n,n)];
*
0
0
0 ,
*
0
*
*
4.3
(340)
Sea A R nn una matriz normal. Toda matriz normal por tanto unitariamente diagonalizable
admite una descomposicin espectral en la forma:
A = UDU H = [u1
H
1
u1 n
# = u uH
" u n ]
%
k k k
k =1
H
n u n
(341)
En el caso de que haya valores propios mltiples, es posible agrupar en una matriz Pi las mi matrices de rango 1 asociadas con el valor propio i . En este caso, la descomposicin espectral se expresa en la forma:
pg. 72
m1
m1 + m2
k =1
k =1
k = m1 +1
u k uTk + ... + s
k = n ms +1
u k uTk =
(342)
( m1 + m2 + ... + ms = n )
= 1P1 + 2 P2 + ... + s Ps
Las matrices Pi son matrices de proyeccin ortogonal sobre los subespacios propios, pues son simtricas e idempotentes. La simetra es evidente, pues cada Pi es una suma de matrices simtricas.
La idempotencia se demuestra tambin fcilmente:
(343)
s
j =1
P j x = i = p ui uTi x = i = p ui ( uTi x ) = i = p u i i = x
q
(344)
( m k siempre )
s
j =1
Pj = I
(345)
La expresin (345) indica que la suma de todas las matrices Pi es la matriz identidad I, pues cualquier vector x se puede expresar como suma directa de sus componentes en la base ui.
4.4
Para todas las matrices normales nn existe una matriz unitaria U tal que A se puede factorizar
mediante la descomposicin espectral (ver apartado 4.3):
A = UDU H
(346)
donde las columnas de U son los vectores propios de A. Si la matriz A no es cuadrada, no tiene vectores propios ni descomposicin espectral. Sin embargo, para toda matriz real mn siempre existe
una factorizacin anloga a la espectral en la forma:
A = UV H
(347)
donde U y V son matrices unitarias (ortogonales, en casi todas las aplicaciones de este curso) de
tamao mm y nn, respectivamente, y es una matriz diagonal de tamao mn cuyos elementos
son tales que ii>0 (i=1,2,...,r) y ii=0 (i>r), siendo r el rango de la matriz A.
Es habitual considerar los valores singulares ordenados de mayor a menor:
p = min ( m, n )
(348)
VH
VH
Figura 41. Descomposicin de valores singulares de una matriz con menos y ms filas que columnas.
pg. 73
A T Av i = i v i
( A A ) V = VD
T
(349)
Los valores propios i son no-negativos. Multiplicando la expresin (349) por vTi , i se puede expresar en la forma (cociente de Rayleigh):
v Ti A T Av i = i vTi v i =i
i = v Ti AT Av i = Av i
(350)
Si A tiene rango r la matriz ATA tendr tambin rango r (pues Ker(A)=Ker(ATA)). Habr r valores
propios i mayores que cero y nr valores propios nulos.
Se definen ahora el valor singular j y el vector singular uj (ujRm) en la forma:
j + j ,
u j Av j j ;
j = 1, 2,..., r
(351)
uTj u j = vTj AT Av j 2j = j j = 1,
j = 1, 2,..., r
(352)
Los r vectores ortogonales uj se pueden completar por el teorema de la base incompleta (y el mtodo de Gram-Schmidt) con otros (mr) vectores ortogonales, hasta constituir una base de Rm. Este
sistema ampliado de m vectores ortogonales uj constituyen las columnas de la matriz ortogonal
U R mm .
Se pretende demostrar la existencia de la DVS (A=UVT), pero para ello se estudiar en primer
lugar el producto UTAV. El elemento (i,j) de este producto matricial tiene como valor:
( U AV )
T
ij
= uTi Av j = uTi u j j = ij j
=0
si j r , por la definicin de u j
si j > r, pues Av j = 0
(353)
En definitiva, el producto UTAV es igual a una matriz , de tamao mn, que slo tiene distintos de
cero los r primeros elementos de la diagonal. Estos elementos son los valores singulares j. Se ha
demostrado pues que existen unas matrices ortogonales U y V que diagonalizan a la matriz A:
UT AV =
(354)
Como las matrices U y V son ortogonales y por tanto invertibles, se puede escribir:
min ( m , n )
A = UVT = i =1
i ui vTi
(355)
pg. 74
j = 1, 2,..., r
(356)
Como no se ha presupuesto ninguna condicin para la matriz A, la DVS existe para cualquier matriz rectangular, cualquiera que sea su rango r. La DVS tiene propiedades muy importantes, derivadas de la ortogonalidad de las matrices U y V, y del carcter no negativo de los valores singulares j.
AA T = UV T VT UT = UT UT = UDm UT
(357)
A T A = VT UT UV T = VT V T = VD n V T
(358)
3. Tanto AAT como ATA tienen los mismos valores propios no nulos, lo que deduce de la
relacin de Dm y Dn con T y T, respectivamente.
4. Relacin de las matrices U y V con los subespacios de A:
o Las columnas 1 a r de U son una base ortonormal de Im(A)
o Las columnas r+1 a m de U son una base ortonormal de Ker(AT)
o Las columnas 1 a r de V son una base ortonormal de Im(AT)
o Las columnas r+1 a n de V son una base ortonormal de Ker(A)
(359)
pg. 75
i = d ii , i = 1, 2,..., r
A T AV = VDn ,
(360)
2. Ahora se calcula una matriz U compatible con la V ya calculada por medio de la ecuacin
(359). Esta ecuacin slo permite calcular directamente las r primeras columnas de U, pues
son las que estn multiplicadas por un valor singular distinto de cero. Las mr columnas restantes se calculan simplemente completando una base ortonormal de Rm.
De forma anloga, es tambin posible calcular en primer lugar las matrices U y resolviendo el
problema de valores y vectores propios AAT U = UDm , y luego calcular V de modo compatible con
la U ya calculada por medio de la ecuacin UT A = V T (o bien, trasponiendo: AT U = VT ).
La DVS de la matriz A no es nica. Est claro que los valores singulares, ordenados de mayor a
menor, s estn unvocamente determinados. Los vectores singulares por la derecha vi, correspondientes a valores singulares simples, no estn unvocamente determinados pues pueden ser multiplicados por un factor escalar de mdulo unidad (1, en el caso real). En el caso de valores singulares
mltiples, lo que est unvocamente determinado es un subespacio singular de dimensin igual a la
multiplicidad del valor singular. Sin embargo, dentro de este subespacio se puede tomar cualquier
base ortonormal de vectores singulares.
(361)
lo que indica que el rango de una matriz es igual al nmero de valores singulares no nulos. En un
prximo apartado se ver cmo tratar el caso de valores singulares distintos de cero pero muy pequeos.
Si la matriz A es cuadrada e invertible, los valores singulares sern todos no nulos y positivos. La
matriz inversa de A se puede expresar como:
A 1 = V 1UT = i =1
n
v i uTi
(362)
Ax = b
x = A 1b = V 1UT b = i =1
n
v i uTi b = i =1
n
uTi b
vi
(363)
2
F
2
F
(364)
= i2 (365)
La DVS se puede aplicar tambin al clculo de la condicin numrica de una matriz, que para una
matriz cualquiera se defini como el cociente entre el vector unitario que ms "crece" al multiplicarse por la matriz A dividido por el vector unitario que menos crece:
( A ) = max Au min Au
u =1
u =1
(366)
pg. 76
Considerando la norma eucldea, hay que tener en cuenta que el producto por una matriz ortogonal
no cambia la norma eucldea, por lo que las normas mxima y mnima de la expresin (366) son
respectivamente el mximo y mnimo valor singular. Por ejemplo, para el mximo de la norma:
v = VT u
u 2 =1
= max v 2 = 1e1
u 2 =1
v 2 =1
= 1
(367)
2 ( A ) = 1 p ,
p = min ( m, n )
(368)
La condicin numrica de una matriz unitaria u ortogonal es la unidad, pues sus valores singulares
son los valores propios de UTU=UUT=I, que son todos la unidad. Operar con estas matrices no amplifica los errores en los datos.
( )
rango ( A, ) min
rango A
A A <
(369)
son todas las posibles maEs importante interpretar correctamente esta definicin: Las matrices A
trices que estn a una distancia de A menor que , medida en la norma espectral. El rango numrico
de A se define como el rango de aquella matriz que menor rango tiene y que est a una distancia de
A menor que .
Teorema 1: Sea ARmn una matriz cuya DVS es A = UV T = i =1 i ui vTi . Se define la matriz Ak
r
como una matriz de rango k formada por la suma A k = i =1 i ui vTi . Se cumple que la matriz de
k
=k
rango A
= AA
AA
k
2
= k +1
(370)
y adems el error en la aproximacin es el valor singular k+1, que es el mayor valor singular no
incluido en Ak.
Demostracin: Utilizando la DVS y la definicin de Ak se tiene que:
U H A k V = diag ( 1 ,..., k , 0,...0 ) ,
(371)
rango ( A k ) = k
A Ak
= k +1
(372)
(373)
Considerando el subespacio F = L [ v1 , v 2 ,..., v k +1 ] , la interseccin de F y Ker(B) no podr ser slo el vector nulo, sino
que tendr dimensin 1, pues la suma de dimensiones es (nk)+(k+1)=n+1.
pg. 77
Az =
Bz = 0
(374)
u vT z = i =1 i ( vTi z ) ui
i =1 i i i
r
k +1
(v z)
k +1
i =1
T
i
se tiene:
k +1
k +1
(375)
En esta expresin la igualdad se obtiene cuando B=Ak. Con esto queda demostrado el teorema.
Observacin: El valor singular ms pequeo de A es la distancia, en norma espectral, entre A y el conjunto de matrices
de rango inferior al de A.
Teorema 2: La perturbacin en los valores singulares de una matriz ante una perturbacin E en la
matriz A est acotada mediante la expresin:
k ( A + E) k ( A ) E
(376)
Esto quiere decir que los valores singulares son muy estables ante perturbaciones de la matriz.
Demostracin: En funcin de los valores y vectores singulares de la matriz A se puede escribir:
A = j =1 j u j vTj , A k 1 = j =1 j u j vTj ,
(377)
r ( A k 1 ) = k 1
k 1
r ( B ) k 1
(378)
( A + E) B 2 = k ( A + E)
k ( A + E ) A + E A k 1 2 A A k 1 2 + E 2 = k ( A ) + E
(379)
k ( A + E) k ( A ) E
(380)
Esto es slo parte de lo que hay que demostrar segn (376). Mediante un razonamiento similar, si j , u j y v j son los
valores y vectores singulares de la matriz perturbada A+E:
A + E = j =1 j u j vTj ,
r
( A + E )k 1 = j =1 j u j vTj ,
k 1
(381)
r ( A + E )k 1 = k 1
(382)
min A B 2 = k ( A )
r ( B ) k 1
k ( A ) A + E E ( A + E )k 1 2 A + E ( A + E )k 1 2 + E 2 = k ( A + E ) + E
(383)
k ( A ) k ( A + E) E
(384)
(385)
pg. 78
En funcin del valor de los valores singulares, la matriz A puede ser aproximada mediante las primeras k matrices de rango 1 (k<r):
A A k = i =1 i ui vTi
k
(386)
= k +1 .
Adems, la DVS proporciona informacin precisa y fiable sobre el error cometido en esta
aproximacin, que viene dado por el primer valor singular no incluido en la aproximacin.
x 0 = ( AT A ) A T b
1
(387)
A = UV T , AT = VT UT
(A A)
T
AT = V n2 T UT = V n1,m UT
AT A = VT VT =V n2 V T
x 0 = ( AT A ) AT b = V n1,m UT b,
1
(388)
n1, m R nm
(389)
x0 = i =1
n
v i uTi b = i =1
r
uTi b
vi
(390)
x = AT ( AAT ) b
1
(391)
AAT = UV T VT UT = U m2 UT ,
T
AT ( AAT ) b = VT UT U m2 UT b = V 1
n,m U b
(392)
x = i =1
m
v i uTi b = i =1
r
uTi b
vi
(393)
Obsrvese las expresiones (390) y (393) son idnticas. Esto induce a aplicar la DVS al caso general
de un sistema de ecuaciones lineales incompatible y sin solucin de mnimo error nica, es decir al
caso r < min ( m, n ) . Este caso fue estudiado en el apartado 2.12 y condujo a la introduccin de la
matriz seudoinversa A+. La DVS permite estudiar la pseudoinversa de un modo ms sencillo.
pg. 79
Sea el sistema de ecuaciones lineales Ax=b (ARmn y rango(A)<min(m,n)). Para unos vectores
bRm este sistema tiene solucin y para otros no (r<m). La solucin de mnimo error cuadrtico
puede no ser nica (r<n).
Introduciendo la DVS, el sistema de ecuaciones Ax=b se puede reformular del modo siguiente:
Ax = b, A = UVT
UV T x = b
(394)
(395)
i1
y = c
Figura 42. Sistema de ecuaciones y=c.
Las variables libres yi , r + 1 i n, estn multiplicadas por ceros y no tienen ninguna influencia en
la solucin. Para que la solucin y sea de norma mnima estas variables deben ser nulas:
yi = 0, r + 1 i n.
(396)
(397)
mientras que las restantes ecuaciones no se pueden satisfacer en ningn caso, pues son:
0 yi = ci , r i m.
(398)
Definiendo la matriz pseudoinversa + como una matriz nm con los inversos de los valores singulares distintos de cero en la diagonal, la solucin de mnimo error cuadrtico y mnima norma
vendr dada por (ver Figura 43):
y = +c
(399)
Esta solucin minimiza tambin el residuo y la norma en el sistema de ecuaciones original Ax=b,
pues las matrices ortogonales no cambian la norma eucldea:
r 2 = c y 2 = UT b V T x = b UVT x = b Ax 2 ,
2
y 2 = VT x = x
2
(400)
Se concluye que la matriz que conduce a la solucin de mnimo error y mnima en el caso general,
es decir, la matriz pseudoinversa de A, es la matriz:
y = + c, ( y = V T x , c = U T b )
V T x = + UT b
x = V + UT b = A + b,
A + = V + UT
(401)
Esta matriz seudoinversa es nica, coincide con la vista anteriormente y tiene todas sus propiedades.
pg. 80
La aplicacin convencional del mtodo de los mnimos cuadrados a travs de las ecuaciones normales puede dar problemas numricos, pues la norma espectral de la matriz ATA es el cuadrado de la
norma espectral de la matriz A. Como consecuencia la condicin numrica de ATA es el cuadrado
de la de A, lo que puede crear dificultades numricas. Anteriormente se ha sugerido la utilizacin de
un sistema de ecuaciones ampliado o de la factorizacin QR como formas de resolver este problema.
Si existen estas dificultades y adems es posible que el rango de la matriz A sea menor que
min(m,n) el mtodo ms estable de resolver el problema es aplicar la DVS segn las expresiones
(390) (393) vistas anteriormente, que se repiten aqu haciendo intervenir a la matriz seudoinversa:
Ax = b, x = A b = V U b = i =1
+
v i u b = i =1
T
i
uTi b
vi
(402)
La DVS permite determinar el rango con precisin numrica, separando la informacin propia de la
matriz de las componentes que se han podido introducir por errores de distinto tipo.
pg. 81