Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Álgebra lineal
numérica con
=
Matlab
Métodos Matemáticos de
Especialidad
=(Mecánica-Máquinas)
=
Escuela Técnica Superior de Ingenieros Industriales
Universidad Politécnica de Madrid
Javier García de Jalón de la Fuente
Septiembre 2004
Álgebra lineal
numérica con Matlab
Métodos Matemáticos de
Especialidad
(Mecánica-Máquinas)
Índice
0. Prefacio.......................................................................................................................................v
1. Introducción................................................................................................................................1
1.1 Tipos de matrices .......................................................................................................................... 1
1.2 Espacios vectoriales euclídeos ...................................................................................................... 1
1.2.1 Definición de producto escalar y de espacio vectorial euclídeo o hermítico............................... 1
1.2.2 Bases ortonormales en espacios euclídeos .................................................................................. 1
1.2.3 Coordenadas de un vector en una base ortonormal ..................................................................... 2
1.2.4 Existencia de bases ortonormales: método de Gram-Schmidt..................................................... 2
1.2.5 Interpretación gráfica del método de Gram-Schmidt .................................................................. 3
1.2.6 Matrices ortogonales ................................................................................................................... 4
1.2.7 Matrices de columnas ortogonales .............................................................................................. 4
1.3 Subespacios de una matriz A∈Rm×n .............................................................................................. 4
1.4 Matrices de rango 1....................................................................................................................... 5
1.5 Dos formas de interpretar el producto de matrices ....................................................................... 6
1.6 Matrices de rotación, proyección y simetría ................................................................................. 7
1.6.1 Matrices de proyección y simetría en R2 ..................................................................................... 7
1.6.2 Matriz de rotación en 2-D ........................................................................................................... 8
1.6.3 Matrices de rotación de Givens ................................................................................................... 8
1.7 Aproximación en norma cuadrática: Teorema de la proyección ortogonal .................................. 9
1.7.1 Teorema de la proyección ortogonal ........................................................................................... 9
1.7.2 Matriz de proyección ortogonal sobre un subespacio................................................................ 10
1.7.3 Simetría ortogonal respecto de un subespacio........................................................................... 10
1.7.4 Matriz de Householder .............................................................................................................. 11
1.7.5 Aplicación de las matrices de Householder............................................................................... 11
1.7.6 Almacenamiento de las matrices de Householder:.................................................................... 13
1.8 Normas de vectores y matrices ................................................................................................... 13
1.8.1 Normas vectoriales en Rn ó Cn .................................................................................................. 13
1.8.2 Norma de una matriz ................................................................................................................. 15
1.8.3 Norma matricial inducida por una norma vectorial (norma natural): ........................................ 15
1.8.4 Norma-1 matricial ..................................................................................................................... 16
1.8.5 Norma-∞ matricial .................................................................................................................... 16
1.8.6 Norma espectral......................................................................................................................... 17
1.8.7 Teoremas relacionados con las normas matriciales (sin demostración) .................................... 17
2. Sistemas de ecuaciones lineales ...............................................................................................19
2.1 Introducción a los sistemas de ecuaciones lineales..................................................................... 19
2.2 Interpretaciones del sistema Ax=b.............................................................................................. 19
2.3 Algunos casos posibles del sistema Ax=b en 2-D ...................................................................... 19
2.4 Sistema de m ecuaciones con n incógnitas.................................................................................. 20
2.5 El método de eliminación de Gauss básico................................................................................. 21
2.5.1 Operaciones con filas y matrices elementales ........................................................................... 21
2.5.2 Factorización LU equivalente ................................................................................................... 22
2.5.3 Programa de Gauss básico n×n ................................................................................................. 23
2.5.4 Programa para resolver un sistema en la forma LUx=b ............................................................ 24
2.5.5 Programa de Gauss vectorizado ................................................................................................ 25
2.6 Método de eliminación de Gauss con pivotamiento ................................................................... 25
2.6.1 Necesidad del pivotamiento ...................................................................................................... 25
2.6.2 Método de Gauss con pivotamiento por columnas.................................................................... 26
2.6.3 Método de Gauss con pivotamiento total .................................................................................. 28
2.7 Resumen del método de eliminación de Gauss........................................................................... 29
2.7.1 Reducción de una matriz a la forma de escalera........................................................................ 29
2.7.2 Conclusiones de la forma de escalera PA=LU .......................................................................... 29
2.7.3 La eliminación de Gauss y los cuatro subespacios de la matriz A ............................................ 30
2.8 Algunas funciones de Matlab en relación con el método de Gauss ............................................ 30
Álgebra lineal numérica con Matlab pág. ii
0. Prefacio
Los métodos numéricos para la resolución de problemas de Álgebra Lineal tienen una enorme im-
portancia práctica en la asignatura de Métodos Matemáticos de Especialidad, asignatura troncal que
se imparte en el primer semestre del cuarto curso en la Escuela Técnica Superior de Ingenieros In-
dustriales de la Universidad Politécnica de Madrid. Los métodos matriciales se aplican en multitud
de áreas de la ingeniería, y además su resolución numérica 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 Matemáticas 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. Tam-
poco es posible dedicar un gran número de horas de clase a presentar de nuevo los contenidos fun-
damentales de dichas asignaturas.
El objetivo de estos apuntes es facilitar a loa alumnos de cuarto el repaso personal de los temas más
importantes de cálculo vectorial y matricial, que vieron al comienzo de la carrera. La idea no es dar
por sabida el Álgebra Lineal numérica en la asignatura de cuarto, sino liberarse de los aspectos más
teóricos y poder dedicar las clases a los aspectos más algorítmicos y a las aplicaciones prácticas.
Por tratarse de unos apuntes de repaso, el orden es diferente del que se utilizó o utilizaría en prime-
ro, conteniendo algunas referencias a temas que se tratarán posteriormente.
Algunas demostraciones se han omitido, sobre todo cuando son complicadas y no tienen gran inte-
rés pedagógico. Muchas otras se han incluido, aunque pueden omitirse en una primera lectura. En
muchos casos, se les ha restado importancia utilizando una letra más pequeña. Se han incluido tam-
bién algunos programas de Matlab, con objeto de ilustrar los algoritmos explicados en teoría. 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 compañeros del Departamento de
Matemática Aplicada a la Ingeniería Industrial, en particular a los profesores de Métodos Matemáti-
cos de Especialidad y de Álgebra II, el apoyo y la ayuda prestadas en estas materias a lo largo de los
últimos cursos.
1. Introducción
1.1 Tipos de matrices
Una matriz A ∈ Cm×n es un conjunto de escalares –reales o complejos– dispuestos en m filas y n
columnas. Si m = n la matriz se dice cuadrada y si m ≠ n la matriz se dice rectangular. Esta dis-
tinción es importante entre otras razones porque ciertas propiedades sólo tienen sentido si la matriz
es cuadrada. Por ejemplo, sólo las matrices cuadradas tienen determinante, sólo ellas pueden ser
invertibles, sólo ellas tienen valores y vectores propios, etc.
Las matrices rectangulares tienen algunas propiedades que se pueden considerar como generaliza-
ción de las anteriores. Así, los conceptos de matriz seudoinversa y de valores singulares, pueden ser
considerados como una generalización de los conceptos de matriz inversa y de valores propios.
Teniendo en cuenta los elementos distintos de cero, las matrices pueden ser diagonales, bidiagona-
les, triangulares superior o inferior, tridiagonales, de Hessenberg, etc.
a ) Simetría: u,v = v, u
b) Lineal en la 1ª variable: α u+β v, w = α u,w + β v, w (1)
c ) Definida-positiva u,u > 0, si u ≠ 0; u,u = 0, sólo si u = 0
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 pro-
piedad c) de (1). Los espacios euclídeos son un caso particular de los espacios herméticos en el que
todos los vectores y escalares son reales.
En lo sucesivo se considerarán sólo los espacios vectoriales euclídeos, salvo que se indique otra
cosa. Prácticamente todo lo que se diga sobre ellos es válido para los espacios hermíticos cambian-
do la notación de transpuesta (T) por la de conjugada y transpuesta (H).
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 dimensión 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)
Los vectores q2, q3, … se obtienen quitando a los vectores a2, a3, … las componentes según los "q"
anteriores (calculadas según (9)) y normalizando (siempre existe bi ≠ 0 , por ser los ai linealmente
independientes):
b 2 ≡ a2 − ( q1T a2 ) q1 q 2 = b2 b2 (13)
…
b n ≡ an − ( q1T an ) q1 − " − ( qTn a n ) q n q n = bn bn (15)
Existe otra forma de organizar los cálculos (método de Gram-Schmidt modificado) consistente en
eliminar la componente según qi a todos los vectores aj (j=i+1,...,n), tan pronto como qi ha sido cal-
culado (se obtienen menores errores numéricos):
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
(16)
...
q i = ai ai a j = a j − ( qTi a j ) q i j = i + 1,..., n
Obsérvese que en la expresión de cada qi (ai) sólo intervienen a1,..., ai (q1,..., qi).
b 3 = a3 − ( q1T a3 ) q1 − ( qT2 a3 ) q 2
a3
q3
q2 b 2 = a2 − ( q1T a2 ) q1
q1
b1 = a1
a2
Teniendo en cuenta que cada vector ai sólo tiene proyección 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:
Álgebra lineal numérica con Matlab pág. 4
L [q1 ] = L [ a1 ]
L [q1 , q 2 ] = L [ a1 , a2 ] (18)
L [q1 , q 2 , q 3 ] = L [ a1 , a2 , a3 ]
Q ∈ R n×n , qTi q j = δ ij (q qT
i i = 1; qTi q j = 0, i ≠ j ) (19)
Estas condiciones se expresan de modo gráfico y matricial tal como se muestra en la Figura 2 y en
la ecuación (20).
q1T
1 0 " 0
qT2
0 1 " 0
• q1 q2 " qn =
#
# # % #
qTn
0 0 " 1
Figura 2. Ortogonalidad entre las columnas de la matriz Q.
QT Q = I (20)
Propiedades de las matrices ortogonales (se pueden demostrar como ejercicio):
− Se verifica que la inversa es igual a la traspuesta QT=Q–1, como se concluye de la ec. (20).
− Todos los valores propios de una matriz ortogonal tienen módulo unidad.
− El determinante de una matriz ortogonal es +1 ó –1.
− Las matrices ortogonales conservan el producto escalar, y por tanto distancias y ángulos.
− Casos particulares de las matrices ortogonales son las matrices de permutación, las de rota-
ción y las de simetría.
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 depen-
diente 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 relación con una matriz rectangular A, de tamaño m×n y rango r, se pueden considerar los cuatro
subespacios vectoriales fundamentales siguientes:
1. Subespacio de columnas Im(A). Es el subespacio de Rm generado por las columnas de A.
Tendrá dimensión r, pues hay r columnas independientes. Se verifica que Ax∈Im(A), ∀x.
2. Subespacio de filas Im(AT). Es el subespacio de Rn generado por las filas de A. También ten-
drá dimensión r, pues sólo 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 combina-
ciones lineales), por lo que Ker(A) e Im(AT) son subespacios ortogonales y complementarios
en Rn. De aquí se concluye que la dimensión de Ker(A) es n–r. Se tiene:
Ker ( A ) = Im ( A T )
⊥
(21)
En la ec. (24) el miembro izquierdo pertenece a Im(A) porque es una combinación de las columnas
de A, luego para λ ≠ 0 también 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)
También se puede decir algo acerca de los n−1 vectores propios asociados con el valor propio nulo.
Son todos los vectores del subespacio nulo o núcleo Ker(A), definido por la ecuación:
( uv ) x = 0
T
⇒ u ( vT x ) = 0 ⇒ vT x = 0 (26)
Una matriz de rango uno P = uv T , con v T u = 1 es una matriz de proyección, pues cumple:
Sin embargo, no es una matriz de proyección ortogonal, pues no es simétrica. Se podría hablar de
proyección oblicua. Si v = u , imponiendo la condición v T u = uT u = 1 se obtiene la expresión ge-
neral de la matriz de proyección ortogonal sobre un subespacio de dimensión 1, que es:
uuT
P= T
= uuT (29)
u u
⎡ b1T ⎤
⎢ T⎥
b l
C = AB = [a1 a 2 " al ] ⎢ 2 ⎥ = a1b1T + a 2 bT2 + ... + al bTl = ∑ ai bTi (31)
⎢# ⎥ i =1
⎢ T⎥
⎣⎢ bl ⎦⎥
En la primera forma, el elemento (i, j) de la matriz producto es el producto escalar de la fila i de A
por la columna j de B.
En la segunda forma, el producto matricial se formula como una suma de l matrices de rango uno,
formadas cada una por el producto de una columna de A por la correspondiente fila de B. Esta se-
gunda forma es muy poco práctica desde el punto de vista del cálculo numérico del producto, pero
puede arrojar luz sobre ciertos aspectos del producto de matrices. Por ejemplo, las columnas o las
filas de la matriz producto se pueden expresar en la forma:
Introducción pág. 7
⎡ c1T ⎤ ⎡ a1T ⎤
⎢ T⎥ ⎢ T⎥
[c1 , c 2 ,..., c n ] = AB = A [ b1 , b2 ,..., bn ] , ⎢ c 2 ⎥ = AB = ⎢ a2 ⎥ B (32)
⎢#⎥ ⎢# ⎥
⎢ T⎥ ⎢ T⎥
⎢⎣ c m ⎥⎦ ⎢⎣a m ⎥⎦
b
b–p
a
p=Pb
Sb
Definiendo el vector a por medio de sus componentes c ≡ cos α y s ≡ sen α , la matriz de proyec-
ción P, correspondiente a la Figura 6, se puede calcular a partir de la expresión (33):
Álgebra lineal numérica con Matlab pág. 8
⎧c ⎫
⎨ ⎬ {c s}
aaT ⎩ s ⎭ ⎡ c 2 cs ⎤
P= T = =⎢ ⎥ (36)
a a ⎧c ⎫ sc s 2 ⎦
{c s} ⎨ ⎬ ⎣
⎩s ⎭
Como era de esperar, la matriz P calculada es simétrica, singular e idempotente.
Sustituyendo el resultado de (36) en (34) se obtiene una expresión para la matriz de simetría en R2
mostrada en la Figura 7:
⎡ c 2 cs ⎤ ⎡1 0⎤ ⎡ c 2 − s 2 2cs ⎤
S = 2P − I = 2 ⎢ 2⎥
−⎢ ⎥=⎢ ⎥ (37)
⎣ sc s ⎦ ⎣0 1⎦ ⎣ 2 sc s2 − c2 ⎦
Más adelante se determinarán expresiones análogas y más generales para P y S en espacios Rn.
b b b
a
a α a
α α Sb
ay
Pb
ax
Figura 6. Proyección 2-D. Figura 7. Simetría 2-D. Figura 8. Rotación 2-D.
Los valores de c y s se pueden determinar con la condición de que el nuevo elemento (j,i) se anule:
aii −a ji
saii + ca ji = 0; c= , s= (41)
aii2 + a 2ji aii2 + a 2ji
Las matrices de Givens se pueden utilizar para triangularizar una matriz A de modo semejante a
como se hace en el método de eliminación 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 opera-
ciones aritméticas.
Como se ha dicho anteriormente y es fácil de comprobar, las matrices de Givens son ortogonales y
su producto, es decir la aplicación sucesiva de varias rotaciones de este tipo, también lo es. Por tan-
to, la factorización de A con matrices de Givens será del tipo A=QR (ver apartado 4.2). La factori-
zación de Givens es más costosa en operaciones aritméticas que la descomposición LU.
La 2ª parte de la expresión (42) indica que el vector w*∈F es una aproximación óptima en F del
vector b∈E. Además, dicha aproximación óptima es única. La Figura 9 ilustra este teorema.
Demostración: Si w ∗ es la proyección ortogonal de b sobre F, se verificará que b − w∗ ∈ F ⊥ . Si w es un punto cual-
quiera de F, se podrá escribir:
b − w = ( b − w∗ ) + ( w∗ − w ) =
2 2
(43)
∗ 2 ∗ 2 ∗ ∗ ∗ 2 ∗ 2 ∗ 2
= b−w + w − w + 2 b − w ,w − w = b − w + w −w ≥ b−w
lo que demuestra que w ∗ es la aproximación óptima, que además es única porque para alcanzar la igualdad es necesario
que se cumpla w − w∗ = 0 . Recíprocamente, la condición de aproximación óptima en (43) implica que w sea la pro-
yección ortogonal de b sobre F.
Álgebra lineal numérica con Matlab pág. 10
b
r∈F⊥
v w
w*=Pb F
Sb
Figura 9. Teorema de la proyección ortogonal.
⇒ x = ( AT A ) AT v
−1
AT r = 0 ⇒ A T ( v − Ax ) = 0 ⇒ A T Ax = A T v (45)
⇒ A ( A T A ) A T v = Pv P = A ( AT A ) AT
−1 −1
Ax = Pv ⇒ (46)
Como son matrices ortogonales, conservan ángulos y distancias, y por eso son muy estables en su
aplicación numérica.
se demostrará que el producto Hx tiene nulos todos los elementos excepto el 1º. Como H es ortogo-
nal conserva las magnitudes, luego se deberá cumplir:
Hx = x e1 (53)
En efecto, con H definida en la ecuación (50) y v definido por la ecuación (52), el producto Hx es:
Álgebra lineal numérica con Matlab pág. 12
2 ( x − x e1 ) x
T
⎛ vvT ⎞ vvT x
Hx = ⎜ I − 2 T ⎟ x = x − 2 T = x − ( x − x e1 ) =
( 1) ( 1)
T T
⎝ v v ⎠ v v x − x e x − x e
(54)
2x x − 2 x x1
T
= x − ( x − x e1 ) 2
= x − ( x − x e1 ) = x e1
x x − 2 x x1 + x
T
En el cálculo del vector v según (52) deben evitarse sustracciones o restas numéricas que puedan
disminuir la precisión. Así, cuando x1>0, el cálculo del elemento v1 se puede hacer mediante una
expresión alternativa en la que todos los términos son positivos:
x12 − x
2
− ( x22 + ... + xn2 )
v1 = x1 − x = = (55)
x1 + x x1 + x
Las matrices de Householder se pueden utilizar para hacer ceros debajo de la diagonal en una matriz
A, en forma análoga al método de Gauss:
⎡σ 1 ∗ ∗ " ∗⎤
⎢0 ∗ ∗ ∗⎥
vv T
⎫ ⎢
"
⎥
U1 = H1 = I − 2 ; v = x − x e1 ⎪
T
v v ⎬ U1 A = ⎢ 0 ∗ ∗ " ∗⎥ (56)
σ1 = x ⎪ ⎢ ⎥
⎭ ⎢# # # % #⎥
⎢⎣ 0 ∗ ∗ " ∗⎥⎦
La segunda trasformación es similar, pero con una matriz H de tamaño n−1 completada con la pri-
mera fila y columna de la matriz identidad:
⎡1 0 0 " 0⎤ ⎡σ 1 ∗ ∗ " ∗⎤
⎢0 ⎥ ⎢0 σ ∗ " ∗⎥
⎢ ⎥ ⎢ 2 ⎥
U 2 = ⎢0 ⎥ , U 2U1 A = ⎢ 0 0 ∗ " ∗⎥ (57)
⎢ H2 ⎥ ⎢ ⎥
⎢# ⎥ ⎢# # # % #⎥
⎢⎣0 ⎥⎦ ⎢⎣ 0 0 ∗ " ∗⎥⎦
La Figura 10 y la Figura 11 muestran gráficamente las transformaciones correspondientes.
x A A
x
Cada transformación conserva los ceros de las anteriores. Esta transformación es más estable que la
de Gauss, aunque más costosa en número de operaciones aritméticas.
A continuación de incluye una función 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 almace-
nar en lugar de los ceros introducidos (el primer elemento vale siempre 1 y no necesita ser almace-
nado). Se utilizan las expresiones siguientes.
Introducción pág. 13
Si x1 > 0 ⎫
v = x − x e1 ⎫⎪ ⎪ 2
⎬ − ( x + ... + x
2 2
) ⎬ H = I − β vv ;
T
β= ; v = v / v1 (58)
e1T ≡ {1 0 " 0}⎭⎪
2 n
v1 = ⎪ vT v
x1 + x ⎭
% cálculo del vector de Householder
function [v,beta] = householder(x)
n=length(x);
% módulo de x (sin primera componente)
s=x(2:n)'*x(2:n);
v=[1,x(2:n)']';
if s==0
% los elementos x(2), ... x(n) son cero
beta=0
else
% módulo de x
mx=sqrt(x(1)^2+s);
if x(1)<=0
v(1)=x(1)-mx;
else
v(1)=-s/(x(1)+mx);
end
beta=2*v(1)^2/(s+v(1)^2);
v=v/v(1);
end
∑x
2
x2= x, x = j (60)
j =1
De un modo más general (hay otros tipos de normas posibles), la norma de un vector x debe sa-
tisfacer las tres propiedades siguientes:
Álgebra lineal numérica con Matlab pág. 14
1. x ≥ 0, y x = 0 si y sólo si x =0 (61)
La norma euclídea no es la única posibilidad. Puede considerarse que es un caso particular de una
norma más general, la llamada norma-p, que se define en la forma:
1
⎛ n p
⎞ p
x = ⎜∑ xj ⎟⎟ , p ≥1 (64)
p ⎜ j =1
⎝ ⎠
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
1 x 1 ≤1 1 x 2
≤1 1 x ≤1
∞
Es inmediato ver que las normas-p definidas cumplen las condiciones 1 y 2 (ecs. (62) y (63)) de la
definición de norma. También se demuestra fácilmente que se cumple la condición 3; por ejemplo,
para p=1:
n n n
x + y 1 = ∑ xj + yj ≤ ∑ xj + ∑ yj = x 1 + y 1
(68)
j =1 j =1 j =1
Este teorema establece una equivalencia de normas: por ejemplo, si con una norma una se-
cuencia de vectores tiende a cero, también tenderá a cero con cualquier otra norma.
4. AB ≤ A ⋅ B (73)
Es posible definir normas de matrices directamente. Por ejemplo, en Álgebra II se vio que las matri-
ces A∈Rm×n forman un espacio vectorial euclídeo con un producto escalar definido como:
m n
A, B = traza ( A T B ) = ∑∑ aij bij (74)
i =1 j =1
Este producto escalar induce una norma, la norma de Frobenius, que responde a la expresión:
1
⎛ m n ⎞ 2
A F
= traza ( A T A ) = ⎜ ∑∑ aij2 ⎟ (75)
⎝ i =1 j =1 ⎠
Sin embargo, las normas matriciales más 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:
Ax
A ≡ max
x ≠0 x
, o bien: A ≡ max Au = Ay
u =1
(y = 1) (76)
1. Si x ≠ 0, A ≠ 0, y A = 0 si y sólo si A =0 (78)
α Ax α Ax
2. α A = max = max = α A , ∀α ∈ K ( R o C) (79)
x ≠0 x x ≠0 x
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 continuación las normas matriciales inducidas por las normas vectoriales x 1 ,
x 2
y x ∞ , que se denotarán con la notación correspondiente.
La norma-1 es el máximo de la suma de los valores absolutos de los elementos de cada columna.
Demostración: Supóngase que la igualdad en la definición de la norma se alcanza para un vector y tal que:
A 1 = Ay 1 , siendo y 1 = 1. (83)
Desarrollando la expresión de la norma-1 del vector Ay:
A 1 = Ay 1 = ∑ j =1 ∑ k =1 a jk yk ≤ ∑ j =1 ∑ k =1 a jk yk = ∑ k =1 yk ∑
n n n n n n
a jk ≤
j =1 (84)
( m
)
≤ ∑ k =1 yk max ∑ j =1 a jm = y 1 max ∑ j =1 a jm = max ∑ j =1 a jm
n n
m
n
m
n
El desarrollo anterior demuestra que el máximo de las sumas de los valores absolutos de cada columna es un límite
superior de la norma-1, pero para que ésta sea verdaderamente la expresión de la norma-1 este límite debe poder ser
alcanzado, al menos para un cierto vector x.
En efecto, supóngase que la columna que da el máximo es la columna K. Tomando como vector x el vector eK de la
base natural ( e K = 1) :
1
Ae K 1
= ∑ j =1 ∑ k =1 a jkδ kK = ∑ j =1 a jK = A
n n n
1
(85)
La norma-∞ es el máximo de la suma de los valores absolutos de los elementos de cada fila.
Demostración: Supóngase que la igualdad en la definición de la norma se alcanza para un vector y tal que:
A ∞
= Ay ∞ , siendo y ∞
= 1. (87)
Desarrollando la expresión de la norma-∞ del vector Ay:
∑ a jk yk ≤ max ∑ k =1 a jk yk ≤
n n
A = Ay = max
∞ ∞ j k =1 j (88)
≤ max yk ⋅ max ∑ k =1 a jk = y max ∑ k =1 a jk = max ∑ k =1 a jk
n n n
k j ∞ j j
Introducción pág. 17
Al igual que en el caso anterior, se ha obtenido un límite superior para la norma-∞. Para que la expresión obtenida co-
rresponda a dicha norma, hay que demostrar que dicho límite se puede realmente alcanzar para un cierto vector x.
En efecto, supóngase que la fila que da la máxima 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
∑
n
k =1
a jk xk = ∑ k =1 a Jk xk = ∑ k =1 a Jk2 a Jk = ∑ k =1 a Jk ,
n n n
(x ∞
= 1) (89)
A 2 = ρ (AH A) (90)
donde ρ ( M ) es el radio espectral, esto es, el valor absoluto del máximo valor propio en valor ab-
soluto. La expresión (90) indica que la norma-2 es la raíz cuadrada positiva del máximo valor pro-
pio de la matriz AHA, que es una matriz hermítica y –al menos– semidefinida positiva, cuyos valo-
res propios son por tanto reales y no negativos.
Demostración: La matriz AHA tendrá una base ortonormal de vectores propios u1, u2, ..., un:
A H Au j = λ j u j ⇒ λ j = u Hj A H Au j (91)
El vector y∈Rn que produce la igualdad en la definición de la norma inducida (76) se puede expresar como combina-
ción lineal de los n vectores propios uj:
De nuevo éste es solamente un límite superior, pero dicho límite se puede alcanzar para x=un:
= u nH A H Au n = u nH u n λn = λn = ρ ( A H A ) (94)
2
Au n 2
pues A = max Ax ≥ Au n = λn u n = λn u n = λn = ρ ( A )
x =1
Álgebra lineal numérica con Matlab pág. 18
− Teorema 4: Para cualquier matriz cuadrada A∈Cn×n y cualquier valor ε arbitrariamente pe-
queño, existe alguna norma natural A tal que:
El radio espectral de una matriz cuadrada no es una norma (salvo que la matriz A sea nor-
mal, en cuyo caso A 2 = ρ ( A ) ), pero puede ser utilizado como tal dada su "cercanía".
b
A(:,1)x1
A(:,3)x3
A(:,1) A(:,3)
A(:,2)
A(:,2)x2
Figura 13. Intersección de hiperplanos. Figura 14. Combinación lineal de vectores columna.
La expresión (98) indica que para que el sistema de ecuaciones Ax=b tenga solución, es necesario y
suficiente que el vector b pertenezca a Im(A), es decir, al subespacio generado por las columnas de
A. La solución será única si hay una única forma de expresar b como combinación lineal de las co-
lumnas de A.
Como se ha dicho anteriormente, para que el sistema tenga solución, el vector b debe ser combina-
ción lineal de las columnas de A (en Matlab, A(:,i) representa la columna i de A):
Ax = b ⇒ A (:,1) x1 + A (:, 2) x2 + ... + A (:, n ) xn = b (100)
El método de eliminación de Gauss está basado en el hecho de que una ecuación cualquiera puede
sustituirse por una combinación lineal de esa ecuación y de las demás, sin que varíe la solución del
sistema. Así pues, el método de eliminación de Gauss:
− Combina ecuaciones (filas de la matriz A y elementos del vector b) de forma que el sistema
adopte una forma más sencilla: forma triangular superior o forma de escalera.
− Permite entender mejor las características del sistema a resolver: si tiene solución o no, si la
solución es única, etc.
− Es equivalente a una factorización PA=LU, donde P es una matriz de permutación, L es
una matriz triangular inferior m×m 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 m×n que resulta de trans-
formar A a la forma de escalera.
Sistemas de ecuaciones lineales pág. 21
donde:
a21 a
m21 = ′ = a21 − m21a11 = a21 − 21 a11 = 0; a2′ j = a2 j − m21a1 j , j = 2,..., 4
; a21 (102)
a11 a11
Seguidamente se obtienen ceros en los restantes elementos de la 1ª columna pre-multiplicando por
las matrices P31 y P41. Se llega a la situación siguiente:
⎡ 1 0 0 0⎤ ⎡ 1 0 0 0⎤
⎢ 0 ⎧ a
⎢ 0 1 0 0⎥ 1 0 0⎥ ⎪ mi1 = i1
P31 = ⎢ ⎥, P41 = ⎢ ⎥, ⎨ a11
⎢ − m31 0 1 0⎥ ⎢ 0 0 1 0⎥ ⎪a′ = a − m a
⎢ ⎥ ⎢ ⎥ ⎩ ij ij i1 1 j
⎣ 0 0 0 1⎦ ⎣ −m41 0 0 1 ⎦
(103)
⎡ a11 a12 a13 a14 ⎤ ⎡ 1 0 0 0⎤
⎢ 0 a′ ′ a24
a23 ′ ⎥ ⎢ −m 1 0 0⎥
P41P31P21A = ⎢ 22 ⎥ , P1 ≡ P41P31P21 = ⎢ 21 ⎥
⎢ 0 a32′ ′ a34
a33 ′ ⎥ ⎢ − m31 0 1 0⎥
⎢ ′ ′ a44 ′ ⎥⎦ ⎢ ⎥
⎣ 0 a42 a43 ⎣ −m41 0 0 1 ⎦
Obsérvese la forma peculiar en que se multiplican las matrices elementales Pi1. Si la matriz A es
simétrica, la submatriz de P1A en la que hay que seguir haciendo ceros también lo es. De forma
análoga se hacen ceros, debajo de la diagonal, en las columnas 2 y 3, pre-multiplicando por unas
matrices P2 y P3:
⎡ a11 a12 a13 a14 ⎤ ⎡1 0 0 0⎤
⎢ 0 a′ ′
a23 ′ ⎥
a24 ⎢0 1 0 0⎥
P42 P32P1A = ⎢ 22 ⎥, P2 ≡ P42P32 = ⎢ ⎥ (104)
⎢0 0 ′′
a33 ′′ ⎥
a34 ⎢0 −m32 1 0⎥
⎢ ′′ ′′ ⎥⎦ ⎢ ⎥
⎣0 0 a43 a44 ⎣0 − m42 0 1⎦
Para llegar a este resultado se ha supuesto que los elementos que aparecen sobre la diagonal −los
′ y a33
pivots: a11 , a22 ′′ − son distintos de cero, pues aparecen en los denominadores de los factores mji.
Finalmente se llega a un sistema de ecuaciones lineales equivalente al original, que tiene la forma:
Álgebra lineal numérica con Matlab pág. 22
Este sistema es mucho más fácil de resolver que el original, por los ceros introducidos en la matriz.
El sistema podría resolverse calculando x4 de la cuarta ecuación, x3 de la tercera, x2 de la segunda, y
finalmente x1 de la primera ecuación.
Sin embargo, la inversa de las matrices Pj tiene una forma muy sencilla, ya que se obtiene simple-
mente cambiando el signo de los factores mij, como se comprueba a continuación para P2:
⎡1 0 0 0⎤ ⎡1 0 0 0 ⎤ ⎡1 0 0 0⎤
⎢0 1 0 0⎥ ⎢ 0 1 0 0⎥ ⎢0 1 0 0⎥
P2 P2−1 = ⎢ ⎥⎢ ⎥=⎢ ⎥ (108)
⎢0 − m32 1 0⎥ ⎢ 0 m32 1 0⎥ ⎢0 0 1 0⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣0 −m42 0 1 ⎦ ⎣ 0 m42 0 1⎦ ⎣0 0 0 1⎦
Ahora se comprobará que el producto de las inversas de P3P2 −en orden inverso− se realiza me-
diante simple "superposición":
⎡1 0 0 0⎤ ⎡1 0 0 0⎤ ⎡1 0 0 0⎤
⎢0 1 0 0⎥ ⎢0 1 0 0⎥ ⎢0 1 0 0⎥
P2 P3 = ⎢
−1 −1 ⎥⎢ ⎥=⎢ ⎥ (109)
⎢ 0 m32 1 0⎥ ⎢0 0 1 0⎥ ⎢0 m32 1 0⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣ 0 m42 0 1⎦ ⎣0 0 m43 1 ⎦ ⎣0 m42 m43 1⎦
Pre-multiplicando la ecuación (105) por las inversas de las matrices Pi y teniendo en cuenta la for-
ma (109) que adopta dicho producto de inversas:
⎡ a11 a12 a13 a14 ⎤ ⎡ 1 0 0 0⎤ ⎡ a11 a12 a13 a14 ⎤
⎢ 0 a′ ′
a23 ′ ⎥ ⎢ m21 1
a24 0 0⎥ ⎢ 0 a22′ ′
a23 ′ ⎥
a24
A = P1−1P2−1P3−1 ⎢ 22 ⎥=⎢ ⎥⎢ ⎥ (110)
⎢0 0 ′′
a33 ′′ ⎥ ⎢ m31 m32
a34 1 0⎥ ⎢ 0 0 ′′
a33 ′′ ⎥
a34
⎢ ′′′ ⎥⎦ ⎢⎣ m41 m42 ⎥⎢ ′′′ ⎥⎦
⎣0 0 0 a44 m43 1⎦ ⎣ 0 0 0 a44
k j k i
k k k * * *k
= =
i 0 i
0
En una segunda fase se calculan las incógnitas mediante la vuelta atrás, con el siguiente proceso:
% se calcula x(n) de la última ecuación
x(n)=b(n)/A(n,n);
% se calcula x(k) de la ecuación 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 básico puede modificarse si la matriz A es simétrica, haciendo que el número de ope-
raciones se reduzca aproximadamente a la mitad (en negrita las dos sentencias modificadas):
% triangularización de la matriz A (simétrica)
% 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 simetría
% a la fila i se resta la fila k multiplicada por m
% sólo 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 término independiente
b(i)=b(i)-m*b(k);
end
end
Álgebra lineal numérica con Matlab pág. 24
k k i
0 k * * *k
k 11 * *k
= =
0
La vectorización puede ser doble realizando las operaciones del método de Gauss en otro orden
diferente, mostrado en la Figura 20. Obsérvese que en vez de hacer ceros por columnas, se hacen
cero los elementos de la fila i que están 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 mul-
tiplicar 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 método sensiblemente más
rápido que los anteriores (con versiones antiguas de Matlab):
i −1
A (i, i : n ) = A (i, i : n ) + ∑ A ( j, i : n ) ∗ v ( j ) = A (i, i : n ) + v(1: i − 1) ∗ A (1: i − 1, i : n )
j =1 (113)
A (i,1: i − 1) = v (1: i − 1)
i Elementos ya
transformados
Elementos
que ya son 0 Fila a trans-
formar
i
Elementos a
hacer 0
Elementos con el
valor inicial
La matriz P puede construirse a partir de un vector p que contiene el orden de los pivots [1,3,2,4].
También puede suceder que algunas columnas carezcan de pívot válido. Por ejemplo, si al hacer
ceros en la columna 2 los elementos correspondientes de la columna 3 se han hecho también cero:
⎡ a11 a12 a13 a14 a15 ⎤ ⎡1 0 0 0⎤
⎢ 0 a′ ′ a24
′ ′ ⎥ ⎢0 0⎥
⎢ ¨ 22 a23 a25
⎥, ⎢
1 0
⎥ ≡ P4 , ′′
a44
P2 P1A = P44 = m43 = (116)
⎢0 0 ′′
0 a34 ′′ ⎥
a35 ⎢0 0 1 0⎥ ′′
a34
⎢ ′′ ′′ ⎦⎥ ⎢ ⎥
⎣0 0 0 a44 a45 ⎣0 0 − m43 1⎦
2. La eliminación se detiene porque debajo del último pívot encontrado todas las filas restantes
se han hecho cero (una fila dependiente de las demás, y dos variables libres: x3 y x5).
⎡ a11 a12 a13 a14 a15 ⎤
⎢ 0 a′ ′
a23 ′
a24 ′ ⎥
a25
P4P2P1A = ⎢ ¨ 22 ⎥ (118)
⎢0 0 0 ′′
a34 ′′ ⎥
a35
⎢ ⎥
⎣0 0 0 0 0⎦
3. De modo análogo se calculan los pivots en las restantes columnas y se hacen cero los ele-
mentos de cada columna, pero sólo en las filas en las que no han aparecido pivots.
4. En el sistema final es fácil hallar las incógnitas xn, ..., x1, partiendo de la fila en la que ha
aparecido el último pívot, luego en la del penúltimo pívot, y así hasta la del primero.
5. En la práctica, no es necesario intercambiar filas: basta conocer las filas dónde han ido apa-
reciendo los sucesivos pivots, almacenando en un vector la información 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 ⊗ ∗⎥⎦ ⎣⎢ 0 0 0 ⊗ ∗ ⎥⎦
Existe solución si las (m–r) filas que se han hecho cero en el primer miembro Ux se hacen también
cero en el segundo miembro L–1Pb, es decir cuando los (m–r) últimos elementos de ( P4 P3 P2 P1 ) Pb
se anulan al igual que las correspondientes filas de U. Además, si el sistema tiene solución y hay
variables libres, el sistema tiene infinitas soluciones.
Álgebra lineal numérica con Matlab pág. 30
⎡⊗ ∗ ∗ ∗ ∗ ∗⎤ ⎧∗⎫
⎢0 ⊗ ∗ ∗ ∗ ⎪∗⎪
∗⎥
Ax = b ⇒ PL−1Ax = Ux = ⎢ ⎥ x = PL−1b = ⎪⎨ ⎪⎬ (122)
⎢0 0 0 ⊗ ∗ ∗⎥ ⎪∗⎪
⎢ ⎥ ⎪⎩ ? ⎪⎭
⎣0 0 0 0 0 0⎦
− Si A es una matriz cuadrada no singular, A\b es la solución de Ax=b calculada por elimina-
ción de Gauss con pivotamiento por columnas.
− Si A y b son tales que el sistema tiene infinitas soluciones o ninguna, A\b da la solución de
variables libres nulas o la de mínimos cuadrados, respectivamente.
− Además, el operador \ es "inteligente", en el sentido de que es capaz de descubrir y aprove-
char si A es simétrica y definida-positiva, o si tiene forma triangular.
2. Función [L,U,P]=lu(A)
− Calcula con pivotamiento por columnas la factorización LU de la matriz PA, donde P es una
matriz de permutación que representa el orden de filas en que han aparecido los pivots.
3. Función [R,c]=rref(A,tol)
− Reduce A a forma de escalera con pivots unidad y ceros también encima de cada pívot. El
vector c es un vector de enteros cuyo número de elementos indica el rango de la matriz y
cuyos elementos indican las columnas de los pivots (variables básicas o dependientes).
1 1
≤ (I − A) ≤
−1
(125)
1 + A a) b) 1 − A
Demostración de la desigualdad a)
I = ( I − A )( I − A )
−1
(126)
1
1 ≤ I − A ⋅ (I − A) ≤ (1 + A ) ⋅ ( I − A ) ≤ (I − A)
−1 −1 −1
⇒
1+ A
Demostración de la desigualdad b)
(I − A) (I − A ) = I (I − A) − (I − A ) A = I ⇒ (I − A ) = I + (I − A ) A
−1 −1 −1 −1 −1
⇒
(127)
1
(I − A) ≤ 1 + A ⋅ (I − A) (I − A)
−1 −1 −1
⇒ ≤
1− A
Álgebra lineal numérica con Matlab pág. 32
A continuación se estudiará el error relativo en la solución debido a una perturbación o error en la matriz del sistema:
Ax = b ⎫ (130)
⇒ Aδ x + δ A ( x + δ x ) =0 ⇒ δ x = − A −1δ A ( x + δ x )
( A + δ A )( x + δ x ) = b ⎬⎭
Tomando normas y operando se llega al siguiente resultado:
δx δx δA (131)
δ x ≤ A −1 δ A x + δ x ⇒ ≤ A −1 δ A ⇒ ≤ A −1 A
x +δx x +δx A
Tanto en la expresión (129) como en la (131) el error relativo en los datos se multiplica por un mismo factor:
Este factor κ(Α) se llama número de condición o condición numérica y es un número real mayor o
igual a uno que controla la transmisión de errores en los sistemas de ecuaciones lineales. Tal y co-
mo se ha definido, se exige que la matriz A sea no singular. Otra observación importante es que las
cotas para el error relativo (129) y (131) son óptimas, en el sentido de que la igualdad es alcanzable.
1 1 (136)
(I + A δ A)
−1 −1
≤ ≤
1 − A −1δ A 1 − A −1 δ A
A −1 ( A + δ A )( x + δ x ) = A −1 ( b + δ b ) ⇒ (I + A −1
δ A ) ( x + δ x ) = x + A −1δ b (137)
Despejando δx de la ecuación (137) y tomando normas:
Sistemas de ecuaciones lineales pág. 33
δx 1 ⎛ δb ⎞ b≤A x
δx A −1 ⎛ δb ⎞ (139)
≤ A −1 ⎜ + δA ⎟ ⇒ ≤ ⎜ A + δA ⎟
x 1− A −1
δA ⎝ x ⎠ x 1− A −1
δA ⎝ b ⎠
δx A −1 ⎛ δb ⎞ A −1 A ⎛ δb δA ⎞ (140)
≤ ⎜ A + δA ⎟ = ⎜ + ⎟
x 1− A −1
δA ⎝ b ⎠ 1 − A −1 A δ A ⎝ b A ⎠
A
Finalmente:
δx κ (A) ⎛ δb δA ⎞
≤ ⎜ + ⎟ (141)
x δA ⎝ b A ⎠
1 − κ (A)
A
Al igual que en las expresiones (129) y (131), es de nuevo la condición numérica el factor que con-
trola la amplificación en el resultado (siempre es κ(Α)≥1) de los errores relativos en los datos.
Hay que señalar que la condición numérica no depende de la magnitud de los elementos de una
matriz: Si una matriz se multiplica por un escalar α la condición numérica permanece invariable.
El resultado (142) es el cociente entre la magnitud de la imagen del vector unitario que más crece
con la matriz A, dividido por la magnitud de la imagen del vector unitario que menos crece. Nótese
que esta definición se aplica también 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 situación, como extensión a la definición de número de
x =1
A 2 = ρ (AH A) (143)
Álgebra lineal numérica con Matlab pág. 34
La matriz AHA es hermítica y todos sus valores propios son reales y no negativos, pues dicha ma-
triz es –al menos– semidefinida positiva. Además, 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 ⇒ DD = U H AUU H A H U = U H AA H U (144)
U H ( AA H ) U = DD = diag λ1 ,..., λn ( 2 2
) ⇒ A 2 = ρ (AH A) = λn = λn = ρ ( A )
2
(145)
Si además la matriz A es regular, los valores propios de A–1 son los inversos de los valores propios
de A. Por tanto, se verificará que:
1 1
A −1 = ρ ( A − H A −1 ) = = = ρ ( A −1 ) (146)
2 λ1
2
λ1
De acuerdo con esto y con (132), el número de condición de una matriz normal y regular será:
λn
κ ( 2 ) ( A ) = A −1 A 2 = ρ ( A −1 ) ρ ( A ) = (147)
2
λ1
Las matrices ortogonales y unitarias son las únicas que tienen todos sus valores propios de módulo
unidad, y por tanto son las únicas que tienen número de condición igual a uno. Estas matrices son
óptimas para resolver sistemas de ecuaciones sin errores significativos.
(A + δ A)
−1
− A −1 (148)
Se parte de la siguiente identidad matricial (se puede comprobar multiplicando por B):
B −1 = A −1 − B −1 ( B − A ) A − 1 (149)
Sutituyendo B por A+δA en la expresión (149):
(A + δ A)
−1
= A −1 − ( A + δ A )
−1
( δ A ) A −1 (150)
Pasando A−1 al primer miembro y tomando normas:
(A + δ A)
−1
− A −1 ≤ ( A + δ A )
−1
δ A A −1 (151)
El primer factor del segundo miembro se puede transformar en un producto de inversas, y luego se le puede aplicar la
desigualdad (136):
A −1
(
= A ( I + A −1δ A ) ) = ( I + A −1δ A ) A −1 ≤ A −1 (I + A δ A) (152)
−1 −1 −1
(A + δ A)
−1 −1
≤
1 − A −1δ A
Se ve que también en este caso el error relativo en el resultado depende del error en los datos a través del número de
condición.
Sistemas de ecuaciones lineales pág. 35
donde n es el número de ecuaciones, ε es la precisión de la máquina (10e–16 para los PCs, trabajan-
do en doble precisión) y aij( k ) son los elementos que van apareciendo en A a lo largo del proceso de
factorización. El pivotamiento por columnas basta para evitar que estos elementos crezcan incontro-
ladamente.
Téngase 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 número de condición sea
muy elevado. Si existen dudas al respecto, siempre es conveniente estimar los errores a través de un
número de condición aproximado. Matlab dispone de las funciones cond(A,p) y condest(A). La
primera de ellas calcula de modo exacto la condición numérica de A utilizando la norma-p (si se
omite p, se supone p=2). Este cálculo puede ser muy laborioso si A es de gran tamaño. La función
condest(A) calcula de modo económico un valor aproximado de la condición numérica.
n=r
m
=
x 0 = ( AT A ) AT b
−1
(158)
− La matriz ATA tiene el mismo núcleo o subespacio nulo que A (también aunque r<n):
o Si x∈Ker(A) ⇒ Ax=0 ⇒ ATAx=0 ⇒ x∈Ker(ATA)
o Si y∈Ker(ATA) ⇒ ATAy=0 ⇒ yT ATAy=(Ay)T(Ay)=0 ⇒ Ay=0 ⇒ y∈Ker(A)
En resumen, la solución de mínimo error cuadrático del sistema Ax=b, donde el rango de A coinci-
de 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 =
A A
x
Q = b
P = A ( AT A ) AT , P = Q ( QT Q ) QT = QQT
−1 −1
para A = Q ⇒ (166)
Así como QT Q = I porque QT es una inversa por la izquierda de Q, la ecuación (166) proporciona
un significado para la matriz QQT, que resulta ser una matriz de proyección ortogonal sobre Im(Q).
La Figura 26 y la Figura 27 ilustran los tamaños de ambas matrices y los significados citados:
= =
QT Q = I QQT = P
m=r =
n
Para hallar la solución de mínima norma se puede tener en cuenta que la ecuación (168) representa
todas las soluciones del sistema (167), que dependen de los elementos del vector u, que pueden ser
considerados como parámetros independientes. Cualquier solución es la suma de una componente
en el núcleo de A y otra componente en su complemento ortogonal, que es Im(AT). Esta suma es
directa, lo que implica que los sumandos están unívocamente determinados. La solución de mínima
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 solución de mínima norma x∗ expresada como combinación
lineal de las filas de A:
x∗ = AT v, v ∈ Rr (169)
Sustituyendo este resultado en el sistema de ecuaciones a resolver:
Ax∗ = AAT v = b ( AA T
invertible ) (170)
v = ( AAT ) b x∗ = AT ( AAT ) b
−1 −1
⇒ (171)
que es la expresión de la solución de mínima norma. Para que la matriz AAT sea invertible es nece-
sario que sea de máximo rango (r=m), es decir, que las filas de A sean linealmente independientes.
Figura 29. Sistema incompatible de dos ecuaciones con dos incógnitas, sin solución de mínimo error única.
m r n
C r
m A = B
Como el rango de la matriz B es máximo (igual al número de columnas), se puede aplicar la expre-
sión (171) de la solución de mínimo error cuadrático, reemplazando A por B:
y = ( BT B ) BT b
−1
(177)
Por otra parte, una vez conocido y, la ecuación (174) constituye un sistema indeterminado con una
matriz C de rango máximo. La solución de mínima norma viene dada por la expresión (171):
Álgebra lineal numérica con Matlab pág. 40
x + = CT ( CCT ) y
−1
(178)
Combinando los resultados de mínimo error (177) y mínima norma (178) se obtiene:
x + = CT ( CCT ) y = CT ( CCT ) (B B)
−1 −1 −1
T
BT b = A + b (179)
A + ≡ CT ( CCT ) (B B)
−1 −1
x + = A + b, T
BT (180)
La matriz A+ se conoce con el nombre de matriz seudoinversa, por analogía con la solución de un
sistema compatible y determinado x=A–1b. Esta matriz juega un papel muy importante en la teoría
de sistemas de ecuaciones lineales.
Características de la solución dada por la ecuación (180):
− Si la matriz A es cuadrada e invertible, también lo serán los factores B y C. En este caso la
seudoinversa coincide con la inversa:
x + = A + b = CT ( CCT ) (B B)
−1 −1
T
BT b = CT C−T C−1B −1B −T BT b = C−1B −1b = A −1b (181)
(B B) = C ( A T A ) CT
−1 −1
A T A = CT BT BC ⇒ BT B = C−T A T AC−1 ⇒ T
(182)
que es la solución dada por las ecuaciones normales para mínimos cuadrados.
− Análogamente se puede demostrar que si el sistema es indeterminado y la matriz A de ran-
go máximo, la solución (180) se reduce a la expresión (171) hallada anteriormente para la
solución de mínima norma.
La matriz pseudoinversa A+ definida en la expresión (180) se puede expresar también en la forma:
La expresión x+=A+b representa pues, en cada caso, la solución más conveniente para el sistema
general de ecuaciones lineales Ax=b. La matriz inversa A–1 sólo existe cuando A es cuadrada y no
singular. Sin embargo, la matriz seudoinversa A+ existe siempre y tiene algunas propiedades seme-
jantes a las de la matriz inversa A–1. Algunas de estas propiedades son (sin demostración):
− La matriz A+ es única, a pesar de que la factorización A=BC no está unívocamente defini-
da.
− 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)
Sistemas de ecuaciones lineales pág. 41
( AB )
+
≠ B+ A+
AA + ≠ I, A + A ≠ I, AA + ≠ A + A (187)
(A ) ≠ (A )
p + + p
Ax + = AA + b = Pb ⇒ P = AA + (188)
+ T T
− La matriz Q=A A es la matriz de proyección ortogonal sobre Im(A ). Utilizando A en lugar de A en la pro-
piedad anterior se tendrá:
Q = AT ( AT )
+
es la matriz de proyección sobre Im (A T ); Q = QT = A + A (189)
− Las matrices A y P tienen el mismo espacio de columnas, Im(A)=Im(P):
AA + A = BC ⋅ CT ( CCT ) (B B)
−1 −1
T
BT ⋅ BC = BC = A (192)
2. A+AA+=A+
A + AA + = CT ( CCT ) (B B) BT ⋅ BC ⋅ CT ( CCT ) (B B)
−1 −1 −1 −1
T T
BT = A + (193)
3. (AA+)T=AA+ (simetría del producto)
( AA ) = ( A ) A T = B ( BT B ) ( CC ) C ⋅ CT B T = B ( B T B ) B T
−T −T −T
+ T + T T (194)
AA + = BC ⋅ CT ( CCT ) (B B) BT = B ( BT B ) BT
−1 −1 −1
T (195)
Álgebra lineal numérica con Matlab pág. 42
b = bc + bn (b c ∈ Im ( A ) , b n ∈ Ker ( A ) )
T
(197)
Sustituyendo estos valores en el sistema Ax=b y teniendo en cuenta que Axn=0 y que bn nunca pue-
de obtenerse como combinación lineal de las columnas de A:
Ax = Ax f + Ax n = Ax f = b c (198)
La expresión (198) indica que tanto x como xf se transforman a Im(A). Por otra parte, cada vector
bc∈Im(A) proviene de un y sólo un vector xf∈Im(AT), como se puede demostrar por reducción al
absurdo. Suponiendo dos vectores distintos en Im(AT) que se transforman en bc:
Ax f = b c ⎫
⎬ A ( x f − x′f ) = 0 ⇒ (x − x′f ) ∈ Ker ( A ) ¡Absurdo! (199)
Ax′f = b c ⎭ f
Así pues, cada matriz A transforma el subespacio de filas Im(AT) en el subespacio de columnas
Im(A) y esta parte de la transformación siempre es invertible. Al mismo tiempo, hay una parte del
vector b, el vector bn, que es inalcanzable por la transformación Ax=b.
¿Qué hace la matriz seudoinversa en un sistema general de estas características?
De la definición de la matriz seudoinversa (180) se concluye que:
Im ( A + ) = Im ( CT ) = Im ( A T ) ⇒ A +bn = 0 (200)
Si A−1 no existe, la seudoinversa A+ la sustituye e invierte "lo que es invertible" en el sistema Ax=b,
obteniendo xf a partir de bc:
A + Ax = A + A ( x f + x n ) = A + Ax f = x f ⎫⎪
⎬ x f = A +bc (201)
A +b = A + ( bc + bn ) = A + bc ⎪⎭
La Figura 31, inspirada en el libro de G. Strang1, representa gráficamente los 4 subespacios funda-
mentales de la matriz A e interpreta la transformación Ax=b en función de dichos subespacios, re-
sumiendo gráficamente lo establecido en los párrafos precedentes. Obsérvese 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.
1
G. Strang, "Introduction to LinearAlgebra", 3rd edition, Wellesley-Cambridge, ch. 4, p. 188.
Sistemas de ecuaciones lineales pág. 43
r m
Im(A) r
n xf → Axf → Ax
xf Ax=bc
Im(AT) x→Ax
x
0
R n 0 b Rm
bn
Ker(A)
xn → Axn → 0
n xn Ker(AT)
m
n−r
m−r
Figura 31. Relación entre el sistema Ax=b y los
cuatro subespacios fundamentales de la matriz A.
Valores y vectores propios pág. 45
El vector nulo no se considera vector propio. Para que exista una solución x distinta de la trivial
(x=0), el valor propio λ deberá ser raíz de la ecuación característica, que se obtiene igualando a cero
el polinomio característico (de grado n):
det ( A − λ I ) = 0 (204)
x1
Ax 2 = λ2x 2
x2
Ax
x
lo que demuestra que una combinación lineal de vectores propios asociados con un mismo valor
propio es también 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 sólo tienen en
común el vector nulo. En efecto, si x es un vector propio común, por reducción al absurdo:
Ax = λ1x ⎫
⎬ 0 = (λ1 − λ2 )x ⇒ x = 0 (206)
Ax = λ2x ⎭
Como consecuencia, los vectores propios correspondientes a valores propios distintos son lineal-
mente independientes.
# # % # j =0
σ 1 = λ1 + λ2 + ... + λn
σ 2 = λ1λ2 + λ1λ3 + ... + λn −1λn
(208)
"
σ n = λ1λ2λ3 ...λ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.
Ax i = λi x i ; restando α x i ⇒ ( A − α I ) xi = ( λi − α ) xi (209)
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:
Álgebra lineal numérica con Matlab pág. 48
Se cumple que si las matrices A y B son unitariamente semejantes, las matrices AHA y BHB tam-
bién 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 característico y por tanto la traza, luego
la suma de los cuadrados de los módulos de los elementos de la matriz se conserva en las trans-
formaciones de semejanza unitarias:
n n
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.
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)
∑ aij = ∑ λi
2 2
c) Se verifica la igualdad:
i , j =1 i =1
0 0
H H
T T TT
0 0
Figura 33. Forma del producto THT. Figura 34. Forma del producto TTH.
De la igualdad de elementos (1,1) se concluye que en la primera fila de T sólo el elemento de la diagonal es distinto de
cero:
(T T)H
= t11t11 = t11
2
⎫
⎪
11 n
(231)
∑t
2
n
2⎬
n ⇒ =0 ⇔ t1 j = 0, j = 2,3,..., n
( TT )11 = ∑ t1 j t1 j = t11 + ∑ t1 j ⎪
H 2 1j
j =2
j =1 j =2 ⎭
De la igualdad de elementos (2,2) se concluye que en la segunda fila de T sólo el elemento de la diagonal es no nulo:
(T T)
H
= t12t12 + t22t22 = t22 ⎫
⎪
2
22 n
(232)
∑t
2
n n
2⎬ ⇒ =0 ⇔ t2 j = 0, j = 3, 4,..., n
( TT ) = ∑ t2 j t2 j = t22 + ∑ t2 j ⎪
H 2 2j
j =3
22
j =2 j =3 ⎭
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 recíproco, que toda matriz unitariamente diagonalizable es normal, se cumple porque toda matriz diagonal es nor-
mal, y por tanto también lo será A que es unitariamente semejante a ella.
Valores y vectores propios pág. 51
n n
b) ⇔ c): En una matriz unitariamente diagonalizable se cumple que: ∑a = ∑ λi .
2 2
ij
i , j =1 i =1
La traza se conserva en las transformaciones de semejanza, pues es el 2º coeficiente del polinomio característico, que es
un invariante. Si A y D son unitariamente semejantes, aplicando la propiedad vista en la expresión (224):
n n
∑a = traza ( A H A ) = traza ( D H D ) = ∑ λi
2 2
ij
i , j =1 i =1
(233)
Recíprocamente, 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 simultáneamente la condición c) y la ecuación
(224), la suma de los cuadrados de los módulos de los elementos de fuera de la diagonal debe ser nula.
b) ⇔ d): Toda matriz es unitariamente diagonalizable si y sólo si tiene n vectores propios ortonormales entre sí.
Si A es diagonalizable mediante una matriz unitaria U:
U H AU = D ⇔ AU = UD (234)
Las n columnas de U son vectores propios ortonormales de A y los elementos de D los valores propios.
Recíprocamente, si A tiene n vectores propios ortonormales que son las columnas de U, la misma expresión (234) indi-
ca que es unitariamente diagonalizable.
Las formas cuadráticas pueden reducirse a forma diagonal mediante cambios de coordenadas en el
vector x. Como A es simétrica, una forma particular de reducir la forma cuadrática a forma diagonal
es mediante una transformación de semejanza unitaria que la diagonalice. Sin embargo, como no se
exige que el cambio de coordenadas sea unitario u ortogonal, una misma forma cuadrática puede
transformarse en muchas formas cuadráticas diagonales diferentes, pero sólo en una forma diago-
nal canónica. La forma diagonal canónica es aquella en la que todos los elementos de la diagonal
son "1", "–1" ó "0" (en este orden).
Hay que demostrar que p=q. Se hará por reducción al absurdo. Supóngase, por ejemplo, que p<q. Supóngase un vector
u≠0 cuya expresión en las coordenadas y tiene las p primeras coordenadas nulas, y en las coordenadas z dicho vector u
tiene las (n–q) últimas coordenadas nulas.
Como consecuencia todos los valores propios de Ak serán positivos y también serán positivos sus determinan-
tes det Ak, que son el producto de los k valores propios correspondientes.
Recíprocamente, si det Ak>0 "k, la matriz A es definida positiva. Se demostrará por inducción en n. Está claro
que si det A1>0, A1=a11>0
Se supone que An–1 es definida positiva. Entonces existe una transformación de congruencia tal que STA n–
1S=In–1. La matriz A se puede escribir como:
Álgebra lineal numérica con Matlab pág. 54
⎡A u⎤ ⎡ ST 0 ⎤ ⎡ A n −1 u ⎤ ⎡ S 0⎤ ⎡I n −1 v⎤ (255)
A = ⎢ nT−1 , u ∈ R n −1 , a ∈ R ; ⎢ T ⎥⎢ T =
⎣ u a ⎥⎦ ⎣0 1⎦ ⎣ u a ⎥⎦ ⎢⎣ 0T 1 ⎥⎦ ⎢⎣ vT a ⎥⎦
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 (añadiéndoles alguna de las n–1 primeras filas y columnas,
multiplicadas por el factor adecuado). Estas transformaciones no alteran las n–1 primeras filas y columnas, por
lo que se llega finalmente a una matriz diagonal:
⎡I 0⎤ (256)
D = ⎢ nT−1 , det D = d
⎣0 d ⎥⎦
Este determinante (de una matriz congruente con A) debe tener el mismo signo que det A, que es positivo por
hipótesis. Así pues la matriz D es definida positiva, y también 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º) (247) ⇔ (248). Ahora se va a demostrar lo siguiente:
Las matrices indefinidas tienen necesariamente valores propios positivos y negativos, y también
pueden tener valores propios nulos. En este último caso serán singulares, tendrán determinante nulo
y un núcleo no vacío. Estas matrices no admiten factorización real en la forma A=RTR.
Demostración:
(x Ti + ε v T ) A (x i + ε v ) x Ti Ax i + 2ε x Ti Av + ε 2 v T Av (270)
R ( xi + ε v ) = =
(x Ti + ε v T )( x i + ε v ) x Ti x i + 2ε x Ti v + ε 2 v T v
⎛ ⎞ (273)
R ( x i + ε v ) = λi + ε 2 ⎜ ∑ λ jα 2j − λi ∑α 2j ⎟ + ε 4 ( ) + ...
⎝ j ≠i j ≠i ⎠
Las incógnitas de la minimización son ahora los αj, que están restringidos por la condición 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 paréntesis interior de la expresión (276), a la vez que satisfacen las restricciones
(277). La fracción, que tiene signo negativo (–), deberá ser lo mayor posible. Para ello, αr+1=...=αr=0, pues así se anulan
los términos negativos (que restan) del numerador de la fracción. Los (r−1) valores de (α1, α2, ..., αr−1) se deben elegir
Valores y vectores propios pág. 57
de modo que se cumplan las (r−1) restricciones (277). Es evidente que R(x)<λr pues a λr se le está restando algo positi-
vo. Sin embargo, para wi=xi, se cumple que α1=α2= ...=αr−1=0 y se alcanza la igualdad R(x)=λr. Con esto queda demos-
trado el teorema maxi-min.
De forma análoga 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 ⎞ ⎞
λr = min ⎜ max ⎜ T ⎟⎟ = max min
⎜ x⊥w ⎜ T ⎟ ⎟
wi
⎝
x ⊥ wi
⎝ x x ⎠⎠ wi
⎝ i ⎝ x x ⎠⎠ (278)
r = 2,..., n − 1 siendo xT w i = 0, i = 1, 2,...,( r − 1)
donde los wi son conjuntos de r vectores arbitrarios de Rn.
⎛ x T Ax ⎞ (282)
c) λr = max ⎜ min T ⎟ xT wi = 0 i = 1, 2,..., r − 1
wi
⎝ x ⊥ wi x x ⎠
A más libertad para elegir los vectores wi se podrán encontrar mayores máximos de los mínimos. La condición a) deja
más libertad para elegir los wi que b), luego λr +1 ≥ λr(1) . La condición b) deja más libertad para elegir los wi que c), lue-
go λr(1) ≥ λr .
⇒ Ax = µ P −T P −1x = µ ( PT P ) x ⇒ B ≡ ( PT P ) , Ax = µ Bx
−1 −1
x = Py , y = P −1x (286)
Para que exista una solución x distinta de la trivial, el valor propio λ deberá ser raíz del polinomio
de grado n que resulta de desarrollar el determinante:
det ( A − λ B ) = 0 (289)
Valores y vectores propios pág. 59
Ax1 = λ1Bx1
Bx1
Ax 2 = λ2 Bx 2
x2 Bx 2
x1
Bx
x
Ax
Figura 36. Interpretación geométrica del problema generalizado de valores y vectores propios.
Se pueden hacer algunos comentarios sobre la Figura 36:
− En general, los vectores Ax y Bx no tiene la misma dirección que el vector x.
− Los vectores propios generalizados son vectores que se transforman en vectores de la mis-
ma dirección con la matriz A que con la matriz B.
− El valor propio generalizado λ determina la diferencia en el cambio de longitud con una y
otra matriz.
− La Figura 36 muestra un ejemplo en el que se observa la diferencia en cómo se transforma
un vector cualquiera x y cómo se transforman dos vectores propios generalizados x1 y x2.
En algunos casos prácticos el problema generalizado surge cuando se alinean fuerzas de distinta
naturaleza, por ejemplo en Mecánica cuando se alinean las fuerzas de inercia y las fuerzas elásticas.
Este método, aunque válido, no es una forma práctica de resolver el problema porque se pierde la
simetría y se hacen más complicados los cálculos.
De otra forma, si la matriz B es simétrica y definida positiva se puede factorizar como B=RTR (R
no singular) y se tiene:
Ax = λ Bx = λ R T Rx, y ≡ Rx x = R −1y
(292)
AR −1y = λ R T y ⇒ R −T AR −1y = λ y
Consecuencias:
− Si A y B son simétricas, la nueva matriz también lo es y los valores propios serán 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 simétricas, los vectores propios correspondientes a valores propios distintos
son ortogonales respecto a dichas matrices:
Ax1 = λ1Bx1 ⎫ x T2 Ax1 = λ1x T2 Bx1 ⎫ ⎧ x T2 Bx1 = 0
⎬ ⎬ ( λ1 − λ2 ) xT2 Bx1 = 0 ⎨ T (293)
Ax 2 = λ2 Bx 2 ⎭ x1T Ax 2 = λ2 x1T Bx 2 ⎭ ⎩ x 2 Ax1 = 0
− Los vectores propios se suelen normalizar respecto a la matriz B:
xTi Bx i = 1 (294)
− Como consecuencia, la matriz P cuyas columnas son los vectores propios, diagonaliza por
congruencia las matrices A y B simultáneamente:
PT AP = D; PT BP = I (295)
T
− Introduciendo el cambio de variables x=Py y pre-multiplicando por P la ecuación de valo-
res y vectores propios se reduce a forma diagonal:
Ax = λ Bx, x ≡ Py ⇒ PT APy = λ PT BPy ⇒ Dy = λ y (296)
− Obsérvese que la matriz de vectores propios P no es una matriz ortogonal puesto que PTP≠I.
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 A–αB, 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 transformación de congruencia aplicada a ambas
matrices A y B. La ecuación de los valores y vectores propios es:
Ax = λ Bx (299)
Introduciendo la transformación x=Cy y premultiplicando por CT
CT ACy = λ CT BCy (300)
de donde se deduce que λ es un valor propio de las matrices CTAC y CTBC asociado con el
vector propio y.
Valores y vectores propios pág. 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 sólo
semidefinida positiva.
− Si es la matriz B la que tiene rango menor que n, los vectores de Ker(B) son vectores pro-
pios asociados con valor propio infinito: λ=∞.
− El papel de las matrices A y B puede intercambiarse escribiendo:
Ax = λ Bx ⇔ Bx = λ −1Ax (301)
También puede obtenerse la convergencia a otros valores y vectores propios mediante una trans-
formación de congruencia. Supóngase 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:
Álgebra lineal numérica con Matlab pág. 62
Exactamente a este mismo resultado se puede llegar por identificación directa de elementos, con el
mismo nº de operaciones aritméticas, pero con una secuencia más favorable. Considérense los pasos
siguientes:
1. A partir de la primera fila de A:
u1 j = a1 j j = 1, 2,..., n (308)
0
=
0
Para calcular los elementos marcados (columna i de L y fila i de U, a partir de la diagonal) se pro-
cede del siguiente modo:
1. A partir de aii se calcula el elemento de la diagonal uii:
i −1 i −1
aii = ∑ lik uki + uii ⇒ uii = aii − ∑ lik uki (316)
k =1 k =1
A = LU = LDLT (319)
Hay dos posibilidades para almacenar los resultados de la factorización:
1. Almacenar U en la matriz resultado en su posición habitual, incluyendo su diagonal. Se
puede recuperar L fácilmente dividiendo las filas de U por el elemento de la diagonal y
trasponiendo.
2. Almacenar D en la diagonal de la matriz resultado y LT en la mitad superior. En este ca-
so, las filas de U se guardan ya divididas por el elemento de la diagonal.
Los cálculos pueden hacerse por filas o por columnas. A continua-
ción se desarrollará con detalle el cálculo por filas, basándose en la
i j
representación simbólica de la matriz de la Figura 38.
En el cálculo por filas se supone que la parte rayada está ya calcu-
lada. 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 relación existente entre los elementos
de U y los de LT y D.
En primer lugar se calcula el elemento de la diagonal dii, distin-
guiendo según las dos formas de almacenar los resultados:
i −1 i −1
uki i −1
u2
dii = aii − ∑ lik uki = aii − ∑ uki =aii − ∑ ki (320)
k =1 k =1 ukk k =1 ukk Figura 38. Factorización LDLT
i −1 i −1
de una matriz simétrica.
dii = aii − ∑ lkiT lkiT d kk = aii − ∑ ( lkiT ) d kk
2
(321)
k =1 k =1
El cálculo de los elementos de la fila i (con línea gruesa en la Figura 38) recuerda al producto esca-
lar 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 cálculos. Calculando U:
i −1 i −1 uki ukj
uij = aij − ∑ lik ukj = aij − ∑ , j = i + 1,..., n (322)
k =1 k =1 ukk
Si se almacena LT, es decir, los elementos de U divididos por el elemento de la diagonal:
1 ⎛ i −1
⎞ 1 ⎛ i −1
⎞
lijT =
dii ⎜
⎝
aij − ∑ lik u kj =
⎟ d ⎜
⎠
aij − ∑ lkiT lkjT d kk ⎟ , j = i + 1,..., n (323)
k =1 ii ⎝ k =1 ⎠
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
dii = aii − ∑ lkiT lkiT d kk =aii − ∑ lkiT vk (324)
k =1 k =1
1 ⎛ i −1
⎞ 1 ⎛ i −1
⎞
l = ⎜ aij − ∑ lki lkj d kk ⎟ = ⎜ aij − ∑ lkjT vk ⎟ ,
T
ij
T T
j = i + 1,..., n (325)
dii ⎝ k =1 ⎠ dii ⎝ k =1 ⎠
La factorización LU, almacenando D y LT sobre la propia matriz A y utilizando las ecuaciones
(324) y (325), puede programarse en Matlab como se muestra a continuación:
Álgebra lineal numérica con Matlab pág. 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
% cálculo del elemento diagonal
for k=1:i-1
A(i,i)=A(i,i)-v(k)*A(k,i);
end
% cálculo 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 vectorización del algoritmo de factorización directa puede llegar aún más lejos: El siguiente pro-
grama de Matlab calcula la factorización LU utilizando doble vectorización (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);
Factorizaciones de una matriz pág. 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 vectorización y de los propios ficheros *.m de Matlab, se
ha construido y ejecutado una función comparativa que llama a las funciones anteriores y a la fun-
ción lu() de Matlab. Los resultados obtenidos con un procesador Intel Pentium 4 a 3 Ghz han sido
los siguientes (tiempo en segundos):
n LUsim LUsimVect1 LUsimVect2 lu()
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
Hay que tener en cuenta que se ha utilizado la versión 6.5 de Matlab, que incorpora un JIT (Just-
In-Time) Accelerator. Los resultados de esta tabla muestran que el acelerador JIT consigue que el
código normal sea más rápido que la vectorización simple, aunque no tan rápido como la vectoriza-
ción doble. La función lu() de Matlab, escrita en Fortran ó C y compilada, es en cualquier caso mu-
cho más rápida que cualquiera de los ficheros *.m.
4.2 Factorización QR
4.2.1 Factorización QR por Gram-Schmidt
El método de ortogonalización de Gram-Schmidt fue ya considerado en el apartado 1.2.4. Ahora se
va a utilizar para pasar de una matriz cuadrada A, de tamaño n×n, cuyas columnas son independien-
tes, a una matriz ortogonal Q:
Álgebra lineal numérica con Matlab pág. 68
Recuérdese que L [a1 , a 2 ,..., a k ] = L [q1 , q 2 ,..., q k ] , es decir, que las k primeras columnas de A gene-
ral el mismo subespacio que las k primeras columnas de Q. Según esto, cada vector ai sólo 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 través de una matriz triangular
superior R, que es cuadrada n×n e invertible:
⎡q1T a1 q1T a 2 " q1T a n ⎤
⎢ ⎥
⎢ 0 qT2 a 2 " qT2 a n ⎥
[a1 a 2 " an ] = [ q1 q 2 " qn ]
⎢ #
A = QR (331)
# % # ⎥
⎢ T ⎥
⎣⎢ 0 0 " q n a n ⎦⎥
La factorización QR suele aplicarse de modo que todos los elementos de la diagonal de R sean posi-
tivos (la función qr() de Matlab sin embargo, no cumple esta condición). La fila i de Q representa
las componentes de todas las columnas de A según 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 conti-
nuación, esta factorización mantiene pleno sentido aunque el número de columnas de A sea inferior
al número de filas.
El método de Gram-Schmidt se suele aplicar según 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 vecto-
res 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
(332)
...
q i = ai ai a j = a j − ( qTi a j ) qi j = i + 1,..., n
R
A = Q
0
HA = ( I − β vvT ) A = A − β vvT A = A − β v ( AT v )
T
Por otra parte, el vector v se puede calcular a partir de x mediante la función householder.m, expli-
cada en el apartado 1.7.5. Con este método, aunque la matriz A sea rectangular (m>n), se obtiene la
factorización QR completa.
A continuación se muestra un programa de Matlab para hacer la factorización QR por Householder.
% QR por el método 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 explícitamente
% 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
Factorizaciones de una matriz pág. 71
for j=n:-1:1
% se extrae v de H, añadiendo el "1"
v(j:m)=[1;A(j+1:m,j)];
% se aplica la fórmula 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)];
" u n ] ⎢⎢ ⎥ ⎢ # ⎥ = λ u uH
A = UDU H = [u1 % ⎥⎢ ⎥ ∑ k k k (341)
λn ⎥⎦ ⎢⎣u n ⎥⎦
k =1
⎢⎣ H
En el caso de que haya valores propios múltiples, es posible agrupar en una matriz Pi las mi matri-
ces de rango 1 asociadas con el valor propio λi . En este caso, la descomposición espectral se expre-
sa en la forma:
Álgebra lineal numérica con Matlab pág. 72
n m1 m1 + m2 n
A = UDUT = ∑ λk u k uTk = λ1 ∑ u k uTk + λ2 ∑ u k uTk + ... + λs ∑ u k uTk =
k =1 k =1 k = m1 +1 k = n − ms +1 (342)
= λ1P1 + λ2 P2 + ... + λs Ps ( m1 + m2 + ... + ms = n )
Las matrices Pi son matrices de proyección ortogonal sobre los subespacios propios, pues son si-
métricas e idempotentes. La simetría es evidente, pues cada Pi es una suma de matrices simétricas.
La idempotencia se demuestra también fácilmente:
Pi2 = ∑ i = p ui uTi ∑ j = p u j uTj = ∑ i = p ∑ j = p ui uTi u j uTj = ∑ i = p ∑ j = p uiδ ij uTj = ∑ i = p u i uTi = Pi
q q q q q q q
(343)
(344)
= ∑ m = p ∑ k = r u m ( uTmu k ) uTk = ∑ m = p ∑ k = r u mδ mk uTk = 0 ( m ≠ k siempre )
q s q s
(∑ s
j =1 )
P j x = ∑ i = p ui uTi x = ∑ i = p ui ( uTi x ) = ∑ i = p u iα i = x
q q q
⇒ ∑
s
j =1
Pj = I (345)
La expresión (345) indica que la suma de todas las matrices Pi es la matriz identidad I, pues cual-
quier vector x se puede expresar como suma directa de sus componentes en la base ui.
A = U Σ VH
VH A = U Σ
Figura 41. Descomposición de valores singulares de una matriz con menos y más filas que columnas.
Factorizaciones de una matriz pág. 73
Los valores propios λi son no-negativos. Multiplicando la expresión (349) por vTi , λi se puede ex-
presar en la forma (cociente de Rayleigh):
2
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á también rango r (pues Ker(A)=Ker(ATA)). Habrá r valores
propios λi mayores que cero y n–r valores propios nulos.
Se definen ahora el valor singular σj y el vector singular uj (uj∈Rm) en la forma:
σ j ≡ + λj , u j ≡ Av j σ j ; j = 1, 2,..., r (351)
Los vectores uj así formados constituyen un sistema ortonormal en el espacio Rm. En efecto:
uTj u j = vTj AT Av j σ 2j = λ j λ j = 1, j = 1, 2,..., r
(352)
uTi u j = vTi AT Av j σ iσ j = λ j vTi v j σ iσ j = 0, i ≠ j
Los r vectores ortogonales uj se pueden completar por el teorema de la base incompleta (y el méto-
do de Gram-Schmidt) con otros (m–r) 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 m×m .
Se pretende demostrar la existencia de la DVS (A=UΣVT), 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 si j ≤ r , por la definición de u j (353)
=0 si j > r, pues Av j = 0
En definitiva, el producto UTAV es igual a una matriz Σ, de tamaño m×n, que sólo 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 = UΣVT = ∑ i =1 σ i ui vTi (355)
Álgebra lineal numérica con Matlab pág. 74
Como no se ha presupuesto ninguna condición para la matriz A, la DVS existe para cualquier ma-
triz rectangular, cualquiera que sea su rango r. La DVS tiene propiedades muy importantes, deri-
vadas de la ortogonalidad de las matrices U y V, y del carácter no negativo de los valores singula-
res σj.
2. Ahora se calcula una matriz U compatible con la V ya calculada por medio de la ecuación
(359). Esta ecuación sólo permite calcular directamente las r primeras columnas de U, pues
son las que están multiplicadas por un valor singular distinto de cero. Las m–r columnas res-
tantes se calculan simplemente completando una base ortonormal de Rm.
De forma análoga, es también 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 ecuación UT A = ΣV T (o bien, trasponiendo: AT U = VΣT ).
La DVS de la matriz A no es única. Está claro que los valores singulares, ordenados de mayor a
menor, sí están unívocamente determinados. Los vectores singulares por la derecha vi, correspon-
dientes a valores singulares simples, no están unívocamente determinados pues pueden ser multipli-
cados por un factor escalar de módulo unidad (–1, en el caso real). En el caso de valores singulares
múltiples, lo que está unívocamente determinado es un subespacio singular de dimensión igual a la
multiplicidad del valor singular. Sin embargo, dentro de este subespacio se puede tomar cualquier
base ortonormal de vectores singulares.
lo que indica que el rango de una matriz es igual al número de valores singulares no nulos. En un
próximo apartado se verá cómo tratar el caso de valores singulares distintos de cero pero muy pe-
queños.
Si la matriz A es cuadrada e invertible, los valores singulares serán todos no nulos y positivos. La
matriz inversa de A se puede expresar como:
1
A −1 = VΣ −1UT = ∑ i =1
n
v i uTi (362)
σi
Análogamente, la solución de un sistema de ecuaciones lineales compatible y determinado Ax=b
se puede expresar en la forma:
1 uTi b
x = A −1b = VΣ −1UT b = ∑ i =1 v i uTi b = ∑ i =1
n n
Ax = b ⇒ vi (363)
σi σi
La DVS conserva las normas espectral y de Frobenius, como se demuestra a continuación:
A 2 = ρ ( AT A ) = ρ ( VΣT UT UΣV T ) = ρ ( VΣT ΣVT ) = ρ ( ΣT Σ ) = Σ 2 = σ 12
2 2
(364)
La DVS se puede aplicar también al cálculo de la condición numérica de una matriz, que para una
matriz cualquiera se definió como el cociente entre el vector unitario que más "crece" al multipli-
carse por la matriz A dividido por el vector unitario que menos crece:
κ ( A ) = max Au min Au (366)
u =1 u =1
Álgebra lineal numérica con Matlab pág. 76
Considerando la norma euclídea, hay que tener en cuenta que el producto por una matriz ortogonal
no cambia la norma euclídea, por lo que las normas máxima y mínima de la expresión (366) son
respectivamente el máximo y mínimo valor singular. Por ejemplo, para el máximo de la norma:
v = VT u
max Au 2 = max UΣV T u = max ΣVT u = max Σv 2 = σ 1e1 2
= σ1 (367)
u 2 =1 u 2 =1 2 u 2 =1 2 v 2 =1
La condición numérica 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 am-
plifica los errores en los datos.
como una matriz de rango k formada por la suma A k = ∑ i =1σ i ui vTi . Se cumple que la matriz de
k
y además el error en la aproximación es el valor singular σk+1, que es el mayor valor singular no
incluido en Ak.
Demostración: Utilizando la DVS y la definición de Ak se tiene que:
Sea z un vector de F ∩ Ker ( B ) tal que z = 1 . Por pertenecer a ambos subespacios se tendrá que:
2
Bz = 0
(374)
Az = (∑ r
i =1 i i i )
σ u vT z = ∑ i =1 σ i ( vTi z ) ui
k +1
∑ (v z)
k +1 2
Estudiando el cuadrado de la norma espectral de (A–B) y recordando que
i =1
T
i = 1 por ser z un vector unitario,
se tiene:
Esto quiere decir que los valores singulares son muy estables ante perturbaciones de la matriz.
Demostración: En función de los valores y vectores singulares de la matriz A se puede escribir:
min ( A + E) − B 2 = σ k ( A + E) (378)
r ( B ) ≤ k −1
σ k ( A + E ) ≤ A + E − A k −1 2 ≤ A − A k −1 2 + E 2 = σ k ( A ) + E 2
(379)
A partir de este resultado:
σ k ( A + E) − σ k ( A ) ≤ E 2
(380)
Esto es sólo parte de lo que hay que demostrar según (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
r ( A + E )k −1 = k − 1 (381)
min A − B 2 = σ k ( A ) (382)
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 2
(383)
σ k ( A ) − σ k ( A + E) ≤ E 2
(384)
En función del valor de los valores singulares, la matriz A puede ser aproximada mediante las pri-
meras k matrices de rango 1 (k<r):
A ≈ A k = ∑ i =1σ i ui vTi
k
(386)
x 0 = ( AT A ) A T b
−1
(387)
(A A) ⇒ x 0 = ( AT A ) AT b = VΣ −n1,m UT b,
−1 −1
T
AT = VΣ n−2 ΣT UT = VΣ −n1,m UT Σ −n1, m ∈ R n×m (389)
x∗ = AT ( AAT ) b
−1
(391)
Sea el sistema de ecuaciones lineales Ax=b (A∈Rm×n y rango(A)<min(m,n)). Para unos vectores
b∈Rm este sistema tiene solución y para otros no (r<m). La solución de mínimo error cuadrático
puede no ser única (r<n).
Introduciendo la DVS, el sistema de ecuaciones Ax=b se puede reformular del modo siguiente:
Ax = b, A = UΣVT ⇒ UΣV T x = b (394)
Haciendo el cambio de variable y=VTx y pre-multiplicando por UT se obtiene:
Σy = UT b ≡ c, Σ = diag (σ 1 , σ 2 ,..., σ r , 0,..., 0 ) , Σ ∈ R m×n (395)
σi
=
= σ i−1
Σy = c
Figura 42. Sistema de ecuaciones Σy=c. Figura 43. Solución de mínimo error
y mínima norma y=Σ+c.
Las variables libres yi , r + 1 ≤ i ≤ n, están multiplicadas por ceros y no tienen ninguna influencia en
la solución. Para que la solución y sea de norma mínima estas variables deben ser nulas:
yi = 0, r + 1 ≤ i ≤ n. (396)
Por otra parte, las r primeras ecuaciones se satisfacen exactamente en la forma:
yi = ci σ i , 1 ≤ i ≤ r , (397)
mientras que las restantes ecuaciones no se pueden satisfacer en ningún caso, pues son:
0 ⋅ yi = ci , r ≤ i ≤ m. (398)
Definiendo la matriz pseudoinversa Σ+ como una matriz n×m con los inversos de los valores singu-
lares distintos de cero en la diagonal, la solución de mínimo error cuadrático y mínima norma
vendrá dada por (ver Figura 43):
y = Σ+c (399)
Esta solución minimiza también el residuo y la norma en el sistema de ecuaciones original Ax=b,
pues las matrices ortogonales no cambian la norma euclídea:
r 2 = c − Σy 2 = UT b − ΣV T x = b − UΣVT x = b − Ax 2 , y 2 = VT x = x 2
(400)
2 2 2
Se concluye que la matriz que conduce a la solución de mínimo error y mínima 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.
Álgebra lineal numérica con Matlab pág. 80
La aplicación convencional del método de los mínimos cuadrados a través de las ecuaciones norma-
les puede dar problemas numéricos, pues la norma espectral de la matriz ATA es el cuadrado de la
norma espectral de la matriz A. Como consecuencia la condición numérica de ATA es el cuadrado
de la de A, lo que puede crear dificultades numéricas. Anteriormente se ha sugerido la utilización de
un sistema de ecuaciones ampliado o de la factorización QR como formas de resolver este proble-
ma.
Si existen estas dificultades y además es posible que el rango de la matriz A sea menor que
min(m,n) el método más estable de resolver el problema es aplicar la DVS según las expresiones
(390) (393) vistas anteriormente, que se repiten aquí haciendo intervenir a la matriz seudoinversa:
1 uTi b
Ax = b, x = A b = VΣ U b = ∑ i =1 v i u b = ∑ i =1
+ + T r T r
vi (402)
σi i
σi
La DVS permite determinar el rango con precisión numérica, separando la información propia de la
matriz de las componentes que se han podido introducir por errores de distinto tipo.
Aplicaciones en ingeniería mecánica (máquinas) pág. 81