Apuntes Calculo Numerico
Apuntes Calculo Numerico
Apuntes Calculo Numerico
DE INGENIERÍA INFORMÁTICA
Apuntes de
CÁLCULO NUMÉRICO
por
DEPARTAMENTO DE
MATEMÁTICA APLICADA I
Contenido
1 Ecuaciones no lineales 1
1.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Método y algoritmo de la bisección: análisis de errores . . . . 4
1.2.1 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Punto fijo e iteración funcional . . . . . . . . . . . . . . . . . . 7
1.3.1 Cota del error “a posteriori” . . . . . . . . . . . . . . . 9
1.4 Método de Newton: análisis de errores . . . . . . . . . . . . . 11
1.4.1 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.2 Regla de Fourier . . . . . . . . . . . . . . . . . . . . . 14
1.4.3 Método de Newton para raı́ces múltiples . . . . . . . . 17
1.5 Cálculo de ceros de polinomios . . . . . . . . . . . . . . . . . . 19
1.5.1 Sucesiones de Sturm . . . . . . . . . . . . . . . . . . . 19
1.5.2 Algoritmo de Horner . . . . . . . . . . . . . . . . . . . 22
1.6 Sistemas de ecuaciones no lineales . . . . . . . . . . . . . . . . 24
1.6.1 Método de Newton . . . . . . . . . . . . . . . . . . . . 26
1.7 Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . 29
i
ii Contenido
3 Interpolación 93
3.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.2 Interpolación polinomial . . . . . . . . . . . . . . . . . . . . . 94
3.2.1 Interpolación de Lagrange . . . . . . . . . . . . . . . . 94
3.2.2 Interpolación de Newton . . . . . . . . . . . . . . . . . 98
Contenido iii
• Diferencias divididas . . . . . . . . . . . . . . . . . . 98
• Diferencias finitas . . . . . . . . . . . . . . . . . . . 102
3.2.3 Interpolación de Hermite . . . . . . . . . . . . . . . . . 106
3.3 Interpolación por splines . . . . . . . . . . . . . . . . . . . . . 109
3.3.1 Splines cúbicos . . . . . . . . . . . . . . . . . . . . . . 109
3.3.2 Cálculo de los splines cúbicos de interpolación . . . . . 111
3.4 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Índice 127
1. Ecuaciones no lineales
1.1 Introducción
Dada una función no nula f : C → C, resolver la ecuación f (x) = 0 es hallar
los valores x que anulan a dicha función. A estos valores x se les denomina
raı́ces o soluciones de la ecuación, o también, ceros de la función f (x).
Los métodos de resolución de ecuaciones y sistemas de ecuaciones se clasifican
en directos e iterados . Los del primer grupo nos proporcionan la solución me-
diante un número finito de operaciones elementales, mientras que los iterados
producen una sucesión convergente a la solución del problema.
Un ejemplo de método directo es la conocida fórmula de resolución de las
ecuaciones de segundo grado ax2 + bx + c = 0, cuyas soluciones vienen dadas
por la fórmula √
−b ± b2 − 4ac
x=
2a
Sin embargo, el siglo pasado Abel probó que no existe ninguna fórmula equi-
valente (en término de raı́ces) para resolver ecuaciones de grado superior a
cuatro. Además, si la ecuación no es polinómica no podemos resolverla más
que mediante métodos iterados que, incluso en el caso de las polinómicas de
grado no superior a cuatro, son más eficientes.
1
2 Ecuaciones no lineales
Pn (x) = a0 (x − x1 )(x − x2 ) · · · (x − xn )
por lo que
P (x)
Q(x) = = a0 (x − x1 )(x − x2 ) · · · (x − xk )
D(x)
Es decir, hemos encontrado un polinomio cuyas raı́ces son las mismas que las
de P (x) pero todas ellas simples.
Si ya conocemos que una ecuación sólo tiene raı́ces simples y queremos encon-
trarlas, parece apropiado que un primer paso consista en detectar las posibles
situaciones en éstas. Ası́ por ejemplo, si son reales, determinar intervalos de
una amplitud reducida en los que se encuentren las raı́ces de la ecuación.
Introducción 3
se verifica que:
A
|x| < 1 + siendo A = máx |ai |
|a0 | i≥1
|x|n
n n A
|P (x)| > |a0 | |x| − A = |x| |a0 | −
|x| − 1 |x| − 1
Como la expresión anterior es cierta para cualquier |x| > 1, sea |x| > 1 con
P (x) = 0. Entonces
n A A
0 > |x| |a0 | − =⇒ |a0 | − < 0 =⇒
|x| − 1 |x| − 1
A A
|a0 | < =⇒ |x| − 1 < =⇒
|x| − 1 |a0 |
A
|x| < 1 + con |x| > 1
|a0 |
Es evidente que esta cota también la verifican las raı́ces x con |x| < 1.
intervalo cerrado [a, b] y f (a) · f (b) < 0, existe un punto α ∈ (a, b) en el cual
f (α) = 0.
a+b b−a
a) Tomamos α0 = y ε= .
2 2
b) Si f (α0 ) = 0 entonces FIN. α = α0 es la raı́z exacta.
Si f (α0 ) > 0 entonces hacemos b = α0 .
Si f (α0 ) < 0 entonces hacemos a = α0 .
a+b b−a
Se repite el paso 1, es decir, hacemos α0 = y ε= .
2 2
c) Si ε < 10−k (error prefijado), entonces FIN. El valor de α0 es la raı́z
buscada con k cifras decimales exactas.
Si ε > 10−k , entonces repetimos el paso 2.
1.2.1 Algoritmo
ai + b i
Para i = 0, 1, 2, . . . , n, . . ., Ii = [ai , bi ] y mi = (punto medio del
2
intervalo Ii ) con
[ai , mi ] si sig(f (ai )) 6= sig(f (mi ))
I0 = [a, b] y Ii+1 =
[m , b ] si sig(f (b )) 6= sig(f (m ))
i i i i
f (mi ) = 0
El proceso debe repetirse hasta que o bien
b − a < ε con ε > 0 prefijado.
i i
Dado que f (1) = −2 < 0 y f (2) = 1 > 0, el teorema de Bolzano nos garantiza
la existencia de una raı́z (que además sabemos que es única ya que f 0 (x) = 2x
no se anula en el intervalo [1, 2]).
Para obtener la raı́z con 14 cifras decimales exactas, es decir, con un error
menor que 10−14 tendrı́amos que detener el proceso cuando
2−1
n+1
< 10−14 =⇒ 2n+1 > 1014 =⇒ n ≥ 46
2
es decir, tendrı́amos que detenernos en m46 para poder garantizar la precisión
exigida.
con c ∈ (xn−1 , xn ) (xn , xn−1 ) y, por tanto, en [a, b], por lo que
es decir
|x2 − x1 | ≤ q |x1 − x0 |
|x3 − x2 | ≤ q |x2 − x1 | ≤ q 2 |x1 − x0 |
...................................
|xn+1 − xn | ≤ q n |x1 − x0 |
Si construimos la serie
por lo que
(x − x0 )(1 − ϕ0 (c)) = 0
y dado que el segundo paréntesis es no nulo, se tiene que x = x0 .
En la Figura 1.1 puede observarse que el método converge si |ϕ0 (x)| ≤ q < 1,
mientras que si |ϕ0 (x)| > 1 el método es divergente.
En los casos (a) y (b), en los que |ϕ0 (x)| ≤ q < 1 el método converge
monótonamente en (a) y de forma oscilatoria o en espiral en (b).
En los casos (c) y (d), en los que |ϕ0 (x)| > 1 el método diverge de forma
monótona en (a) y de forma oscilatoria en (b).
Punto fijo e iteración funcional 9
(a) (b)
x0 x0
(c) (d) ?
x0 x0
Figura 1.1: Esquema de la convergencia para el teorema del punto fijo.
|f (xn )| |f (xn )| |f (xn )| (x, xn )
|εn | = 0 ≤ 0 ≤ con ∈ (a, b)
|f (c)| n mı́n |f (x)| mı́n |f 0 (x)| (xn , x)
x∈
(x, xn ) x∈(a,b)
(xn , x)
x1 = 2 x14 = 1.73205079844084
x2 = 1.66666666666667 x15 = 1.73205081001473
x3 = 1.75000000000000 x16 = 1.73205080691351
x4 = 1.72727272727273 x17 = 1.73205080774448
x5 = 1.73333333333333 x18 = 1.73205080752182
x6 = 1.73170731707317 x19 = 1.73205080758148
x7 = 1.73214285714286 x20 = 1.73205080756550
x8 = 1.73202614379085 x21 = 1.73205080756978
x9 = 1.73205741626794 x22 = 1.73205080756863
x10 = 1.73204903677758 x23 = 1.73205080756894
x11 = 1.73205128205128 x24 = 1.73205080756886
x12 = 1.73205068043172 x25 = 1.73205080756888
x13 = 1.73205084163518 x26 = 1.73205080756888
|f (xn )|
El error vendrá dado por εn < 0 donde f (x) = x2 − 3, por lo que
mı́n |f (x)|
x∈[1,2]
|x226 − 3|
ε26 < = 4.884981308350688 · 10−15 < 10−14
2
√
es decir, 3 = 1.73205080756888 con todas sus cifras decimales exactas.
Método de Newton: análisis de errores 11
f (xn )
f (x) ' f (xn ) + h · f 0 (xn ) ⇒ h ' −
f 0 (xn )
por lo que
f (xn )
x ' xn −
f 0 (xn )
obteniéndose la denominada fórmula de Newton-Raphson
f (xn )
xn+1 = xn − (1.1)
f 0 (xn )
o lo que es lo mismo:
1 n
|εn | ≤ · |k · ε0 |2
k
donde es necesario saber acotar el valor de ε0 = x − x0 .
Es decir, si existe un intervalo [a, b] que contenga a la solución y a todas
las aproximaciones xn se puede determinar a priori una cota del error, o lo
que es lo mismo, se puede determinar el número de iteraciones necesarias para
obtener la solución con un determinado error.
1
Evidentemente, el proceso convergerá si |k · ε0 | < 1, es decir, si |ε0 | < . En
k
caso de ser convergente, la convergencia es de segundo orden como puede verse
en la ecuación (1.2).
1.4.1 Algoritmo
Una vez realizado un estudio previo para ver que se cumplen las condiciones
que requiere el método, establecer el valor inicial x0 y calcular el valor de
m = mı́n |f 0 (x)|, el algoritmo es el siguiente
x∈[a,b]
Input: a, b, x0 , ε, f (x), m
Output: x
x ← x0
e ← abs( f(x)/m)
while e > ε
f (x)
x←x−
f 0 (x)
e ← abs( f(x)/m)
end
x0 =2
x1 = 1.75000000000000
x2 = 1.73214285714286
x3 = 1.73205081001473
x4 = 1.73205080756888
|f (xn )|
El error vendrá dado, al igual que en el Ejercicio 1.2 por εn < ,
mı́n |f 0 (x)|
x∈[1,2]
por lo que
|x24 − 3|
ε4 < = 4.884981308350688 · 10−15 < 10−14
2
√
es decir, 3 = 1.73205080756888 con todas sus cifras decimales exactas.
1 A
Nota: La fórmula xn+1 = xn + es conocida como fórmula de Heron
2 xn
ya que este matemático la utilizaba para aproximar la raı́z cuadrada de un
número real positivo A hacia el año 100 a.C.
x10
n −1
xn+1 = xn − .
10x9n
Método de Newton: análisis de errores 15
9
r
x
0
b
b
r
b
b
x0
c) Un valor inicial cercano a una raı́z puede converger a otra raı́z muy
distante de la anterior como consecuencia de encontrarse pendientes
cercanas a cero. Una pendiente nula provoca una división por cero
(geométricamente, una tangente horizontal que jamás corta al eje de
abscisas).
16 Ecuaciones no lineales
#
# Z -
@ #
I # r r Z
Z
@ x0 x0
Teorema 1.4 [Regla de Fourier] Sea f (x) una función continua y dos
veces derivable [a, b]. Si sig f (a) 6= sig f (b) y sus dos primeras derivadas f 0 (x)
y f 00 (x) no se anulan en [a, b] existe una única raı́z de la ecuación f (x) = 0 en
dicho intervalo y se puede garantizar la convergencia del método de Newton-
Raphson tomando como valor inicial x0 el extremo del intervalo en el que la
función y su segunda derivada tienen el mismo signo.
Método de Newton: análisis de errores 17
a a b b
b b a a
f (xn )
xn+1 = xn − k
f 0 (xn )
x0 = 1
.....................
0
f (x10 ) = 00 0001 . . .
x10 = 00 016822799 . . . f 00 (x10 ) = 00 016 . . .
000
f (x10 ) = 00 9998 . . .
.....................
0
f (x20 ) = 00 00000001 . . .
x20 = 00 0000194 . . . f 00 (x20 ) = 00 0019 . . .
000
f (x20 ) = 00 9999 . . .
Como la convergencia es muy lenta, hace pensar que se trata de una raı́z
múltiple. Además, como la primera y la segunda derivadas tienden a cero y
la tercera lo hace a 1, parece que nos encontramos ante una raı́z triple, por lo
que aplicamos el método generalizado de Newton.
xn − sen xn
xn+1 = xn − 3
1 − cos xn
que comenzando, al igual que antes, por x0 = 1 se obtiene:
x0 =1
x1 = −00 034 . . .
x2 = 00 000001376 . . .
x3 = 00 00000000000009 . . .
P (x)
Q(x) =
mcd (P (x), P 0 (x))
posee los mismos ceros que P (x) pero todos simples. Con lo que el primer paso
a la hora de calcular los ceros de un polinomio es eliminar sus raı́ces múltiples.
Vamos a estudiar, por tanto, un método que nos permite separar las raı́ces
de una ecuación algebraica.
1.5.1 Sucesiones de Sturm
Una sucesión de Sturm en [a, b] es un conjunto de funciones continuas en dicho
intervalo f0 (x), f1 (x), . . . , fn (x) que cumplen las siguientes condiciones:
• fn (x) 6= 0 cualquiera que sea x ∈ [a, b]. Es decir, el signo de fn (x)
permanece constante en el intervalo [a, b].
• Si fi (c) = 0 entonces fi−1 (c) y fi+1 (c) tienen signos opuestos, es decir,
fi−1 (c) · fi+1 (c) < 0. (Engloba al apartado anterior).
f0 (x)
• Si f0 (c) = 0 con c ∈ [a, b] entonces pasa de negativa a positiva
f1 (x)
en c. (Está bien definida en c por ser f1 (c) 6= 0 y es creciente en dicho
punto).
20 Ecuaciones no lineales
Teorema 1.5 [Teorema de Sturm]. Sea f0 (x), f1 (x), . . . , fn (x) una sucesión
de Sturm en el intervalo [a, b] y consideremos las sucesiones
sig[f0 (a)] sig[f1 (a)] · · · sig[fn (a)]
sig[f0 (b)] sig[f1 (b)] · · · sig[fn (b)]
teniendo en cuenta que si alguna de las funciones se anula en uno de los
extremos del intervalo [a, b] pondremos en su lugar, indistintamente, signo +
o - y denotemos por N1 al número de cambios de signo de la primera sucesión
y por N2 al de la segunda (siempre es N1 ≥ N2 ).
En estas condiciones, el número de raı́ces existentes en el intervalo [a, b] de
la ecuación f0 (x) = 0 viene dado por N1 − N2 .
positiva no nula, ya que sólo nos interesa el resto (salvo constantes positivas)
de la división.
Ejemplo 1.6 Vamos a construir una sucesión de Sturm que nos permita se-
parar las raı́ces de la ecuación x4 + 2x3 − 3x2 − 4x − 1 = 0.
f0 (x) = x4 + 2x3 − 3x2 − 4x − 1. f00 (x) = 4x3 + 6x2 − 6x − 4.
f1 (x) = 2x3 + 3x2 − 3x − 2.
2x4 + 4x3 − 6x2 − 8x − 2 |2x3 + 3x2 − 3x − 2
− 2x4 − 3x3 + 3x2 + 2x x+1
x3 − 3x2 − 6x − 2 multiplicando por 2
2x3 − 6x2 − 12x − 4
−2x3 − 3x2 + 3x + 2
−9x2 − 9x − 2
f2 (x) = 9x2 + 9x + 2.
18x3 + 27x2 − 27x − 18 |9x2 + 9x + 2
− 18x3 − 18x2 − 4x 2x + 1
9x2 − 31x − 18
− 9x2 − 9x − 2
−40x − 20
f3 (x) = 2x + 1.
18x2 + 18x + 4 |2x + 1
− 18x2 − 9x 9x + 9
9x + 4 multiplicando por 2
18x + 8
− 18x − 9
−1
f4 (x) = 1.
−∞ −3 −2 −1 0 1 2 +∞
f0 (x) = x4 + 2x3 − 3x2 − 4x − 1 + + − − − − + +
f1 (x) = 2x3 + 3x2 − 3x − 2 − − ± + − ± + +
f2 (x) = 9x2 + 9x + 2 + + + + + + + +
f3 (x) = 2x + 1 − − − − + + + +
f4 (x) = 1 + + + + + + + +
cambios de signo 4 4 3 3 1 1 0 0
22 Ecuaciones no lineales
Sabemos, por ello, que existe una raı́z en el intervalo (−3, −2), dos raı́ces en
el intervalo (−1, 0) y una cuarta raı́z en el intervalo (1, 2).
Como f0 (−1) = −1 < 0, f0 (−00 5) = 00 0625 > 0 y f0 (0) = −1 < 0 podemos
separar las raı́ces existentes en el intervalo (−1, 0) y decir que las cuatro raı́ces
de la ecuación dada se encuentran en los intervalos
Si, una vez eliminadas las raı́ces múltiples y separadas las raı́ces, queremos
resolver la ecuación, utilizaremos (excepto en casos muy determinados como el
del Ejemplo 1.4) el método de Newton-Raphson. Al aplicarlo nos encontramos
con que tenemos que calcular, en cada paso, los valores de P (xn ) y P 0 (xn ) por
lo que vamos a ver, a continuación, un algoritmo denominado algoritmo de
Horner que permite realizar dichos cálculos en tiempo lineal.
Sea
P (x) = a0 xn + a1 xn−1 + · · · + an−1 x + an .
se tiene que
b 0 = a0
b 1 = a1 + x 0 b 0
b 2 = a2 + x 0 b 1
..
.
bn−1 = an−1 + x0 bn−2
r = P (x0 ) = an + x0 bn−1
a0 a1 a2 ··· an−1 an
x0 x0 b0 x0 b1 · · · x0 bn−2 x0 bn−1
b0 b1 b2 ··· bn−1 P (x0 )
se tiene que
P 0 (x0 ) = Q(x0 )
y el cálculo de Q(x0 ) es análogo al que hemos realizado para P (x0 ), es decir,
aplicando el algoritmo de Horner a Q(x) obtenemos
Si utilizamos la regla de Ruffini sólo tenemos que volver a dividir por x0 como
se muestra a continuación.
por lo que
P (2) = 31 y P 0 (2) = 68
f2 (x1 , x2 , . . . , xm ) = 0
..
.
fm (x1 , x2 , . . . , xm ) = 0
f : D ⊂ Rm → Rm
Como hemos transformado nuestro sistema en una ecuación del tipo f (x) = 0,
parece lógico que tratemos de resolverla por algún método paralelo a los estu-
diados para ecuaciones no lineales como puedan ser la utilización del teorema
del punto fijo o el método de Newton.
Si buscamos un método iterado basado en el teorema del punto fijo, debe-
mos escribir la ecuación f (x) = 0 de la forma x = F (x) (proceso que puede
realizarse de muchas formas, la más sencilla es hacer F (x) = x + f (x)) para,
partiendo de un vector inicial x0 construir la sucesión de vectores
x1n+1 = F1 (x1n , x2n , . . . , xm
n)
x2 = F2 (x1 , x2 , . . . , xm )
n+1 n n n
xn+1 = F (xn )
..
.
m
xn+1 = Fm (x1n , x2n , . . . , xm n)
y la sucesión
x0 , x1 , . . . , xn , . . .
converge a la única raı́z de la ecuación x = F (x) en la bola considerada
(intervalo de Rm ).
Es importante observar que:
a) Se ha utilizado el concepto de norma vectorial al hacer uso de kx − xn )k.
∂F1 ∂F1
···
∂x1 ∂xm
0
..... ..
F (x) =
. .
∂F ∂Fm
m
···
∂x1 ∂xm
x = xn + h
Sistemas de ecuaciones no lineales 27
de donde
h ≈ −f 0−1 (xn )f (xn )
y, por tanto
x ≈ xn − f 0−1 (xn )f (xn ).
Esta aproximación es que utilizaremos como valor de xn+1 , es decir
f1 (x)
t 1
t
-1 1
-2 2
-0’5
f2 (x)
-1
obteniéndose el sistema
−00 25 −1 h12 −00 0625
=
0 2 0
−0 5 8 h2 −0 0625
h12 00 022561 . . .
cuya solución es h2 = = y, por tanto
0
h22 −0 006 . . .
−00 227439 . . .
x2 = x1 + h2 =
00 994 . . .
b) Para k = 3, probar que posee una única raı́z simple en el intervalo [0, 1], y
calcularla con 6 cifras decimales exactas utilizando el método de Newton.
Ejercicio 1.3 Probar que la ecuación x2 + ln x = 0 sólo tiene una raı́z real y
hallarla, por el método de Newton, con 6 cifras decimales exactas.
b) Obtener la mayor de ellas con dos cifras decimales exactas por el método
de la bisección.
2 x2 − 7x + 7
Ejercicio 1.10 Dada la ecuación e−x − = 0 se pide:
10 · (x − 1)2
c) Calcular la mayor de las raı́ces, con dos cifras decimales exactas, por el
método de Newton.
b) Probar, mediante una sucesión de Sturm, que P (x) sólo posee una raı́z
real y determinar un intervalo de amplitud 1 que la contenga.
a) Probar, mediante una sucesión de Sturm, que posee una única raı́z en el
intervalo (6, 7).
1
b) Si expresamos la ecuación P (x) = 0 de la forma x = F (x) = (x3 −6x2 +
3
7) y, partiendo de un x0 ∈ (6, 7), realizamos el proceso xn+1 = F (xn ),
¿podemos asegurar su convergencia?
Fig. 1 Fig. 2
c) ¿Cuál de los extremos del intervalo [a, a + 1] debe tomarse como valor
inicial para asegurar la convergencia del método de Newton?
kx · yk ≤ kxk kyk
35
36 Sistemas de ecuaciones lineales
d(x, y) = kx − yk
d(x, y) = 0 ⇐⇒ kx − yk = 0 ⇐⇒ x − y = 0 ⇐⇒ x = y.
Normas vectoriales y matriciales 37
• d(x, y) = kx − yk = kx − z + z − yk ≤ kx − zk + kz − yk =
= d(x, z) + d(z, y).
lim kvk − vk = 0
k→∞
Esta definición coincide con la idea intuitiva de que la distancia de los vectores
de la sucesión al vector lı́mite v tiende a cero a medida que se avanza en la
sucesión.
Teorema 2.1 Para un espacio vectorial normado de dimensión finita, el con-
cepto de convergencia es independiente de la norma utilizada.
kAxk ≤ kAkkxk
cualquiera que sea el vector x del espacio. (Obsérvese que no es lo mismo que
la propiedad multiplicativa de una norma, ya que aquı́ se están utilizando dos
normas diferentes, una de matriz y otra de vector).
Ası́ pues, definiremos
kAxk
kAk = máx = máx{kAxk : kxk = 1}
x∈V −{0} kxk
de tal forma que a cada norma vectorial se le asociará, de forma natural, una
norma matricial.
38 Sistemas de ecuaciones lineales
• Norma-1
Si utilizamos la norma-1 de vector obtendremos
n X
X n
kAk1 = máx{ |aik xk | : kxk1 = 1}.
i=1 k=1
• Norma euclı́dea
Utilizando la norma euclı́dea de vector se tendrá que
√ √
kAk2 = máx{ x∗ A∗ Ax : x∗ x = 1}
• Norma infinito
Utilizando ahora la norma infinito de vector se tiene que
Xn
kAk∞ = máx{ |aij xj | : kxk∞ = 1}.
j=1
Como ahora se dará el máximo en un vector que tenga todas sus coor-
denadas iguales a 1, se tiene que
n
X
kAk∞ = máx |aij |.
i
j=1
Normas vectoriales y matriciales 39
Tenemos pues, que las normas asociadas (algunas veces llamadas subordina-
das) a las normas de vector estudiadas anteriormente son:
n
X
Norma-1 kAk1 = máx kAxk1 = máx |aij |.
kxk1 =1 j
i=1
n
X
Norma infinito kAk∞ = máx kAxk∞ = máx |aij |.
kxk∞ =1 i
j=1
U ∗U = U U ∗ = I
es decir, si U ∗ = U −1 .
Proposición 2.1 La norma de Frobenius y la norma euclı́dea de vector son
invariantes mediante transformaciones unitarias.
Demostración.
kAxk2
Demostración. Dado que kAk2 = máx si U es unitaria, se tiene
x∈V −{0} kxk2
que:
kU xk2 kxk2
kU k2 = máx = máx = 1.
x∈V −{0} kxk2 x∈V −{0} kxk2
Es decir, si U es unitaria kU k2 = kU ∗ k2 = 1.
Si B = U ∗ AU tenemos: kBk2 ≤ kU ∗ k2 kAk2 kU k2 = kAk2
Como A = U BU ∗ , es: kAk2 ≤ kU k2 kBk2 kU ∗ k2 = kBk2
De ambas desigualdades se deduce que kBk2 = kAk2 .
Por otra parte sabemos que kAxi k ≤ kAk kxi k. Por tanto:
|λi | kxi k ≤ kAk kxi k siendo kxi k 6= 0 por tratarse de autovectores. Se obtiene
entonces que |λi | ≤ kAk para cualquiera que sea i = 1, 2, . . . , r, de donde
máx |λi | ≤ kAk, es decir: ρ(A) ≤ kAk.
i
Sistemas de ecuaciones lineales 41
b) Su estructura
0 0 a43 a44
a11 a12 a13 a14
0 a22 a23 a24
• Triangulares superiores: 0
0 a33 a34
0 0 0 a44
a11 0 0 0
a12 a22 0 0
• Triangulares inferiores:
a31 a32 a33 0
a) Métodos directos
b) Métodos iterados
3x + 4y = 7
x
1
de solución =
3x + 4.00001y = 7.00001 y 1
44 Sistemas de ecuaciones lineales
r1 r10 r1 r10
r
%
%
@ %
@ %
@rr
%
@ %
@
r r
%
@ 2 %
@
%
r2%
%
Sistema bien condicionado Sistema mal condicionado
Figura 2.1: Condicionamiento de un sistema.
3x + 4y = 7
x
1
de solución =
4x − 3y = 1 y 1
Es decir:
kIk
κ(A) ≤ kAk · k con k=
1 − kI − Ak
Debemos tener cuidado con esta acotación ya que si tenemos una matriz casi
regular, es decir, con det(A) ' 0, quiere decir que tiene un autovalor próximo
a cero, por lo que la matriz I − A tiene un autovalor próximo a 1 y será el
mayor de todos. En este caso kI − Ak ' 1, por lo que k → ∞ y darı́a lugar a
un falso condicionamiento, ya que A no tiene que estar, necesariamente, mal
condicionada.
q
kAk2 = máx λi (A∗ A) = σn
i
q q
kA−1 k2 = máx λi (A−1 )∗ A−1 = máx λi (A∗ )−1 A−1 =
i i
r r
q
∗ −1 1 1
= máx λi (AA ) = máx = =
i i λi (AA∗ ) mı́ni λi (AA∗ )
Número de condición 47
r r
1 1
= = =⇒
mı́ni λi (A∗ A) mı́ni σi2
A
= 1
−1
2 σ1
⇐) A = zU =⇒ κ2 (A) = 1. En efecto:
A = zU =⇒ A∗ A = zU ∗ zU = |z|2 U ∗ U = |z|2 I =⇒
λi (A∗ A) = |z|2 cualquiera que sea i = 1, 2, . . . , n y, por tanto,
σ1 = σ2 = · · · = σn = |z|
por lo que
σn
κ2 (A) = =1
σ1
⇒) κ2 (A) = 1 =⇒ A = zU .
En efecto: sabemos que si A es diagonalizable existe una matriz
regular R tal que R−1 AR = D con D = diag(λi ) (R es la matriz
de paso cuyas columnas son los autovectores correspondientes a los
48 Sistemas de ecuaciones lineales
R−1 A∗ AR = σ 2 I
Entonces
A∗ A = R(σ 2 I)R−1 = σ 2 (RIR−1 ) = σ 2 I
Ahora bien
1 ∗ 1
A A =I
σ σ
1 1
Llamando U = A se tiene que U ∗ = A∗ , ya que σ ∈ R ⇒ σ = σ.
σ σ
∗ 1 ∗ 1
Se tiene entonces que A = σU con U U = A A = I, es
σ σ
decir, con U unitaria.
Los sistemas mejor condicionados son aquellos que tienen sus filas o columnas
ortogonales y mientras mayor sea la dependencia lineal existente entres ellas
peor es el condicionamiento del sistema.
Al ser κ(AU ) = κ(U A) = κ(A) trataremos de buscar métodos de resolución
de sistemas de ecuaciones lineales que trabajen con matrices unitarias que
no empeoren el condicionamiento del sistema como lo hace, por ejemplo, el
método de Gauss basado en la factorización LU . Sin embargo, dado que ha
sido estudiado en la asignatura de Álgebra Lineal, comenzaremos estudiando
dicho método aunque pueda alterarnos el condicionamiento del problema.
Empezaremos estudiando pues, como métodos directos, los basados en la
factorización LU y la de Cholesky.
Factorización LU 49
2.4 Factorización LU
Al aplicar el método de Gauss al sistema Ax = b realizamos transformaciones
elementales para conseguir triangularizar la matriz del sistema. Si este proceso
puede realizarse sin intercambios de filas, la matriz triangular superior U obte-
nida viene determinada por el producto de un número finito de transformacio-
nes fila Fk Fk−1 · · · F1 aplicadas a la matriz A. Llamando L−1 = Fk Fk−1 · · · F1
(ya que el determinante de una transformación fila es ±1 y, por tanto, su pro-
ducto es inversible) se tiene que L−1 A = U , o lo que es lo mismo, A = LU .
Además, la matriz L es una triangular inferior con unos en la diagonal.
Esta factorización es única ya que de existir otra tal que A = L0 U 0 = LU
se tendrı́a que L−1 L0 = U U 0−1 . Como L−1 también es triangular inferior
con unos en la diagonal, el producto L−1 L0 también es una matriz del mismo
tipo. Análogamente, el producto U U 0−1 resulta ser una triangular superior. El
hecho de que L−1 L0 = U U 0−1 nos dice que necesariamente L−1 L0 = I, ya que
es simultáneamente triangular inferior y superior y su diagonal es de unos. Ası́
pues L−1 L0 = I, por lo que L = L0 y, por tanto U = U 0 es decir, la factorización
es única.
Debido a la unicidad de la factorización, ésta puede ser calculada por un
método directo, es decir, haciendo
1 0 0 ··· 0 u11 u12 u13 · · · u1n
l21 1 0 · · · 0 0 u22 u23 · · · u2n
l31 l32 1 · · · 0 0 0 u33 · · · u3n
A=
.. .. .. . . .. .. .. .. .. .
. ..
. . . . . . . .
ln1 ln2 ln3 · · · 1 0 0 0 · · · unn
y calculando los valores de los n2 elementos que aparecen entre las dos matrices.
3 1 2
Ası́, por ejemplo, para A = 6 3 2 tenemos
−3 0 −8
3 1 2 1 0 0 u11 u12 u13
6 3 2 = l21 1 0 0 u22 u23 =
−3 0 −8 l31 l32 1 0 0 u33
u11 u12 u13
= l21 u11 l21 u12 + u22 l21 u13 + u23
l31 u11 l31 u12 + l32 u22 l31 u13 + l32 u23 + u33
por lo que de la primera fila obtenemos que
u11 = 3 u12 = 1 u13 = 2
50 Sistemas de ecuaciones lineales
es decir:
3 1 2 1 0 0 3 1 2
6 3 2 = 2 1 0 0 1 −2
−3 0 −8 −1 1 1 0 0 −4
Teorema 2.4 Una matriz regular A admite factorización LU si, y sólo si, sus
matrices fundamentales Ai (i = 1, 2, . . . , n) son todas regulares.
(2)
donde a1i = a1i para i = 1, 2, . . . , n.
a21
Si nos fijamos ahora en a222 = a22 − a12 podemos ver que es no nulo, ya
a11
que de ser nulo serı́a
n
X
b) Por columnas: si |aii | > |aki | i = 1, 2, . . . , n
k=1
k 6= i
3 1 1
Ası́, por ejemplo, la matriz A = 0 2 1 es de diagonal dominante
2 −1 5
por filas pero no por columnas.
α1 α2 αn
ak1 + ak2 + · · · + akk + · · · + akn = 0 =⇒
αk αk αk
α1 αk − 1 αk + 1 αn
akk = −ak1 − · · · − ak k−1 − ak k+1 − · · · − akn =⇒
αk αk αk αk
n n
X αi X
|akk | ≤ |aki | ≤ |aki |
i=1
αk i=1
i 6= k i 6= k
Otro tipo de matrices de las que se puede asegurar que admiten factorización
LU son las hermı́ticas definidas positivas, ya que las matrices fundamentales de
éstas tienen todas determinante positivo, por lo que el Teorema 2.4 garantiza
la existencia de las matrices L y U .
Es conocido que toda matriz hermı́tica y definida positiva tiene sus autova-
lores reales y positivos y, además, en la factorización LU todos los pivotes son
reales y positivos.
Teorema 2.8 [Factorización de Cholesky] Toda matriz A hermı́tica y
definida positiva puede ser descompuesta de la forma A = BB ∗ siendo B una
matriz triangular inferior.
Al ser (R∗ )−1 L triangular inferior con diagonal de unos y (C ∗ )−1 B diagonal,
podemos asegurar que (R∗ )−1 L = I o, lo que es lo mismo, R∗ = L. Además,
B ∗ C −1 = I, por lo que C = B ∗ , luego A = BB ∗ donde B = LD.
La unicidad de las matrices L y U implica la unicidad de la matriz B y, por
tanto, ésta puede ser calculada por un método directo.
2 0 0 y1 0
Haciendo ahora −i 1 0 y2 = 0 , se obtiene
2−i 1 2 y3 −4
y1 0
y2 = 0
y3 −2
y de aquı́, que
2 i 2+i x1 0
0 1 1 x2 = 0
0 0 2 x3 −2
de donde obtenemos que la solución del sistema es
x1 = 1 x2 = 1 x3 = −1
Hemos visto que toda matriz hermı́tica y definida positiva admite factori-
zación de Cholesky, pero podemos llegar más lejos y enunciar el siguiente
teorema (que no probaremos).
Teorema 2.9 Una matriz hermı́tica y regular A es definida positiva si, y sólo
si, admite factorización de Cholesky.
xn+1 − x = 2(xn − x)
x∗ − x = 2(x∗ − x) =⇒ x∗ − x = 0 =⇒ x∗ = x
kxn+1 − xk = 2kxn − xk
xn+1 = Kxn + c
en los que K será la que denominemos matriz del método y que dependerá de
A y de b y en el que c es un vector que vendrá dado en función de A, K y b.
Demostración.
x∗ − x = K(x∗ − x) + c − (I − K)A−1 b
por lo que
(I − K)(x∗ − x) = c − (I − K)A−1 b (2.2)
Métodos iterados 57
c = (I − K)A−1 b.
(I − K)(x∗ − x) = 0
Demostración.
= K(xn − x) + (I − K)(A−1 b − x)
y dado que A−1 b − x = 0 obtenemos que xn+1 − x = K(xn − x).
Reiterando el proceso se obtiene:
Pasando al lı́mite
lim K n = 0
n→∞
58 Sistemas de ecuaciones lineales
lim (xn − x) = 0
n→∞
o lo que es lo mismo,
lim xn = x
n→∞
Demostración.
(M − N )x = b =⇒ M x = N x + b =⇒ x = M −1 N x + M −1 b
y la matriz (I − K) = (I − M −1 N ) = M −1 (M − N ) = M −1 A es invertible,
estamos en las condiciones del Teorema 2.10 por lo que el método xn+1 =
Kxn + c es consistente con el sistema Ax = b. Es decir, si el proceso converge,
lo hace a la solución del sistema.
Sabemos también, por el Teorema 2.12, que el proceso será convergente si se
verifica que kM −1 N k < 1 para alguna norma subordinada.
Para el estudio de los métodos que trataremos a continuación, vamos a des-
componer la matriz A de la forma A = D − E − F siendo
a11 0 0 ··· 0 0 0 0 ··· 0
0 a22
0 ··· 0
a21 0
0 ··· 0
D= 0
0 a33 · · · 0 − E =
a31 a32 0
··· 0
.. .. .. . . .. .. .. .. .. ..
. . . . . . . . . .
0 0 0 · · · ann an1 an2 an3 ··· 0
0 a12 a13 · · · a1n
0 0 a23 · · · a2n
−F = 0 0
0 · · · a3n
.. .. .. . . ..
. . . . .
0 0 0 ··· 0
Ax = b =⇒ Dx = (E + F )x + b =⇒ x = D−1 (E + F )x + D−1 b
60 Sistemas de ecuaciones lineales
Teorema 2.15 Una condición necesaria para que converja el método de rela-
jación es que ω ∈ (0, 2).
q(x) = h x, Ax i − 2h x, b i
62 Sistemas de ecuaciones lineales
tk v (k) - (k)
v
-
"3
"
"
x(k)
"
"
"
" (k+1)
"" x
""
"
input x, A, b, n
for k = 1, 2, 3 . . . , n do
v ← b − Ax
t ← h v, v i/h v, Av i
x ← x + tv
output k, x
end
Este método resulta, en general, muy lento si las curvas de nivel de la forma
cuadrática están muy próximas, por lo que no suele utilizarse en la forma
descrita.
Sin embargo, utilizando condiciones de ortogonalidad en las denominadas
direcciones conjugadas, puede ser modificado de forma que se convierta en un
método de convergencia rápida que es conocido como método del gradiente
conjugado.
input x, A, b, n, ε, δ
r ← b − Ax
v←r
c ← h r, r i
for k = 1, 2, 3 . . . , n do
if h v, v i1/2 < δ then stop
z ← Av
t ← c/h v, z i
x ← x + tv
r ← r − tz
d ← h r, r i
if d2 < ε then stop
v ← r + (d/c)v
c←d
output k, x, r
end
a) H es hermı́tica (H ∗ = H).
b) H es unitaria (H ∗ H = HH ∗ = I).
c) H 2 = I o lo que es lo mismo, H −1 = H.
Demostración.
∗
∗ 2 2 2
a) H = I − ∗ vv ∗ ∗
=I − ∗
(vv ∗ )∗ = I − ∗ vv ∗ = H
v v v v v v
Obsérvese que v ∗ v = h v, v i = kvk2 ∈ R, por lo que v ∗ v = v ∗ v
2
∗ 2 ∗ 2 ∗ 4 ∗ 2
b) HH = HH = I − ∗ vv I − ∗ vv = I− ∗ vv + ∗ vv ∗ vv ∗ =
v v v v v v v v
4 4 4 4
= I− ∗ vv ∗+ ∗ 2 v(v ∗ v)v ∗ = I− ∗ vv ∗+ ∗ 2 (v ∗ v)vv ∗ = I.
v v (v v) v v (v v)
c) Basta observar que, por los apartados anteriores, H 2 = HH = HH ∗ = I.
k
Q
Q
6
Q y x
36
y + λv Q
Q
x − λv
Q
Q
−v Q
Q
v
Q
-
-
λv −λv
Figura 2.2: x y su transformado.
0
..
.
0
x−y 1 q
xk+1 − x2 + · · · + x2 la transformación
Si v = = k+1 n
kx − yk kx − yk
xk+2
.
..
xn
H de Householder asociada a v transforma a x en y.
2.9.2 Householder en Cn
Sean v un vector de Cn y H la transformación de Householder asociada a él:
2
H=I− vv ∗
v∗v
• Si x = λv con λ ∈ C entonces
2 2λ
Hx = I − ∗ vv λv = λv − ∗ vv ∗ v = −λv = −x
∗
v v v v
por ser Hv unitaria, ambos vectores x e y han de tener igual norma, es decir,
ha de verificarse que |y1 | = kxk2 o lo que es lo mismo, y1 = kxk2 eiα con α ∈ R.
Tomemos un vector v unitario, es decir, tal que |x1 |2 + |x2 |2 + · · · + |xn |2 = 1.
Entonces
kxk
λ=1± supuesto x1 6= 0
|x1 |
(Si x1 = 0 basta con tomar v = (kxk , x2 , . . . , xn )).
70 Sistemas de ecuaciones lineales
kxk
1± x1
|x1 |
El vector que buscamos es, por tanto, v =
x2 obteniéndose
..
.
xn
que
y1
0
Hv x = .. con y1 = kxk eiα
.
0
que resulta ser x1
∓ kxk
|x1 |
0
Hv x = y = x − v =
..
.
0
(1)
en la que ai representa la columna i-ésima de la matriz H1 A.
Busquemos ahora otro vector v2 tal que la transformación de Householder
(1) (1)
H2 asociada a él, deje invariante al vector a1 y transforme al vector a2 en
otro de la forma (r12 , r22 , 0, . . . , 0).
(1)
Como se quiere que deje invariante al vector a1 , v2 ha de ser ortogonal a él,
es decir, debe ser de la forma (0, u2 , . . . , un ).
(1) (1)
a21 a21
q
(1) (1) 2 (1) 2
a22 (a22 ) + · · · + (an2 )
(1) (1)
Tomando x2 = a2 = a32 e y2 = , la
0
..
..
. .
(1)
an2 0
x2 − y2
transformación H2 asociada al vector v2 = deja invariante al vector
kx2 − y2 k
(1) (1)
a1 y transforma x2 = a2 en y2 .
Reiterando al procedimiento se puede triangularizar la matriz A llegar a una
matriz triangular superior R. Llegados a ese paso se tiene que
de donde
A = QR.
Hk Hk−1 · · · H1 Ax = Hk Hk−1 · · · H1 b ⇐⇒ Rx = b0
−2 − √13
x1 − y1 1
v1 = = √ 2 = √13
kx1 − y1 k
2 3
−2 − √13
− √13
2 ∗
H1 = I − ∗ v 1 v1 = I − 2 √1 − √13 √1 − √13 =
v1 v1 3 3
1
− √3
1
1 0 0 3
− 13 1
3
1
3
2
3
− 23
= 0 0 − 2 − 13 1
− 1
= 23 1 2
1 3 3 3 3
1 1 1
0 0 1 3
−3 3
− 23 2
3
1
3
1 2
3 3
− 23 1 −1 −1 3 −5 − 31
H1 A = 2 1 2 1
1 = 0
3 3 3
2 0 4 3
− 23 2
3
1
3
−2 7 1 0 3 5
3
−5 −5 −5
√
Ahora son x2 = 4 e y2 = 42 + 32 = 5 , por lo que
3 0 0
0
x2 − y2 1
v2 = = √ −1
kx2 − y2 k 10
3
0 1 0 0
2 2
H2 = I − ∗ v2 v2∗ = I − −1 0 −1 3 = 0 4 3
v2 v2 10 5 5
3
3 0 5
− 45
Factorización QR de Householder 73
1 0 0 3 −5 − 13 3 −5 − 13
H2 H1 A = 0
4 3
1 = 0
19
5 5
0 4 3
5 15
3
0 5
− 45 0 3 5
3
0 0 − 17
15
a11 a12 · · · a1n
a21 a22 · · · a2n
Si partimos de una matriz A = .. .. y tomamos
.. . .
. . . .
an1 an2 · · · ann
a11
a21
x1 = a1 = ..
.
an1
kxk
1 ± |a | a11
11
definimos el vector v1 =
a 21 , obteniéndose que
..
.
an1
(1) (1)
α a · · · a1n
11 12
0 a(1) · · ·
(1)
21 a 2n
H1 A =
.. .. . . ..
. . . .
(1) (1)
0 an2 · · · ann
(1)
a12 y1
(1)
a22 y2
Buscamos ahora otro vector v2 tal que H2 a(1) = y de tal
32 0
.. ..
. .
(1)
a 0
n2
α
11
0
forma que mantenga invariante al vector
.. . Bastará coger, para ello,
.
0
74 Sistemas de ecuaciones lineales
T
v2 = 0 v2 · · · vn , que es ortogonal a él.
En este caso, la transformación de Householder viene dada por
0 0 0 ··· 0
0 v2 v2 · · · v2 vn
v2
H2 = I − 2
..
0 v ··· v
2 n = I − 2 ..
.. .. ..
=
.
. . . .
vn 0 vn v2 · · · vn vn
1 0 ··· 0 1 0 ··· 0
0 1 − 2v2 v2 · · · −2v2 vn 0
= .. .. .. ..
=
..
. H
. . . .
0 −2vn v2 · · · 1 − 2vn vn 0
(1) (1) (1) (1)
1 0 ··· 0 1 a12 ··· a1n 1 a12 ··· a1n
0 0 0
=
.. ..
=
..
H A1 HA1
. . .
0 0 0
por el teorema de Rouche-Fröbenius , que tiene solución si, y sólo si, existen
x1 , x2 , . . . , xn ∈ Kn tales que
a · · · a1n x1 b a11 a b1
11 1 1n
.. .. .. .. . . ..
..
. . = . ⇔ x1 .. + · · · +xn .. = .
. .
an1 · · · ann xn bn an1 ann bn
Decir
queel sistema no posee solución equivale a decir que el vector
b a 1
1 1
b = b2 no pertenece al espacio columna de la matriz A = a2 1 .
b3 a3 1
Se define un sistema superdeterminado como aquel sistema de ecuaciones
lineales Ax = b en el que A ∈ Km×n , x ∈ Kn y b ∈ Km , donde K = R ó C.
b̃ = (h b, a1 i, h b, a2 i, . . . , h b, an i}
α1 h a1 , a1 i + · · · + αn h a1 , an i = h b̃, a1 i = h b, a1 i
.................................................
.................................................
α1 h an , a1 i + · · · + αn h an , an i = h b̃, an i = h b, an i
Sistemas superdeterminados. Problema de los mı́nimos cuadrados 77
que equivale a
a∗1 a1 ··· a∗1 anα a∗1 b
1
.. ..
.. ..
...
. =
. . .
a∗n a1 ∗
· · · an an αn ∗
an b
es decir
a∗1 α a∗1
1
.. .. ..
. a1 · · · an . = . b
a∗n αn a∗n
o, lo que es lo mismo:
α
1
..
A A . = A∗ b
∗
αn
caso, ambos sistemas son el mismo. Es decir, las únicas transformaciones que
podemos garantizar que no alterarán la solución de un sistema superdetermi-
nado son las transformaciones unitarias.
Dado que las transformaciones de Householder son unitarias, podemos resol-
ver un sistema superdeterminado mediante transformaciones de Householder.
Consideremos el sistema superdeterminado Ax = b (en el que suponemos A
de rango máximo). Mediante transformaciones de Householder H1 , H2 , . . . , Hn
podemos transformar la matriz A en otra de la forma
t t · · · t1n
11 12
0 t22 · · · t2n
.. .. . . ..
. . . .
T
HA = Hn · · · H1 A = 0 0 · · · tnn =
Θ
0 0 ··· 0
.. .. ..
. . .
0 0 ··· 0
resolviendo el sistema
b01
.
T ∗ T x = T ∗ ..
0
bn
y dado que estamos suponiendo que A tiene rango máximo, la matriz T posee
inversa y por tanto T ∗ , por lo que la solución es la misma que la del sistema
triangular
b0
1
.
T x = .. ⇐⇒ T x = b̃
b0n
vi∗ vj = σi−1 (Aui )∗ σj−1 (Auj ) = (σi σj )−1 (u∗i A∗ Auj ) = (σi σj )−1 (u∗i σj2 uj ) = δij
A = P DQ
a) AXA = A
b) XAX = X
c) (AX)∗ = AX
d) (XA)∗ = XA
X = XAX (b)
= XAY AX (a)
= XAY AY AY AX (a)
= (XA)∗ (Y A)∗ Y (AY )∗ (AX)∗ (d) y (c)
= A ∗ X ∗ A ∗ Y ∗ Y Y ∗ A∗ X ∗ A∗
= (AXA)∗ Y ∗ Y Y ∗ (AXA)∗
= A ∗ Y ∗ Y Y ∗ A∗ (a)
82 Sistemas de ecuaciones lineales
= (Y A)∗ Y (AY )∗
= Y AY AY (d) y (c)
= Y AY (b)
= Y (b)
Razonamientos análogos nos permiten probar que D+ verifica las otras tres
propiedades de Penrose.
Si nos fijamos ahora en A+ , se tiene que
AA+ A = P DQQ∗ D+ P ∗ P DQ = P DD+ DQ = P DQ = A
y razonamientos similares nos permiten probar las otras tres propiedades.
x = A+ b. (2.7)
A+ = (A∗ A)−1 A∗ .
p −p 2p
Ejercicio 2.6 Dada la matriz A = −p p + 2 −1 se pide:
2p −1 6p − 1
Ejercicio 2.7 Resolver por los métodos de Jacobi, Gauss-Seidel y SOR con
ω = 1.2, el sistema:
10x1 − x2 + 2x3 = 6
−x1 + 11x2 − x3 + 3x4 = 25
2x1 − x2 + 10x3 − x4 = −11
3x2 − x3 + 8x4 = 15
Ejercicios propuestos 85
no depende de α.
c) Para los valores anteriores que hacen que la sucesión sea convergente,
¿con cuál lo hace más rápidamente?
x0 0.5
d) Comenzando con el vector = , aproximar iteradamente
y0 0.5
el lı́mite de la sucesión utilizando el valor de α que acelere más la con-
vergencia.
d) Comprueba que ||Ax||∞ = ||A||∞ para la solución x = (1, 1)T del sistema
Ax = b.
¿Cuál es el máximo valor que puede tomar ||Ax||∞ , cuando x es un
vector unitario para la norma || ||∞ ?
4x + 5y = 13
3x + 5y = 11
Se pide:
(10 1, 5), (1, 50 1), (2, 70 3), (10 8, 60 9), (10 5, 60 1), (3, 80 8), (30 1, 9) y (20 9, 90 1)
se pide:
3.1 Introducción
Supongamos que se conocen los n + 1 valores que toma una función f (x), en
los puntos del conjunto {x0 , x1 , . . . , xn } denominado soporte , es decir
93
94 Interpolación
x 0 1 2
Ejemplo 3.1 Dada la tabla de valores
y 1 3 7
a) Dado que los tres puntos no están alineados, no existe ninguna recta que
interpole a dichos valores.
y = x2 + x + 1 + α x(x − 1)(x − 2) ∀α ∈ R.
x x0 x1 · · · xn
y y0 y1 · · · yn
(x − x1 )(x − x2 ) · · · (x − xn )
L0 (x) =
(x0 − x1 )(x0 − x2 ) · · · (x0 − xn )
(x − x0 )(x − x2 ) · · · (x − xn )
L1 (x) =
(x1 − x0 )(x1 − x2 ) · · · (x1 − xn )
..
.
n
Y x − xj
Li (x) =
xi − xj
j =0
j 6= i
..
.
(x − x0 )(x − x1 ) · · · (x − xn−1 )
Ln (x) =
(xn − x0 )(xn − x1 ) · · · (xn − xn−1 )
x 1 2 3 4
y 0 −1 2 −5
96 Interpolación
(x − 1)(x − 3)(x − 4) 1
L1 (x) = = (x3 − 8x2 + 19x − 12)
(2 − 1)(2 − 3)(2 − 4) 2
(x − 1)(x − 2)(x − 4) 1
L2 (x) = = − (x3 − 7x2 + 14x − 8)
(3 − 1)(3 − 2)(3 − 4) 2
(x − 1)(x − 2)(x − 3) 1
L3 (x) = = (x3 − 6x2 + 11x − 6)
(4 − 1)(4 − 2)(4 − 3) 6
Teorema 3.2 Dados los números reales x0 < x1 < · · · < xn y los n + 1
números reales cualesquiera y0 , y1 , . . . , yn , existe un único polinomio Pn (x) de
grado no superior a n tal que Pn (xi ) = yi para i = 0, 1, . . . , n.
Teorema 3.3 Sean x0 < x1 < · · · < xn y sea f una función n + 1 veces
derivable tal que la derivada f (n + 1 (x) es continua.
Sean y0 = f (x0 ), y1 = f (x1 ), . . . , yn = f (xn ) y Pn (x) el polinomio de interpo-
x x0 x1 · · · xn
lación de los valores de la tabla y sea x un número real
y y0 y1 · · · yn
cualquiera. Se verifica que
f (n + 1 (c)
f (x) − Pn (x) = (x − x0 ) · · · (x − xn )
(n + 1)!
z(xi )
g(xi ) = ε(xi ) − ε(x) =0
z(x)
f (n + 1 (c) f (n + 1 (c)
ε(x) = z(x) = (x − x0 ) · · · (x − xn )
(n + 1)! (n + 1)!
x x0 x1 · · · xn
y f0 f1 · · · fn
P (x0 ) = f0 =⇒ c0 = f0
f1 − f0
P (x1 ) = f1 =⇒ f1 = f0 + c1 (x1 − x0 ) =⇒ c1 =
x1 − x0
f1 − f0
P (x2 ) = f2 =⇒ f2 = f0 + (x2 − x0 ) + c2 (x2 − x0 )(x2 − x1 ) =⇒
x1 − x0
c2 depende de x0 , x1 , x2 , f0 , f1 y f2
1 h i
ck = fk − c0 − · · · − ck−1 (xk − x0 ) · · · (xk − xk−2 )
(xk − x0 ) · · · (xk − xk−1 )
por lo que ck depende de x0 , x1 , . . . , xk , f0 , f1 , . . . , xk .
b) • T (x0 ) = Q(x0 ) = f0
• Si xi ∈ {x1 , x2 , . . . , xn−1 } se tiene que
xi − x0 xi − x0
T (xi ) = Q(xi ) + R(xi ) − Q(xi ) = fi + (fi − fi ) =
xn − x0 xn − x0
fi .
xn − x0
• T (xn ) = Q(xn ) + R(xn ) − Q(xn ) = R(xn ) = fn .
xn − x0
x 1 3 4 5 7
y 0 1 −1 2 3
xi fi f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ] f [xi , xi+1 , xi+2 , xi+3 , xi+4 ]
1 0
1/2
3 1 − 5/6
− 2/1 5/6
4 −1 5/2 − 5/18
3/1 − 5/6
5 2 − 5/6
1/2
7 3
Interpolación polinomial 101
x x0 · · · xn−1 xn
Puede observarse que dada la tabla , el polinomio de
y y0 · · · yn−1 yn
interpolación es de la forma
Pn (x) = Pn−1 (x) + f [x0 , . . . , xn ](x − x0 ) · · · (x − xn−1 )
x x0 · · · xn−1 xn
Proposición 3.1 Dada la tabla , con x0 < · · · < xn ,
y y0 · · · yn−1 yn
existe un punto c en el intervalo [x0 , xn ] para el que
f (n (c)
f [x0 , . . . , xn ] =
n!
102 Interpolación
∆y0 = y1 − y0
∆2 y0 = ∆y1 − ∆y0
∆y1 = y2 − y1 ∆3 y0 = ∆2 y1 − ∆2 y0
∆2 y1 = ∆y2 − ∆y1
∆y2 = y3 − y2
x x0 x1 · · · xn
Proposición 3.4 Dada la tabla en la que x0 , . . . , xn
f (x) f0 f1 · · · fn
es un soporte regular con xi+1 − xi = h, se verifica que, para cualquier valor
de k = 1, 2, . . . , n, es:
∆k f0
f [x0 , . . . , xk ] = k
h · k!
∆f0 ∆2 f0 ∆n f0
Pn (x) = f0 + t+ t(t − 1) + · · · + t(t − 1) · · · (t − (n − 1))
1! 2! n!
! ! !
t t t
Es decir: Pn (x) = f0 + ∆f0 + ∆2 f0 + · · · + ∆n f0 donde
1 2 n
!
t t(t − 1) · · · (t − (k − 1))
= .
k k!
Fenómeno de Runge
Dada una función continua en [a, b], podrı́a pensarse que la sucesión Pn (x)
con n ∈ N de polinomios de interpolación, obtenidos al aumentar el número
de puntos del soporte, converge a la función f (x) es decir, podrı́amos pensar
que
lim |f (x) − Pn (x)| = 0 ∀ x ∈ [a, b]
n→∞
Si utilizamos los nueve puntos del soporte {0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4} y repre-
sentamos el polinomio obtenido en el intervalo [0.5, 1.5] obtenemos la gráfica
de la Figura 3.4 (Dcha.).
Figura 3.4: Las funciones {log(1 + x), P4 (x)} y {log(1 + x), P8 (x)}
Figura 3.5: Las funciones {log(1 + x), P16 (x)} y {log(1 + x), P32 (x)}
106 Interpolación
x x0 x1 · · · xn
f (x) f0 f1 · · · fn
f 0 (x) f00 f10 · · · fn0
donde fi = f (xi ) y fi0 = f 0 (xi ) para 0 ≤ i ≤ n.
Se tienen, en este caso, 2n + 2 condiciones, por lo que debemos buscar un
polinomio de grado 2n + 1
P (x) = a2n+1 x2n+1 + a2n x2n + · · · + a1 x + a0
que verifique las condiciones:
ak = fk
bk = fk0 − 2fk L0k (xk )
verifica que )
P2n+1 (xk ) = fk
0
k = 0, 1, . . . , n
P2n+1 (xk ) = fk0
Interpolación polinomial 107
siendo, además, el único polinomio de grado 2n+1 que verifica las condiciones
anteriores.
(x − x1 )(x − x2 ) · · · (x − xn )
L0 (x) =
(x0 − x1 )(x0 − x2 ) · · · (x0 − xn )
(x − x0 )(x − x2 ) · · · (x − xn )
L1 (x) =
(x1 − x0 )(x1 − x2 ) · · · (x1 − xn )
..
.
n
Y x − xj
Li (x) =
xi − xj
j =0
j 6= i
..
.
(x − x0 )(x − x1 ) · · · (x − xn−1 )
Ln (x) =
(xn − x0 )(xn − x1 ) · · · (xn − xn−1 )
z(x)
Lk (x) =
(x − xk )z 0 (xk )
Teorema 3.5 Sea f (x) una función 2n + 2 veces derivable con derivada de
orden 2n+2 continua y sea P2n+1 el polinomio de Hermite que interpola a f (x)
en el soporte x0 , x1 , . . . , xn . Existe un punto c del intervalo que determinan
los puntos x, x0 , . . . , xn en el que se verifica que
f (2n + 2 (c)
f (x) − P2n+1 (x) = (x − x0 )2 · · · (x − xn )2
(2n + 2)!
108 Interpolación
1
P8 (x) = (7225 − 3129x2 + 569x4 − 41x6 + x8 )
7225
cuya gráfica puede verse en la Figura 3.6 (Izda.).
Si lo hacemos en el soporte {−4, −3, −2, −1, 0, 1, 2, 3, 4} obtenemos
1
P16 (x) = ( 2890000 − 2558224x2 + 1613584x4 − 626688x6 + 144408x8
2890000
−19527x10 + 1507x12 − 61x14 + x16 )
en la que los puntos xi reciben el nombre de nodos. Una interpolación por spli-
nes no es más que tomar un soporte en cada subintervalo [xi−1 , xi ] y construir
un polinomio de interpolación, de grado no superior a k (para un k prefijado)
sobre dicho soporte, por lo que el método se conoce también como interpo-
lación polinomial a trozos. Damos a continuación una definición formal de lo
que denominaremos función spline.
Definición 3.2 Una función spline de grado k con nodos en x0 , x1 , . . . , xn es
una función S(x) formada por varios polinomios, cada uno de ellos definido
sobre un subintervalo y que se unen entre sı́ bajo ciertas condiciones de conti-
nuidad. Las condiciones que debe cumplir S(x) son las siguientes:
S∆ (xi ) = f (xi ) i = 0, 1, . . . , n
• Si exigimos que
0 0 00 00
S∆ (a) = S∆ (b), S∆ (a) = S∆ (b)
hi = xi − xi−1 i = 1, 2, . . . , n
00
M i = S∆ (xi ) i = 0, 1, . . . , n
00 xi+1 − x x − xi
S∆| (x) = Mi + Mi+1 .
[x ,x
i i+1 ] hi+1 hi+1
Integrando respecto a x obtenemos el valor de la primera derivada del spline
en este intervalo
obtenemos
Mi 2 Mi 2
hi+i + Bi = yi =⇒ Bi = yi − h
6 6 i+1
Mi+1 2 yi+1 − yi hi+1
hi+i + Ai hi+1 + Bi = yi+1 =⇒ Ai = − (Mi+1 − Mi ).
6 hi+1 6
112 Interpolación
3.4 Ejercicios
Ejercicio 3.1 Calcular los polinomios de Lagrange para el soporte canónico
con 1 ≤ n ≤ 3.
0
Calcular el error cometido en la aproximación de e0 01 y comparar su
valor con el que nos da la calculadora.
x 0 1 2 3
Ejercicio 3.8 Dada la tabla se pide:
y −1 6 31 98
4.1 Introducción
Se pretende,
Z b en este tema, dar una aproximación numérica del valor de una
integral f (x)dx en los distintos problemas que se presentan en la práctica,
a
como son:
a) Conocida una primitiva F (x) de la función f (x) sabemos que
Z b
f (x)dx = F (b) − F (a)
a
115
116 Integración numérica
Z 2
en donde habrá que evaluar ε(x)dx.
1
z(x) = (x − x0 )(x − x1 ) · · · (x − xn ),
el polinomio de interpolación es
z(x)
Li (x) =
(x − xi ) z 0 (xi )
Además,
Z b n Z
X b n
X Z b n
X
Pn (x) = yi Li (x)dx = yi Li (x)dx = ai y i
a i=0 a i=0 a i=0
Rb
donde los coeficientes ai = a
Li (x)dx no dependen de la función, sino sólo del
soporte.
Además, si f es un polinomio de grado no superior a n, ε(x) = 0, por lo que
para polinomios es
Z b n
X
P (x)dx = ai P (xi )
a i=1
Fórmulas de cuadratura 117
Por tanto:
P (x) = 1 =⇒ b − a = a0 + a1 + · · · + an
b 2 − a2
P (x) = x =⇒ = a0 x 0 + a1 x 1 + · · · + an x n
2
....................................................... (4.1)
.......................................................
n+1 n+1
b − a
n n n n
= a0 x 0 + a1 x 1 + · · · + an x n
P (x) = x =⇒
n+1
sistema que, en forma matricial es
1 1 ··· 1 a0 b−a
x x ··· x b2 −a2
0 1 n a1
2
=
. .. . . .. .. ..
..
. . .
.
.
n n n an+1 −bn+1
x0 x1 · · · xn an n+1
P (x) = 1 =⇒ a0 + a1 + a2 = 1
1 1 1
P (x) = x =⇒ 0 · a0 + a1 + a2 =
3 2 2
1 1 1
P (x) = x2 =⇒ 0 · a0 + a1 + a2 =
9 4 3
118 Integración numérica
cuya solución es
1 3
a0 = a1 = − a2 = 2
2 2
luego Z 1
1 3 1 1
f (x)dx ' f (0) − f ( ) + 2f ( )
0 2 2 3 2
1 1 3
b) En el soporte S2 = { , , }
4 2 4
Z 1
1 1 3
f (x)dx ' b0 f ( ) + b1 f ( ) + b2 f ( )
0 4 2 4
El sistema a resolver es, en este caso:
P (x) = 1 =⇒ b0 + b1 + b2 = 1
1 1 3 1
P (x) = x =⇒ b0 + b1 + b2 =
4 2 4 2
1 1 9 1
P (x) = x2 =⇒ b0 + b1 + b2 =
16 4 16 3
cuya solución es
2 1 2
b0 = b1 = − b2 =
3 3 3
luego Z 1
2 1 1 1 2 3
f (x)dx ' f ( ) − f ( ) + f ( )
0 3 4 3 2 3 4
x0 = a x1 = a + h ··· xi = a + ih ··· xn = a + nh = b
Por tanto:
Z n n
t(t − 1) · · · (t − n)
Z
ai = Li (x)dx = hdt =
0 0 (t − i) · i! · (n − i)! · (−1)n−i
n−i n
t(t − 1) · · · (t − n)
Z
(−1) h
= dt =⇒
i! · (n − i)! 0 t−i
n
Z n
n−i
i z(t)
ai = h(−1) dt
n! 0 t−i
Demostración.
n
n
n−k
Z
k z(t)
an−k = h(−1) dt
n! 0 t − (n − k)
t − n = −u
Haciendo se tiene que
dt = −du
n
Z n
k+1
n−k (−u + n)(−u + n − 1) · · · (−u)
an−k = h(−1) du =
n! 0 −u + k
n
Z n
k+1+n+1
n−k u(u − 1) · · · (u − n)
= h(−1) du =
n! 0 u−k
n
Z n
n+k
k u(u − 1) · · · (u − n)
= h(−1) du =
(−1)2k n! 0 u−k
n
Z n
n−k
k z(u)
= h(−1) du = ak
n! 0 u−k
Teniendo en cuanta la Proposición 4.1, sólo hay que calcular la mitad de los
coeficientes.
f (x)
f (b)
f (a)
a b
Figura 4.1: Método del trapecio
región plana limitada por las rectas x = a, x = b, y = 0 y la recta que pasa por
los puntos (a, f (a)) y (b, f (b)), es decir, el área de un trapecio (ver Figura 4.1).
a) Si n es par:
n
hn+3 f (n + 2 (c)
Z
εn = t · t(t − 1) · · · (t − n)dt
(n + 2)! 0
122 Integración numérica
b) Si n es impar:
n
hn+2 f (n + 1 (c)
Z
εn = (t − 1) · · · (t − n)dt
(n + 1)! 0
h3 · f 00 (c)
ε=−
12
h5 · f (iv (c)
ε=−
90
(b − a)5
|ε| ≤ máx |f (iv (x)|
180 n4 x∈[x0 ,xn ]
b
b−a
Z
f (x)dx ' f (x0 ) + f (xn ) + 2 f (x1 ) + f (x2 ) + · · · + f (xn−1 )
a 2n
(b − a)3
|ε| = máx |f 00 (x)|
12 n2 x∈[x0 ,xn ]
4.5 Ejercicios
Ejercicio 4.1 Probar que los coeficientes ak de las fórmulas de Newton-Cötes
verifican: n
X (−1)k ak
n
= 0.
k=0 k
1
1 − x2
Z
Ejercicio 4.2 Dada la integral dx se pide:
0 1 + x2
a) Calcularla exactamente.
c) Dar una condición, necesaria y suficiente, para que dicha fórmula sea
exacta para polinomios de tercer grado.
r
5x + 13
d) Aplicar la fórmula a f (x) = con c = 00 1 y comparar con el
2
valor exacto.
Z 1
Ejercicio 4.4 Calcular f (x) ln x dx interpolando f (x), por un polinomio
0
de tercer grado, en el soporte {0, 1/3, 2/3, 1} y aplicar el resultado al cálculo de
Z 1
sen x ln x dx.
0 Z 1
−1
Ayuda: xm ln x dx = (m ≥ 0)
0 (m + 1)2
Ejercicio 4.6 Probar que la fórmula compuesta de los trapecios para el in-
tervalo [0, 2π]:
Z 2π
h
f (x) dx = [f (0) + 2f (h) + 2f (2h) + · · · + 2f ((n − 1)h) + f (2π)] + E
0 2
(h = 2π/n) integra, exactamente, las funciones:
1, sin x, cos x, sin 2x, cos 2x, . . . , sin(n − 1)x, cos(n − 1)x.
Z 1
Ejercicio 4.8 Se considera la integral ex (4 − x) dx :
0
Algoritmo Ecuaciones
de Horner, 22, 23 algebraicas, 2
de la bisección, 6 Espacio normado, 35
de Newton, 13
Factorización
Bisección de Cholesky, 52
algoritmo de la, 6 LU, 49
método de la, 4 ortogonal, 64
Bolzano Fórmula
teorema de, 4 de cuadratura, 117
de Gauss, 118
Ceros de Heron, 14
de polinomios, 19 de Newton-Cötes, 118
de una función, 1 de Newton-Raphson, 11
Cholesky de Simpson, 121
factorización de, 52 para n par, 122
Coeficientes del trapecio, 120
de Newton-Cötes, 119 para n impar, 123
Condición Fourier
número de, 43, 44 regla de, 14, 16
Convergencia, 37 Función
Descenso más rápido ceros de una, 1
método de, 61 contractiva, 7
Descomposición spline, 109
en valores singulares, 79 Gauss
Descomposición fórmulas de, 118
método de, 59 Gauss-Seidel
Diferencias finitas, 102 método de, 60
Distancia, 36 Gradiente conjugado
inducida, 36 método de, 61
127
128 Índice
Hadamard consistente, 55
martiz de, 51 convergente, 55
Heron de descomposición, 59
fórmula de, 14 de Gauss-Seidel, 60
Horner de Jacobi, 59
algoritmo de, 22, 23 de la bisección, 4
Householder de Newton, 11
transformación de, 65 para raı́ces múltiples, 17
transformación en el campo com- de relajación, 60
plejo, 68 de Sturm, 4
del descenso más rápido, 61
Interpolación, 93 del gradiente conjugado, 61
de Lagrange, 94 directo, 1, 42, 48
de Newton iterado, 1, 42, 55
diferencias divididas, 98
diferencias finitas, 102 Newton
polinomial, 94 algoritmo de, 13
por splines, 94, 109 interpolación de
spline de, 110 diferencias divididas, 98
diferencias finitas, 102
Jacobi método de, 11
método de, 59 para raı́ces múltiples, 17
Lagrange Newton-Cötes
interpolación de, 94 coeficientes de, 119
polinomios de, 94 fórmulas de, 118
Laguerre Newton-Raphson
regla de, 4 fórmula de, 11
Nodos, 109
Matriz Norma, 35
de diagonal dominante, 51 euclı́dea, 36
de Hadamard, 51 infinito, 36
fundamental, 50 matricial, 37
sparce, 42 euclı́dea, 38
triangular infinito, 38
inferior, 42 uno, 38
superior, 42 multiplicativa, 35
tridiagonal, 42 uno, 36
unitaria, 39 vectorial, 36
Momentos, 111 Número de condición, 43, 44
Método
Índice 129
Seudoinversa
de Penrose, 79, 81
Seudosolución, 77
Simpson
fórmula de, 121
para n par, 122
Sistema
bien condicionado, 43
compatible
determinado, 43