2-Sistemas lineales

29
M` etodes Num` erics 1 Sistemas Lineales. En este tema tratamos la parte num´ erica de varios problemas de ´algebra lineal que se han estudiado en la asignatura ´ Algebra Lineal de primer curso. En concreto abordamos la resoluci´on de sistemas de ecuaciones lineales Ax = b, donde A es una matriz n × n de n´ umeros reales, denominada matriz de coeficientes y b R n es el vector de t´ erminos independientes. Adem´as, hacemoshicapi´ e en la complejidad de los m´ etodos de resoluci´on elementales donde el n´ umero de operaciones crece de manera polinomial con la dimensi´on. La existencia de soluciones del sistema est´a determinanda por el Teorema de Rouch´ e– 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 m´ etodos presentados los clasificamos en dos bloques: los m´ etodos directos, que permiten la obtenci´on de la soluci´on exacta (salvo errores de redondeo) en un n´ umero finito de pasos; y los m´ etodos iterativos, en losque se construye una sucesi´on de soluciones que tiende a la soluci´on exacta. En los m´ etodos 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 (sim´ etricas, definidas positivas, ortogonales, etc ...) etodos directos. Comenzamos con la resoluci´on de sistemas lineales donde la matriz de los coeficientes es sencilla, concretamente sistemas con matriz diagonal o matriz triangular. En este ´ ultimo caso, presentamos los m´ etodos de resoluci´on llamados sustituci´ on hacia ade- lante y sustituci´ on hacia atr´ as. Seguimos con el etodo 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 id´ entica matriz A, (por ejemplo al invertir una matriz), introducimos los m´ etodos de de- scomposici´on, que consisten en expresar la matriz A como producto de matrices triangulares, o matrices de sencilla manipulaci´on. En primer lugar y como conse- cuencia del etodo de Gauss presentamos el etodo de descomposici´ on LU ; para las matrices sim´ etricas obtenemos la descomposici´ on LDL T ; y si adem´as son definidas positivas presentamos la descomposici´on de Cholesky. En todosestos casos, estudi- amos la complejidad de los algoritmos contabilizando el n´ umero de operaciones. Finalmente presentamos las transformaciones ortogonales de Householder y el etodo de descomposici´ on QR. Normas vectoriales y normas matriciales. Para el an´alisis del error de redondeo en la resoluci´on de sistemas lineales, necesi- tamos introducir el concepto de norma vectorial y norma matricial. Calculamos las 1

description

lineales

Transcript of 2-Sistemas lineales

Page 1: 2-Sistemas lineales

Metodes Numerics

1 Sistemas Lineales.

En este tema tratamos la parte numerica de varios problemas de algebra lineal que sehan estudiado en la asignatura Algebra Lineal de primer curso. En concreto abordamosla resolucion de sistemas de ecuaciones lineales Ax = b, donde A es una matriz n × nde numeros reales, denominada matriz de coeficientes y b ∈ Rn es el vector de terminosindependientes. Ademas, hacemos hicapie en la complejidad de los metodos de resolucionelementales donde el numero 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 ydeterminados, esto es, sistemas con matriz de coeficientes cuadrada y con determinanteno nulo.

Los metodos presentados los clasificamos en dos bloques: los metodos directos, quepermiten la obtencion de la solucion exacta (salvo errores de redondeo) en un numerofinito de pasos; y los metodos iterativos, en los que se construye una sucesion de solucionesque tiende a la solucion exacta. En los metodos iterativos tenemos presente el error detruncamiento.

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...)

• Metodos directos.

Comenzamos con la resolucion de sistemas lineales donde la matriz de los coeficienteses sencilla, concretamente sistemas con matriz diagonal o matriz triangular. En esteultimo caso, presentamos los metodos de resolucion llamados sustitucion hacia ade-lante y sustitucion hacia atras. Seguimos con el metodo de Gauss y estrategiaspara minimizar el error de redondeo: pivotaje maximal por columnas; pivotaje total.Para minimizar el numero de operaciones al resolver varios sistemas con identicamatriz A, (por ejemplo al invertir una matriz), introducimos los metodos de de-scomposicion, que consisten en expresar la matriz A como producto de matricestriangulares, o matrices de sencilla manipulacion. En primer lugar y como conse-cuencia del metodo de Gauss presentamos el metodo de descomposicion LU ; para lasmatrices simetricas obtenemos la descomposicion LDLT ; y si ademas son definidaspositivas presentamos la descomposicion de Cholesky. En todos estos casos, estudi-amos la complejidad de los algoritmos contabilizando el numero de operaciones.Finalmente presentamos las transformaciones ortogonales de Householder y el metodode descomposicion QR.

• Normas vectoriales y normas matriciales.

Para el analisis del error de redondeo en la resolucion de sistemas lineales, necesi-tamos introducir el concepto de norma vectorial y norma matricial. Calculamos las

1

Page 2: 2-Sistemas lineales

expresiones de ‖A‖1, ‖A‖2 y ‖A‖∞. Presentamos la relacion entre la norma de unamatriz y su radio espectral. Demostramos el Teorema de Gerschgorin.

• Analisis del error. Numero de condicion.

Abordamos aquı el analisis del error en la solucion de un sistema lineal Ax = bcomo consecuencia del error en los coeficientes de la matriz A. A partir de esteanalisis, definimos el numero de condicion de una matriz y comprobamos algunasde las consecuencias de los problemas mal condicionados.

• Metodos iterativos.

Introducimos los metodos iterativos xk+1 = Bxk+c para la resolucion de un sistemalineal Ax = b, obtenemos la condicion de convergencia y el error de truncamientoen funcion de la norma de la matriz de iteracion. Estudiamos el metodo iterativo deJacobi y el de Gauss–Seidel. Presentamos la familia de metodos de sobrerelajacion.Finalmente hacemos algunas consideraciones sobre la velocidad de convergencia delos tres metodos iterativos estudiados.

1.1 Introduccion

Consideremos el sistema de ecuaciones lineales

a1,1x1 + a1,2x2 + · · · + a1,mxm = b1,a2,1x1 + a2,2x2 + · · · + a2,mxm = b2,

......

. . ....

...an,1x1 + an,2x2 + · · · + an,mxm = bn,

(1)

que en lenguaje matricial se escribe como Ax = b, siendo

A =

a1,1 a1,2 · · · a1,m

a2,1 a2,2 · · · a2,m...

.... . .

...an,1 an,2 · · · an,m

, x =

x1

x2...

xm

y b =

b1

b2...bn

donde A es la matriz de los coeficientes, x es vector de las incognitas y b es elvector independiente.

La existencia de soluciones del sistema (1) esta resumida en el siguiente teorema.

Teorema 1 (Rouche–Frobenius) Consideremos el sistema lineal (1). Denotamos por(A|b) la matriz ampliada formada por las m columnas de la matriz de coeficientes A masuna ultima 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 unica y el sistema se denominasistema determinado.

a-2) Si Rang(A) < m, entonces existen infinitas soluciones y el sistema se denominasistema indeterminado.

2

Page 3: 2-Sistemas lineales

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 explıcitas de la solucion de los sistemascompatibles y determinados.

Teorema 2 (Regla de Cramer) Dado un sistema de ecuaciones lineales Ax = b, conmatriz 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 determinos independientes b.

Sin embargo, el numero de operaciones basicas que involucra el calculo de un determi-nante de orden n es muy elevado. En concreto, para resolver un determinante de ordenn hemos de resolver n determinantes de orden n − 1. Cada uno de ellos involucra n − 1determinantes de orden n− 2. En definitiva, para el calculo de un determinante de ordenn necesitamos resolver n!/3! determinantes de orden 3, que a su vez cada uno de ellosinvolucra 12 multiplicaciones. Lo que da un total de 2n! multiplicaciones. Por tanto, pararesolver 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 = 50ecuaciones lineales, esto equivale a 6E+64 multiplicaciones. Un ordenador convencionalsuele realizar varios gigaflops, unas 6E + 9 operaciones por segundo. Lo que equivaleaproximadamente a 1E + 55 segundos o 1.3E + 46 anos, siendo la edad del universo deunos 1.3E + 10 anos.

En este capıtulo buscamos algoritmos y estrategias para el calculo de la solucion deun sistema de ecuaciones lineales (1) compatible y determinado, las cuales sean a su vezsencillas de implementar en un ordenador y supongan un bajo coste en operaciones. Deestos metodos los hay de dos tipos.

• Metodos directos, que permiten obtener la solucion exacta (salvo errores de re-dondeo) en un numero finito de pasos. A esta categorıa pertenecen los metodos deresolucion de matrices especiales (diagonales y triangulares), el metodo de Gauss,la factorizacion LU, la factorizacion de Cholesqui y la factorizacion QR.

• Metodos iterativos, en los que se construye una sucesion de soluciones que tiendea la solucion exacta. A esta categorıa pertenecen los metodos de Jacobi, de Gauss-Seidel y de sobrerelajacion.

Como los sistemas a estudiar son compatibles y determinados, las matrices de coefi-cientes son cuadradas (n = m) y regulares, esto es, det(A) 6= 0.

1.2 Metodos directos

Comenzamos desarrollando algunas estrategias para resolver sistemas lineales con matricesparticularmente sencillas.

3

Page 4: 2-Sistemas lineales

1.2.1 Sistemas diagonales

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

satisface que{

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

.

Una matriz de estas caracterısticas 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 para1 ≤ 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 resolverel problema.

1.2.2 Sustitucion hacia atras

Consideremos el caso A = (ai,j)1≤i,j≤n con ai,j = 0 si i > j que se denomina matriztriangular 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

xi =bi −

∑n

j=i+1ai,jxj

ai,i

Para el calculo de xk se necesitan n− k multiplicaciones, n− k restas y una division. Entotal, para calcular la solucion hemos de realizar n(n− 1)/2 multiplicaciones, n(n − 1)/2restas y n divisiones. En consecuencia para un problema de dimension n necesitamosaproximadamente n2 operaciones. La siguiente funcion en Maxima implementa estealgoritmo 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

Page 5: 2-Sistemas lineales

x[i]:(_b[i]-s)/_A[i,i]

),

return(x)

)$

Destacamos que la rutina LinSolveBSubs puede tener problemas si la matriz A tienevalores nulos sobre la diagonal. Incluso valores demasiado pequenos en la diagonal puedenprovocar que las divisiones involucradas produzcan valores fuera de rango Overflow.

Ejemplo 1 Resolvamos el sistema de ecuaciones lineales Ax = b donde

A =

1 1 0 30 −1 −1 −50 0 3 130 0 0 −13

y b =

4−713−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 Sustitucion hacia adelante

Consideremos el caso A = (ai,j)1≤i,j≤n con ai,j = 0 si i < j que se denomina matriztriangular 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

xi =bi −

∑i−1

j=1ai,jxj

ai,i

Para el calculo de xk se necesitan k−1 multiplicaciones, k−1 restas y una division, queen total son n(n−1)/2 multiplicaciones, n(n−1)/2 restas y n divisiones, equivalentementen2 operaciones.

De forma analoga podemos escribir un procedimiento en maxima que implemente elalgoritmo de sustitucion hacia adelante al que llamaremos LinSolveFSubs(A,b).

5

Page 6: 2-Sistemas lineales

1.2.4 Metodo de Gauss

El metodo de Gauss es el primero de los metodos que estudiaremos para la resolucion deun sistema de ecuaciones lineales con matriz de coeficientes general. El metodo de Gaussse basa en transformar el sistema de ecuaciones lineales original en un sistema triangularsuperior equivalente, esto es, que conserva invariante el conjunto de las soluciones. Lastransformaciones que permiten hacer esto se denominan transformaciones elementales yson:

a) Permutar la posicion de dos ecuaciones. Es inmediato, que si en un sistemade ecuaciones lineales permutamos dos ecuaciones no alteramos las soluciones delsistema.

b) Multiplicar por un numero real no nulo una de las ecuaciones. En efecto siα 6= 0 las ecuaciones

ai,1x1 + ai,2x2 + . . . + ai,mxm = bi, y α(ai,1x1 + ai,2x2 + . . . + ai,mxm) = αbi

son equivalentes.

c) Restar a una ecuacion una combinacion lineal del resto de las ecuaciones. Porejemplo los sistemas (1) y

a1,1x1 + · · · + a1,mxm = b1

a2,1x1 + · · · + a2,mxm = b2...

......

(ak,1 −∑n

(i=1

i6=k)αiai,1)x1 + · · · + (ak,m −

∑n

(i=1

i6=k)αiai,m)xm = bk −

∑n

(i=1

i6=k)αibi

......

...an,1x1 + · · · + an,mxm = 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 k–esima, se satisfacen. Peroincluso esta ecuacion es sencillo ver que se satisface, puesto que es una combinacionlineal de ecuaciones que ya hemos comentado que se satisfacen.

Recıprocamente, si tenemos una solucion de (2), entonces todas las ecuaciones de (1),salvo quizas la k-esima que es la unica en la que difieren, se satisfacen. Dado que lak-esima ecuacion de (2) es una combinancion lineal de las restantes, y estas sabemosque se satisfacen, tenemos que la k-esima ecuacion de (1) tambien se satisface. Loque 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) segun:

F 11 →

F 12 →...

F 1n →

a11,1 a1

1,2 · · · a11,n b1

1,a1

2,1 a12,2 · · · a1

2,n b12,

......

. . ....

...a1

n,1 a1n,2 · · · a1

n,n b1n,

−−−−−−−−−−→mi,1 = a1

i,1/a11, 1

F2

i = F1

i − mi,1F1

1

i = 2, 3, . . . , n

a11,1 a1

1,2 · · · a11,n b1

1,0 a2

2,2 · · · a22,n b2

2,...

.... . .

......

0 a2n,2 · · · a2

n,n b2n,

.

6

Page 7: 2-Sistemas lineales

En este nuevo sistema tenemos que la variable x1 unicamente interviene en la primeraecuacion. Analogos razonamientos nos llevan del sistema (A2|b2) al sistema (A3|b3) quepara el que la segunda variable x2 intervine unicamente 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 solucionesque 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

mi,k =ai,k

ak,kai,k = 0

For j = k + 1, k + 2, . . . , n

ai,j = ai,j − mi,kak,j

bi = bi − mi,kbk

Ejemplo 2 Consideremos el sistema de ecuaciones lineales Ax = b con

A =

1 1 0 32 1 −1 13 −1 −1 2−1 2 3 −1

y b =

41−34

Introduciendo A y b como argumentos del programa, tenemos para k = 1 lossiguientes multiplicadores m2,1 = 2, m3,1 = 3, m4,1 = −1. Lo que da lugar a lasiguiente matriz ampliada

(A2|b2) =

1 1 0 3 40 −1 −1 −5 −70 −4 −1 −7 −150 3 3 2 8

En el siguiente paso, el algoritmo propone los multiplicadores m3,2 = 4, m4,2 =−3, dando lugar a la matriz

(A3|b3) =

1 1 0 3 40 −1 −1 −5 −70 0 3 13 130 0 0 −13 −13

En ultimo lugar, tenemos que m4,3 = 0 por lo que la matriz ampliada resultanteresulta ser identica a la anterior.

Aplicando ahora el algoritmo BSubs a A3 y b3 tenemos que la solucion esxT = (−1, 2, 0, 1). �

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

7

Page 8: 2-Sistemas lineales

a multiplicar (A|b) por P (i, j), donde P (i, j) es la matriz identidad con las filas i y jpermutadas. Multiplicar la ecuacion i–esima por α 6= 0 equivale a multiplicar la matrizampliada por I(α, i), donde I(α, i) es la matriz identidad pero con α en la fila i–esima.Finalmente restar a la fila i–esima la fila j–esima multiplicada por α es equivalente amultiplicar 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 opera-ciones multiplicando por matrices elementales.

Partimos de la matriz ampliada

(A1|b1) =

1 1 0 3 42 1 −1 1 13 −1 −1 2 −3−1 2 3 −1 4

Para eliminar la segunda fila hemos de restarle la primera fila multiplicadapor el multiplicador m2,1 = 2. Esto es, hemos de multiplicar por la matriz

E(2, 1,−2) =

1 0 0 0−2 1 0 00 0 1 00 0 0 1

obteniendo

E(2, 1,−2)(A1|b1) =

1 1 0 3 40 −1 −1 −5 −73 −1 −1 2 −3−1 2 3 −1 4

.

Si ahora multiplicamos esta matriz por la matriz elemental

E(3, 1,−3) =

1 0 0 00 1 0 0−3 0 1 00 0 0 1

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

E(3, 1,−3)E(2, 1,−2)(A1|b1) =

1 1 0 3 40 −1 −1 −5 −70 −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

Page 9: 2-Sistemas lineales

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

EA =

1 1 0 30 −1 −1 −50 0 3 130 0 0 −13

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

Problema 1 Aplicad el metodo de Gauss para resolver el sistema de ecuaciones linealesAx = b donde

A =

1 2 32 4 73 5 9

y b =

111

Los primeros multiplicadores que proporciona el algoritmo son m2,1 = 2, m3,1 =3, dando lugar a la matriz ampliada

(A2|b2) =

1 2 3 10 0 1 −10 −1 0 −2

.

Como consecuencia, al intentar calcular el multiplicador m3,2 el algoritmodivide por 0 interrumpiendo la ejecucion del programa con un mensaje deOverflow. �

Como acabamos de ver, en el algoritmo de Gauss aparece una operacion que no siempreesta definida. Incluso cuando lo esta, puede no ser numericamente aceptable, no referi-mos a la division. Recordamos que la division por numeros pequenos amplifica el errorabsoluto. Para evitar este problema existen dos variantes del metodo de Gauss conocidascomo metodo de Gauss con pivote maximo por columnas y metodo de Gauss con pivotemaximal.

Pivotaje maximo por columnas. Para este metodo, en el paso k antes de calcularmi,k buscamos en la columna k la fila m tal que |ak

m,k| ≥ |aki,k| para k ≤ i ≤ n e inter-

cambiamos la fila k por la fila m. Supongamos que akm,k = 0, en ese caso ak

i,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 algun k el pivote akm,k podrıa ser cero.

En tal caso, podemos dejar esta fila como esta y continuar el proceso con la fila sigu-iente, 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 aplicara toda matriz cuadrada. En el caso de matrices regulares, esta alternativa disminuyela cota del error en la solucion en comparacion con el metodo de Gauss general.

9

Page 10: 2-Sistemas lineales

b) Dada una matriz cuadrada A existe una matriz inversible E tal que E.A es unamatriz triangular superior.

El siguiente algoritmo implementa el metodo de Gauss con pivotaje maximo por colum-nas. 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

mi,k =ai,k

ak,kai,k = 0

For j = k + 1, k + 2, . . . , n

ai,j = ai,j − mi,kak,j

bi = bi − mi,kbk

Ejemplo 4 Resolver el siguiente sistema de ecuaciones usando aritmetica flotante conmantisa de 4 dıgitos y los algoritmos de Gauss sin y con pivote.

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

En ambos casos:

.1 × 101 0 .1 × 101 .1 × 101

.1 × 101 .1 × 10−3 .2 × 101 .2 × 101

.1 × 101 .1 × 101 .1 × 101 0

.1 × 101 0 .1 × 101 .1 × 101

0 .1 × 10−3 .1 × 101 .1 × 101

0 .1 × 101 0 −.1 × 101

Sin pivotaje se sigue:

.1 × 101 0 .1 × 101 .1 × 101

0 .1 × 10−3 .1 × 101 .1 × 101

0 0 −.1 × 105 −.1 × 105

→x1 = 0x2 = 0x3 = 1

Con pivotaje:

.1 × 101 0 .1 × 101 .1 × 101

0 .1 × 101 0 −.1 × 101

0 0 .1 × 101 .1 × 101

→x1 = 0

x2 = −1x3 = 1

10

Page 11: 2-Sistemas lineales

Como ambos metodos proporcionan soluciones diferentes, x, x, podemos pre-guntarnos cual de ellas sera mas aproximada.

Si x es la solucion correcta de un sistema Ax = b y z es una solucionaproximada, entonces el error ez = x − z viene dado por la solucion delsistema Aez = b− c, donde Az = c.

En nuestro caso tenemos que b = (1, 2, 1) y b = (1, 1.9999, 0). por tantob− b = (0, 0, 1) y b− b = (0, 1e−4, 0). En consecuencia ex = (−10−4,−1, 10−4)y ex = (−10−4, 0, 10−4) . De donde se sigue que la solucion x es mas aproxi-mada. �

Pivotaje maximal. En esta variante del metodo de Gauss el pivote no se buscaunicamente entre los elementos de la columna, si no que se busca de entre todos loselementos 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 ningun 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 lasvariables con el fin de no comenter errores de asignaci’on.

Complejidad de Gauss. Contemos el numero de operaciones que necesitamos pararesolver un sistema lineal n×n por el metodo de eliminacion Gaussiana sin pivotaje. Parapara 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:

3n−1∑

k=1

k + 2n−1∑

k=1

k2 = 3n(n − 1)

2+ 2

n(n − 1)(2n − 1)

6=

2n3

3+ O(n2).

Si utilizamos este algoritmo para calcular un sistema de 50 ecuaciones lineales tendremosaproximadamente un total de 2(50)3/3, o lo que es igual unas 83334 operaciones, que unordenador convencional tardarıa menos de un segundo en resolver.

Supongamos que queremos utilizar el metodo de Gauss para el calculo de la inversade 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 den4 operaciones. Si miramos el algoritmo de Gauss vemos que cada nuevo sistema hemosde volver a calcular los multiplicadores y todos los pasos de la triangulacion cuandoen realidad la matriz de coeficientes no cambia. Parece pues necesario almacenar losmultiplicadores y la matriz triangularizada una vez obtenida y no volver a calcularlos. Elmetodo de factorizacion LU otiene beneficios de esta idea.

1.2.5 Metodo LU

En este apartado presentamos otro metodo para resolver el sistema de ecuaciones linealesAx = b, donde A es una matriz regular. El procedimiento consiste en descomponer lamatriz A como producto de dos matrizes A = LU tal que L = (li,j)1≤i,j≤n es triangularinferior y U = (ui,j)1≤i,j≤n es triangular superior.

En el siguiente resultado veremos que siempre que podemos aplicar el metodo deGauss, existe una posible factorizacion para la matriz A.

11

Page 12: 2-Sistemas lineales

Teorema 4 Sea A una matriz a la que podemos aplicar el metodo de Gauss. Entoncesexisten dos matrices L y U, la primera triangular inferior con unos en la diagonal y lasegunda triangular superior, tales que A = LU.

Sea U la matriz triangular superior obtenida al aplicar el metodo de Gaussa la matriz A, y sean mi,k los multiplicadores obtenidos. Es sencillo concluirque

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

(

2∏

i=n

E(i, 1,−mi,1)

)

A =

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

0 a2,2 . . . a2,n...

......

0 an,2 . . . an,n

y en consecuencia

(

1∏

j=n−1

j+1∏

i=n

E(i, j,−mi,j)

)

A = U.

Por otra parte, las transformaciones elementales son inversibles, concreta-mente E(i, j,−mi,j)

−1 = E(i, j, mi,j). Concluimos que

A =

(

1∏

j=n−1

j+1∏

i=n

E(i, j,−mi,j)

)−1

U

=

(

n−1∏

j=1

n∏

i=j+1

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

)

U

=

(

n−1∏

j=1

n∏

i=j+1

E(i, j, mi,j)

)

U.

Finalmente, es sencillo comprobar que

Ej =

n∏

i=j+1

E(i, j, mi,j) =

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

0 1. . .

......

. . .. . .

. . ....

... 0 1. . .

......

... mj+1,j 1. . .

......

...... 0

. . .. . .

......

......

.... . .

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

y que

L =n∏

j=1

Ej =

1 0 . . . 0

m2,1. . .

. . ....

.... . .

. . . 0mn,1 . . . mn,n−1 1

12

Page 13: 2-Sistemas lineales

En consecuencia la matriz A la podemos expresar como producto de la matrizL 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 algoritmode Gauss. Por su parte la matriz U es triangular superior, lo que prueba elresultado. �

El algoritmo que lleve a cabo la factorizacion de una matriz en las matrices L y Uestara ampliamente basado en el algoritmo de Gauss. Utilizando la forma especial delas matrices L y U destacamos que podemos utilizar una unica matriz para almacenarel resultado. En el siguiente algoritmo utilizamos la propia matriz A para almacenar sufactorizacion.

• For k = 1, 2, . . . , n− 1

For i = k + 1, k + 2, . . . , n

ai,k =ai,k

ak,kFor j = k + 1, k + 2, . . . , n

ai,j = ai,j − ai,kak,j

El resultado final de este algoritmo es una matriz que contiene los multiplicadores deGauss (esto es la parte triangular de L salvo los unos de la diagonal) por debajo de ladiagonal. La diagonal y la parte triangular por encima de la diagonal contiene la partetriangular de U.

Teorema 5 (Existencia de LU) Sea A una matriz cuadrada tal que las submatricescuadradas diagonales

△k =

a1,1 . . . a1,k...

...ak,1 . . . ak,k

1 ≤ k ≤ n

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

Supongamos que podemos realizar hasta el paso (k − 1)–esimo del metodo deGauss. Entonces

(

1∏

j=k−1

j+1∏

i=n

E(i, j,−mi,j)

)

A =

u1,1 . . . . . . . . . u1,n

0. . .

......

. . .. . .

...... 0 uk,k . . . uk,n...

......

...0 . . . 0 un,k . . . un.n

.

Como las transformaciones elementales son matrices triangulares inferiorescon unos en la diagonal, el producto de ellas es triangular inferior con unosen la diagonal, que denotamos por E. Expresando las matrices de la igualdad

13

Page 14: 2-Sistemas lineales

anterior en bloques y utilizando el producto de matrices a bloques, llegamosa que:

1 0 . . . 0

e2,1. . .

. . ....

.... . .

. . ....

ek,1 . . . ek,k−1 1

△k =

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

0. . .

......

. . .. . .

...0 . . . 0 uk.k

.

Tomando determinantes se sigue que det(△k) =∏k

i=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 puederealizar el paso k–esimo del metodo de Gauss. Concluimos que de esta formapodemos aplicar el metodo de Gauss a la matriz A y por tanto descomponerlaen la forma LU. �

Diremos que una matriz A = (ai,j)1≤i,j≤n es estrictamente diagonal dominante sise satisface que

|ai,i| >

n∑

(j=1

j 6=i)

|ai,j|.

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 yB = DA estrictamente diagonal dominante.

Como Bv = 0, entonces biivi +∑

j 6=i bijvj = 0, para j = 1, 2, . . . , n. Sea i0tal que |xi0 | ≥ |xj |. Entonces

|xi0 ||bi0,i0 | ≤∑

|xj||bjj|

que contradice que A es diagonal dominante. �

Corolario 7 Sea A una matriz estrictamente diagonal dominante, entonces existe la fac-torizacion 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 yHadamard, se sigue que son todas invertibles. El corolario se sigue del Teorema5. �

Teorema 8 Si A es una matriz inversible y existe su factorizacion LU entonces dichafactorizacion es unica.

14

Page 15: 2-Sistemas lineales

Consideremos las siguientes afirmaciones sobre matrices triangulares.

• El producto de dos matrices triangulares inferiores (superiores) es unamatriz triangular inferior (superior).

• La inversa de una matriz triangular inferior (superior) es una matriztriangular inferior (superior).

Supongamos que A = L1U1 = L2U2. Entonces U1U−12 = L−1

1 L2. Aplicando lasafirmaciones anteriores se sigue que la matriz de la izquierda de la igualdad estriangular superior y la de la derecha es triangular inferior, por tanto ambasson diagonales. Como la de la derecha tienes unos en la diagonal ambas sonla identidad, esto es U1U

−12 = L−1

1 L2 = I, de donde se sigue que U1 = U2 yL1 = L2. �

Sabemos que la descomposicion LU esta basada en el metodo de Gauss. Sin embargoeste 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 permutarconvenientemente las filas. Como la filas elegidas como pivote unicamente se mueven unavez, si sabemos de antemano las transformaciones a realizar las podemos hacer antes yaplicar 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 enla diagonal L y una matriz triangular superior U, de forma que

PA = LU.

b) Existen dos matrices de permutacion P y Q, una matriz triangular inferior con unosen la diagonal L y una matriz triangular superior U, de forma que

PAQ = LU.

Demostracion vista en clase. �

Ejemplo:

A =

1 2 34 5 67 8 1

−−−−→(3, 2, 1)

7 8 14 5 61 2 3

−−−−−−→l2,1 = −4/7

l3,2 = −1/7

7 8 14/7 3/7 38/71/7 6/7 20/7

−−−−→(3, 1, 2)

7 8 11/7 6/7 20/74/7 3/7 38/7

−−−−−−→l2,1 = −1/2

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

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

L =

1 0 01/7 1 04/7 1/2 1

, U =

7 8 10 6/7 20/70 0 4

y P =

0 0 11 0 00 1 0

15

Page 16: 2-Sistemas lineales

1.2.6 Descomposicion de Cholesky

Dada una matriz A = (ai,j)1≤i,j≤n definimos la matriz transpuesta y la denotamos por

AT a la matriz (ai,j)1≤i,j≤n donde ai,j = aj,i. Diremos que A es una matriz simetrica si

A = AT .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 siuna matriz es definida positiva.

Proposicion 10 (Criterio de Sylvester) Si A es definida positiva, entonces los deter-minantes de las submatrices diagonales △k son todos positivos.

Como resultado del criterio anterior tenemos que si A es simetrica y definida positivaentonces existe la descomposicion LU de A. Pero utilizando la simetrıa podemos mejorarla descomposicion.

Teorema 11 (Factorizacion de Cholesky) Sea A una matriz simetrica y definida pos-itiva, existe una matriz real y triangular inferior B tal que A = BBT . Si imponemos quelos elementos de la diagonal bi,i > 0 entonces la descomposicion es unica

1.2.7 Metodo QR

Antes de describir el metodo, introducimos algunas definiciones. Dos vectores v1 y v2 sonortonormales si ‖vi‖2 = 1 y su producto escalar es cero, esto es vT

1 v2 = 0.En el caso de matrices reales diremos que A es una matriz ortogonal si A−1 = AT .

De la definicion se sigue que las filas (columnas) de una matriz ortogonal son vectoresortonormales.

En el siguiente resultado recopilamos algunas propiedades de las matrices ortogonales.

Proposicion 12 Sea A una matriz ortogonal.

(a) Para todo x ∈ Rn tenemos que ‖Ax‖2 = ‖x‖2. Luego las matrices ortogonalesconservan la norma euclıdea.

(b) El determinante de A es ±1.

(c) Si B es una matriz ortogonal, entonces A.B es una matriz ortogonal.

a) Por definicion ‖Ax‖2 = (Ax)T Ax. Aplicando las reglas de la transposiciony 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 sigueel resultado.c) Consideremos la matriz C = (AB)(AB)T . Notemos que es suficiente conprobar que C es la matriz identidad, puesto que eso indicarıa que (AB)−1 =(AB)T , lo que implicarıa el resultado.

Aplicando las reglas de la transposicion se sigue que C = ABBT AT . Puestoque B y A son ortogonales, entonces BBT = Id y AAT = Id. De dondeconcluimos que C = Id. �

16

Page 17: 2-Sistemas lineales

El objeto del metodo QR es factorizar la matriz A en dos matrices una triangularsuperior 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 = QTb.Desde el punto de vista de los sistemas de ecuaciones lineales, el metodo consiste enrealizar transformaciones sobre la matriz original, que dejen invariante el conjunto desoluciones, hasta conseguir una matriz triangular superior. La diferencia con respecto almetodo LU es que en este caso exigimos que las transformaciones en lugar de elementalesexigimos que sean ortogonales.

Por tanto, multiplicaremos la matriz A por matrices ortogonales convenientementeelegidas hasta conseguir la mariz R. A continuacion estudiaremos las matrices de House-holder, 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

uTu al producto escalar, por uuT la matriz simetrica (uiuj))1≤i,j≤n y por P (u) la matrizde Householder

P (u) = I −2

uTuuuT .

En el siguiente resultado recopilamos algunas propiedades de las matrices de House-holder.

Proposicion 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 : uTw = 0} es el hiperplano ortogonal al vector u y v ∈ u⊥,entonces P (u)v = v.

c) P (u) es una simetrıa respecto del hiperplano u⊥.

a) Dado c ∈ R tenemos que

P (u)cu = cu−2

uTuuuT cu = cu −

2

uT uc(uTu)u = −cu.

b) Sea v ∈ u⊥. Entonces

P (u)v = v −2

uTuu(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, siw ∈ 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, dedonde se sigue el resultado.

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

17

Page 18: 2-Sistemas lineales

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 ‖a‖ = ‖b‖, 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 + ‖a‖2e1)a =−‖a‖2e1 y P (a− ‖a‖2e1)a = ‖a‖2e1.

a) Como uuT y I son matrices simetricas, entonces P (u) es una matrizsimetrica.

Ademas

P (u)P (u) = P (u)(I −2

uT uuuT ) = P (u) −

2

uTuP (u)uuT = P (u) +

2

uT uuuT = 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

α2uT uα2uuT = P (u).

c) Tomando u = a − b, como la norma euclıdea de ambos vectores es igual sidefinimos v = 1

2(a + b), entonces v ∈ u⊥ y a = 1

2u+v. De donde P (a− b)a =

−12u + v = b. Como las matrices ortogonales conservan la norma euclıdea, no

tiene sentido preguntarse que pasa si ‖a‖2 6= ‖b‖2.d) Es consecuencia del apartado (c). �

Veamos como utilizar las matrices de Householder para triangularizar una matrizA = (ai,j)1≤i,j≤n.

i Denotemos A0 = A y por aj = (a1,j, . . . , an,j)T el vector de la j–esima columna de

A0.

ii Si a22,1 + . . . + a2

n,1 = 0, entonces pasamos al punto .

18

Page 19: 2-Sistemas lineales

iii Si a22,1 + . . . + a2

n,1 6= 0, entonces definimos s = ‖a1‖2 si a1,1 < 0 o s = −‖a1‖2 sia1,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

α =2

uTu=

−1

‖a1‖2(‖a1‖2 + |a1,1|)=

−1

su1,

P (u)aj = aj − α(uTaj)u

1.3 Metodos iterativos

Los metodos iterativos para resolver un sistema de ecuaciones lineales Ax = b consistenen encontrar una matriz B, y un vector c ∈ Rn de forma que, comenzando en un vector x0

de Rn, la sucesion de iterados {xk}

∞k=1 construida segun xk+1 = Bxk +c sea convergente a

la solucion del sistema original. Comenzamos la seccion introduciendo algunos conceptosprevios.

1.3.1 Preliminares

Dado un K–espacio vectorial V, con K = R, C, llamamos norma vectorial a una apli-cacion ‖‖ : V → R tal que:

‖x‖ = 0 si y solo si x = 0,

‖λx‖ = |λ|‖x‖,

‖x + y‖ ≤ ‖x‖ + ‖y‖.

Teorema 15 Para todo p ∈ N la aplicacion ‖x‖p = (∑n

i=1 |xi|p)

1/pes una norma vecto-

rial.

Unicamente es necesario probar la desigualdad triangular puesto que el restoson inmediatas. Por tanto nos planteamos desigualdad:

(

n∑

k=1

|xk + yk|p

)1

p

(

n∑

k=1

|xk|p

)1

p

+

(

n∑

k=1

|yk|p

)1

p

.

En realidad, y puesto que |xk + yk| ≤ |xk| + |yk|, nos planteamos la siguientedesigualda, de la que se desprende la anterior.

(

n∑

k=1

(|xk| + |yk|)p

) 1

p

(

n∑

k=1

|xk|p

) 1

p

+

(

n∑

k=1

|yk|p

) 1

p

.

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

n∑

k=1

|xk|p +

n∑

k=1

|yk|p +

p−1∑

r=1

(

pr

) n∑

k=1

|xk|r|yk|

p−r.

19

Page 20: 2-Sistemas lineales

Desarrollando el lado derecho obtenemos

n∑

k=1

|xk|p +

n∑

k=1

|yk|p +

p−1∑

r=1

(

pr

)

(

n∑

k=1

|xk|p

)rp(

n∑

k=1

|yk|p

)p−r

p

.

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

n∑

k=1

|xk|r|yk|

p−r ≤

(

n∑

k=1

|xk|p

)rp(

n∑

k=1

|yk|p

)p−r

p

.

Para concluir la desigualdad anterior es suficiente con probar la desigualdadde Holder

n∑

k=1

|xkyk| ≤

(

n∑

k=1

|xk|p

)1/p( n∑

k=1

|yk|q

)1/q

para cualesquiera p > 1 y q > 1 tales que 1/p+1/q = 1. En efecto, puesto queel cambio de variables (xk, yk) → (xr

k, yp−rk ) permite pasar de una desigualda

a otra.Notemos que si la desigualdad de Holder es cierta para vectores x e y,

entonces tambien lo es para vectores λx y µy. Por tanto podemos considerarque

∑nk=1 |xk|

p =∑n

k=1 |yk|q = 1.

Veamos pues que∑n

k=1 |xkyk| ≤ 1. Consideremos la funcion y = xp−1 y

su inversa x = yq−1. Si S1 =∫ a

0xp−1dx = ap/p y S2 =

∫ b

0yq−1dy = bq/q, a

partir de la representacion grafica de S1 y S2, ver la Figura 2, es inmediatoque ab ≤ S1 + S2 = ap/p + bq/q. De donde

n∑

k=1

|xkyk| ≤ 1/p

n∑

k=1

|xk|p + 1/q

n∑

k=1

|yk|q = 1.

A las normas p se las denomina normas Holder. El caso particular p = 2 se denominanorma euclideana. La aplicacion ‖x‖∞ = maxi=1,...,n{|xi|} es una norma vectorial y sedenomina norma del maximo.

Proposicion 16‖x‖∞ = lim

pր∞‖x‖p

Consideremos x ∈ Rn, con ‖x‖∞ 6= 0. El caso ‖x‖∞ = 0 es evidente puesto

que en ese caso x = 0, y la proposicion es inmediata. Supongamos que lacoordenada maxima es la k–esima, esto es, ‖x‖∞ = xk. Por tanto

‖x‖p =

(

n∑

i=1

|xi|p

)1

p

= ‖x‖∞

(

n∑

i=1

(

|xi|

|xk|

)p) 1

p

≤ ‖x‖∞n1

p

20

Page 21: 2-Sistemas lineales

f(x)

f−1(x)

a

S1

b

b

S2

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

areas S1 =∫ a

0f(x)dx y S2 =

∫ b

0f−1(x)dx. Notemos que S2 esta representada utilizando

la funcion f y el eje y.

Tomando el lımite para p tendiendo a ∞ se sigue que limpր∞ ‖x‖p ≤ ‖x‖∞.

Por otra parte, como ‖x‖p =(

‖x‖p∞ +

∑ni=1,i6=k |xi|

p)

1

p, se sigue que ‖x‖p ≥

‖x‖∞ para todo p. A partir de las dos desigualdades concluimos la proposicion.�

Diremos que una aplicacion ‖‖ : Mn(K) → R es una norma matricial, si es unanorma vectorial y ademas satisface que ‖AB‖ ≤ ‖A‖‖B‖. Una norma matricial se diceconsistente con la norma vectorial si ‖Ax‖ ≤ ‖A‖‖x‖. Aunque la notacion puedeinducir a confusion las normas de la desigualdad anterior significan cosas diferentes, y esbueno tenerlo presente.

Proposicion 17 Dada una norma vectorial ‖‖ sobre Rn, la aplicacion

‖A‖ = max

{

‖Ax‖

‖x‖: x ∈ R

n \ {0}

}

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

Veamos que es una norma vectorial:Si A = 0, es trivial que ‖A‖ = 0. Reciprocamente, si ‖A‖ = 0, entonces

‖Ax‖/‖x‖ = 0 para todo x ∈ Rn. Lo que implica que ‖Ax‖ = 0, y queAx = 0 para todo x ∈ R

n, en particular para la base canonica, lo que implicaque A = 0. De donde se sigue la primera condicion de la definicion de norma.

En segundo lugar

‖λA‖ = max

{

‖λAx‖

‖x‖: x ∈ R

n \ {0}

}

= max

{

|λ|‖Ax‖

‖x‖: x ∈ R

n \ {0}

}

= |λ|‖A‖

21

Page 22: 2-Sistemas lineales

Veamos ahora la desigualdad triangular

‖A + B‖ = max

{

‖(A + B)x‖

‖x‖: x ∈ R

n \ {0}

}

= max

{

‖Ax + Bx‖

‖x‖: x ∈ R

n \ {0}

}

≤ max

{

‖Ax‖

‖x‖+

‖Bx‖

‖x‖: x ∈ R

n \ {0}

}

≤ max

{

‖Ax‖

‖x‖: x ∈ R

n \ {0}

}

+ max

{

‖Bx‖

‖x‖: x ∈ R

n \ {0}

}

= ‖A‖ + ‖B‖

Luego en efecto la aplicacion del enunciado es una norma consistente conla norma vectorial. Ademas, de la definicion se sigue que es una norma sub-ordinada, esto es, ‖Ax‖ ≤ ‖A‖‖x‖.

Veamos que ademas es una norma matricial

‖AB‖ = max

{

‖ABx‖

‖x‖: x ∈ R

n \ {0}

}

≤ max

{

‖A‖‖Bx‖

‖x‖: x ∈ R

n \ {0}

}

= ‖A‖‖B‖.

A la norma definida en la proposicion anterior se denomina norma subordinada.Nuestro interes en este apartado reside en definir las normas matriciales subordinadas alas normas vectoriales usuales ‖ ‖1, ‖ ‖2, ‖ ‖∞. Previo a ello hemos de introducir algunasdefiniciones y resultados sobre valores y vectores propios.

A continuacion, introducimos algunas definiciones y resultados sobre valores propios.Si A ∈ Mn(R

n) 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 propiov. Denominamos polinomio caracterıstico de A al polinomio det(A− λI). Los valorespropios son las raices del polinomio caracterıstico. Sean λi para i = 1, 2, . . . , m los valorespropios de una matriz A. Llamamos radio espectral de A y lo denotamos por ρ(A) almaxi{|λi|}.

Proposicion 18 a) Una matriz A y su transpuesta AT tienen los mismos valores pro-pios.

b) Una matriz es inversible si y solo si tiene todos sus valores propios diferentes decero.

c) Si λ es un valor propio de A, entonces λ−1 es un valor propio de A−1.

d) Sea A una matriz simetrica. Todos los valores propios de A son reales. Ademas,existe una base de vectores propios ortogonales.

22

Page 23: 2-Sistemas lineales

a) Si λ es un valor propio de A, entoces det(A−λI) = 0. Como el determinantees 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, degrado n. Ademas, como el determinante es multilineal, es sencillo concluir queel coeficiente de grado 0 del polinomio es det(A). Por otra parte, el terminode grado 0 de un polinomio es el producto de todas las raices. Por tantodet(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(A−λI) =0. Como por otra parte

det(A − λI) = det(A − λI)

= det(A − λAA−1)

= det(A) det(I − λA−1)

=1

(−λ)ndet(A) det

(

A−1 −1

λI

)

tenemos que λ−1 es un valor propio de A−1.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 basadaen los coeficientes de esta.

Teorema 19 (Teorema de Gerschgorin) Los valores propios de una matriz A = (ai,j)1≤i,j≤n

estan contenidos dentro del plano complejo en la union F de los discos

Fi =

z : |z − ai,i| ≤n∑

j = 1

j 6= i

|ai,j|

para todo i = 1, 2, . . . , n,

y tambien en la union C de los discos

Cj =

z : |z − aj,j| ≤n∑

i = 1

i 6= j

|ai,j|

para todo j = 1, 2, . . . , n.

Ademas, si una componente conexa de F o de C esta formada por k discos, entonces estacomponente contiene exactamente k valores propios teniendo en cuenta la multiplicidad.

Sea v un vector propio de A y λ el valor propio asociado, esto es (A−λI)v = 0.

Sea |vk| = ‖v‖∞ 6= 0, entonces |vi||vk|

≤ 1 para todo i. Como

ak,1v1 + . . . + (ak,k − λ)vk + . . . + ak,nvn = 0,

se sigue que ak,k − λ =∑

i6=k ai,kvi

vk. Por tanto |ak,k − λ| ≤

i6=k |ai,k|. Enconsecuencia λ ∈ Fk ⊂ F . Para ver que λ ∈ Ck tomamos la matriz transpuesta.

23

Page 24: 2-Sistemas lineales

Supongamos que ∪mi=1Fi es una componente conexa de F , esto es ∪m

i=1Fi∩∪n

i=m+1Fi = ∅ y veamos que A tiene m valores propios en la componenteconexa. 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 loscentros de los discos Fi por lo que A0 tiene exactamente m valores propios enla componente conexa. Como los valores propios de At varian continuamentecon t, existen exactamente m en la componente conexa. Lo que prueba elteorema.

Proposicion 20 Consideremos la matriz A = (ai,j)1≤i,j≤n.

a) La norma matricial subordinada a la norma vectorial ‖ ‖1 satisface que

‖A‖1 = maxj=1,...,n

{

n∑

i=1

|ai,j|

}

.

b) La norma matricial subordinada a la norma vectorial ‖ ‖2 satisface que

‖A‖2 = ‖A‖2 =√

ρ(AT A)..

c) La norma matricial subordinada a la norma vectorial ‖ ‖∞ satisface que

‖A‖∞ = maxi=1,...,n

{

n∑

j=1

|ai,j|

}

.

a) Aplicando la definicion de norma subordinada se sigue que ‖A‖1 = max‖x‖1=1{‖Ax‖1} ≥‖Aek‖1 =

∑ni=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∑

i=1

|ai,j0| = maxj=1,...,n

{

n∑

i=1

|ai,j|

}

.

Para cualquier vector x de norma 1 se tiene que ‖Ax‖1 =∑n

i=1 |∑n

j=1 ai,jxj | ≤∑n

j=1 (∑n

i=1 |ai,j|) |xj| ≤∑n

j=1 (∑n

i=1 |ai,j0|) |xj | ≤ (∑n

i=1 |ai,j0|) . De ambasdesigualdades se concluye el resultado.

b) En primer lugar definimos el cociente de Rayleigh (1842-1919) de unamatriz M como la aplicacion RM : V \ {0} → C definida segun

RM(v) =vT Mv

vTv.

Notemos que si v es un vector propio de M de valor propio λ, entoncesRM(v) = λ.

24

Page 25: 2-Sistemas lineales

Supongamos en primer lugar que M es simetrica, entonces todos sus valorespropios son reales (λ1 ≤ . . . ≤ λn) y existe una base de vectores propiosortogonales {p1, . . .pn}. Por tanto, si U es la matriz cuyas columnas son losvectores propios, entonces UT MU es la matriz diagonal D = diag{λ1, . . . , λn}.

Existe una relacion entre el cociente de Rayleigh de M y D, en efectoRM(v) = RD(w), donde v = Uw. Tomando v =

∑ki=1 αipi, se sigue que

RM(v) =Pk

i=1λi|αi|

2

Pki=1

|αi|2. De donde es sencillo ver que λk = max{RM(v) : v ∈ Vk},

siendo Vk =< p1, . . .pk > . Concluimos que ρ(M) = max{RM(v) : v ∈ V }.Por otra parte

‖A‖22 = sup

vT AT Av

vTv= sup RAT A(v).

De donde se sigue el resultado.c) Supongamos que el maximo por filas se da en la fila i0, esto es

∑nj=1 |ai0,j| =

maxi{∑n

j=1 |ai,j|}. Sea v tal que vj = 1 si ai0,j > 0 y vj = −1 en otro caso.Por tanto, ‖A‖∞ ≥ ‖Av‖∞ = maxi{|

∑nj=1 ai,jvj|} ≥

∑nj=1 |ai0,j|.

Por otra parte, para cualquier vector x de norma 1 se sigue que ‖Ax‖∞ =maxi{|

∑nj=1 ai,jxj|} ≤ maxi{

∑nj=1 |ai,j||xj |} ≤ maxi{

∑nj=1 |ai,j|}, de donde

concluimos el resultado. �

Proposicion 21 a) El radio espectral de una matriz es menor o igual que su norma,esto es ρ(A) ≤ ‖A‖, para cualquier norma matricial subordinada de A. En general,para todo k ≥ 1 tenemos que

ρ(A) ≤ ‖Ak‖1/k.

b) Dada una matriz cuadrada A y ε > 0, existe una norma matricial tal que

‖A‖ ≤ ρ(A) + ε.

c) ρ(A) < 1 si y solo si limkր∞ Ak = 0.

d) limkր∞ ‖Ak‖1/k = ρ(A), para cualquier norma matricial.

a) Sea λ un vector propio de A de valor propio v. Entonces Akv = λkv.Tomando normas a ambos lados de la igualdad se sigue que |λ|k‖v‖ = ‖Akv‖ ≤‖Ak‖‖v‖. Por tanto ρ(A)k ≤ ‖Ak‖ de donde se sigue el resultado.

b) Una demostracion de este resultado puede encontrarse en ”Introductiona l’analyse ....” [Philippe G. Ciarlet] Dunod.

c) Si limkր∞ Ak = 0, entonces para cualquier valor propio λ de la ma-triz A se sigue que 0 = (limkր∞ Ak)v = limkր∞ Akv = (limkր∞ λk)v dedonde limkր∞ λk = 0, de donde concluimos |λ| < 1. Como esto es cierto paracualquier valor propio de A, concluimos que ρ(A) < 1.

Si ρ(A) < 1, entonces existe ε > 0 tal que ρ(A) + ε < 1. Del apartado(b) tenemos que ‖A‖ < 1. Por tanto 0 = limkր∞ ‖A‖k ≥ limkր∞ ‖Ak‖ =‖ limkր∞ Ak‖. Concluimos que limkր∞ Ak = 0. �

25

Page 26: 2-Sistemas lineales

1.3.2 Criterios de convergencia de los metodos iterativos.

Para ver que la sucesion {xk} generada por un metodo iterativo xk+1 = Bxk + b esconvergente veamos que es de Cauchy (Rn es un espacio de Banach). En efecto, como

xk+1 − xk = B(xk − xk−1) = . . . = Bk(x1 − x0),

entonces ‖xk+1 − xk‖ ≤ ‖Bk‖‖x1 − x0‖. De la Proposicion 21(c) concluimos que unacondicion 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

‖z − xn‖ ≤∞∑

k=0

‖xn+k+1 − xn+k‖ ≤∞∑

k=0

‖B‖n+k‖x1 − x0‖.

Por la Proposicion 21(b), existe una norma matricial subordinada a una norma vectorialtal que ‖B‖ < 1, y por tanto

‖z − xn‖ ≤‖B‖n

1 − ‖B‖‖x1 − x0‖.

1.3.3 Metodo de Jacobi.

Si los elementos de la diagonal de la matriz A son diferentes de 0 podemos descomponerA como A = D(L + I + U) donde D es la matriz de la diagonal de A, L es una matriztriangular inferior con ceros en la diagonal y U es una matriz triangular superior conceros en la diagonal. El sistema Ax = b es por tanto equivalente al sistema x = −(L +U)x + D−1b. El metodo de Jacobi consiste en tomar BJ = −(L + U) y cJ = D−1b, queen lenguaje algorıtmico se puede escribir como:

• Sea n ≥

ln

(

ε1− ‖BJ‖

‖x1 − x0‖

)

ln ‖BJ‖

• For k = 1, 2, . . . , n

xk+1i =

1

ai,i

(

bi −∑

j6=iai,jx

kj

)

1.3.4 Metodo de Gauss–Seidel.

Al igual que el metodo de Jacobi, se aplica a sistemas lineales donde la matriz A notiene ceros en la diagonal. Notar que con transformaciones elementales podemos eliminarlos ceros de la diagonal sin alterar el conjunto de soluciones del sistema. Partiendo deA = D(L + I + U) y de que D y L + I son matrices invertibles, el sistema es equivalenteal sistema x = −(L+ I)−1Ux+(L+ I)−1D−1b. El metodo de Gauss–Seidel consiste puesen tomar BGS = −(L + I)−1U y cGS = (L + I)−1D−1b. Sin embargo consideraremos lasiguiente version: xk+1 = −Lxk+1 − Uxk + D−1b, donde se aprecia que el metodo deGauss–Seidel aprovecha la informacion que va opteniendo en el paso k + 1. Este metodoen leguaje algoritmico se puede escribir segun:

26

Page 27: 2-Sistemas lineales

• Sea n ≥

ln

(

ε1− ‖BGS‖

‖x1 − x0‖

)

ln ‖BGS‖

• For k = 1, 2, . . . , n

xk+1i =

1

ai,i

(

bi −∑i−1

j=1ai,jx

k+1j −

∑n

j=i+1ai,jx

kj

)

1.3.5 Metodo de sobrerelajacion.

Se trata de una familia de metodos que generaliza el metodo de Gauss–Seidel. De nuevoexige que A no tenga ceros en la diagonal, y partimos del sistema equivalente x = x −ω(Lx + (I + U)x − D−1x), que podemos escribir como x = Bωx + cω donde Bω =(I +ωL)−1 [(1 − ω)I − ωU ] y cω = ω(I +ωL)−1D−1b. A partir de aqui podemos construirel siguiente algoritmo:

• Sea n ≥

ln

(

ε1− ‖Bω‖

‖x1 − x0‖

)

ln ‖Bω‖

• For k = 1, 2, . . . , n

xk+1i = xk+1

i +ω

ai,i

(

bi −∑i−1

j=1ai,jx

k+1j −

∑n

j=iai,jx

kj

)

1.3.6 Convergencia de los metodos iterativos

En el siguiente resultado recopilamos informacion sobre la convergencia de los metodositerativos.

Proposicion 22 a) Si la matriz A es estrictamente diagonal dominante, entonces losmetodos 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 convergesiempre que ω ∈ (0, 2).

(b) Como det(Bω) = det((1−ω)I−ωU)det(I+ωL)

= (1 − ω)n, entonces∏n

i=1 λi = (1 − ω)n.

Por otra parte ρ(Bω) ≥ |λi| para todo i. En consecuencia, ρ(Bω) ≥ |1−ω|. �

En el siguiente resultado recopilamos informacion sobre la velocidad de convergenciade los metodos iterativos.

Proposicion 23 a) Si A es definida positiva, tridiagonal por bloques y tal que losbloques 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 enel intervalo (−1, 1), entonces ρ(Bω) alcanza su mınimo en

1 < ω =2

1 +√

1 − ρ(BJ)2< 2

y ademas ρ(Bω) = ω − 1.

27

Page 28: 2-Sistemas lineales

1.4 Condicionamiento de sistemas

En este apartado analizamos el error en la solucion de un sistema lineal Ax = b debido ala propagacion del error en los datos. Esta capacidad de propagacion esta caracterizadapor un numero denominado numero de condicion que depende exclusivamente de la matrizdel sistema A. Por lo general, el numero de condicion no es invariante dentro de la mismaclase de matrices equivalentes, por lo que algunas transformaciones alteran este numero.

En el siguiente resultado relacionamos la norma de una matriz A con la inversibilidadde la matriz I + A.

Lema 24 a) Si (I + A) es singular, entonces ‖A‖ ≥ 1.

b) Sea A una matriz verificando que ‖A‖ < 1, donde ‖ ‖ es una norma vectorial sub-ordinanda, entonces (I + A) es inversible y

‖(I + A)−1‖ ≤1

1 − ‖A‖

a) Como I + A es singular, entonces λ = −1 es un valor propio de A y portanto ρ(A) ≥ 1. De la Proposicion 21 (a) concluimos que ‖A‖ ≥ 1.

b) Del apartado (a), se sigue que I +A es inversible. Por tanto (I +A)(I +A)−1 = I, de donde (I + A)−1 = I − A(I + A)−1. Aplicando la norma aambos lados de la igualdad se sigue que ‖(I + A)−1‖ = ‖I − A(I + A)−1‖ ≤‖I‖+‖A‖‖(I+A)−1‖. Como ‖ ‖ es una norma subordinada, entonces ‖I‖ = 1,por tanto ‖(I + A)−1‖ ≤ 1 + ‖A‖‖(I + A)−1‖, de donde se sigue el resultado.

Al numero κ(A) = ‖A‖‖A−1‖ se le denomina numero de condicion de la matriz A.En el siguiente resultado probamos que el numero de condicion controla la propagacion ala solucion del error relativo en los datos (el vector b y la matriz A).

Proposicion 25 Sea z la solucion del sistema de ecuaciones lineales Ax = b.

a) Si z es la solucion del sistema de ecuaciones lineales Ax = b, entonces

‖z− z‖

‖z‖≤ κ(A)

‖b− b‖

‖b‖.

b) Si z es la solucion del sistema de ecuaciones lineales Ax = b con ‖A− A‖ suficien-temente pequena, entonces

‖z − z‖

‖z‖≤ κ(A)

‖A − A‖

‖A‖

(

1

1 − ‖A−1‖‖A − A‖

)

.

a) De Az = b y Az = b, se sigue que A(z − z) = b − b, por tanto z − z =A−1(b − b). De donde tenemos que

‖z − z‖ ≤ ‖A−1‖‖b− b‖. (3)

28

Page 29: 2-Sistemas lineales

Por otra parte, sabemos que ‖b‖ = ‖Az‖ ≤ ‖A‖‖z‖. Por tanto

1

‖z‖≤

‖A‖

‖b‖. (4)

La proposicion se concluye a partir de las expresiones (3) y (4).b) Dado que Az = b y que Az = b, se sigue que Az = Az. Restando a

ambos lados de la igualdad la expresion Az llegamos a que

z − z = A−1(A − A)z. (5)

De donde concluimos que

‖z − z‖ ≤ ‖A−1‖‖A − A‖‖z‖ (6)

Por otra parte ‖A−1(A − A)‖ ≤ ‖A−1‖‖A − A‖ < 1 si ‖A − A‖ suficien-temente pequena. Por el Lema 24 se sigue que la matriz I + A−1(A − A) esinversible y que

(I + A−1(A − A))−1 ≤1

1 − ‖A−1(A − A)‖≤

1

1 − ‖A−1‖‖A − A)‖.

Escribiendo (5) en la forma z = (I + A−1(A − A))z y puesto que I +A−1(A − A) es inversible, llegamos a que

z = (I + A−1(A − A))−1z

y

‖z‖ ≤1

1 − ‖A−1‖‖A − A)‖‖z‖.

De (7) concluimos que

‖z− z‖ ≤ ‖A−1‖‖A − A‖1

1 − ‖A−1‖‖A − A)‖‖z‖, (7)

de donde se sigue la proposicion. �

En consecuencia, sistemas de ecuaciones lineales con matrices con un numero decondicion elevado amplifican pequenos errores en los datos iniciales. Como sabemos,los metodos de descomposicion transforman el sistema original en un nuevo sistema massencillo de resolver, pero en general, peor condicionado.

• Si A descompone en LU, generalmente tenemos que κ(A) ≤ κ(L)κ(U). Por lo que ladescomposicion LU empeora el condicionamiento de la matriz del sistema. De lasestrategias de pivotaje la que menos aumenta el numero de condicion es el pivotajemaximal.

• La descomposicion QR de la matriz A no altera el numero de condicion.

29