Àlgebra Lineal Numèrica UPC
Àlgebra Lineal Numèrica UPC
11 de febrero de 2019
Capı́tulo 1
Errores
1x + 2y = 3
0,4999x + 1,001y = 1,5
Con solución x = 1, y = 1
Si cambiamos 0,499 → 0,500 para obtener el sistema
1x + 2y = 3
0,500x + 1,001y = 1,5
Consideramos el calculo de las raı́ces del polinomio x2 − 18x + 1 usando aritmética de 4 cifras
√
decimales en el calculo de :
√
18 ± 182 − 4 · 1 · 1 √
x= = 9 ± 80
2·1
√
Si tenemos como valor para 80 ' 8,9442, obtenemos las soluciones:
2
Algebra Lineal Numérica 3
x+ = 9 + 8,9442 = 17,9442
x− = 9 − 8,9442 = 0,0558
Hemos obtenido la primera solución con 6 dı́gitos significativos, pero la segunda solo con 3;
√
esto es una perdida importante de información debida al error cometido en la operación al
truncar a 4 dı́gitos.
R1 1
Con el valor inicial I0 = 0 x0 ex−1 dx = [ex−1 ]10 = 1 − e ' 0,63212055
Ası́ calculamos I0 = 0,63212055, I1 = 0,367899, ..., I9 = −0,068480; lo cual es un resultado
absurdo ya que xn ex−1 es no negativo para x ∈ [0, 1], y por lo tanto su integral en ese intervalo
también. Aunque la recurrencia sea cierta matemáticamente, el algoritmo empleado es malo
numéricamente (error en el algoritmo).
f (x0 + h) − f (x0 )
f 0 (x0 ) = lim
h→0 h
Sin embargo, un lı́mite es imposible de calcular numéricamente, y por lo tanto estamos obligados
a tomar una aproximación:
Para h pequeña; la teorı́a sobre lı́mites nos dice que a medida que h se acerca a 0, el valor de la
aproximación se acercará cada vez más al valor real.
Error total := eR + eT
En general, el error de tipo redondeo sera alto con un paso pequeño y bajo con un paso más
grande, mientras que el error de tipo truncado sera bajo con pasos pequeños y grande con pasos
más grandes. Debido a que el error total es la suma de los dos, no existe una solución trivial
para el paso óptimo h∗ que deberı́amos emplear en los cálculos; es decir, en la práctica suele ser
inviable encontrar con total exactitud el minimizador del error total que la teorı́a asegura que
existe.
x = · · · + ak bk + · · · a0 b0 + a−1 b−1 + · · ·
x = ±0.d1 d2 ... · be
fl por truncado:
flT (x) = ±0.d1 ..dn · be
fl por redondeo: (
±0.d1 ..dn · be 0 ≤ dn < 2b
fl(x) =
±(0.d1 ..dn + b−n ) · be b
2 ≤x<b
Algebra Lineal Numérica 5
Supongamos que queremos almacenar fl(x) con la siguiente estructura (en base b = 2)
[∗] [ ∗ | ∗ | ∗ | ∗ | ∗ | ∗ | ∗ ] [∗] [ ∗ | ∗ | ∗ | ∗ | ∗ ]
|{z} | {z } |{z} | {z }
s1 d1 ,...,dn s2 e1 ,..,ek
Donde s1 es el signo de x, d1 , ..., dn son los dı́gitos de fl(x)1 , s2 és el signo del exponente y
e1 , ..., ek los dı́gitos del exponente de fl(x).
Sin embargo, este mecanismo de representación no es del todo eficiente:
Idea. Una primera mejora se basarı́a en darnos cuenta de que al ser la base 2 y d1 6= 0, que
necesariamente d1 = 1. Ası́ pues, no hay razón para guardarlo y malgastar memoria; esto nos
da un dı́gito más de precisión con el mismo espacio.
Idea. Una segunda mejora serı́a cambiar la manera en el que guardamos el exponente e. Defini-
mos e0 = e + no , con un no fijo, definido como el mı́nimo natural tal que e0 > 0 para todos los e
posibles en la representación original; observamos que la definición de e0 establece una biyección,
ası́ que guardando e0 obtenemos unı́vocamente e. Por ser e0 > 0 siempre, al guardarlo podemos
prescindir el bit asignado al signo de e y utilizarlo para guardar un dı́gito más de e0 /e. El valor
de no para el tipo float (32 bits, 23 para la mantisa, 8 para el exponente) es 127, y 1023 para el
tipo double (64 bits, 52 para la mantisa, 11 para el exponente).
Definición 1.3.3. El ε-máquina de un ordenador es el mı́nimo ε > 0 tal que fl(1 + ε) > 1
ea (x) ea (x)
Definimos el error relativo cometido en aproximar x con x como: er (x) = x ' x
1
o, equivalentemente, la mantisa
6 Rodriguez Muñoz, Adrián
|ea (flT (x))| = |fl(x) − x| = dn+1 ... · b−(n+1) · be ≤ b · b−(n+1) · be = b−n+e = εa (flT (x))
ea (x) b−n+e
|er (flT (x))| = | | ≤ −1+e = b−n+1 = εr (flT (x))
x b
Error cometido en punto flotante por redondeo: Con un argumento similar al anterior vemos
que las cotas para el error absoluto y relativo al hacer punto flotante por redondeo son:
1
|ea (flR (x))| = b−n+e = εa (flR (x))
2
1 −n+1
|er (flR (x))| = b = εr (flR (x))
2
Definición 1.4.2. Usualmente consideraremos b = 10.
En esta definición aparecen los 21 ya que por defecto consideramos coma flotante por redondeo
(al ser el error menor); en caso de utilizar coma flotante por truncado, las definiciones serı́an
idénticas pero no aparecerı́a el 12 .
En principio tenemos que ea (x ± y) = ea (x) ± ea (y). Sin embargo al manejar cotas, estamos
obligados a usar:
Definición 1.4.3.
εa (x ± y) = εa (x) + εa (y)
En el caso del producto, tenemos que er (xy) = xy(1 + δx )(1 + δy ) = xy(1 + δx + δy + δx δy ) '
xy(1 + δx + δy ); nos quedamos con la aproximación de orden uno de esta expresión, ya que si
δx , δy << 1,entonces δx δy << δx + δy . Ası́ pues tenemos que:
Definición 1.4.4.
εr (x · y) / εr (x) + εr (y)
Nota. Ojo con restar variables “cercanas”; se generaran errores relativos grandes:
ea (x − y) x y
er (x − y) = = er (x) − er (y)
x−y x−y x−y
Algebra Lineal Numérica 7
Vemos que si x,y son cercanos, x − y será muy pequeño y al dividir la cota del error incrementa
muchı́simo.
√
Ejemplo 1.4.1. Calcular las raı́zes del polinomio x2 − 18x + 1, con calculo de de 4 cifras
decimales (por truncado) Obtenı́amos:
√
x+ = 9 + 80 = 17,94442 6 dı́gitos significativos
√
x− = 9 − 80 = 0,0558 3 dı́gitos significativos (!)
y 8,9442
er (x − y) ' | | · |er (y)| = · 10−5+1 ' 0.16 × 10−1 < 10−2+1
x−y 0,0588 | {z }
5 dı́g sig
Tenemos x valor real, x aproximación. Queremos calcular f (x), pero solo podemos tener una
aproximación f (x) = f (x).
Supongamos que todo el error viene de los datos y que el cálculo de f es perfecto:
Error absoluto
f (x) = f (x + ea (x)) = f (x) + f 0 (x)ea (x) + θ2 (ea (x)) ' f (x) + f 0 (x)ea (x)
| {z }
ord. dos en ea (x)
Error relativo
ea (f (x)) f 0 (x)ea (x) xf 0 (x)ea (x) xf 0 (x)
er (f (x)) = ' = = er (x)
f (x) f (x) f (x)x f (x)
0 0
∴ |er (f (x))| ≈ | xff (x)
(x)
||er (x)|, dónde el término | xff (x)
(x)
| recibe el nombre de factor de propaga-
ción/amplificación del error (fdp).
Ejemplo 1.5.1 (Seguridad de la operación raı́z cuadrada). Consideramos el cálculo de f (x) =
√ 1
x 2√ √
x: fdp = √ x
x
= 21 . ∴ |er ( x)| ' 12 |er (x)| Calcular la raı́z cuadrada es una operación segura.
1 1
Ejemplo 1.5.2 (Seguridad de la operación 1−x2
). Consideramos el cálculo de f (x) = 1−x2
: fdp
x 4x2 2
(1−x ) 4x2 1
= 1 = 1−x2
= 4(1 − 1−x2
); vemos que el fdp serı́a muy grande cuando x ' 1; en ese
1−x2
caso, calcular f de esta manera serı́a una operación insegura. En vez de calcularlo dividiendo,
podemos expandir en Taylor: f (x) ≡ 1 + x2 + x4 + x6 + ...
Ejemplo 1.5.3 (Efecto en el cambio de los coeficientes de un sistema lineal en la solución).
Consideramos el sistema:
ax + by = 3
cx + dy = 1,5
Supongamos que ademas del error en los datos x = x + ea (x), obtenemos un error relativo
al calcular f acotado por δf . Entonces tenemos la siguiente expresión para el error abosluto
cometido:
0
ea (f (x)) ' |f (x)||ea (x)| + δf |f (x)|
Algebra Lineal Numérica 9
p(x) = an xn + · · · ak xk + · · · a1 x + a0
(•) También sabemos que cada raı́z αl es función de los coeficientes: αl = αl (an , ..., a0 )
(•) Queremos estudiar ea (αl (an , ..., a0 )), er ((αl (an , ..., a0 )) l = 1 ÷ n
En nuestro ejemplo supondrems que solo hay error en el coeficiente ak . Por lo tanto:
∂αl
ea (αl (ak )) ' ea (ak )
∂ak
∂αl
Necesitamos calcular ∂ak . Utilizaremos derivación implı́cita respecto ak sobre la siguiente igual-
dad:
an αln + · · · ak αlk + · · · a0 = p(αl ) = p(αl (ak ))
Para obtener:
∂αl ∂αl αk
αlk = p0 (αl (ak )) =⇒ = 0 l
∂ak ∂ak p (αl (ak ))
El numerador de la expresión obtenida es fácil de calcular; para calcular el denominador haremos
uso de la representación de un polinomio como producto de sus factores simples:
n
Y
p(x) = an (x − αl ) (x − αj )
j=1,j6=l
n n
Y d Y
=⇒ p0 (x) = an (x − αj ) + an (x − αl ) (x − αj )
dx
j=1,j6=l j=1,j6=l
n
Y
∴ p0 (αl ) = an (αl − αj )
j=1,j6=l
10 Rodriguez Muñoz, Adrián
De manera que obtenemos la expresión deseada para el error absoluto del cálculo de αl debido
al error en ak :
αlk
∴ |ea (αl (ak ))| ' Qn |ea (ak )|
an j=1,j6=l (αl − αj )
(−210) · (1619−1 )
er (αl (ak )) = |er (a19 )| ≈ 0.31 × 1011 er (a19 )
1 · (15!4!(−1)4 )
Consecuencia: Suponemos que queremos calcular el nuevo αl (ak ) (ex. α16 (a19 )) con t dı́gitos
significativos. ¿Cuantos dig. sig. correctos deberı́a tener, aproximadamente, a19 ?
1 1
· 101−t ∼ 0.31 × 1011 · 101−s
2 2
∴1 − t = 12 − s ⇐⇒
s ∼ 11 + t
Es decir que si queremos un valor para la raı́z en el que t dı́gitos sean, con seguridad, correctos,
entonces necesitamos saber 11+t dı́gitos del coeficiente a19 (suponiendo que conocemos los otros
de manera exacta).
(1) :εa (s2 ) = εa (s1 ) + εa (x2 ) + (s1 + x2 )δ = x1 δ + x2 δ + (x1 + x2 )δ ' (2x1 + 2x2 )δ
(2) :εa (s3 ) = εa (s2 ) + εa (x3 ) + (s2 + x3 )δ ' (2x1 + 2x2 )δ + x3 δ + (x1 + x2 + x3 )δ = (3x1 + 3x2 + 2x3 )δ
Sistemas lineales
2.1.1. Objetivo:
Queremos resolver el sistema lineal A~x = ~b con A ∈ Mn (R); ~b, ~x ∈ Rn ; con A y ~b dados y tales
que det A 6= 0 ∴ ∃! solución ~x ∈ Rn
Si n = 1 : ax = b
1. Calculamos a−1 = 1
a
2. x = a−1 b = b
a
Si n ∈ N : A~x = ~b
1. Calculamos A−1
2. ~x = A−1~b
Nota. El único cálculo eficiente de A−1 involucra resolver el sistema matricial AX = In , o
equivalentemente los n sistemas lineales Ax~i = e~i , i = 1 ÷ n. Necesitamos cambiar de estra-
tegia (utilizar la fórmula A−1 = det1 A C T , dónde C es la matriz de cofactores, es terriblemente
ineficiente)
12
Algebra Lineal Numérica 13
n! sumandos =⇒ n! − 1 sumas
Para cada sumando tenemos n + 1 términos multiplicando =⇒ n productos
∴ Cada determinante: n! − 1 sumas, n!n productos
(n + 1)(n! − 1) sumas
(n + 1)n!n productos
n divisiones
∴ (n + 1)2 n! − 1 operaciones
Tiempo que ejecución de la resolución del sistema por el Método de Cramer: (en una máquina
de 1 GFlops)
Algoritmo: xi ← dbiii , i = 1 ÷ n
Requisito: dii 6= 0 ∀i ∈ [n] ⇐⇒ det D = ni=1 dii 6= 0
Q
Número de operaciones. n divisiones
14 Rodriguez Muñoz, Adrián
Un sistema triangular superior tiene matriz A ≡ U = (uij ) con uij = 0 si i > j, es decir:
u11 . . u1n x1 b1
~
. .. .
..
. .
. .
U~x = b ⇐⇒
. = .
unn xn bn
Pn
bn bi − k=i+1 uik xk
Algoritmo: xn ← dnn , xi ← per a i = (n − 1) ÷ 1
uii Q
Requisito: uii 6= 0 ∀i ∈ [n] ⇐⇒ det U = ni=1 uii 6= 0
Número de operaciones. n2 operaciones
n divisiones
n2 −n
2 sumas
n2 −n
2 multiplicaciones
2. Métodos iterativos: Parten de una aproximación inicial de la solución y calculan una su-
cesión de aproximaciones sucesivas mejoradas, el lı́mite de la cual es la solución buscada.
No hay ningún criterio general para saber qué método usar, pero en la práctica se observa que el
método directo es útil cuando la matriz es densa (pocos ceros) y su dimensión es más pequeña
que 100, y el método iterativo va bien cuando la matriz es escasa (muchos ceros) y su dimensión
es más grande que 100. En casos mixtos (ej. pocos ceros y dimensión alta) cualquiera de los dos
puede ser mejor que el otro caso a caso, o incluso se podrı́a utilizar (y se utiliza en la práctica)
métodos especializados si el sistema es de un cierto tipo especial.
Denotamos A(0) := A, b(0) := ~b tal que tenemos A(0) ~x = b(0) , y suponemos a11 6= 0. En el primer
(0)
ai1
paso, queremos eliminar x1 de les ecuaciones 2, ..., n. Definimos mi1 := a011
y hacemos:
Para i = 2 ÷ n
o equivalentemente:
(1) (0) (0)
aij := aij − mi1 a1j
(1)
bi := b(0) (0)
i − mi1 b1
(1)
En el segundo paso suponemos a22 6= 0, y queremos eliminar x2 de la ecuación 3, ..., n. Definimos
(1)
ai2
mi2 := a122
y hacemos:
Para i = 3 ÷ n
o equivalentemente:
(2) (1) (1)
aij := aij − mi2 a2j
(2)
bi := b(1) (1)
i − mi2 b2
Para i = 2 ÷ n, j = 1 ÷ n.
(0) (1) (2) (k−1)
Seguimos este procedimiento para 3, ..., n − 1. Los elementos a11 , a22 , a33 , ..., akk se llaman
pivotes. Si todos los pivotes son no nulos, entonces el en paso n − 1 tenemos el siguiente SL
equivalente.
(0) (0) (0) (0)
a11 x1 + a12 x1 + · · · + a1n xn = b1
(1) (1) (1)
a22 x2 + · · · + a2n xn = b2
A (n−1)
~x = ~b(n−1)
⇐⇒ .. .. ..
. . .
(n−1) (n−1)
ann xn = bn
Nota.
(0) (0) (0)
a1,1 x1 . . . . . . . . . . . . . . . . . . . . a1,n xn b1
.. (1)
.
..
. . . . . . . . . . . . . . . . . . a2,n xn
(k−1) ..
k−1
bk
ak,k xk . . . . . . . . . . . .
A(k) = b(k) =
(k) (k)
b(k)
ak+1,k+1 xk+1 . . . ak+1,n xn
k+1
.
.. .. .
. .
.
(k) (k) (k)
an,k+1 xk+1 . . . an,n xn bn
5: for j ← k + 1 ÷ n do
6: aij ← aij − mik akj
7: end for
8: end for
9: end for
. Resolución del SL triangular superior
10: xn ← abnn
n
11: for k ← n − 1 P ÷ 1 do
bk − nj=k+1 akj xj
12: xk ←
akk
13: end for
14: return x . x és la solució al sistema A~x = ~b
15: end procedure
(k)
Nota. En la implementación del método de Gauss en un computador, el aij que se obtiene
(k)
sustituye los aij originales, de la misma forma que los bi sustituyen los bi . Los mik , llamados
multiplicadores, se pueden guardar en el sitio de los aik , que ya no serán usados nuevamente
una vez se ha calculado el mik .
Algebra Lineal Numérica 17
Numero de operaciones
(1)
En este ejmplo a22 = 0, de manera que es necesario intercambiar las filas 2 y 3.
x1 + x2 + x3 = 1
x2 + x3 = 0
x3 = 1
(1)
Ası́, a22 6= 0 y se puede continuar.
Este procedimiento se sigue en general. Si en el paso i-ésimo (A(i−1) a A(i) )
a11 a12 . . . . . . . . . . . . . a1n
a22 . . . . . . . . . . . . . a2n
.. ..
. . . . . . . . . . . .
(i)
A = akk . . . . . . . ak,n
ak+1,k+1 · · · ak+1,n
.. .. ..
. . .
an,k+1 · · · an,n
(i−1) (i−1)
Si aii = 0 entonces existe algún aji 6= 0 (ya que det A 6= 0) y entonces se intercambian las
ecuaciones i-ésima y j-ésima y se continua el proceso con el pivote no nulo.
Por otro lado, si el pivote es no nulo pero muy pequeño se pueden generar errores numéricos.
Por ejemplo, en el sistema: ! ! !
−10−5 1 x1 1
=
2 1 x2 0
que tiene como solución x1 = −0,4999975... y x2 = 0,999995, si suponemos que se trabaja con
−2 (1)
un ordenador de tres dı́gitos, entonces m21 = = −0,2 · 106 y a2 = 1 − (−0,2 · 106) =
10−5
(1)
0,000001 · 106 + 0, 2 · 106 = 0, 2 · 106 . Por lo tanto, b2 = 0 − (−0,2 · 106 ) = 0,2 · 106 . De manera
el sistema es ! ! !
−105 1 x1 1
=
0 0,2 · 106 x2 0,2 · 106
1 − x2
y, solucionándolo obtenemos que x2 = 1 y x1 = = 0.
−10−5
(0) (0)
El número a11 es muy pequeño, m21 es muy grande y no deja intervenir al elemento a22 en el
cálculo de a122 .
La estrategia es intentar evitar multiplicadores grandes. En el ejemplo se intercambian las dos
ecuaciones ! ! !
2 1 x1 0
=
−10−5 1 x2 1
Operando como antes se tienen las soluciones x2 = 1 y x1 = 0,5.
Algebra Lineal Numérica 19
Por tanto, para prevenir posibles errores numéricos se sigue la estrategia de pivotaje parcial. En
el paso k-ésimo se escoge r como el menor natural tal que
(k−1) (k−1)
ark = max aik , k≤i≤n
En el primer paso,
(0)
s1 = max a1j = max(2, 3, | − 1|) = 3
1≤i≤3
(0)
s2 = max a2j = max(4, 4, | − 3|) = 4
1≤i≤3
(0)
s3 = max a3j = max(| − 2|, 3, | − 1|) = 3
1≤i≤3
y se calcula
(0)
ai1 2 4 2
max = max , , = 1.
1≤i≤3 si 3 4 3
y por tanto
1 5
max , = 1.
1 5
No se hace el intercambio de filas y se sigue. El sistema final es
4 4 −3 x1 3
0 1 1/2 x2 = 3/2
0 0 −5 x3 −5
Con
1
.
..
1
G(k)
=
−mk−1,k 1
.. ..
. .
−mn,k 1 · · · 1
Demostración. G(k) es la matriz elemental que resta la fila k multiplicada por −mi,k a las filas
i, i = k + 1 ÷ n.
Corol·lari (Descomposición LU ).
(n−1) (n−1)
A
| {z } = |G · G(1) G(0)} A(0)
· ·{z
TS UTI
Si notamos L̃ ≡ G(n−1) · · · G(1) G(0) , U ≡ A(n−1) , obtenemos A = A(0) como producto de una
matriz triangular inferior con unos en la diagonal con una matriz triangular superior (TS: Trian-
gular superior, UTI: Unitriangular inferior).
U = LA ⇐⇒ A = L̃−1 U = LU
Donde −1
1 1
.. ..
−1
−m
2,1 . m
2,1 .
L = L̃ = . = .
.. ..
.. ..
.
.
−mn,1 . . −mn,n−1 1 mn,1 . . mn,n−1 1
Proposición 2.4.1. Los pasos de la eliminación de Gauss (sin intercambios o pivotaje) man-
tienen el valor del determinante.
Demostración. A(k) = G(k) A(k−1) =⇒ det A(k) = det G(k) det A(k−1) = 1 · det A(k−1)
A[m]11 submatriz formada por las primeras m files y las primeras m columnas.
A[m]12 submatriz formada por las primeras m files y las ultimes n − m columnas.
A[m]21 submatriz formada por las últimas n − m files y las primeras m columnas.
A[m]22 submatriz formada por las últimas n − m files y las últimas n − m columnas.
Lema. Sea P = LA con P, A, L ∈ Mn×n (R), y L triangular inferior. Entonces P[m]11 =
L[m]11 A[m]11 , m = 1, 2, .., n
(k)
Corol·lari. En el algoritmo de Gauss, det A[m]11 = det A[m]11 ∀k = 1, .., n − 1,∀m = 1, .., n
22 Rodriguez Muñoz, Adrián
Proposición 2.4.2. Sea A ∈ Mn (R) regular. Entonces podemos aplicar el algoritmo de Gauss
(i−1)
sin pivotaje, o equivalentemente: aii 6= 0 ⇐⇒ det A[m]11 6= 0 ∀m = 1, .., n
Nota. Este resultado nos da una condición necesaria y suficiente para que podamos aplicar el
método de Gauss sin intercambios, pero es difı́cil comprobar “a priori” la regularidad de matrices
generales. No obstante, es útil para matrices de tipos especiales (simétricas definidas positivas y
estrictamente diagonales dominantes) que aparecen, por ejemplo, en la resolución numérica de
EDPs.
Nota. Por esta razón sólo es necesario calcular y guardar los coeficientes de la parte superior
y de la diagonal de A(k) , k = 1, .., n − 1. La parte inferior tiene 0’s o bien coeficientes que
conocemos por simetrı́a. Ası́ pues pues el algoritmo se escribe:
Observación
" # 2.4.1. Si A es simétrica, no podemos asegurar que no será necesario el pivotaje.
0 1 (0)
Ej: (tenemos a11 = 0)
1 1
Algebra Lineal Numérica 23
Definición 2.4.1. Una matriz simétrica A ∈ Mn (R) es definida positva si: xt Ax > 0 ∀x 6= 0
Corol·lari. Por la proposición anterior y el criterio de Sylvester, tenemos que podemos aplicar
Gauss sin pivotaje a las matrices simétricas definidas positivas.
(i) A[k]11 es simétrica definida positiva ⇐⇒ det A[k]11 > 0 para k = 1, ..., n
Demostración.
(i) Sylvester
(k)
(iv) Hemos visto anteriormente que A[k]22 es simétrica ∀ k = 0, ..., n−1. Por tanto solo hace falta
demostrar que se satisface el criterio de Sylvester. Podemos expresar el menor principal
(k)
que queramos de A[k]22 k = 0, ..., n − 1, como el cociente de un menor de A[∗]11 > 0 y
productos de pivotes de la diagonal > 0.
Definición 2.4.2. Una matriz A ∈ Mn (R) es estrictamente diagonalmente dominante por filas
(edd) si X
aii > |aij |
j∈[n]\i
Para todo i = 1 ÷ n
Proposición 2.4.5. Todas les submatrices principales de una matriz edd son edd.
Corol·lari.
2.5.1. Descomposición LU
Nota. Si todos los menores de A son no nulos, entonces podemos aplicar Guass sin pivotaje y
obtener A = LU . Pero esto no pasa en general, puede ser necesario hacer pivotaje; en estos caso
como hacemos LU ?
Definición 2.5.1. Diremos que una matriz P ∈ Mn (R) es una matriz de permutación si
sus filas o columnas son una reordenación de la identidad.
Algebra Lineal Numérica 25
Nota. P −1 = P T
Vemos que el producto de una matriz de permutación que intercambia solo dos filas por una
matriz unitriangular inferior atómica (que solo tiene entradas no cero en una sola columna excep-
tuando la diagonal), se puede expresar como el producto de otra matriz unitriangular atómica
por la misma matriz de permutación en orden inverso, si los ı́ndices de las filas intercambiadas
son superiores al de la columna no nula de la matriz atómica. Es decir:
Por tanto podemos ir aplicando esta propiedad sucesivamente a la igualdad anterior (del método
de Gauss) para obtener:
Cálculo del determinante: det A = (−1)s det L det U = (−1)s u11 ...unn On s es el número
de intercambios
Cálculo de P
Ejemplo 2.5.4. Aplicamos Gauss con pivotaje parcial escalonado al sistema siguiente:
1 2 2 4 1
1 2 1 2
, b = 0
A= 3 2 0
6
7
4 2 1 1 2
Calcular P A = LU
Pivote 1: max(|1/4|, |1/2|, |3/6|, |4/4|) = 1 ∴ f 1 ↔ f 4 l1 = 4 p1 = (4, 2, 3, 1)
Eliminación 1:
4 2 1 1 4 2 1 1
1 2 1 2
7→ 1/4 3/2 3/4 7/4
3 2 0 6 3/4 1/2 −3/4 21/4
1 2 2 4 1/4 3/2 7/4 15/4
Resultados:
0 0 0 1
0 1 0 0
P=
↔ p = (4, 2, 1, 3)
1 0 0 0
0 0 1 0
1 0 0 0
1/4 1 0 0
L=
1/4 1 1 0
3/4 1/3 −1 1
4 2 1 1
0 3/2 3/4 7/4
U=
0 0 1 2
0 0 0 20/3
Descomposición LU general
m11 u11 · · · u1n a11 · · · a1n
. .. .. .. . .. ..
.. .
. . = .
. . .
mn1 · · · mnn unn an1 · · · ann
El algoritmo general de los esquemas compactos trata de obtener una expresión analı́tica para
el producto de LU , y resolver de manera recurrente y exacta el sistema lineal que se obtiene
equivalente al de A. Observamos que en la ecuación general escrita arriba tenemos un total de
n2 + n variables y solo n2 ecuaciones (una para cada coeficiente de A). Esto nos permite fijar n
términos de cualquiera de las dos matrices, aunque normalmente seran los de la diagonal como
en los métodos particulares que se explican a continuación,
Método de Doolittle
De la cual obtenemos:
LU Compacto - Método de Doolitle
1: procedure Doolittle(A) . Descomposición LU (sin pivotaje) de Doolittle
2: for k ← 1...n do
3: for j ← k...n doP
4: ukj ← akj − k−1p=1 mkp upj
5: end for
6: for i ← k + 1...n
do P
7: mik ← u1kk aik − k−1p=1 m u
ip pk
8: end for
9: end for
10: return L = (mij ), U = (uij ) . Tenemos A = LU ; L unitriangular inferior, U triangular
superior
11: end procedure
Método de Craut
De la cual obtenemos
LU Compacto - Método de Craut
1: procedure Craut(A) . Descomposición LU (sin pivotaje) de Craut
2: for k ← 1...n do
3: for i ← k...n doP
4: mik ← aik − k−1p=1 mip upk
5: end for
6: for j ← k + 1...n
do P
7: ukj ← mkk akj − k−1
1
p=1 m kp upj
8: end for
9: end for
10: end procedure
11: return L = (mij ), U = (uij ) . Tenemos A = LU ; L triangular inferior, U unitriangular
superior
En el caso que A sea una matriz simétrica queremos obtener la siguiente factorización: A =
LDLT :
T
1 d11 1 a11 · · · a1n
. . . .
.. . . = ... .. ..
.. .. . .. . .
ln1 · · · 1 dnn ln1 · · · 1 a1n · · · ann
De la cual obtenemos:
T
l11 l11 a11 · · · an1
. . . .
= ... .. ..
.. .. .. .. . .
ln1 · · · lnn ln1 · · · lnn an1 · · · ann
De la cual obtenemos:
Nota.
Pj−1 2
Las cantidades ajj − k=1 ljk son todas positives.
Definición 2.6.1. Diremos que un sistema lineal está mal condicionado si pequeños cambios en
la matriz de coeficientes y/o el término independiente producen grandes cambios en la solución.
Ejemplo 2.6.1. Consideramos el siguiente sistema lineal, y lo resolvemos por Gauss con pivotaje
parcial escalonado y aritmética de tres decimales:
(
0,832x1 + 0,448x2 = 1
0,784x1 + 0,421x2 = 0
Algebra Lineal Numérica 31
Con las soluciones obtenidas x1 = −506, x2 = 942. La solución exacta es x1 = −439, x2 = 817.
¿Cuál es el problema? Las rectas son casi paralelas; un pequeño cambio en la pendiente de una
de las dos envı́a la intersección muy lejos de su posición inicial. Si tomamos el siguiente sistema
lineal perturbado:
(
0,832x1 + 0,448x2 = 1
0,784x1 + (0,421 + ε)x2 = 0
10−10 x1 + 0x2 = 0
−10
0x1 + 10 x2 = 0
con det A = 10−20 ' 0. Este sistema esta muy bien condicionado al ser las dos rectas perpendi-
culares.
Hemos visto que el determinante puede no ser un buen indicador, pero si lo será si la matriz
esta bien escalada. En efecto, en dimensión 2 un buen indicador del mal condicionamiento es el
ángulo que forman las dos rectas que definen el sistema lineal. Lo que haremos en la práctica
es tomar un indicador que es equivalente al ángulo: el área del paralelogramo de lado 1 definido
por las dos rectas. Es decir, tomamos el punto de intersección como el origen y calculamos el
área del paralelogramo formado por los vectores unitarios en las direcciones de la rectas. Vemos
que el área V viene dada por la siguiente expresión:
det A
q q
V = α1 = kA1,∗ k = a11 + a12 , α2 = k2, ∗k = a221 + a222
2 2
α1 α2
Tenemos que 0 ≤ V ≤ 1 (ya que todos los vectores fila son unitarios); si V ∼ 0 =⇒ A mal
condicionada, y V ∼ 1 =⇒ A bien condicionada.
Seguidamente veamos otra manifestación del mal condicionamiento: consideremos el sistema
lineal general Ax = b, y sea x la solución aproximada que obtenemos al resolverlo (sea cual sea
el método que usemos).
32 Rodriguez Muñoz, Adrián
k∆k : E → R+
x 7→ kxk
que satisface:
(i) kxk = 0 ⇐⇒ x = 0E
(ii) αx = |α|kxk ∀α ∈ R,∀x ∈ E
(iii) kx + yk ≤ kxk + kyk ∀x, y ∈ E (desigualdad triangular)
Pn 2
1
kxk2 = i=1 xi
2
(norma euclidiana)
kxk∞ = maxi=1÷n {|xi 1}
1
kxkp = ( ni=1 |xi |p ) p p ≥ 1 (norma p de Hölder)
P
Definición 2.7.2. Una norma matricial es una norma en el espacio vectorial de matices
E = Mn (R) que, aparte de la definición usual, también cumple:
Definición 2.7.3. Diremos que una norma matricial es consistente con una norma vectorial
(que denotemos igual) si:
Definición 2.7.4. Dada una norma vectorial k∆k, se puede definir una norma matricial
subordinada consistente con ella a partir de:
kAxk
kAk := sup tq x 6= 0 = sup {kAxk tq kxk = 1}
kxk
kAxk
entonces tenemos ∀x 6= 0, kxk ≤ kAk ⇐⇒ kAxk ≤ kAkkxk
Ejemplo 2.7.1. Las normas matriciales subordinadas para las normas vectoriales habituales
son:
Pn
kAk1 = max ( i=1 |aij |) (máxima suma de columnas)
1≤j≤n
P
n
kAk∞ = j=1 |aij | (máxima suma de filas)
1≤i≤n
p q
kAk2 = ρ(AT A) = max |ρi |, on ρ1 , ..., ρn son los diferentes VAP’s de AT A
1≤i≤n
Definición 2.7.5. El radio espectral d’una matriz B: ρ(B) := max |λi |, on {λi } son los diferentes
VAP’s de B.
Ejemplo 2.7.2.
1
D = diag(d11 , ..., dnn ) diagonal, antonces: kDk2 = max |dii |, D−1 2
=
i=1÷n min |dii |
i=1÷n
Demostración.
|λ|kxk kλxk
ρ(A) = |λ| = kxk = kxk ≤ kAk
Supongamos que queremos resolver Ax = b (det A 6= 0,b 6= 0) pero que tenemos un error en los
datos, y por lo tanto tenemos A + (δA),b + (δb) en vez de A, b (A = A + (δA),b = b(δb). Entonces
al resolver el sistema lineal no obtnemeos la solcuión exacta x, sino una aproximación x + (δx)
(x = x + (δx)) tq: (A + (δA))(x + (δx)) = (b + (δb)). Con tal de obtener una cota para le error
cometido en nuestra aproximación e x hacemos los siguiente:
1 kAk
Sabemos que kbk = kAxk ≤ kAkkxk, y por lo tanto kxk ≤ kbk
Definición 2.8.1. Definimos el numero de condición de una matriz A como µ(A) = kAk A−1
Proposición 2.8.1.
µ(I) = 1
µ(A) ≥ 1
Demostración.
Ejemplo 2.8.1. Consideramos el sistema lineal Ax = b (que vimos que era muy mal condicio-
nado)
! !
1,2969 0,8648 0,8642
A= ,b =
0,2161 0,1441 0,1440
con
!
−1 0.1441 × 108 −0.8648 × 108
A =
−0.2161 × 108 1.2969 × 108
Entonces calculamos:
Es decir, amplifica el error relativo como mı́nimo por ∼ 108 =⇒ SL muy mal condicionado.
2 4 92,011
Resolvemos: AT Ax = AT b ! ! !
18 29 x 716,014
29 56 y 1302,161
∴ x = 14,0069 y = 15,99929
2.10.1. Preliminars
Definición 2.10.1. Direm que un conjunt de funcions φ0 (x), ..., φn (x) es linealment independent
(l.i.) en un interval I ⊂ R si és satisfà: a0 φ0 + · · · + an φn ≡ 0 en I ⇐⇒ a0 = · · · = an = 0.
36 Rodriguez Muñoz, Adrián
xi x0 x1 ··· xN
yi y0 y1 ··· yN
Lema. Sigui {φj }j=0÷n un conjunt de funcions definides en un interval I ⊂ R,i x0 , .., xm ∈ I
una xarxa de punts. Aleshores son equivalents:
El conjunt {φj }j=0÷n és l.i. i la matriu Φ ≡ (φj (xi )) 1 ≤ i ≤ m, 0 ≤ j ≤ n te rang màxim.
Definición 2.10.3. Anàlogament definim la norma d’una funció definida en el interval I respecte
una una xarxa de punts x0 , ..., xm ∈ I com:
m
p X 1
kf k = (f, f ) = ( f (xi )2 ) 2
i=0
Atenció: El mateix comentari d’abans; kf k f ≡ 0 en I, només que les seves imatges en la xarxa
son totes 0. Per tant, aquesta aplicació rep el nom de semi-norma. Tanmateix, la semi-norma
si que compleix les altres propietats de les normes sobre espais vectorials com ara:
kαf k = |α|kf k
kf k ≥ 0
kf + gk ≤ kf k + kgk
(+) Error 0
(−) Hi ha error
qP
N
Per tant, volem M ∗, B∗
∈ R tq M ∗, B∗
= arg min M, Bky − (M x + b)k2 = 2
i=0 (yi − (M xi + B)) .
En termes de sistemes sobre determinats, voldrı́em la millor solució al sistema:
1 x0 ! y0
.
.. ..
B ..
.
M
=
⇐⇒ Aa = y
.
1 xN yN
Resultats d’àlgebra lineal ens diuen que el vector a que minimitza kAx − bk és la solució al
sistema compatible determinat:
! ! !
1, 1 1, x B 1, y
= ⇐⇒ At Aa = At y
x, 1 x, x M x, y
Que anomenem sistema d’equacions normals (SEN). Més en general, si volem aproximar la
taula per una combinació lineal d’un conjunt funcions l.i. φ0 , ..., φm , f ≡ a0 φ0 + · · · + am φm ;
començarı́em amb el sistema sobre-determinat:
φ0 (x0 ) · · · φm (x0 ) a0 y0
.. .. .. . .
. .
. . . . = . ⇐⇒ Aa = y
φm (xN ) · · · φm (xN ) am yN
Ejemplo 2.10.1. Volem calcular la recta de regressió sobre la següent taula amb el SEN.
38 Rodriguez Muñoz, Adrián
x 1 2 3 4 5 6 7 8 9 10 11
y 0 0.6 1.77 1.92 3.31 3.52 4.59 5.31 5.79 7.06 7.17
(, ) φ0 = 1 φ1 = x
φ0 = 1 11 66
φ1 = x 66 506
y 41.04 328.05
Mètode 1:
(•) Calcular M = At A, b = At y
(•) Fer Cholesky sobre M = Lt L
(•) Resoldre els sistemes triangulars Lu = b,Lt a = u
Mètode 2:
(•) Fer descomposició A = QR, amb Q ortonormal (per l’esquerra) i R triangular superior
no singular.
(•) Resoldre el sistema triangular Ra = Qt y (Que s’obté de: At Ax = At y ⇐⇒
Rt Qt QRa = Rt Qt y ⇐⇒ Rt Ra = Rt Qt y ⇐⇒ Ra = Qt y)
El segon mètode serà en general més ràpid i per tant el que farem servir. Altres aspectes positius
de la descomposició QR es que el nombre de condició de R es el mateix que el de A; i per tant
el mal condicionament del sistema es manté constant al fer QR (el qual no es cert amb altres
mètodes com ara LU o Cholesky; i per tant, probablement empitjora)
2.11. Descomposició QR
Sigui A ∈ Mm×n (R), m ≥ n, i de rang màxim n. Volem calcular la descomposició A = QR
amb Q ∈ Mm×n (R) ortogonal per l’esquerra (Qt Q = I) i R ∈ Mm×n (R) triangular superior no
singular. Emprarem el mètode de Gram-Schmidt modificat:
Algebra Lineal Numérica 39
(1)
3r11 = a1 =3
1 (1)
q1 = a = (2/3, 1/3, −2/3)t
r11 1
(1)
Ortogonalitzem a2 :
(1)
3r12 = q1 , a2 = −2
(2) (1)
a2 = a2 − r12 q1 = (7/3, 2/3, 8/3)t
(2) √
3r22 = a2 = 13
(2) t
a2 7 2 8
q2 = = √ , √ , √
r22 3 13 3 13 3 13
U ∈ Mm×n (R) és esquerra ortogonal (U T U = In ). Els vectors columna de U ≡ (u1 , .., un )
s’anomenen vectors singulars per la esquerra.
V ∈ Mn×n (R) és ortogonal (V T V = V V T = In ). Els vectors columna de V ≡ (v1 , .., vn )
s’anomenen vectors singulars per la dreta.
Σ ∈ Mn×n (R) les entrades de Σ ≡ diag(σ1 , ..., σn ) s’anomenen valors singulars de la matriu
A. Endemés σ1 ≥ · · · ≥ σn ≥ 0; σ1 rep el nom del valor singular principal (el més gran).
Avj = σj uj , j = 1 ÷ r
Avj = 0, j = r + 1 ÷ n (ja que son VEP’s de VAP 0 de At A; son el nucli de A)
AV = U Σ ⇐⇒ A = U ΣV −1 = U ΣV t
Teorema 2.12.3 (Teorema de la SVD: Descomposició completa). Sigui A ∈ Mm×n (R) amb
m ≥ n. Llavors existeix una descomposició de la matriu A de la forma: A = Û Σ̂V T , tq:
Demostración. Procedim exactament igual que a la descomposició reduı̈da, excepte que ampliem
el conjunt {u1 , .., ur } a una base ortonormal de Rm . Aleshores tenim:
a11 · · · a1n u11 · · · · · · um 1 σ1
. . v11 · · · vn1 . . ..
.. .. .. .. .
.. ..
=
. .. . . .
..
. ..
σn
. v1 · · · vn . .
n n ..
an1 · · · ann u1m · · · · · · um m 0 . 0
Demostración. Per la SVD completa tenim: A ∼ Σ̂ (son semblants; en bases adients son iguals).
Per tant rank A = rank Σ̂ = r.
" #
4 3
Ejemplo 2.12.1. Calculem la SVD de A =
8 6
" #
80 60
• S= AT A =
60 45
• VAP’s de S: λ1 = 125,λ2 = 0
• VEP’s de S:
1 = [(4, 3)], v = (4/5, 3/5)
→ E125 1
" √ #
5 5 0
• Σ≡ ,r=1
0 0
• VAP’s de S: λ1 = 17,λ2 = 1
• VEP’s de S:
√ √
1 = [(1, 1)], v = (1/ 2, 1/ 2)
→ E17 1
√ √
→ E11 = [(1, −1)], v2 = (1/ 2, −1/ 2)
√ √ !
1/ 2 1/ 2
• V ≡ √ √
1/ 2 −1/ 2
√ !
17 0
• Σ≡
0 1
√ √ √
3/ 34 −1/ 2 2/ 17
√ √
• Û ≡
4/√34 0 −3/ 17
√ √
3/ 34 1/ 2 2/ 17
√
17 0
• Σ̂ =
0 1
0 0
SVD de una matriu amb mes files que columnes: Si A ∈ Mn×m , amb n ¡m; aleshores
prenem B = AT ∈∈ Mn×m amb m > n i calculem la seva SVD: B = Ũ Σ̃Ṽ T , i obtenim
A = B T = Ṽ Σ̃T Ũ = U ΣV T . Atenció: En aquest cas U ∈ Mn×n ,Σ ∈ Mn×n i V ∈ Mm×n . El que
hem fet es equivalent a considerar la matriu AAT i fer un procés anàlog al prèviament vist.
VAP’s i VEP’s de AT A: Els VAP’s de la matriu semidefinida positiva AT A son σ12 , .., σn2 ; i
una base ortonormal de VEP’s corresponents és v1 , .., vn .
VAP’s i VEP’s de AAT : Els VAP’s de la matriu semidefinida positiva AAT son σ12 , .., σn2 i
m − n zeros (suposem A ∈ Mm×n amb m > n). Una base ortonormal de VEP’s corresponents
és u1 , .., un .
Demostración.
AAT = Û Σ̂V T V Σ̂T Û T = Û Σ̂Σ̂T UˆT
" #
Σ2 0n×n
= Û Û T
0n×n 0(m−n)×(m−n)
On Σ = diag(σ1 , .., σn )
Unicitat dels valors singulars: Els valors singulars σ1 , .., σn son únics.
Els VAP’s de H son {+σ1 , −σ1 , ..., +σn , −σn }, amb base de VEP’s ortonormals corresponents
{ √12 (v1 , u1 ), √12 (v1 , −u1 ), ..., √12 (vn , un ), √12 (vn , −un )}
44 Rodriguez Muñoz, Adrián
En cas que σi 6= 0
σi2
" # " # " # " #
AT ui AT σ1i Avi σi vi
vi
= = = σi
Avi Avi σi ui ui
" # " #
vi vi
Anàlogament H . Al ser {vi },{ui } ortogonals, el nou conjunt també es
= σi
−ui ui
q
ortogonal, i √12 [vi | ± ui ] = √12 kvi k2 + kui k2 = 1.
rank A = r
A = {vr+1 , ..., vn }
Im A = {u1 , ..., ur }
Demostración. rank A = r vist a corol·lari del teorema de la SVD. {u1 , ..., ur } és un s.e.v de
dimensió r contingut dins Im A, també de dimensió r ∴ {u1 , ..., ur } = Im A. {vr+1 , ..., vn } és un
s.e.v. de dimensió n − r contingut dins A, també de dimensió n − r ∴ {vr+1 , ..., vn } = A.
Solució analı́tica del problema de mı́nims quadrats: Si A té rang màxim (= n), llavors:
arg minkAx − bk = V Σ−1 U T b
x
2
Demostración. arg minkAx − bk = arg min U ΣV T x − b . Al ser rank A = n, tenim que Σ és
x x
invertible. Prenem ara la matriu Û ≡ [U |Ũ ] (de la SVD completa) ortonormal m × m. Aleshores:
! 2 ! 2
T 2 T T
2 UT T ΣV T x − U T b
U ΣV x − b = Û (U ΣV x − b) = (U ΣV x − b) =
Ũ T −Ũ T b
2 2
= ΣV T x − U T b + Ũ T b
Per tant: arg min U ΣV T x − b = arg min ΣV T x − U T b . Al ser Σ,V T invertibles, existeix solu-
x x
ció exacte (amb norma de la diferencia 0): ∴ arg minkAx − bk = (ΣV T )−1 U T b = V Σ−1 U T b
x
Algebra Lineal Numérica 45
Considerem el sistema Ax = b. Volem una successió {x(k) }k≥0 tq lim x(k) = x. Com ho fem?
La idea es trobar una matriu B i un vector c tq: Ax = b ⇐⇒ x = Bx + C, i prendre la
successió x(k+1) = Bx(k) + c. Una manera d’establir un mètode iteratiu és descomposant la
matriu A = P − (P − A), amb P una matriu no singular anomenada precondicionador de A.
Aleshores fem: Ax = b ⇐⇒ P x − (P − A)x = b ⇐⇒ x = P −1 (P − A)x + P −1 b ⇐⇒
x = (I − P −1 A)x + P −1 b; i procedim: x(k+1) = (I − P −1 A)x(k) + P −1 b per k ≥ 0, x(0) donat.
En termes del format anterior: B ≡ (I − P −1 A),c ≡ P −1 b.
Nota. Comentaris sobre la descomposició amb matriu P
1. Podem escriure x(k+1) = x(k) + P −1 (b − Ax(k) ). Això ho interpretem com una correcció de
P −1 (b − Ax(k) ) feta la pas k + 1 per millor la solució.
2. Cost computacional:
Demostración. Sigui x(0) la aproximació incial i ek := x(k) −x. Es compleix que x(k) = Bx(k−1) +c
i que x = Bx + c. Restant les dues equacions obtenim: ek = Bek−1 = · · · = B k e0 .
=⇒ Suposem que el mètode és convergent. Aleshores ek → 0. Prenem ara x(0) tq e0 sigui VEP
de B. Beo = λe0 =⇒ ek = B k e0 = λk e0 → 0. ∴ |λ| < ∴ ρ(B) < 1
⇐= Suposem que ρ(B) < 1. Volem veure que lim ek = 0. Sigui J la matriu de Jordan associada
a B. Si ρ(B) < 1, lim J k = 0 =⇒ lim B k = lim SJ k S −1 = 0 =⇒ B k e0 → 0 ∴ ek → 0.
1. Observem que quan menor sigui ρ(B), la convergència de ek cap a 0 és més ràpida. Definim
la velocitat de convergència com − ln(ρ(B))
2. Si en alguna norma (consistent), kBk < 1, aleshores ρ(B) ≤ kBk < 1, i per tant el mètode
és convergent.
46 Rodriguez Muñoz, Adrián
kBk
(a) x − x(k) ≤ 1−kBk x(k) − x(k−1)
x − x(k−1)
Demostración. (a) x − x(k) = B(x − x(k−1) ) ≤ kBk x − x(k−1) ≤ kBk =
1 − kBk
kBk
x(k) − x(k−1) . Ja que x − x(k−1) = x − x(k) + x(k) − x(k−1) = B(x − x(k−1) ) +
1 − kBk
x(k) − x(k−1) ⇐⇒ (I − B)(x − x(k−1) ) = x(k) − x(k−1) =⇒ (1 − kBk) x − x(k−1) ≤
x(k) − x(k−1)
(I − B)(x − x(k−1) ) = x(k) − x(k−1) ⇐⇒ x − x(k−1) ≤
(1 − kBk)
Si ai i 6= 0 ∀i, prenem P ≡ D := diag(a11 , .., ann ); obtenim el mètode de Jacobi: x(k+1) = BJ x(k) + cJ k≥0 ;
0 − aa12 · · · − aa1n
11 11 b1
− a21 .. .. ( a11
0 . . 0 i=j . nb
BJ = a. 22 ≡ .
. ≡ aii
cJ = i
.. .. .. .
..
a
− aijii i 6= j
. . bn
ann
− aann
n1
··· ··· 0
h i
(k+1) 1 P (k)
En format de components: xi = aii bi − i6=j aij xj
Nota. Una manera més natural d’introduir el mètode de Jacobi es aı̈llar xi de l’equació i-èssima
de Ax = b:
1 X
xi = bi − aij xj
aii
i6=j
Proposición 2.13.2. Si A és e.d.d, aleshores el mètode de Jacobi aplicat a A és convergent.
P P
aij 1
Demostración. kBJ k∞ = max1≤i≤n |
j6=i aii | = max 1≤i≤n aii j6=i |aij | < 1 per definició
de e.d.d.
Algebra Lineal Numérica 47
Una manera natural de intentar millorar el mètode de Jacobi és utilitzar a cada iteració les
millors aproximacions dels xi ja calculats i.e:
i−1 n
(k+1) 1 X X (k)
xi = bi − aij x(k+1) − aij xj
aii
j=1 j=i+1
que expressa per components dona la igualtat prèviament vista. En format x(k+1) = BGS x(k) +
cGS , tenim BGS = I − (L + D)−1 A, cGS = (D + L)−1 b
Si A és e.d.d. per files o simètrica definida positiva, aleshores el MGS és convergent.
(b) Analitzeu el error comés per els dos algorismes si paressin a les següents ite-
racions (inclòs Jacobi, per Gauss-Seidel es fa exactament igual):
48 Rodriguez Muñoz, Adrián
Mètode de Jacobi:
x(5) = 1, 00032 1, 00032 1, 00032 x(6) = 0, 999936 0, 999936 0, 999936
kBJ k∞ 1/5
x − x(6) ≤ x(6) − x(5) = 0,00141091 = 0,000096/
∞ 1 − kBJ k∞ 1 − 1/5
Ejemplo 2.13.2. Considerem el sistema:
4 −1 −1 x1 7
4 −8 1 x2 −21
−2 1 5 x3 15
(k+1) (k)
Interpretem això com que cada iterat xi s’obté de l’anterior xi més una correcció. El mètode
de relaxació consisteix en multiplicar la correcció per un parametre w, anomenat paràmetre
de relaxació, de manera que s’acceleri la convergència, i.e.
" Pi−1 (k+1) Pn (k) #
(k+1) (k) bi − j=1 aij xj − j=i aij xj
xi = xi +w
aii
1
P (x(k+1) − x(k) ) = b − Ax(k) ⇐⇒ ( D + L)(x(k+1) − x(k) ) = b − Lx(k) − Dx(k) − U x(k) ⇐⇒
w
(k+1) (k) (k+1)
Dx = Dx + w[b − Lx − (D + U )x(k) ] ⇐⇒
(k+1) (k) −1 (k+1) (k)
x =x + wD [b − Lx − (D + u)x ]
(i) |w − 1| ≤ ρ(B)
1. Si w = 1, obtenim GS
2. Si A és simètrica definida positiva, aleshores ρ(Bw ) < 1 ∀w ∈ (0, 2); el mètode de relaxació
es convergent ∀m ∈ (0, 2)
3. No hi ha cap resultat que ens digui com triar el w òptim, encara que hi alguns tipus de
matrius concretes per als quals si es coneix.
Ejemplo 2.13.3. Considerem el sistema
2 5 1 x 12
1
5 2
5 x2 = 12
5 5 2 x3 12
Ejemplo 2.13.4. Calculeu per a quins β convergeix per al següent sistema el mètode de
Jacobi/Gauss-Seidel: !
−10 2
A=
β 5
Trobem les matrius de Jacobi i GS
! !
0 1/5 0 1/5
BJ = BGS =
−β/5 0 0 −β/25
La motivació al darrere del càlcul de valors i vectors propis (abreviat sovint-ment a VAP i VEP
respectivament) és senzillament la seva rellevància i utilitat. Definim seguidament uns conceptes
bàsics de VAP’s i VEP’s
Definición 3.1.1. Donada una matriu A ∈ Mn (R), un vector propi v de valor propi λ és
v ∈ Rn \{0} tq Av = λv.
Definición 3.1.2. Donada una matriu A i un vector v, el quocient de Rayleigh està definit
v T Av
com: T .
v v
Proposición 3.1.1. Si A és una matriu i v és un vector propi, aleshores el seu quocient de
T
Rayleigh es igual al seu vector propi: vvTAv
v
=λ
v T Av v T (λv) T
Demostración. vT v
= vT v
= λ vvT vv = λ
Nota. El fet que una matriu no sigui diagonalitzable dificulta clarament el càlcul de VAP’s i
VEP’s
Teorema 3.1.1 (Teorema de localització dels VAP’s i VEP’s de Gerschgorin). Sigui A ∈ Mn (R),
n
Pnpropis de A pertanyen tots al conjunt R = ∪i=1 Ri , on Ri
aleshores els valors := {z ∈ C :
kz − aii k ≤ ri = j=1,j6=i kaij k}
Demostración. Sigui λ VAP de A, aleshores ∃x 6= 0 VEP, i.e. Ax = λx. Això és equivalent a:
n
X n
X
λxi = aij xj i = 1, .., n ⇐⇒ (λ − aii )xi = aij xj i = 1, .., n
j=1 j=1,j6=i
51
52 Rodriguez Muñoz, Adrián
n
X
k(λ − aii )xk k = aij xj =⇒
j=1,j6=k
Pn
aij xj n n
j=1,j6=k X kxj k X
kλ − aii k ≤ ≤ |aij | ≤ kaij k
kxk k kxk k
j=1,j6=k j=1,j6=k
El qual implica λ ∈ Rk ⊂ R
−8
R1 ≡ z − 16 ≤ | − 2/16| + |4/16| = 3/8
−4
R2 ≡ z − 16 ≤ | − 1/16| + |2/16| = 3/16
−10
R3 ≡ z − 16 ≤ |2/16| + |2/16| = 1/4
Proposición 3.2.1. Sigui A una matriu amb valor propi dominant, i.e. kλ1 k > kλ2 k ≥ · · · ≥ λ1 .
Aleshores el vap dominant λ1 és un nombre real.
Proposición 3.2.2. Sigui A una matriu amb VAP dominant |λ1 | > |λ2 | ≥ · · · ≥ |λ1 , i base de
VEP’s x1 , .., xn associada. Aleshores la seqüencia: zk+1 = Azk , z0 = α1 x1 + ... + αn xn qualsevol
amb α1 6= 0 és tal que:
(zk+1 )i
lim (zk )i = λ1 , ∀i = 1, .., n
lim αzkk = α1 x1
1
zk x1
lim kzk k = ± kxk
Algebra Lineal Numérica 53
Aleshores:
k+1 k+1
Pn λj
α1 x1 + j=2 αj xj α1 x1 + O( λλ21 )
(zk+1 )i λk+1
1
λ1
i i
lim = lim k k = lim λ1 k = λ1
(zk )i λ1 Pn λ λ2
α1 x1 + j=2 αj λ1j xj α1 x1 + O( λ1 )
i i
k
De les equacions obteses també obtenim lim λzkk = lim α1 x1 + O( λ2
λ1 ) = α1 x1 , lim kzzkk k =
1
α 1 x1
kα1 x1 k = ± kxx11 k (l’ultima igualtat presa en el sentit que el quocient convergeix a x1
kx1 k o − kxx11 k ).
Nota. Comentaris:
(zk+1 )i k
λ2
1. Velocitat de convergència del mètode de la potencia: (zk )i = λ1 1 + O λ1
z˜k
2. Podria passar que zk creixes ràpidament. Aleshores prenem les successions: yk := kz˜k k ,zk+1
˜ =
Az˜k Ayk
Ayk , z˜0 = z0 inicial. En termes d’una sola successió: zk+1
˜ = kz˜k k , yk+1 = kAyk k . Tenim
que:
(a) kyk k = 1
(b) kzk+1
˜ k = kAyk k ≤ kAkkyk k = kAk
˜ )
(zk+1 (zk+1 )i
(c) lim (yk )i
i
= lim (zk )i = λ1
(d) lim yk = VEP unitari de VAP λ1
3. Cas particular A simètrica: Podem accelerar la convergència a partir del quocient de Ray-
T
leigh: xxTAx
x
. En efecte, per ser A simètrica, existeix una base ortonormal de vectors propis
zkT Azk
x1 , .., xn . A partir d’aquı́ definim σk+1 = zkT zk
; z0 inicial donat. Aleshores tenim que:
zkT zk+1
σk+1 =
zkT zk
h P λj k ih P λj k+1 i
λ2k+1
1 α 1 x T +
1 ( λ1 ) α j x T
j α1 x 1 + ( λ1 ) α j x j
= h ih i
λ λ
λ2k α1 xT1 + ( λ1 )k αj xTj α1 x1 + ( λ1j )k αj xj
j
P P
1
P λ !
α12 + ( λ1j )2k+1 αj2 λ2 2k
= λ1 P λ ∼ λ1 1 + O
α12 + ( λ1j )2k αj2 λ1
(z ) i
Es pot veure que (zk+1k )i
= 1, −1, 1, −1, ... i.e. no convergeix. Això es deu al fet que λ1 = 1,λ2 =
−1, amb |λ1 | = |λ2 |, i.e. no hi ha VAP dominant.
(zk )i
Ejemplo 3.2.2. Matriu A simètrica de VAP dominant λ1 = 3, 28868. En 3 iteracions: (zk−1 )i =
T
zk−1 Azk−1
30, 25987, σk = T
zk−1 zk−1
m = 30, 288662 i.e. 3 i 7 dı́gits significatius respectivament (observem
2 ∗ 3 ' 7).
Sabem de l’àlgebra lineal que λ VAP de A ⇐⇒ 1/λ VAP de A−1 . Per tant aplicant el mètode de
la potència a A−1 (amb VAPS de mòdul | λ1n | > | λn−1 1
| ≥ · · · > | λ11 |; suposant que A té un VAP
”dominatı̈.e. de mòdul estrictament més petit) obtindrem el (invers multiplicatiu) del VAP de
mòdul mı́nim de A. Nota: Per implementar aquesta estratègia, podem calcular A−1 per aplicar
el mètode de la potència usual, o bé resoldre el sistema lineal Azk+1 = zk a cada iteració fent la
descomposició LU (que seria més eficient i segur).
Suposarem A simètrica. Per el teorema espectral sabem que existeixen n VAPs relas i una base
ortonormal, representada per una matriu ortonormal Q, tq Q−1 AQ = D, amb: cols(Q) = VEPs,
D = diag(eig(A)).
Definición 3.3.2. Escriurem Rpq (φ) := Matriu de rotació d’angler φ en pla 0 + [ep , eq ].
cos(φ) i = p, j = p
− sin(φ) i = p, j = q
Rpq (φ)ij = sin(φ) i = q, j = p
cos(φ) i = q, j = q
1i=j altrament
On 1i=j = 1 si i = j i 0 altrament.
Observem que quan fem A := Rpq (φ)T ARpq (φ), només canviem la fila p, fila q, columna p i
columna q.
Ak té els mateixos VAP’s que A, i els VEPs estan relacionats per: x = Q1 ...Qk xk , si x i
xk son VEPs de A i Ak del mateix VAP.
Demostración.
El mètode de Jacobi es basa en triar la seqüencia adequada {Qk } de matrius de rotació ortonor-
mals tq Ak → D matriu diagonal. En el mètode de Jacobi busquem a cada iteració el element
(k) (k+1)
apq més gran en valor absolut de Ak fora de la diagonal i triem Qk := Rpq (φ), tal que apq = 0.
(k) (k+1) 0
Simplifiquem la notació referint-nos a aij per aij , aij per aij , cos(φ) per c, sin(φ) per s i
tan(φ) per t. Per trobar φ fem el següent càlcul:
La elecció del valor de t pres està feta per tal de no sumar coses de signes diferents, el qual podria
(k+1) (k+1)
donar lloc a errors numèrics. Observem que a cada iterat, introduı̈m dos zeros en apq =qp =
0, però podem introduir components no nul·les ales posicions que abans eren zero. Malgrat això,
es pot demostrar que la successió A0 , A1 , ..., Ak tendeix a D. Al la pràctica, pararem a un cert k
i tindrem Ak = QTk · · · QT1 A0 Q1 · · · Qk ≡ Q̃T A0 Q̃, i prendrem els elements de la diagonal de Ak
i les columnes de Q̃ com una aproximació dels VAPs i els VEPs.
En el cas que A siguin una matriu qualsevol (no simètrica), haurı́em de fer servir altres mètodes
(que no s’expliquen al curs). Per exemple, si només volem els VAPs podrı́em transformar la
matriu inicial A en una de semblant de tipus Hessenberg (triangular superior + subdiagonal),
per a la qual és fàcil trobar el polinomi caracterı́stic i les seves arrels mitjançant un mètode
recurrent. Si volguéssim tots els VAPs i VEPs, farı́em servir un altre mètode diferent; un d’usual
s’anomena el mètode QR.