Está en la página 1de 29

M`

etodes Num`
erics
1

Sistemas Lineales.

En este tema tratamos la parte numerica de varios problemas de algebra lineal que se

han estudiado en la asignatura Algebra


Lineal de primer curso. En concreto abordamos
la resolucion de sistemas de ecuaciones lineales Ax = b, donde A es una matriz n n
de n
umeros reales, denominada matriz de coeficientes y b Rn es el vector de terminos
independientes. Ademas, hacemos hicapie en la complejidad de los metodos de resolucion
elementales donde el n
umero de operaciones crece de manera polinomial con la dimension.
La existencia de soluciones del sistema esta determinanda por el Teorema de Rouche
Frobenius. En consecuencia, estudiamos sistemas de ecuaciones lineales compatibles y
determinados, esto es, sistemas con matriz de coeficientes cuadrada y con determinante
no nulo.
Los metodos presentados los clasificamos en dos bloques: los metodos directos, que
permiten la obtencion de la solucion exacta (salvo errores de redondeo) en un n
umero
finito de pasos; y los metodos iterativos, en los que se construye una sucesion de soluciones
que tiende a la solucion exacta. En los metodos iterativos tenemos presente el error de
truncamiento.
Consideraremos los siguientes apartados.
Tipos de matrices.
Clasificamos algunas matrices, bien por su forma (diagonales, triangulares, en banda,
etc ...), bien por sus propiedades (simetricas, definidas positivas, ortogonales, etc
...)
M
etodos directos.
Comenzamos con la resolucion de sistemas lineales donde la matriz de los coeficientes
es sencilla, concretamente sistemas con matriz diagonal o matriz triangular. En este
u
ltimo caso, presentamos los metodos de resolucion llamados sustitucion hacia adelante y sustitucion hacia atr
as. Seguimos con el metodo de Gauss y estrategias
para minimizar el error de redondeo: pivotaje maximal por columnas; pivotaje total.
Para minimizar el n
umero de operaciones al resolver varios sistemas con identica
matriz A, (por ejemplo al invertir una matriz), introducimos los metodos de descomposicion, que consisten en expresar la matriz A como producto de matrices
triangulares, o matrices de sencilla manipulacion. En primer lugar y como consecuencia del metodo de Gauss presentamos el metodo de descomposicion LU; para las
matrices simetricas obtenemos la descomposicion LDLT ; y si ademas son definidas
positivas presentamos la descomposicion de Cholesky. En todos estos casos, estudiamos la complejidad de los algoritmos contabilizando el n
umero de operaciones.
Finalmente presentamos las transformaciones ortogonales de Householder y el metodo
de descomposicion QR.
Normas vectoriales y normas matriciales.
Para el analisis del error de redondeo en la resolucion de sistemas lineales, necesitamos introducir el concepto de norma vectorial y norma matricial. Calculamos las
1

expresiones de kAk1 , kAk2 y kAk . Presentamos la relacion entre la norma de una


matriz y su radio espectral. Demostramos el Teorema de Gerschgorin.
lisis del error. Nu
mero de condicio
n.
Ana
Abordamos aqu el analisis del error en la solucion de un sistema lineal Ax = b
como consecuencia del error en los coeficientes de la matriz A. A partir de este
analisis, definimos el n
umero de condicion de una matriz y comprobamos algunas
de las consecuencias de los problemas mal condicionados.
M
etodos iterativos.
Introducimos los metodos iterativos xk+1 = Bxk +c para la resolucion de un sistema
lineal Ax = b, obtenemos la condicion de convergencia y el error de truncamiento
en funcion de la norma de la matriz de iteracion. Estudiamos el metodo iterativo de
Jacobi y el de GaussSeidel. Presentamos la familia de metodos de sobrerelajacion.
Finalmente hacemos algunas consideraciones sobre la velocidad de convergencia de
los tres metodos iterativos estudiados.

1.1

Introduccion

Consideremos el sistema de

a1,1 x1

a2,1 x1
..

a x
n,1 1
que en lenguaje matricial

a1,1
a2,1

A = ..
.
an,1

ecuaciones lineales
+ a1,2 x2 + + a1,m xm = b1 ,
+ a2,2 x2 + + a2,m xm = b2 ,
..
..
..
..
.
.
.
.
+ an,2 x2 + + an,m xm = bn ,

se escribe como Ax = b, siendo

a1,2 a1,m
x1
x2

a2,2 a2,m

,
x
=
y
b
=

..
.
.
..
.
.
.

.
.
.
an,2 an,m
xm

(1)

b1
b2
..
.
bn

donde A es la matriz de los coeficientes, x es vector de las incognitas y b es el


vector independiente.
La existencia de soluciones del sistema (1) esta resumida en el siguiente teorema.
Teorema 1 (Rouch
eFrobenius) Consideremos el sistema lineal (1). Denotamos por
(A|b) la matriz ampliada formada por las m columnas de la matriz de coeficientes A m
as
una u
ltima columna formada por el vector de terminos independientes b.
a) Si Rang(A) = Rang(A|b), entonces se dice que (1) es un sistema compatible,
equivalentemente tiene solucion.
a-1) Si Rang(A) = m, entonces la solucion es u
nica y el sistema se denomina
sistema determinado.
a-2) Si Rang(A) < m, entonces existen infinitas soluciones y el sistema se denomina
sistema indeterminado.
2

b) Si Rang(A) < Rang(A|b), el sistema (1) no tiene solucion y se denomina sistema


incompatible.
Por otra parte, se conocen tambien expresiones explcitas de la solucion de los sistemas
compatibles y determinados.
Teorema 2 (Regla de Cramer) Dado un sistema de ecuaciones lineales Ax = b, con
matriz de coeficientes cuadrada y regular, su solucion satisface que:
xj =

det(Aj )
det(A)

donde Aj es la matriz resultante de reemplazar la j-esima columna de A por el vector de


terminos independientes b.
Sin embargo, el n
umero de operaciones basicas que involucra el calculo de un determinante de orden n es muy elevado. En concreto, para resolver un determinante de orden
n hemos de resolver n determinantes de orden n 1. Cada uno de ellos involucra n 1
determinantes de orden n 2. En definitiva, para el calculo de un determinante de orden
n necesitamos resolver n!/3! determinantes de orden 3, que a su vez cada uno de ellos
involucra 12 multiplicaciones. Lo que da un total de 2n! multiplicaciones. Por tanto, para
resolver el sistema hemos de resolver n + 1 determinantes de orden n mas n divisiones,
lo que implica aproximadamente 2(n + 1)! multiplicaciones. Para un sistema de n = 50
ecuaciones lineales, esto equivale a 6E+64 multiplicaciones. Un ordenador convencional
suele realizar varios gigaflops, unas 6E + 9 operaciones por segundo. Lo que equivale
aproximadamente a 1E + 55 segundos o 1.3E + 46 a
nos, siendo la edad del universo de
unos 1.3E + 10 a
nos.
En este captulo buscamos algoritmos y estrategias para el calculo de la solucion de
un sistema de ecuaciones lineales (1) compatible y determinado, las cuales sean a su vez
sencillas de implementar en un ordenador y supongan un bajo coste en operaciones. De
estos metodos los hay de dos tipos.
M
etodos directos, que permiten obtener la solucion exacta (salvo errores de redondeo) en un n
umero finito de pasos. A esta categora pertenecen los metodos de
resolucion de matrices especiales (diagonales y triangulares), el metodo de Gauss,
la factorizacion LU, la factorizacion de Cholesqui y la factorizacion QR.
M
etodos iterativos, en los que se construye una sucesion de soluciones que tiende
a la solucion exacta. A esta categora pertenecen los metodos de Jacobi, de GaussSeidel y de sobrerelajacion.
Como los sistemas a estudiar son compatibles y determinados, las matrices de coeficientes son cuadradas (n = m) y regulares, esto es, det(A) 6= 0.

1.2

M
etodos directos

Comenzamos desarrollando algunas estrategias para resolver sistemas lineales con matrices
particularmente sencillas.

1.2.1

Sistemas diagonales

Consideremos el caso particular en el que la matriz de los coeficientes A = (ai,j )1i,jn


satisface que

ai,j = 0 si i 6= j
.
ai,i = ai

Una matriz de estas caractersticas se denomina matriz diagonal y se denota por A =


diag{a1 , a2 , . . . , an }. Como asumimos que la matriz es regular se sigue que ai 6= 0 para
1 i n.
El siguiente algoritmo permite resolver el sistema lineal Ax = b
for i: 1 thru n do
(
x[i]:b[i]/a[i]
);
Notemos que es fundamental que ai 6= 0. El algoritmo necesita n divisiones para resolver
el problema.
1.2.2

Sustituci
on hacia atr
as

Consideremos el caso A = (ai,j )1i,jn con


Q ai,j = 0 si i > j que se denomina matriz
triangular superior. Como det(A) = ni=1 ai,i , se sigue que ai,i 6= 0 para todo i. El
siguiente algoritmo permite resolver el sistema Ax = b.
xn =

bn
an,n

For i = n 1, . . . , 1
P
bi nj=i+1 ai,j xj
xi =
ai,i
Para el calculo de xk se necesitan n k multiplicaciones, n k restas y una division. En
total, para calcular la solucion hemos de realizar n(n 1)/2 multiplicaciones, n(n 1)/2
restas y n divisiones. En consecuencia para un problema de dimension n necesitamos
aproximadamente n2 operaciones. La siguiente funcion en Maxima implementa este
algoritmo y presenta algunos comandos novedosos como length y makelist.
LinSolveBSubs(_A,_b):=
block(
[i,j,s,x:[],n],
n:length(_b),
x:makelist(0,i,1,n),
x[n]:(_b[n]/_A[n,n]),
for i:n-1 thru 1 step -1 do
(
s:0,
for j:i+1 thru n do
s:s+_A[i,j]*x[j],
4

x[i]:(_b[i]-s)/_A[i,i]
),
return(x)
)$
Destacamos que la rutina LinSolveBSubs puede tener problemas si la matriz A tiene
valores nulos sobre la diagonal. Incluso valores demasiado peque
nos en la diagonal pueden
provocar que las divisiones involucradas produzcan valores fuera de rango Overflow.
Ejemplo 1 Resolvamos el sistema

1 1
0 1
A=
0 0
0 0

de ecuaciones lineales Ax = b donde

4
0
3

1 5
y b = 7
13
3
13
13
0 13

Utilizando el entorno wxmaxima basta con introducir los siguientes comandos,


habiendo cargado previamente la funcion LinSolveBSubs anterior
(%i2) A:matrix([1,1,0,3],[0,-1,-1,-5],[0,0,3,13],[0,0,0,-13])$
(%i3) b:[4,-7,13,-13]$
(%i4) LinSolveBSubs(A,b);

(%o5)

[1, 2, 0, 1]


1.2.3

Sustituci
on hacia adelante

Consideremos el caso A = (ai,j )1i,jnQcon ai,j = 0 si i < j que se denomina matriz


triangular inferior. Como det(A) = ni=1 ai,i , se sigue que ai,i 6= 0 para todo i.
x1 =

b1
a1,1

For i = 2, . . . , n
P
bi i1
j=1 ai,j xj
xi =
ai,i
Para el calculo de xk se necesitan k 1 multiplicaciones, k 1 restas y una division, que
en total son n(n1)/2 multiplicaciones, n(n1)/2 restas y n divisiones, equivalentemente
n2 operaciones.
De forma analoga podemos escribir un procedimiento en maxima que implemente el
algoritmo de sustitucion hacia adelante al que llamaremos LinSolveFSubs(A,b).

1.2.4

M
etodo de Gauss

El metodo de Gauss es el primero de los metodos que estudiaremos para la resolucion de


un sistema de ecuaciones lineales con matriz de coeficientes general. El metodo de Gauss
se basa en transformar el sistema de ecuaciones lineales original en un sistema triangular
superior equivalente, esto es, que conserva invariante el conjunto de las soluciones. Las
transformaciones que permiten hacer esto se denominan transformaciones elementales y
son:
a) Permutar la posici
on de dos ecuaciones. Es inmediato, que si en un sistema
de ecuaciones lineales permutamos dos ecuaciones no alteramos las soluciones del
sistema.
b) Multiplicar por un n
umero real no nulo una de las ecuaciones. En efecto si
6= 0 las ecuaciones
ai,1 x1 + ai,2 x2 + . . . + ai,m xm = bi ,

y (ai,1 x1 + ai,2 x2 + . . . + ai,m xm ) = bi

son equivalentes.
c) Restar a una ecuaci
on una
ejemplo los sistemas (1) y

a1,1 x1
+

a
x
+

2,1 1

..

Pn .
(ak,1 (i=1) i ai,1 )x1 +

i6=k

..

an,1 x1
+

combinaci
on lineal del resto de las ecuaciones. Por
+
+

a1,m xm
=
b1
a2,m xm
=
b2
..
..
Pn.
Pn .
+ (ak,m (i=1) i ai,m )xm = bk (i=1) i bi
i6=k
i6=k
..
..
.
.
+

an,m xm

bn

(2)
tienen las mismas soluciones. En efecto, si x = (x1 , x2 , . . . , xm ) es una solucion de
(1), entonces todas las ecuaciones de (2), salvo quizas la kesima, se satisfacen. Pero
incluso esta ecuacion es sencillo ver que se satisface, puesto que es una combinacion
lineal de ecuaciones que ya hemos comentado que se satisfacen.
Recprocamente, si tenemos una solucion de (2), entonces todas las ecuaciones de (1),
salvo quizas la k-esima que es la u
nica en la que difieren, se satisfacen. Dado que la
k-esima ecuacion de (2) es una combinancion lineal de las restantes, y estas sabemos
que se satisfacen, tenemos que la k-esima ecuacion de (1) tambien se satisface. Lo
que prueba que ambos sistemas son equivalentes.

Utilizando las transformaciones elementales y partiendo de la matriz ampliada (A1 |b1 ) =


(A|b), donde suponemos que A es una matriz cuadrada, pasamos al sistema equivalente
(A2 |b2 ) seg
un:

1
1
a1,1 a11,2 a11,n b11 ,
a1,1 a11,2 a11,n b11 ,
F11

1
2
1
2
1
2
1
F21
a2,1 a2,2 a2,n b2 , m2i,1 = 1a1i,1 /a1 1, 11 0 a2,2 a2,n b2 ,
..
..
..
..
..
..
.. iFi= =2, F3,i. .. ,mni,1 F1 ..
.. .
..
..
.
.
.
.
.
.
.
.
.
.
.
1
1
2
1
1
1
2
2
Fn
an,1 an,2 an,n bn ,
0 an,2 an,n bn ,
6

En este nuevo sistema tenemos que la variable x1 u


nicamente interviene en la primera
ecuacion. Analogos razonamientos nos llevan del sistema (A2 |b2 ) al sistema (A3 |b3 ) que
para el que la segunda variable x2 intervine u
nicamente en las dos primeras ecuaciones.
El procedimiento concluye al obtener en n 1 pasos una matriz An triangular superior,
que corresponde a un sistema de ecuaciones lineales con el mismo conjunto de soluciones
que el original, pero que ahora podemos resolver por el metodo de sustitucion hacia atras.
El siguiente algoritmo implementa el metodo de Gauss.
For k = 1, 2, . . . , n 1
For i = k + 1, k + 2, . . . , n
ai,k
mi,k =
ak,k
ai,k = 0
For j = k + 1, k + 2, . . . , n
ai,j = ai,j mi,k ak,j
bi = bi mi,k bk
Ejemplo 2 Consideremos el sistema de ecuaciones lineales Ax = b con

4
1
1
0
3

2
1 1 1
y b= 1
A=
3
3 1 1 2
4
1 2
3 1

Introduciendo A y b como argumentos del programa, tenemos para k = 1 los


siguientes multiplicadores m2,1 = 2, m3,1 = 3, m4,1 = 1. Lo que da lugar a la
siguiente matriz ampliada

4
1 1
0
3
0 1 1 5 7

(A2 |b2 ) =
0 4 1 7 15
0 3
3
2
8
En el siguiente paso, el algoritmo propone los multiplicadores m3,2 = 4, m4,2 =
3, dando lugar a la matriz

1 1
0
3
4
0 1 1 5 7

(A3 |b3 ) =
0 0
3
13
13
0 0
0 13 13

En u
ltimo lugar, tenemos que m4,3 = 0 por lo que la matriz ampliada resultante
resulta ser identica a la anterior.
Aplicando ahora el algoritmo BSubs a A3 y b3 tenemos que la solucion es
T
x = (1, 2, 0, 1).


Cada una de las transformaciones elementales puede llevarse a cabo multiplicando matrices elementales por a matriz ampliada (A|b). As intercambiar dos ecuaciones equivale
7

a multiplicar (A|b) por P (i, j), donde P (i, j) es la matriz identidad con las filas i y j
permutadas. Multiplicar la ecuacion iesima por 6= 0 equivale a multiplicar la matriz
ampliada por I(, i), donde I(, i) es la matriz identidad pero con en la fila iesima.
Finalmente restar a la fila iesima la fila jesima multiplicada por es equivalente a
multiplicar por E(i, j, ), que es la matriz identidad con el elemento (i, j) igual a .
Ejemplo 3 Consideremos el mismo sistema del ejemplo anterior y realicemos las operaciones multiplicando por matrices elementales.
Partimos de la matriz ampliada

4
1
1
0
3
2
1 1 1
1

(A1 |b1 ) =
3 1 1 2 3
1 2
3 1 4

Para eliminar la segunda fila hemos de restarle la primera fila multiplicada


por el multiplicador m2,1 = 2. Esto es, hemos de multiplicar por la matriz

1 0 0 0
2 1 0 0

E(2, 1, 2) =
0 0 1 0
0 0 0 1

obteniendo

4
1
1
0
3
0 1 1 5 7

E(2, 1, 2)(A1|b1 ) =
3 1 1 2 3 .
1 2
3 1 4

Si ahora multiplicamos esta matriz por la matriz

1 0 0
0 1 0
E(3, 1, 3) =
3 0 1
0 0 0

elemental

0
0

0
1

obtenemos un cero en la posicion (3, 1), esto es

4
1
1
0
3
0 1 1 5 7
E(3, 1, 3)E(2, 1, 2)(A1|b1 ) =
0 4 1 7 15
1 2
3 1 4
Concluimos que

(A3 |b3 ) =
E(4, 3, 2)E(3, 2, 3)E(4, 1, 2)E(3, 1, 3)E(2, 1, 2)(A1|b1 ).
8

Puesto que las matrices elementales son todas inversibles, tenemos que en
nuestro ejemplo existe una matriz inversible E (de hecho producto de matrices
elementales) tal que

1 1
0
3
0 1 1 5

EA =
0 0
3
13
0 0
0 13

En el siguiente problema se pone de manifiesto que el metodo de Gauss no siempre se


puede aplicar.
Problema 1 Aplicad el metodo de
Ax = b donde

2
A=
3

Gauss para resolver el sistema de ecuaciones lineales


2 3
1

4 7
1
y b=
5 9
1

Los primeros multiplicadores que proporciona el algoritmo son m2,1 = 2, m3,1 =


3, dando lugar a la matriz ampliada

1 2 3 1
(A2 |b2 ) = 0 0 1 1 .
0 1 0 2

Como consecuencia, al intentar calcular el multiplicador m3,2 el algoritmo


divide por 0 interrumpiendo la ejecucion del programa con un mensaje de
Overflow.


Como acabamos de ver, en el algoritmo de Gauss aparece una operacion que no siempre
esta definida. Incluso cuando lo esta, puede no ser numericamente aceptable, no referimos a la division. Recordamos que la division por n
umeros peque
nos amplifica el error
absoluto. Para evitar este problema existen dos variantes del metodo de Gauss conocidas
como metodo de Gauss con pivote maximo por columnas y metodo de Gauss con pivote
maximal.
Pivotaje m
aximo por columnas. Para este metodo, en el paso k antes de calcular
mi,k buscamos en la columna k la fila m tal que |akm,k | |aki,k | para k i n e intercambiamos la fila k por la fila m. Supongamos que akm,k = 0, en ese caso aki,k = 0 para
k i n y det(A) = 0, en contradiccion con las hipotesis. Por tanto akm,k 6= 0.
Como hemos visto, si det(A) = 0, entonces para alg
un k el pivote akm,k podra ser cero.
En tal caso, podemos dejar esta fila como esta y continuar el proceso con la fila siguiente, no siendo necesaria la detencion del algoritmo, lo que prueba el siguiente resultado.
Llegamos al siguiente resultado.
Teorema 3
a) El metodo de Gauss con pivotaje maximo por columnas se puede aplicar
a toda matriz cuadrada. En el caso de matrices regulares, esta alternativa disminuye
la cota del error en la solucion en comparacion con el metodo de Gauss general.
9

b) Dada una matriz cuadrada A existe una matriz inversible E tal que E.A es una
matriz triangular superior.
El siguiente algoritmo implementa el metodo de Gauss con pivotaje maximo por columnas. Destacamos que el aviso de det(A) = 0 no implica detener el proceso.
For k = 1, 2, . . . , n 1
For i = k + 1, k + 2, . . . , n
m=k
For r = k + 1, k + 2, . . . , n
If |ar,k | > |am,k | then m = r
If am,k = 0 then
Alerta! det(A) = 0
mi,k = 1
else
intercabiar filas k y m
ai,k
mi,k =
ak,k
ai,k = 0
For j = k + 1, k + 2, . . . , n
ai,j = ai,j mi,k ak,j
bi = bi mi,k bk
Ejemplo 4 Resolver el siguiente sistema de ecuaciones usando aritmetica flotante con
mantisa de 4 dgitos y los algoritmos de Gauss sin y con pivote.

x1
+x3 = 1
x1 +0.0001x2 +2x3 = 2

x1
+x2
+x3 = 0

En ambos casos:

.1 101
0
.1 101 .1 101
.1 101
0
.1 101 .1 101
.1 101 .1 103 .2 101 .2 101
0
.1 103 .1 101 .1 101
1
1
1
.1 10
.1 10
.1 10
0
.1 101
0
0
.1 101
Sin pivotaje se sigue:

.1 101
0
.1 101
.1 101
x1 = 0
3
1
1

0
.1 10
.1 10
.1 10
x2 = 0
0
0
.1 105 .1 105
x3 = 1
Con pivotaje:

.1 101
0
.1 101 .1 101
x1 = 0

0
.1 101
0
.1 101 x2 = 1
0
0
.1 101 .1 101
x3 = 1
10

, x
, podemos preComo ambos metodos proporcionan soluciones diferentes, x
guntarnos cual de ellas sera mas aproximada.
Si x es la solucion correcta de un sistema Ax = b y z es una solucion
aproximada, entonces el error ez = x z viene dado por la solucion del
sistema Aez = b c, donde Az = c.
= (1, 2, 1) y b
= (1, 1.9999, 0). por tanto
En nuestro caso tenemos que b

b b = (0, 0, 1) y b b = (0, 1e4, 0). En consecuencia ex = (104 , 1, 104 )


y ex = (104 , 0, 104) . De donde se sigue que la solucion x
es mas aproximada.

Pivotaje maximal. En esta variante del metodo de Gauss el pivote no se busca
u
nicamente entre los elementos de la columna, si no que se busca de entre todos los
elementos de la submatriz Ak , formada por las filas k, . . . , n y las columnas k, . . . , n.
Notemos que mientras que al trabajar con ecuaciones esto no implica ning
un problema,
al trabajar en notacion matricial un cambio de columna equivale a un cambio de variable.
Por tanto, hemos de recordar los cambios de columnas realizados para realizarselos a las
variables con el fin de no comenter errores de asignacion.
Complejidad de Gauss. Contemos el n
umero de operaciones que necesitamos para
resolver un sistema lineal nn por el metodo de eliminacion Gaussiana sin pivotaje. Para
para k = 1, . . . , n 1 y i = k + 1, . . . , n hacemos 1 division, n k productos, n k restas,
1 producto y 1 resta. Para k = 1, . . . , n 1 tenemos n k divisiones, (n k)2 + (n k)
productos y (n k)2 + (n k) restas. En total:
3

n1
X

k+2

k=1

n1
X
k=1

k2 = 3

n(n 1)
n(n 1)(2n 1)
2n3
+2
=
+ O(n2 ).
2
6
3

Si utilizamos este algoritmo para calcular un sistema de 50 ecuaciones lineales tendremos


aproximadamente un total de 2(50)3 /3, o lo que es igual unas 83334 operaciones, que un
ordenador convencional tardara menos de un segundo en resolver.
Supongamos que queremos utilizar el metodo de Gauss para el calculo de la inversa
de una matriz A. Habriamos de resolver los n sistemas Ax = ek para k = 1, 2, . . . , n.
Como cada uno necesita del orden de n3 operaciones, en total necesitamos del orden de
n4 operaciones. Si miramos el algoritmo de Gauss vemos que cada nuevo sistema hemos
de volver a calcular los multiplicadores y todos los pasos de la triangulacion cuando
en realidad la matriz de coeficientes no cambia. Parece pues necesario almacenar los
multiplicadores y la matriz triangularizada una vez obtenida y no volver a calcularlos. El
metodo de factorizacion LU otiene beneficios de esta idea.
1.2.5

M
etodo LU

En este apartado presentamos otro metodo para resolver el sistema de ecuaciones lineales
Ax = b, donde A es una matriz regular. El procedimiento consiste en descomponer la
matriz A como producto de dos matrizes A = LU tal que L = (li,j )1i,jn es triangular
inferior y U = (ui,j )1i,jn es triangular superior.
En el siguiente resultado veremos que siempre que podemos aplicar el metodo de
Gauss, existe una posible factorizacion para la matriz A.

11

Teorema 4 Sea A una matriz a la que podemos aplicar el m`etodo de Gauss. Entonces
existen dos matrices L y U, la primera triangular inferior con unos en la diagonal y la
segunda triangular superior, tales que A = LU.
Sea U la matriz triangular superior obtenida al aplicar el metodo de Gauss
a la matriz A, y sean mi,k los multiplicadores obtenidos. Es sencillo concluir
que

a1,1 a1,2 . . . a1,n


!
2
0 a
Y
2,2 . . . a2,n

E(n, 1, mn,1 ) . . . E(2, 1, m2,1 )A =


E(i, 1, mi,1 ) A = ..
..
..
.
.
.
i=n
0 a
n,2 . . . a
n,n

y en consecuencia

j+1
1
Y
Y

E(i, j, mi,j ) A = U.

j=n1 i=n

Por otra parte, las transformaciones elementales son inversibles, concretamente E(i, j, mi,j )1 = E(i, j, mi,j ). Concluimos que
A=

j+1
1
Y
Y

E(i, j, mi,j )

j=n1 i=n

n1
Y

n
Y

n
Y

E(i, j, mi,j )1 U

j=1 i=j+1

n1
Y

!1

E(i, j, mi,j ) U.

j=1 i=j+1

Finalmente, es sencillo comprobar que

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

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

..
n
..
Y
...
.
0
1
.

Ej =
E(i, j, mi,j ) = .
.
.
.
.. mj+1,j 1
..
..
..
i=j+1
.
..
..
. . . . ..
..
.
. .
.
.
0

.
.
.
.
..
..
.. . . . . . . 0
..
0 ... 0
mn,j
0 ... 0 1

y que

L=

n
Y

m
Ej = .2,1
..
j=1
mn,1
12

0
...
..
..
.
.
..
..
.
.
. . . mn,n1

0
..
.

0
1

En consecuencia la matriz A la podemos expresar como producto de la matriz


L y de la matriz U. La matriz L es triangular inferior con unos en la diagonal,
y con la subdiagonal formada por los multiplicadores utilizados en el algoritmo
de Gauss. Por su parte la matriz U es triangular superior, lo que prueba el
resultado.

El algoritmo que lleve a cabo la factorizacion de una matriz en las matrices L y U
estara ampliamente basado en el algoritmo de Gauss. Utilizando la forma especial de
las matrices L y U destacamos que podemos utilizar una u
nica matriz para almacenar
el resultado. En el siguiente algoritmo utilizamos la propia matriz A para almacenar su
factorizacion.
For k = 1, 2, . . . , n 1
For i = k + 1, k + 2, . . . , n
ai,k
ai,k =
ak,k
For j = k + 1, k + 2, . . . , n
ai,j = ai,j ai,k ak,j
El resultado final de este algoritmo es una matriz que contiene los multiplicadores de
Gauss (esto es la parte triangular de L salvo los unos de la diagonal) por debajo de la
diagonal. La diagonal y la parte triangular por encima de la diagonal contiene la parte
triangular de U.
Teorema 5 (Existencia de LU) Sea A una matriz cuadrada tal que las submatrices
cuadradas diagonales

a1,1 . . . a1,k

.. 1 k n
k = ...
.
ak,1 . . . ak,k

son inversibles. Entonces existe la factorizacion LU de la matriz A.


Supongamos que podemos realizar hasta el
Gauss. Entonces

u1,1

0
.
!
j+1
1
.
Y Y
.
E(i, j, mi,j ) A = .
..
j=k1 i=n

..
.
0

paso (k 1)esimo del metodo de


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

...

u1,n
..
.
..
.

uk,k . . . uk,n
..
..
.
.
un,k . . . un.n

Como las transformaciones elementales son matrices triangulares inferiores


con unos en la diagonal, el producto de ellas es triangular inferior con unos
en la diagonal, que denotamos por E. Expresando las matrices de la igualdad
13

anterior en bloques y utilizando el producto de matrices a bloques, llegamos


a que:

1
0
... 0
u1,1 . . . . . . u1,k
..
..
.
..
..

.
.
.
.
e2,1 . .
0
. .
k = .
.
.
.
.
.
.
..
..
..
.. ..
..
..
..
ek,1 . . . ek,k1 1
0 . . . 0 uk.k

Q
Tomando determinantes se sigue que det(k ) = ki=1 ui,i.
Como las submatrices k son inversibles, su determinante es diferente de
cero y en consecuencia uk,k tambien es diferente de cero, por lo que se puede
realizar el paso kesimo del metodo de Gauss. Concluimos que de esta forma
podemos aplicar el metodo de Gauss a la matriz A y por tanto descomponerla
en la forma LU.

Diremos que una matriz A = (ai,j )1i,jn es estrictamente diagonal dominante si
se satisface que
n
X
|ai,j |.
|ai,i | >
j=1
( j6=i )
Lema 6 (McKenzie y Hadamard) Si una matriz es estrictamente diagonal dominante,
es regular.
Sea A estrictamente diagonal dominante y supongamos que A es singular.
Existe v no nulo y tal que DAv = 0 con D = diag{d1 , d2 , . . . , dn }, di > 0 y
B = DA estrictamente diagonal dominante.
P
Como Bv = 0, entonces bii vi + j6=i bij vj = 0, para j = 1, 2, . . . , n. Sea i0
tal que |xi0 | |xj |. Entonces
X
|xi0 ||bi0 ,i0 |
|xj ||bjj |

que contradice que A es diagonal dominante.

Corolario 7 Sea A una matriz estrictamente diagonal dominante, entonces existe la factorizacion LU de la matriz A.
Puesto que A es estrictamente diagonal dominante, todas las submatrices k
son estrictamente diagonal dominantes. Aplicando el Lema de McKenzie y
Hadamard, se sigue que son todas invertibles. El corolario se sigue del Teorema
5.


Teorema 8 Si A es una matriz inversible y existe su factorizacion LU entonces dicha


factorizacion es u
nica.
14

Consideremos las siguientes afirmaciones sobre matrices triangulares.


El producto de dos matrices triangulares inferiores (superiores) es una
matriz triangular inferior (superior).
La inversa de una matriz triangular inferior (superior) es una matriz
triangular inferior (superior).
Supongamos que A = L1 U1 = L2 U2 . Entonces U1 U21 = L1
1 L2 . Aplicando las
afirmaciones anteriores se sigue que la matriz de la izquierda de la igualdad es
triangular superior y la de la derecha es triangular inferior, por tanto ambas
son diagonales. Como la de la derecha tienes unos en la diagonal ambas son
la identidad, esto es U1 U21 = L1
1 L2 = I, de donde se sigue que U1 = U2 y
L1 = L2 .

Sabemos que la descomposicion LU esta basada en el metodo de Gauss. Sin embargo
este no puede aplicarse directamente a todas las matrices, ni tan siquiera a las regulares.
Para ello introduciamos una modificacion de metodo de Gauss que consiste en permutar
convenientemente las filas. Como la filas elegidas como pivote u
nicamente se mueven una
vez, si sabemos de antemano las transformaciones a realizar las podemos hacer antes y
aplicar el metodo de Gauss sin pivotar. De esta forma tenemos el siguiente resultado.
Teorema 9 Sea A una matriz cuadrada.
a) Existen una matriz de permutacion P, una matriz triangular inferior con unos en
la diagonal L y una matriz triangular superior U, de forma que
P A = LU.
b) Existen dos matrices de permutacion P y Q, una matriz triangular inferior con unos
en la diagonal L y una matriz triangular superior U, de forma que
P AQ = LU.
Demostracion vista en clase.
Ejemplo:

1 2 3 7
A = 4 5 6 (3, 2, 1) 4
7 8 1
1

7
8

(3, 1, 2) 1/7 6/7


4/7 3/7

8 1
= 4/7
5 6 ll2,1
3,2 = 1/7
2 3

20/7 l2,1 = 1/2


38/7

7
8
1
4/7 3/7 38/7
1/7 6/7 20/7

7
8
1
1/7 6/7 20/7
4/7 1/2
4

Y por tanto, las matrices L, U y P son las siguientes.

1
0 0
7 8
1
0 0 1
L = 1/7 1 0 , U = 0 6/7 20/7 y P = 1 0 0
4/7 1/2 1
0 0
4
0 1 0
15

1.2.6

Descomposici
on de Cholesky

Dada una matriz A = (ai,j )1i,jn definimos la matriz transpuesta y la denotamos por
AT a la matriz (
ai,j )1i,jn donde ai,j = a
j,i. Diremos que A es una matriz sim
etrica si
T
A=A .
Por otra parte, diremos que una matriz A es definida positiva si xT Ax > 0 para
todo x Rn \ {0}. El siguiente resultado proporciona un criterio sencillo para saber si
una matriz es definida positiva.
Proposici
on 10 (Criterio de Sylvester) Si A es definida positiva, entonces los determinantes de las submatrices diagonales k son todos positivos.
Como resultado del criterio anterior tenemos que si A es simetrica y definida positiva
entonces existe la descomposicion LU de A. Pero utilizando la simetra podemos mejorar
la descomposicion.
Teorema 11 (Factorizaci
on de Cholesky) Sea A una matriz simetrica y definida positiva, existe una matriz real y triangular inferior B tal que A = BB T . Si imponemos que
los elementos de la diagonal bi,i > 0 entonces la descomposicion es u
nica
1.2.7

M
etodo QR

Antes de describir el metodo, introducimos algunas definiciones. Dos vectores v1 y v2 son


ortonormales si kvi k2 = 1 y su producto escalar es cero, esto es v1T v2 = 0.
En el caso de matrices reales diremos que A es una matriz ortogonal si A1 = AT .
De la definicion se sigue que las filas (columnas) de una matriz ortogonal son vectores
ortonormales.
En el siguiente resultado recopilamos algunas propiedades de las matrices ortogonales.
Proposici
on 12 Sea A una matriz ortogonal.
(a) Para todo x Rn tenemos que kAxk2 = kxk2 . Luego las matrices ortogonales
conservan la norma eucldea.
(b) El determinante de A es 1.
(c) Si B es una matriz ortogonal, entonces A.B es una matriz ortogonal.
a) Por definicion kAxk2 = (Ax)T Ax. Aplicando las reglas de la transposicion
y que A es ortogonal, esto es AT = A 1, se sigue el resultado.
b) Dado que AT .A = Id, entonces det(AT A) = det(A)2 = 1. De donde se sigue
el resultado.
c) Consideremos la matriz C = (AB)(AB)T . Notemos que es suficiente con
probar que C es la matriz identidad, puesto que eso indicara que (AB)1 =
(AB)T , lo que implicara el resultado.
Aplicando las reglas de la transposicion se sigue que C = ABB T AT . Puesto
que B y A son ortogonales, entonces BB T = Id y AAT = Id. De donde
concluimos que C = Id.


16

El objeto del metodo QR es factorizar la matriz A en dos matrices una triangular


superior que denotamos por R y otra ortogonal que denotamos por Q. En consecuencia,
para resolver el sistema Ax = b es suficiente resolver el sistema triangular Rx = QT b.
Desde el punto de vista de los sistemas de ecuaciones lineales, el metodo consiste en
realizar transformaciones sobre la matriz original, que dejen invariante el conjunto de
soluciones, hasta conseguir una matriz triangular superior. La diferencia con respecto al
metodo LU es que en este caso exigimos que las transformaciones en lugar de elementales
exigimos que sean ortogonales.
Por tanto, multiplicaremos la matriz A por matrices ortogonales convenientemente
elegidas hasta conseguir la mariz R. A continuacion estudiaremos las matrices de Householder, que son ortogonales y que nos permitiran triangularizar las matrices.
Matrices de Householder.
Dado un vector u de Rn denotamos por uT = (u1 , . . . , un ) al vector transpuesto, por
T
u u al producto escalar, por uuT la matriz simetrica (uiuj ))1i,jn y por P (u) la matriz
de Householder
2
P (u) = I T uuT .
u u
En el siguiente resultado recopilamos algunas propiedades de las matrices de Householder.
Proposici
on 13 Sea u Rn \ {0} y P (u) la matriz de Householder asociada.
a) Para todo c R se sigue que P (u)cu = cu.
b) Si u = {w Rn : uT w = 0} es el hiperplano ortogonal al vector u y v u ,
entonces P (u)v = v.
c) P (u) es una simetra respecto del hiperplano u .
a) Dado c R tenemos que
P (u)cu = cu

2
uT u

uuT cu = cu

2
uT u

c(uT u)u = cu.

b) Sea v u . Entonces
P (u)v = v

2
uT u

u(uT v) = v.

c) El espacio Rn se puede descomponer como suma directa del subespacio


< u > generado por el vector u y del subespacio ortogonal u . Por tanto, si
w Rn , entonces existe c R tal que w = cu + v.
Aplicando la matriz de Householder a w obtenemos que P (u)w = cP (u)u+
P (u)v. Aplicando los apartados anteriores se sigue que P (u)w = cu + v, de
donde se sigue el resultado.

En la Figura 1 representamos el comportamiento de una transformacion de Householder de matriz P (u) sobre un vector w.
17

Figure 1: Transformacion de Householder

Teorema 14 Sea u Rn y P (u) la matriz de Householder asociada.


a) P (u) es simetrica y ortogonal.
b) Si 6= 0, entonces P (u) = P (u).
c) Dados a y b dos vectores de Rn con kak = kbk, se sigue que P (a b)a = b.
d) Si aT = (a1 , . . . , an ) Rn con ai 6= 0 para i = 2, . . . , n, entonces P (a + kak2 e1 )a =
kak2 e1 y P (a kak2 e1 )a = kak2 e1 .
a) Como uuT y I son matrices simetricas, entonces P (u) es una matriz
simetrica.
Ademas
P (u)P (u) = P (u)(I

2
uT u

uuT ) = P (u)

2
uT u

P (u)uuT = P (u) +

2
uT u

uuT = I.

Por tanto P (u) = P (u)1 . Como ademas P (u) es simetrica, se sigue que P (u)
es ortogonal.
b) Para todo 6= 0 se sigue que
P (u) = I

2
2 uT u

2 uuT = P (u).

c) Tomando u = a b, como la norma eucldea de ambos vectores es igual si


definimos v = 12 (a + b), entonces v u y a = 21 u+v. De donde P (a b)a =
12 u + v = b. Como las matrices ortogonales conservan la norma eucldea, no
tiene sentido preguntarse que pasa si kak2 6= kbk2 .
d) Es consecuencia del apartado (c).

Veamos como utilizar las matrices de Householder para triangularizar una matriz
A = (ai,j )1i,jn .
i Denotemos A0 = A y por aj = (a1,j , . . . , an,j )T el vector de la jesima columna de
A0 .
ii Si a22,1 + . . . + a2n,1 = 0, entonces pasamos al punto .
18

iii Si a22,1 + . . . + a2n,1 6= 0, entonces definimos s = ka1 k2 si a1,1 < 0 o s = ka1 k2 si


a1,1 > 0.
iv Calculamos u = a1 se1 . Por tanto P (u)a1 = se1 .
v Para calcular P (u)A0 = (se1 , P (u)a2 , . . . , P (u)an ) hacemos
1
1
=
,
1
su1
2 (ka k2 + |a1,1 |)
= aj (uT aj )u

=
P (u)aj

1.3

uT u

ka1 k

M
etodos iterativos

Los metodos iterativos para resolver un sistema de ecuaciones lineales Ax = b consisten


en encontrar una matriz B, y un vector c Rn de forma que, comenzando en un vector x0
de Rn , la sucesion de iterados {xk }
un xk+1 = Bxk + c sea convergente a
k=1 construida seg
la solucion del sistema original. Comenzamos la seccion introduciendo algunos conceptos
previos.
1.3.1

Preliminares

Dado un Kespacio vectorial V, con K = R, C, llamamos norma vectorial a una aplicacion kk : V R tal que:
kxk = 0 si y solo si x = 0,
kxk = ||kxk,
kx + yk kxk + kyk.
P
1/p
Teorema 15 Para todo p N la aplicacion kxkp = ( ni=1 |xi |p ) es una norma vectorial.

Unicamente
es necesario probar la desigualdad triangular puesto que el resto
son inmediatas. Por tanto nos planteamos desigualdad:
! p1
! p1
! 1p
n
n
n
X
X
X
|xk |p
|yk |p

+
.
|xk + yk |p
k=1

k=1

k=1

En realidad, y puesto que |xk + yk | |xk | + |yk |, nos planteamos la siguiente


desigualda, de la que se desprende la anterior.
! p1
! p1
! p1
n
n
n
X
X
X
(|xk | + |yk |)p

+
.
|xk |p
|yk |p
k=1

k=1

k=1

Elevamos a p ambos lados de la desigualdad. Desarrollando el lado izquierdo


obtenemos
 n
p1 
n
n
X
X
X
p X
p
p
|xk |r |yk |pr .
|yk | +
|xk | +
r
k=1

k=1

r=1

19

k=1

Desarrollando el lado derecho obtenemos


! pr
 X
p1 
n
n
n
X
X
X
p
|xk |p
|yk |p +
|xk |p +
r
k=1

k=1

r=1

k=1

n
X

|yk |p

k=1

! pr
p

De donde resta por probar que para todo 1 r p tenemos que


! pr
! pr
n
n
n
p
X
X
X
r
pr
p
p
|xk | |yk |

|xk |
.
|yk |
k=1

k=1

k=1

Para concluir la desigualdad anterior es suficiente con probar la desigualdad


de Holder
!1/p
!1/q
n
n
n
X
X
X
|xk yk |
|xk |p
|yk |q
k=1

k=1

k=1

para cualesquiera p > 1 y q > 1 tales que 1/p + 1/q = 1. En efecto, puesto que
el cambio de variables (xk , yk ) (xrk , ykpr ) permite pasar de una desigualda
a otra.
Notemos que si la desigualdad de Holder es cierta para vectores x e y,
entonces
lo es para vectores x y y. Por tanto podemos considerar
Pn tambien
P
p
q
que k=1 |xk | = nk=1
k | = 1.
P|y
n
Veamos pues que k=1 |xk yk | 1. Consideremos la funcion y = xp1 y
Ra
Rb
su inversa x = y q1. Si S1 = 0 xp1 dx = ap /p y S2 = 0 y q1 dy = bq /q, a
partir de la representacion grafica de S1 y S2 , ver la Figura 2, es inmediato
que ab S1 + S2 = ap /p + bq /q. De donde
n
X
k=1

|xk yk | 1/p

n
X

|xk | + 1/q

k=1

n
X

|yk |q = 1.

k=1


A las normas p se las denomina normas H
older. El caso particular p = 2 se denomina
norma euclideana. La aplicacion kxk = maxi=1,...,n {|xi |} es una norma vectorial y se
denomina norma del m
aximo.
Proposici
on 16
kxk = lim kxkp
p

Consideremos x Rn , con kxk 6= 0. El caso kxk = 0 es evidente puesto


que en ese caso x = 0, y la proposicion es inmediata. Supongamos que la
coordenada maxima es la kesima, esto es, kxk = xk . Por tanto
! p1
n
X
kxkp =
|xi |p
i=1

= kxk

p
n 
X
|xi |
i=1

kxk n

1
p

20

|xk |

! 1p

f 1 (x)

S2

f (x)

S1
a

Figure 2: Graficas de la funcion f (x) = xp1 y de su inversa f 1 (x), y representacion de las


Ra
Rb
areas S1 = 0 f (x)dx y S2 = 0 f 1 (x)dx. Notemos que S2 esta representada utilizando
la funcion f y el eje y.
Tomando el lmite para p tendiendo a se sigue que limp kxkp kxk .
 p1

P
Por otra parte, como kxkp = kxkp + ni=1,i6=k |xi |p , se sigue que kxkp
kxk para todo p. A partir de las dos desigualdades concluimos la proposicion.

Diremos que una aplicacion kk : Mn (K) R es una norma matricial, si es una
norma vectorial y ademas satisface que kABk kAkkBk. Una norma matricial se dice
consistente con la norma vectorial si kAxk kAkkxk. Aunque la notacion puede
inducir a confusion las normas de la desigualdad anterior significan cosas diferentes, y es
bueno tenerlo presente.
Proposici
on 17 Dada una norma vectorial kk sobre Rn , la aplicacion


kAxk
n
kAk = max
: x R \ {0}
kxk

es una norma matricial que es consistente con la norma vectorial.

Veamos que es una norma vectorial:


Si A = 0, es trivial que kAk = 0. Reciprocamente, si kAk = 0, entonces
kAxk/kxk = 0 para todo x Rn . Lo que implica que kAxk = 0, y que
Ax = 0 para todo x Rn , en particular para la base canonica, lo que implica
que A = 0. De donde se sigue la primera condicion de la definicion de norma.
En segundo lugar


kAxk
n
kAk = max
: x R \ {0}
kxk


kAxk
n
= max ||
: x R \ {0} = ||kAk
kxk
21

Veamos ahora la desigualdad triangular




k(A + B)xk
n
kA + Bk = max
: x R \ {0}
kxk


kAx + Bxk
n
= max
: x R \ {0}
kxk


kAxk kBxk
n
+
: x R \ {0}
max
kxk
kxk




kAxk
kBxk
n
n
max
: x R \ {0} + max
: x R \ {0}
kxk
kxk
= kAk + kBk
Luego en efecto la aplicacion del enunciado es una norma consistente con
la norma vectorial. Ademas, de la definicion se sigue que es una norma subordinada, esto es, kAxk kAkkxk.
Veamos que ademas es una norma matricial


kABxk
n
kABk = max
: x R \ {0}
kxk


kAkkBxk
n
: x R \ {0}
max
kxk
= kAkkBk.

A la norma definida en la proposicion anterior se denomina norma subordinada.
Nuestro interes en este apartado reside en definir las normas matriciales subordinadas a
las normas vectoriales usuales k k1 , k k2, k k . Previo a ello hemos de introducir algunas
definiciones y resultados sobre valores y vectores propios.
A continuacion, introducimos algunas definiciones y resultados sobre valores propios.
Si A Mn (Rn ) diremos que un vector v 6= 0 es un vector propio si existe un valor
R tal que Av = v. Al valor se le llama valor propio asociado al vector propio
v. Denominamos polinomio caracterstico de A al polinomio det(A I). Los valores
propios son las raices del polinomio caracterstico. Sean i para i = 1, 2, . . . , m los valores
propios de una matriz A. Llamamos radio espectral de A y lo denotamos por (A) al
maxi {|i|}.
Proposici
on 18
pios.

a) Una matriz A y su transpuesta AT tienen los mismos valores pro-

b) Una matriz es inversible si y solo si tiene todos sus valores propios diferentes de
cero.
c) Si es un valor propio de A, entonces 1 es un valor propio de A1 .
d) Sea A una matriz simetrica. Todos los valores propios de A son reales. Ademas,
existe una base de vectores propios ortogonales.
22

a) Si es un valor propio de A, entoces det(AI) = 0. Como el determinante


es invariante por transposiciones, tenemos que det((A I)T ) = det(AT
I) = 0, de donde se sigue el resultado.
b) Sabemos que det(A xI) = 0 es un polinomio en la variable x, de
grado n. Ademas, como el determinante es multilineal, es sencillo concluir que
el coeficiente de grado 0 del polinomio es det(A). Por otra parte, el termino
de grado Q
0 de un polinomio es el producto de todas las raices. Por tanto
det(A) = nk=1 k , de donde se sigue el resultado.
c) Si A es invertible y 6= 0 es un valor propio de A, entonces det(AI) =
0. Como por otra parte
det(A I) = det(A I)
= det(A AA1 )
= det(A) det(I A1 )


1
1
1
=
det(A) det A I
()n

tenemos que 1 es un valor propio de A1 .


d) Este resultado puede encontrarse en el libro de Ciarlet pg. 9.

El siguiente resultado, debido al matematico bieloruso Semyon Aranovich Gershgorin


(1901 - 1933), proporciona una localizacion de los valores propios de una matriz basada
en los coeficientes de esta.
Teorema 19 (Teorema de Gerschgorin) Los valores propios de una matriz A = (ai,j )1i,jn
estan contenidos dentro del plano complejo en la union F de los discos

X
|ai,j | para todo i = 1, 2, . . . , n,
Fi = z : |z ai,i |

j =1
j 6= i

y tambien en la union C de los discos

X
|ai,j | para todo j = 1, 2, . . . , n.
Cj = z : |z aj,j |

i=1
i 6= j

Ademas, si una componente conexa de F o de C esta formada por k discos, entonces esta
componente contiene exactamente k valores propios teniendo en cuenta la multiplicidad.
Sea v un vector propio de A y el valor propio asociado, esto es (AI)v = 0.
Sea |vk | = kvk 6= 0, entonces |v|vki || 1 para todo i. Como
ak,1 v1 + . . . + (ak,k )vk + . . . + ak,n vn = 0,
P
P
vi
se sigue que ak,k =
i6=k ai,k vk . Por tanto |ak,k |
i6=k |ai,k |. En
consecuencia Fk F . Para ver que Ck tomamos la matriz transpuesta.
23

m
Supongamos que m
i=1 Fi es una componente conexa de F , esto es i=1 Fi
ni=m+1 Fi = y veamos que A tiene m valores propios en la componente
conexa. Descomponemos A como suma de la matriz diagonal y del resto,
A = D + R. Definimos la familia de matrices At = D + tR con t en el intervalo
[0, 1] de forma que A0 = D y A1 = A. Los valores propios de A0 son los
centros de los discos Fi por lo que A0 tiene exactamente m valores propios en
la componente conexa. Como los valores propios de At varian continuamente
con t, existen exactamente m en la componente conexa. Lo que prueba el
teorema.


Proposici
on 20 Consideremos la matriz A = (ai,j )1i,jn .
a) La norma matricial subordinada a la norma vectorial k k1 satisface que
( n
)
X
kAk1 = max
|ai,j | .
j=1,...,n

i=1

b) La norma matricial subordinada a la norma vectorial k k2 satisface que


p
kAk2 = kAk2 = (AT A)..

c) La norma matricial subordinada a la norma vectorial k k satisface que


( n
)
X
kAk = max
|ai,j | .
i=1,...,n

j=1

a) Aplicando
Pnla definicion de norma subordinada se sigue que kAk1 = maxkxk1 =1 {kAxk1 }
kAek k1 = i=1 |ai,k | parta todo k por tanto, es mayor que el maximo de la
suma por columnas,
Supongamos ahora que el maximo de la suma por columnas se alcanza en
la columna j0 , esto es
( n
)
n
X
X
|ai,j0 | = max
|ai,j | .
i=1

j=1,...,n

i=1

Pn Pn
Para
cualquier
vector
x
de
norma
1
se
tiene
que
kAxk
=
1
Pn Pn
Pn Pn
Pn i=1 | j=1 ai,j xj |
j=1 (
i=1 |ai,j |) |xj |
j=1 (
i=1 |ai,j0 |) |xj | (
i=1 |ai,j0 |) . De ambas
desigualdades se concluye el resultado.
b) En primer lugar definimos el cociente de Rayleigh (1842-1919) de una
matriz M como la aplicacion RM : V \ {0} C definida seg
un
RM (v) =

vT Mv
.
vT v

Notemos que si v es un vector propio de M de valor propio , entonces


RM (v) = .
24

Supongamos en primer lugar que M es simetrica, entonces todos sus valores


propios son reales (1 . . . n ) y existe una base de vectores propios
ortogonales {p1 , . . . pn }. Por tanto, si U es la matriz cuyas columnas son los
vectores propios, entonces U T MU es la matriz diagonal D = diag{1 , . . . , n }.
Existe una relacion entre el cociente de RayleighPde M y D, en efecto
k
RM (v) = RD (w), donde v = Uw. Tomando v =
i=1 i pi , se sigue que
Pk

| |2

i i
RM (v) = Pi=1
. De donde es sencillo ver que k = max{RM (v) : v Vk },
k
2
i=1 |i |
siendo Vk =< p1 , . . . pk > . Concluimos que (M) = max{RM (v) : v V }.
Por otra parte

kAk22 = sup

vT AT Av
= sup RAT A (v).
vT v

De donde se sigue el resultado.


P
c) Supongamos
que el maximo por filas se da en la fila i0 , esto es nj=1 |ai0 ,j | =
Pn
maxi { j=1 |ai,j |}. Sea v tal que vj =P1 si ai0 ,j > 0 yPvj = 1 en otro caso.
Por tanto, kAk kAvk = maxi {| nj=1 ai,j vj |} nj=1 |ai0 ,j |.
Por P
otra parte, para cualquier
se sigue que kAxk =
P vector x de norma 1 P
maxi {| nj=1 ai,j xj |} maxi { nj=1 |ai,j ||xj |} maxi { nj=1 |ai,j |}, de donde
concluimos el resultado.

Proposici
on 21
a) El radio espectral de una matriz es menor o igual que su norma,
esto es (A) kAk, para cualquier norma matricial subordinada de A. En general,
para todo k 1 tenemos que
(A) kAk k1/k .
b) Dada una matriz cuadrada A y > 0, existe una norma matricial tal que
kAk (A) + .
c) (A) < 1 si y solo si limk Ak = 0.
d) limk kAk k1/k = (A), para cualquier norma matricial.
a) Sea un vector propio de A de valor propio v. Entonces Ak v = k v.
Tomando normas a ambos lados de la igualdad se sigue que ||k kvk = kAk vk
kAk kkvk. Por tanto (A)k kAk k de donde se sigue el resultado.
b) Una demostracion de este resultado puede encontrarse en Introduction
`a lanalyse .... [Philippe G. Ciarlet] Dunod.
c) Si limk Ak = 0, entonces para cualquier valor propio de la matriz A se sigue que 0 = (limk Ak )v = limk Ak v = (limk k )v de
donde limk k = 0, de donde concluimos || < 1. Como esto es cierto para
cualquier valor propio de A, concluimos que (A) < 1.
Si (A) < 1, entonces existe > 0 tal que (A) + < 1. Del apartado
(b) tenemos que kAk < 1. Por tanto 0 = limk kAkk limk kAk k =
k limk Ak k. Concluimos que limk Ak = 0.


25

1.3.2

Criterios de convergencia de los m


etodos iterativos.

Para ver que la sucesion {xk } generada por un metodo iterativo xk+1 = Bxk + b es
convergente veamos que es de Cauchy (Rn es un espacio de Banach). En efecto, como
xk+1 xk = B(xk xk1 ) = . . . = B k (x1 x0 ),
entonces kxk+1 xk k kB k kkx1 x0 k. De la Proposicion 21(c) concluimos que una
condicion necesaria y suficiente para la convergencia de la sucesion es que (B) < 1.
En el supuesto que la sucesion {xk }
k=0 converja a z se sigue que
kz xn k

kxn+k+1 xn+k k

kBkn+k kx1 x0 k.

k=0

k=0

Por la Proposicion 21(b), existe una norma matricial subordinada a una norma vectorial
tal que kBk < 1, y por tanto
kz xn k
1.3.3

kBkn
kx1 x0 k.
1 kBk

M
etodo de Jacobi.

Si los elementos de la diagonal de la matriz A son diferentes de 0 podemos descomponer


A como A = D(L + I + U) donde D es la matriz de la diagonal de A, L es una matriz
triangular inferior con ceros en la diagonal y U es una matriz triangular superior con
ceros en la diagonal. El sistema Ax = b es por tanto equivalente al sistema x = (L +
U)x + D 1 b. El metodo de Jacobi consiste en tomar BJ = (L + U) y cJ = D 1 b, que
en lenguaje algortmico se puede escribir como:


1 kBJ k
ln 1
kx x0 k
Sea n
ln kBJ k
For k = 1, 2, . . . , n

P
1 
k
b

a
x
xk+1
=
i
i
j6=i i,j j
ai,i
1.3.4

M
etodo de GaussSeidel.

Al igual que el metodo de Jacobi, se aplica a sistemas lineales donde la matriz A no


tiene ceros en la diagonal. Notar que con transformaciones elementales podemos eliminar
los ceros de la diagonal sin alterar el conjunto de soluciones del sistema. Partiendo de
A = D(L + I + U) y de que D y L + I son matrices invertibles, el sistema es equivalente
al sistema x = (L + I)1 Ux + (L + I)1 D 1 b. El metodo de GaussSeidel consiste pues
en tomar BGS = (L + I)1 U y cGS = (L + I)1 D 1 b. Sin embargo consideraremos la
siguiente version: xk+1 = Lxk+1 Uxk + D 1 b, donde se aprecia que el metodo de
GaussSeidel aprovecha la informacion que va opteniendo en el paso k + 1. Este metodo
en leguaje algoritmico se puede escribir seg
un:

26



1 kBGS k
ln 1
kx x0 k
Sea n
ln kBGS k
For k = 1, 2, . . . , n

Pi1
Pn
1 
k+1
k+1
k
bi j=1 ai,j xj j=i+1 ai,j xj
xi =
ai,i
1.3.5

M
etodo de sobrerelajaci
on.

Se trata de una familia de metodos que generaliza el metodo de GaussSeidel. De nuevo


exige que A no tenga ceros en la diagonal, y partimos del sistema equivalente x = x
(Lx + (I + U)x D 1 x), que podemos escribir como x = B x + c donde B =
(I + L)1 [(1 )I U] y c = (I + L)1 D 1 b. A partir de aqui podemos construir
el siguiente algoritmo:


1 kB k
ln 1
kx x0 k
Sea n
ln kB k
For k = 1, 2, . . . , n
xk+1
i
1.3.6

xk+1
i


Pn
Pi1

k+1
k
bi j=1 ai,j xj j=i ai,j xj
+
ai,i

Convergencia de los m
etodos iterativos

En el siguiente resultado recopilamos informacion sobre la convergencia de los metodos


iterativos.
Proposici
on 22
a) Si la matriz A es estrictamente diagonal dominante, entonces los
metodos de Jacobi y Gauss-Seidel convergen.
b) 6 (0, 2) el radio espectral de la matriz de sobrerelajacion es mayor que 1.
c) Si A simetrica, definida positiva y ai,i > 0, el metodo de sobrerelajacion converge
siempre que (0, 2).
Q
)
(b) Como det(B ) = det((1)IU
= (1 )n , entonces ni=1 i = (1 )n .
det(I+L)
Por otra parte (B ) |i| para todo i. En consecuencia, (B ) |1 |. 
En el siguiente resultado recopilamos informacion sobre la velocidad de convergencia
de los metodos iterativos.
Proposici
on 23
a) Si A es definida positiva, tridiagonal por bloques y tal que los
bloques de la diagonal son matrices diagonales, entonces (BGS ) = (BJ )2 .
b) En las condiciones del apartado (a), si ademas los valores propios de BJ estan en
el intervalo (1, 1), entonces (B ) alcanza su mnimo en
1<
=
y ademas (B ) =
1.

2
p
<2
1 + 1 (BJ )2
27

1.4

Condicionamiento de sistemas

En este apartado analizamos el error en la solucion de un sistema lineal Ax = b debido a


la propagacion del error en los datos. Esta capacidad de propagacion esta caracterizada
por un n
umero denominado n
umero de condicion que depende exclusivamente de la matriz
del sistema A. Por lo general, el n
umero de condicion no es invariante dentro de la misma
clase de matrices equivalentes, por lo que algunas transformaciones alteran este n
umero.
En el siguiente resultado relacionamos la norma de una matriz A con la inversibilidad
de la matriz I + A.
Lema 24

a) Si (I + A) es singular, entonces kAk 1.

b) Sea A una matriz verificando que kAk < 1, donde k k es una norma vectorial subordinanda, entonces (I + A) es inversible y
k(I + A)1 k

1
1 kAk

a) Como I + A es singular, entonces = 1 es un valor propio de A y por


tanto (A) 1. De la Proposicion 21 (a) concluimos que kAk 1.
b) Del apartado (a), se sigue que I + A es inversible. Por tanto (I + A)(I +
1
A) = I, de donde (I + A)1 = I A(I + A)1 . Aplicando la norma a
ambos lados de la igualdad se sigue que k(I + A)1 k = kI A(I + A)1 k
kIk + kAkk(I + A)1 k. Como k k es una norma subordinada, entonces kIk = 1,
por tanto k(I + A)1 k 1 + kAkk(I + A)1 k, de donde se sigue el resultado.

Al n
umero (A) = kAkkA1 k se le denomina n
umero de condici
on de la matriz A.
En el siguiente resultado probamos que el n
umero de condicion controla la propagacion a
la solucion del error relativo en los datos (el vector b y la matriz A).
Proposici
on 25 Sea z la solucion del sistema de ecuaciones lineales Ax = b.
entonces
a) Si z es la soluci
on del sistema de ecuaciones lineales Ax = b,

kz zk
kb bk
(A)
.
kzk
kbk
= b con kA Ak
suficienb) Si z es la soluci
on del sistema de ecuaciones lineales Ax
temente peque
na, entonces


1
kA Ak
kz zk
(A)
.
kzk
kAk
1 kA1 kkA Ak
se sigue que A(z z) = b b,
por tanto z z =
a) De Az = b y A
z = b,
1
De donde tenemos que
A (b b).

kz zk kA1 kkb bk.


28

(3)

Por otra parte, sabemos que kbk = kAzk kAkkzk. Por tanto
kAk
1

.
kzk
kbk

(4)

La proposicion se concluye a partir de las expresiones (3) y (4).


z = b, se sigue que Az = A
z. Restando a
b) Dado que Az = b y que A
ambos lados de la igualdad la expresion A
z llegamos a que
z z = A1 (A A)
z.

(5)

kz zk kA1 kkA Akk


zk

(6)

De donde concluimos que

Por otra parte kA1 (A A)k kA1 kkA Ak < 1 si kA Ak suficientemente peque
na. Por el Lema 24 se sigue que la matriz I + A1 (A A) es
inversible y que
(I + A1 (A A))1

1
1

kA1 (A

A)k

1
1

kA1 kkA

A)k

Escribiendo (5) en la forma z = (I + A1 (A A))


z y puesto que I +
1
A (A A) es inversible, llegamos a que
z = (I + A1 (A A))1 z
y
k
zk

1
1

kA1 kkA

A)k

kzk.

De (7) concluimos que


kz zk kA1 kkA Ak

1
1

kA1 kkA

A)k

kzk,

de donde se sigue la proposicion.

(7)


En consecuencia, sistemas de ecuaciones lineales con matrices con un n


umero de
condicion elevado amplifican peque
nos errores en los datos iniciales. Como sabemos,
los metodos de descomposicion transforman el sistema original en un nuevo sistema mas
sencillo de resolver, pero en general, peor condicionado.
Si A descompone en LU, generalmente tenemos que (A) (L)(U). Por lo que la
descomposicion LU empeora el condicionamiento de la matriz del sistema. De las
estrategias de pivotaje la que menos aumenta el n
umero de condicion es el pivotaje
maximal.
La descomposicion QR de la matriz A no altera el n
umero de condicion.

29