Está en la página 1de 189

E.T.S.

DE INGENIERÍA INFORMÁTICA

Apuntes de

CÁLCULO NUMÉRICO
para la titulación de

INGENIERÍA TÉCNICA EN INFORMÁTICA

DE SISTEMAS

Fco. Javier Cobos Gavala


Contenido

Portada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1 Ecuaciones no lineales 7
1.1 Errores y condicionamiento en problemas numéricos . . . . . . 8
1.2 Método y algoritmo de la bisección: análisis de errores . . . . 12
1.3 Punto fijo e iteración funcional . . . . . . . . . . . . . . . . . . 19
1.4 Análisis del método de Newton-Raphson . . . . . . . . . . . . 25
1.4.1 Método de Newton generalizado . . . . . . . . . . . . . 31
1.5 Un problema mal condicionado: ceros de un polinomio . . . . 34
1.5.1 Sucesiones de Sturm . . . . . . . . . . . . . . . . . . . 38
1.5.2 Algoritmo de Horner . . . . . . . . . . . . . . . . . . . 41
1.6 Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . 43
1.7 Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . 54

2 Sistemas de ecuaciones lineales 61


2.1 Normas vectoriales y matriciales . . . . . . . . . . . . . . . . . 61
2.1.1 Normas vectoriales . . . . . . . . . . . . . . . . . . . . 62
2.1.2 Distancia inducida por una norma . . . . . . . . . . . . 62
2.1.3 Convergencia en espacios normados . . . . . . . . . . . 63
2.1.4 Normas matriciales . . . . . . . . . . . . . . . . . . . . 64
2.1.5 Transformaciones unitarias . . . . . . . . . . . . . . . . 66
2.1.6 Radio espectral . . . . . . . . . . . . . . . . . . . . . . 67

3
4 Contenido

2.2 Sistemas de ecuaciones lineales . . . . . . . . . . . . . . . . . . 71


2.2.1 Número de condición . . . . . . . . . . . . . . . . . . . 74
2.3 Métodos directos de resolución de sistemas lineales . . . . . . 80
2.3.1 Factorización LU . . . . . . . . . . . . . . . . . . . . . 80
2.3.2 Factorización de Cholesky . . . . . . . . . . . . . . . . 84
2.4 Métodos iterados de resolución de sistemas lineales . . . . . . 87
2.4.1 Método de Jacobi . . . . . . . . . . . . . . . . . . . . . 92
2.4.2 Método de Gauss-Seidel . . . . . . . . . . . . . . . . . 93
2.4.3 Métodos de relajación (SOR) . . . . . . . . . . . . . . 93
2.5 Factorizaciones ortogonales . . . . . . . . . . . . . . . . . . . . 95
2.5.1 Factorización QR de Gram-Schmidt . . . . . . . . . . . 95
2.5.2 Factorización QR mediante rotaciones . . . . . . . . . 96
2.5.3 Factorización QR de Householder . . . . . . . . . . . . 98
2.6 Sistemas superdeterminados. Problema de los mı́nimos cuadrados107
2.6.1 Transformaciones en sistemas superdeterminados . . . 110
2.7 Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . 112
2.8 Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . 122

3 Interpolación 141
3.1 Interpolación polinomial . . . . . . . . . . . . . . . . . . . . . 142
3.1.1 Interpolación de Lagrange . . . . . . . . . . . . . . . . 145
3.1.2 Interpolación de Newton . . . . . . . . . . . . . . . . . 148
3.1.3 Interpolación de Hermite . . . . . . . . . . . . . . . . . 157
3.2 Interpolación por splines . . . . . . . . . . . . . . . . . . . . . 160
3.2.1 Splines cúbicos . . . . . . . . . . . . . . . . . . . . . . 161
3.3 Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . 164
3.4 Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . 168

4 Integración numérica 171


4.1 Fórmulas de cuadratura . . . . . . . . . . . . . . . . . . . . . 172
4.2 Fórmulas de Newton-Cötes . . . . . . . . . . . . . . . . . . . . 174
Contenido 5

4.2.1 Fórmula del trapecio . . . . . . . . . . . . . . . . . . . 177


4.2.2 Fórmula de Simpson . . . . . . . . . . . . . . . . . . . 178
4.3 Fórmulas compuestas . . . . . . . . . . . . . . . . . . . . . . . 179
4.3.1 Simpson para n par . . . . . . . . . . . . . . . . . . . . 179
4.3.2 Trapecios para n impar . . . . . . . . . . . . . . . . . . 180
4.4 Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . 181
4.5 Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . 186

Bibliografı́a 189
1. Ecuaciones no lineales

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

• Métodos directos

Proporcionan la solución mediante un número finito de operaciones ele-


mentales. √
2 −b ± b2 − 4ac
ax + bx + c = 0 =⇒ x =
2a
• Métodos iterados

Construyen una sucesión (xn ) convergente a la solución x de la ecuación


o del sistema.

Sin embargo, el siglo XIX, 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 me-


diante métodos iterados que, incluso en el caso de las polinómicas de grado no
superior a cuatro, son más eficientes.

Definición 1.1 [Multiplicidad de una raı́z]

Una solución x de la ecuación f (x) = 0 se dice que tiene multiplicidad n si


f (x) = f 0 (x) = f 00 (x) = · · · = f (n−1 (x) = 0 y f (n (x) 6= 0
Si la multiplicidad es 1, diremos que se trata de una raı́z simple.

7
8 Ecuaciones no lineales

Todos los métodos numéricos de resolución de ecuaciones presentan dificulta-


des cuando la ecuación tiene raı́ces múltiples, ya que todos ellos se basan en
los cambios de signo de la función y éstos son difı́cilmente detectables en un
entorno de una raı́z múltiple.
Ese hecho nos lleva a un mal condicionamiento del problema.

1.1 Errores y condicionamiento en problemas


numéricos
Cualquier problema numérico se resuelve a través de un algoritmo que nos
proporciona unos resultados a partir de unos datos iniciales. Es decir, se trata
de realizar un proceso del tipo

Datos =⇒ Algoritmo =⇒ Resultados

Dado que cualquier algoritmo puede cometer errores, no sólo por el algoritmo
en sı́, sino porque los datos pueden venir afectados de algún tipo de error
(redondeo, etc.) es muy importante el estudio de los distintos tipos de error
que puedan cometerse con vista a la fiabilidad de los resultados.

Definición 1.2 [Errores absoluto y relativo]

Supongamos que el valor exacto de un dato es x y disponemos de un valor


aproximado x.

• Se denomina error absoluto de x a la distancia que lo separa del valor


exacto x, es decir |x − x|.

Obsérvese que si sólo disponemos del dato de que el error es, por ejemplo,
de 1m. no sabemos nada acerca de la fiabilidad del resultado, ya que no
es lo mismo decir que se ha cometido un error de un metro al medir la
altura de una persona que al medir la distancia entre dos galaxias.

Debemos reflejar de alguna manera “lo que se está evaluando” en el dato


del error.

• Se denomina error relativo de x al


cociente entre el error absoluto y el
x − x
objeto evaluado, es decir, . En el caso x = 0 sólo se utiliza el
x
error absoluto.
Errores y condicionamiento en problemas numéricos 9

En la mayorı́a de los procesos numéricos utilizaremos como error el error abso-


luto ya que lo que nos interesa conocer es el número de cifras decimales exactas
que posee la solución de un determinado problema.

Evidentemente cualquier algoritmo que trabaje con unos datos afectados de


algún tipo de error nos proporcionará unos resultados que también vendrán
afectados de errores. Estos errores pueden depender sólo de los datos iniciales
o también del proceso que se ha realizado.
Supongamos que, queremos evaluar f (x) y damos un dato aproximado x. Es
evidente que, en general, si x 6= x será f (x) 6= f (x).
Dado que f (x) − f (x) ' (x − x)f 0 (x), se tiene que

|f (x) − f (x)| ' |x − x| · |f 0 (x)|

por lo que aunque el error del dato sea muy pequeño, si la derivada f 0 (x) es
muy grande, el resultado obtenido f (x) puede diferir mucho del valor exacto
f (x).
Para el problema inverso, es decir conocido f (x) buscar el valor de x (resolver
una ecuación) se tendrá que
1
|x − x| ' |f (x) − f (x)|
|f 0 (x)|

por lo que si |f 0 (x)| fuese muy pequeño el error de la solución puede ser muy
grande.
Además el problema no está en el algoritmo que se aplique para evaluar f (x)
sino en el propio problema a resolver.

Definición 1.3 [Condicionamiento de un problema]

Diremos que un problema está mal condicionado si pequeños errores en los


datos producen grandes errores en los resultados.

Se trata entonces de definir algún número que nos indique el condicionamiento


del problema. A éste número lo llamaremos número de condición del problema
y lo denotaremos por κ.

En el ejemplo anterior es evidente que

κ(x) = |f 0 (x)|
10 Ecuaciones no lineales

Ası́ pues, un problema (en ambos sentidos) estará mejor condicionado mientras
más se acerque a 1 su número de condición.

Ejemplo 1.1 Si queremos calcular la tangente de 89◦ 590 lo primero que de-
bemos hacer es expresar el ángulo en radianes, por lo que necesariamente
debemos redondear el dato (el número π hay que redondearlo), por lo que el
dato vendrá afectado de un error de redondeo.
Utilicemos el método que utilicemos, dado que | tg x−tg x| ' |1+tg 2 x|·|x−x|
y tg x → +∞ cuando x → π, el problema estará mal condicionado.
tg a + tg b
Sin embargo si tenemos en cuenta que tg (a + b) = podemos
1 − tg a tg b
reducir nuestro problema al cálculo de la tangente de 44◦ 590 resultando éste
un proceso bien condicionado, ya que tg 45 = 1. 

Definición 1.4 Estabilidad de un algoritmo

Respecto al algoritmo que se utiliza para resolver un determinado problema,


diremos que es inestable cuando los errores que se cometen en los diferentes
pasos del algoritmo hacen que el error total que se genera sea muy grande.

Si, por el contrario los errores que se producen en los distintos pasos no alteran
de forma significativa el resultado del problema, diremos que el algoritmo es
estable.

Ejemplo 1.2 Supongamos que se quiere calcular la integral


1
x10
Z
I10 = dx
0 a+x
1
xn
Z
Llamando In = dx observamos que
0 a+x
1 1
xn xn−1 (x + a − a)
Z Z
In = dx = dx =
0 a+x 0 a+x
Z 1 n−1 Z 1 n−1 Z 1 Z 1 n−1
x (x + a) x n−1 x
= dx − a dx = x dx − a dx =
0 a+x 0 a+x 0 0 a+x
 n 1
x 1
= − aIn−1 = − aIn−1
n 0 n
Errores y condicionamiento en problemas numéricos 11

por lo que podemos pensar en la posibilidad de calcular I10 de forma recursiva


mediante el siguiente algoritmo:


a+1
 I0 = ln


a
Algoritmo
 1
 In = − aIn−1

n

11
Sin embargo, dado que para a = 10 es I0 = ln = 0.09531017980432 . . .
10
y el número 0.09531017980432 . . . no podemos introducirlo en el ordenador
de manera exacta, debemos cometer algún error introduciendo un número
aproximado I 0 de tal forma que cometemos un error inicial ε0 = |I 0 − I0 |.
El error εn que se cometerá al calcular In vendrá dado por

1 1
εn = |I n − In | = − aI n−1 − ( − aIn−1 ) = | − a(I n−1 − In−1 )| = |a|εn−1
n n
es decir,
εn = |a|εn−1 = |a|2 εn−2 = · · · = |a|n ε0
por lo que si tomamos las 10 primeras cifras decimales de I0 , es decir, si
tomamos
I 0 = 0.0953101798 con ε0 < 10−10
obtendremos un error en la décima iteración

ε10 < 1010 · 10−10 = 1

en otras palabras,

I 10 no tiene ninguna cifra decimal exacta

Se trata pues de un algoritmo muy inestable. 

Obsérvese que si el algoritmo es inestable no va a generar un resultado fiable,


por lo que deberemos utilizar otro algoritmo. Sin embargo, por muy estable
que sea el algoritmo, si el problema está mal condicionado lo único que pode-
mos hacer es plantear un problema equivalente al nuestro pero con la seguridad
de que se trata de un problema bien condicionado.
12 Ecuaciones no lineales

1.2 Método y algoritmo de la bisección: aná-


lisis de errores
Teorema 1.1 [Teorema de Bolzano]

Si f es una función continua en el intervalo cerrado [a, b] y f (a) · f (b) < 0,


existe un punto α ∈ (a, b) en el cual f (α) = 0.

Nuestro problema se reduce a localizarla. Para ello, supongamos que está


separada, es decir, que en el intervalo [a, b] es la única raı́z que existe. Esto
podemos garantizarlo, por ejemplo, viendo que f 0 (x) 6= 0 en todo el intervalo,
ya que entonces, el Teorema de Rolle nos garantiza la unicidad de la raı́z.

Teorema 1.2 [Teorema de Rolle]

Si f (x) es una función continua en el intervalo [a, b], derivable en (a, b) y


f (a) = f (b), existe un punto α ∈ (a, b) para el que f 0 (α) = 0.

En efecto, si f (x) tuviese dos raı́ces α1 y α2 en el intervalo [a, b], verificarı́a


las hipótesis del teorema de Rolle en el intervalo [α1 , α2 ] ⊂ [a, b], por lo que
deberı́a existir un punto α ∈ (α1 , α2 ) =⇒ α ∈ (a, b) en el que se anulara la
derivada, por lo que si f 0 (x) 6= 0 en todo el intervalo [a, b], no pueden existir
dos raı́ces de la ecuación en dicho intervalo.

Método de la bisección o dicotomı́a

Supongamos que tenemos separada una raı́z x de la ecuación f (x) = 0 en el


intervalo [a1 , b1 ] = [a, b] es decir

sig f (a) 6= sig f (b) y f 0 (x) 6= 0 ∀ x ∈ [a, b]

a1 + b 1
Tomando el punto medio x1 =
2

• Si f (x1 ) = 0, hemos encontrado la solución: x = x1 .

• Si f (x1 ) 6= 0, sólo en uno de los dos subintervalos [a1 , x1 ] o [x1 , b1 ] se pro-


ducirá un cambio de signo en los extremos y el teorema de Bolzano nos
asegura que la raı́z se encuentra en el subintervalo en el que se produce
dicho cambio de signo, al cual lo renombramos como [a2 , b2 ]
Método y algoritmo de la bisección: análisis de errores 13

Reiterando el procedimiento podemos construir una sucesión de interva-


los [an , bn ] con amplitudes
|b − a|
|bn − an | = −→ 0 cuyos puntos medios xn −→ x
2n
Cota del “error a priori”

El error cometido, tomando como raı́z de la ecuación el punto medio xn del


intervalo [an , bn ] obtenido en la en la iteración n-ésima, viene dado por
b−a
εn ≤
2n
1
por lo que si b − a = 1 y n = 10 se tiene que ε10 ≤ 10 < 10−3 , es decir,
2
en 10 iteraciones obtenemos tres cifras decimales exactas, por lo que podemos
estimar el error de una determinada iteración sin necesidad de realizarlas pre-
viamente.

Lo verdaderamente importante de esta fórmula del error a priori es que nos


permite conocer el número de iteraciones que van a ser necesarias para obtener
la raı́z con una determinada precisión.

Ası́, por ejemplo, si queremos obtener la solución de la ecuación f (x) = 0 en


el intervalo [a, b] de amplitud 1 con 14 cifras decimales exactas, deberá ser
1
εn ≤ n
< 10−14 ⇐⇒ 2n > 1014 =⇒ n ≥ 47
2
es decir, deberemos detenernos en la iteración 47.

Algoritmo de la bisección
ai + b i
Para i = 1, . . . , n, . . ., Ii = [ai , bi ] y mi = (punto medio de Ii ) con
2

 [ai , mi ] si sig(f (ai )) 6= sig(f (mi ))
I1 = [a, b] y Ii+1 =
[mi , bi ] si sig(f (bi )) 6= sig(f (mi ))

El proceso debe repetirse hasta que

f (mi ) = 0 o bien bi − ai < ε con ε > 0 prefijado.

Un algoritmo para MatLab con entradas a, b, ε y f (x) y salida la raı́z m serı́a


el siguiente:
14 Ecuaciones no lineales

Algoritmo de la Bisección

while (b-a)/2>ε
m = a+(b-a)/2;
if f(m) == 0
a = m;
b = m;
end
if sign f(a) == sign f(m)
a = m;
else
b = m;
end
end
m

El hecho de calcular el punto medio de [a, b] como m = a + (b − a)/2 es debido


a que para valores muy pequeños de a y b puede darse el caso de que (a + b)/2
se encuentre fuera del intervalo.

Método de la “Regula falsi”

Una variante del método de la bisección es el método de la regula falsi , de la


falsa posición o método de la cuerda consistente en dividir el intervalo [a, b] en
dos subintervalos [a, c] ∪ [c, b] donde el punto c, a diferencia del punto medio
del método de la bisección, es el punto de corte de la recta secante que pasa
por los puntos (a, f (a)) y (b, f (b)) con el eje de abscisas OX.
Y
(b, f (b))
f (b) t



(c, 
0)
t
O 
 X


t

f (a) 
(a, f (a))

Figura 1.1: Método de la régula f alsi.


Método y algoritmo de la bisección: análisis de errores 15

La pendiente de dicha secante viene determinada por

f (b) − f (a) 0 − f (b)


m= =
b−a c−b
Según se utilicen los puntos (a, f (a)) y (b, f (b)) ó (c, 0) y (b, f (b)) respectiva-
mente.
Despejando el valor de c obtenemos que

b−a af (b) − bf (a)


c = b − f (b) · =
f (b) − f (a) f (b) − f (a)

pudiéndose dar los mismos casos que en el método de la bisección, es decir:

• Si f (c) = 0 la raı́z buscada es c.

• Si f (a) y f (c) tienen signos contrarios, la raı́z se encuentra en el intervalo


[a, c].

• Si son f (c) y f (b) los que tienen signos contrarios, la raı́z está en el
intervalo [c, b].

El algoritmo con entradas a, b, ε y f (x) y salida la raı́z c serı́a el siguiente:

Algoritmo de la Regula falsi

c = a;
while abs f(c)>ε
c = (a*f(b)-b*f(a))/(f(b)-f(a));
if f(c) == 0
a = c;
b = c;
end
if sign f(a) == sign f(c)
a = c;
else
b =c;
end
end
c
16 Ecuaciones no lineales

En este caso las amplitudes de los intervalos [an , bn ] no se van reduciendo a la


mitad como en el caso del método de dicotomı́a, por lo que ya no es válida
la fórmula del error a priori, siendo necesario encontrar otra forma de poder
estimar el error que se comete en cada iteración.

Error “a posteriori”

Supongamos conocido que la función f (x) tiene un cero en el intervalo [a, b] y


que por cualquier método hemos aproximado la solución como xn .
Lo primero que se nos ocurre para comprobar si es válido el resultado es
calcular f (xn ) y, en general, obtendremos que f (xn ) 6= 0 ya que no tendremos
exactamente la raı́z x sino una aproximación.
Supongamos que obtenemos f (xn ) = 2.2345.

¿estamos cerca o lejos de la raı́z buscada?

Si la pendiente de la función en dicho punto f 0 (xn ) es grande estaremos cerca


de ella, pero si es pequeña estaremos lejos.

f (x)
f (x)

x x
xn

Figura 1.2: El error es inversamente proporcional a la pendiente.

Ası́ pues, el error es inversamente proporcional a la pendiente de la función,


en otras palabras,
|f (xn )|
ε≈ 0
|f (x)|

¿Dónde debemos medir la pendiente?


Si la medimos en un punto en concreto puede que sea muy grande y pensemos
que estamos muy cerca de la solución cuando aún estamos muy lejos.
Método y algoritmo de la bisección: análisis de errores 17

f (x)

f (x)

x x
xn

Figura 1.3: Se debe tomar el mı́nimo valor de la pendiente.

Debemos, por tanto, tomar el mı́nimo valor de la pendiente en todo el intervalo,


para decir que
|f (xn )|
εn ≤ (1.1)
mı́n |f 0 (x)|
x∈(a,b)

Veamos ahora una justificación formal de la fórmula anterior.

Teorema 1.3 [Teorema del valor medio]

Si f (x) es una función continua en el intervalo [a, b] y derivable en (a, b),


f (b) − f (a)
existe un punto c ∈ (a, b) tal que = f 0 (c).
b−a

Sea x una solución de la ecuación f (x) = 0 y sea xn una aproximación de ella


obtenida por un método iterado cualquiera.

Supongamos f (x) continua en el intervalo cerrado [xn , x] ó [x, xn ] (dependiendo


de que x sea mayor o menor que xn ) y derivable en el abierto.
Existe entonces un punto c ∈ (xn , x) ó c ∈ (x, xn ) tal que

f (x) − f (xn )
= f 0 (c).
x − xn
18 Ecuaciones no lineales

f (xn )
Como f (x) = 0, nos queda que x − xn = − , obteniéndose:
f 0 (c)
)
|f (xn )| |f (xn )| |f (xn )| (x, xn )
εn = 0 ≤ 0 ≤ con ∈ (a, b)
|f (c)| mı́n |f (x)| mı́n |f 0 (x)| (xn , x)
(x, xn ) x∈(a,b)
x∈ (xn , x)

Lo único que debemos exigir es que la derivada de la función no se anule en


ningún punto del intervalo (a, b).

Téngase en cuenta que si la función está mal condicionada es decir, si |f 0 (x)| es


muy grande, el cálculo de f (xn ) estará muy mal condicionado ya que cualquier
error en el valor de xn hace que lo que estemos calculando sea f (xn ) en un
punto x0n muy cercano a xn verificándose que

|f (x0n ) − f (xn )| ' |x0n − xn | · |f 0 (xn )|

es decir, puede que obtengamos por ejemplo que f (xn ) = k y sin embargo su
verdadero valor difiera mucho de k debido a la fuerte pendiente existente en
dicho punto, con lo que obtendremos una cota errónea del error.
Debemos, por tanto, asegurarnos de que nuestro problema está bien condicio-
nado, es decir, no existen en el intervalo pendientes muy grandes (condiciona-
miento directo) ni muy pequeñas (condicionamiento inverso) para garantizar
la fiabilidad del “error a posteriori”.

Aplicando el método de la regula falsi al cálculo de la raı́z de 3, se obtienen


14 cifras decimales exactas, en sólo 14 iteraciones frente a las 47 necesarias
mediante el método de la bisección.

Sin embargo, en el método de la regula falsi la convergencia no tiene porqué


ser más rápida que en el de la bisección.
Ambos métodos son de convergencia lenta siendo necesario, por tanto, buscar
otros métodos cuya convergencia sea más rápida.
Dichos métodos están basados en el denominado Teorema del punto fijo que
estudiamos en la siguiente sección.
Punto fijo e iteración funcional 19

1.3 Punto fijo e iteración funcional


Definición 1.5 [Función contractiva]

Una función f : R → R se dice contractiva si verifica que

|f (x1 ) − f (x2 )| ≤ q |x1 − x2 | ∀ x 1 , x2 ∈ R con q<1

q recibe el nombre de factor de contractividad.

Lema 1.4 [Caracterización de las funciones contractivas]

Si una función f (x) continua en [a, b] y derivable en (a, b) verifica que

|f 0 (x)| ≤ q < 1 ∀ x ∈ [a, b]

es contractiva en dicho intervalo.

Demostración. Para cualquier par de puntos x1 , x2 ∈ [a, b]


(
[x1 , x2 ]
f (x1 ) − f (x2 ) = (x1 − x2 )f 0 (c) con c ∈ =⇒ c ∈ [a, b]
[x2 , x1 ]

|f (x1 ) − f (x2 )| = |x1 − x2 | · |f 0 (c)| ≤ q |x1 − x2 | con q < 1


por lo que es contractiva en [a, b].

Definición 1.6 [Punto fijo]

Se dice que x es un punto fijo de la función f (x) si f (x) = x.

Teorema 1.5 [Teorema del punto fijo]

Sea ϕ(x) una función continua en [a, b], derivable en (a, b), con ϕ([a, b]) ⊆ [a, b]
tal que |ϕ0 (x)| ≤ q < 1 ∀ x ∈ [a, b], y sea x0 un punto cualquiera del intervalo
[a, b]. La sucesión

x 0 , x1 , x2 , . . . , x n , . . . con xn+1 = ϕ(xn )

converge al único punto fijo de la función ϕ(x) en [a, b].


20 Ecuaciones no lineales

Demostración.

• Convergencia
(
[xn , xn+1 ]
xn+1 − xn = ϕ(xn ) − ϕ(xn−1 ) = (xn − xn−1 )ϕ0 (c) con c ∈
[xn+1 , xn ]

y por tanto, con c ∈ [a, b].

|xn+1 − xn | = |xn − xn−1 | · |ϕ0 (c)| ≤ q|xn − xn−1 |

por lo que
|x2 − x1 | ≤ q|x1 − x0 |
|x3 − x2 | ≤ q|x2 − x1 | ≤ q 2 |x1 − x0 |
..
.
|xn+1 − xn | ≤ q n |x1 − x0 |
..
.

|x0 | + |x1 − x0 | + |x2 − x1 | + · · · + |xn+1 − xn | + · · · ≤

≤ |x0 | + |x1 − x0 | + q|x1 − x0 | + · · · + q n |x1 − x0 | + · · · =

= |x0 | + |x1 − x0 |(1 + q + · · · + q n + · · ·) con q < 1 =⇒


1
|x0 | + |x1 − x0 | + · · · + |xn+1 − xn | + · · · ≤ |x0 | + |x1 − x0 |
1−q

por lo que la serie

Sn = x0 + (x1 − x0 ) + (x2 − x1 ) + · · · + (xn+1 − xn ) + · · ·

es convergente por ser absolutamente convergente. Dado que

S1 = x 0
S2 = x0 + (x1 − x0 ) = x1
..
.
Sn+1 = Sn + (xn − xn−1 ) = xn
..
.

la convergencia de Sn nos garantiza la de la sucesión (xn ).


Punto fijo e iteración funcional 21

• Convergencia al punto fijo

x = lim xn =⇒ ϕ(x) = ϕ(lim xn ) = lim ϕ(xn ) = lim xn+1 = ϕ(x)

es decir

ϕ(x) = x =⇒ x = lim xn es punto fijo de ϕ(x) en [a, b]

• Unicidad

Sea x0 otro punto fijo de ϕ(x) en [a, b]].

|x − x0 | = |ϕ(x) − ϕ(x0 )| = |(x − x0 )ϕ0 (c)| = |(x − x0 )| · |ϕ0 (c)| con c ∈ [a, b]

|x − x0 |(1 − |ϕ0 (c)|) = 0


y dado que |ϕ0 (c)| ≤ q < 1 =⇒ 1 − |ϕ0 (c)| =
6 0, obtenemos que
0 0
|x − x | = 0 y, por tanto, que x = x .

En otras palabras, x es el único punto fijo de la función ϕ(x) en el


intervalo [a, b].

Interpretación geométrica del teorema del punto fijo

Dependiendo de los valores que toma ϕ0 (x) en el intervalo [a, b], podemos
distinguir cuatro casos:

a) ϕ0 (x) < −1 b) − 1 < ϕ0 (x) < 0

c) 0 < ϕ0 (x) < 1 d) ϕ0 (x) > 1

pudiéndose observar (véase la Fig. 1.4) que en los casos (a) y (d) la sucesión
resulta ser divergente ya que |ϕ0 (x) > 1|.
En los casos (b) y (c), en los que |ϕ0 (x)| ≤ q < 1 el método converge
monótonamente en (b) y de forma oscilatoria en (c).

Aplicación a la resolución de ecuaciones

Si se desea resolver la ecuación f (x) = 0, se escribe esta de la forma x = ϕ(x),


donde ϕ(x) es una función contractiva, y partiendo de un determinado valor
inicial x0 , se construye la sucesión xn+1 = ϕ(xn ).
22 Ecuaciones no lineales

Figura 1.4: Esquema de la convergencia para el teorema del punto fijo.

El teorema del punto fijo nos garantiza la convergencia de esta sucesión al


punto fijo de la función ϕ(x) o lo que es lo mismo, a la raı́z de la ecuación
f (x) = 0.

Para acotar el error de una determinada iteración utilizamos la fórmula (1.1)


del error “a posteriori”.

Ejemplo 1.3 El cálculo de la raı́z cuadrada de 3 equivale al cálculo de la raı́z


positiva de la ecuación x2 = 3. Aunque más adelante veremos métodos cuya
convergencia es más rápida, vamos a realizar los siguientes cambios:
3+x
x2 = 3 =⇒ x + x2 = x + 3 =⇒ x(1 + x) = 3 + x =⇒ x =
1+x
Es decir, hemos escrito la ecuación de la forma x = ϕ(x) con
3+x
ϕ(x) =
1+x
Dado que sabemos que la raı́z de 3 está comprendida entre 1 y 2 y que
2 2 1
|ϕ0 (x)| = 2
≤ 2 = < 1 para cualquier x ∈ [1, 2]
(1 + x) 2 2
Punto fijo e iteración funcional 23

2 2 2
|ϕ0 (x)| = 2
≥ 2 = para cualquier x ∈ [1, 2]
(1 + x) 3 9
podemos garantizar que partiendo de x0 = 1 el método convergerá a la raı́z
cuadrada de 3 y que el “error a posteriori” será fiable.
3 + xn
Ası́ pues, partiendo de x0 = 1 y haciendo xn+1 = obtenemos:
1 + xn

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 < donde f (x) = x2 − 3, por lo que
mı́n |f 0 (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. 

Habı́amos visto que el método de la regula falsi sólo necesitaba de 14 iteraciones


mientras que ahora hemos necesitado 26.

¿A qué se debe que la convergencia haya sido muy lenta?

La respuesta es bien sencilla: a la mala elección de la función ϕ(x).

¿De qué dependerá la velocidad de convergencia?


24 Ecuaciones no lineales

Orden de convergencia
x 1
• ϕ(x) = en [−1, 1] es contractiva ya que |ϕ0 (x)| = < 1 ∀ x ∈ [−1, 1]
2 2
x0 = 1 =⇒ x1 = 0.5 ⇒ x2 = 0.25 ⇒ x3 = 0.125 =⇒ x4 = 0.0625 · · ·

Observamos que la convergencia a cero es lenta y ello es debido a que

ϕ0 (0) 6= 0 =⇒ convergencia lineal o de primer orden.

x2 0
x 1
• ϕ(x) = en [−1, 1] es contractiva: |ϕ (x)| = ≤ < 1 ∀ x ∈ [−1, 1]

4 2 2
x0 = 1 ⇒ x1 = 0.25 ⇒ x2 = 0.015625 ⇒ x3 = 6.105 . . . · 10−5 · · ·

La convergencia a cero es ahora rápida debido a que


x 
ϕ(x) = ⇒ ϕ0 (0) = 0 
2 ⇒ convergencia de segundo orden.
1
ϕ (x) = ⇒ ϕ00 (0) 6= 0 
00
2

x3
2
x 1
• ϕ(x) = en [−1, 1] es contractiva: |ϕ0 (x)| = ≤ < 1 ∀ x ∈ [−1, 1]
6 2 2

x0 = 1 ⇒ x1 = 0.16666 ⇒ x2 = 0.00077 ⇒ x3 = 7.6565 · 10−11 · · ·

La convergencia a cero es ahora muy rápida debido a que


x2

0 0
ϕ (x) = ⇒ ϕ (0) = 0  
2


ϕ (x) = x ⇒ ϕ (0) = 0  =⇒ convergencia de tercer orden.
00 00


ϕ000 (x) = 1 ⇒ ϕ000 (0) 6= 0

EL orden de convergencia nos lo da el orden de la primera derivada de la


función ϕ(x) que no se anula en su punto fijo x.
3+x √
La función ϕ(x) = que obtuvimos para calcular 3 en el Ejemplo 1.3
1+x
verifica que
1 √ 1
ϕ0 (x) = 2
=⇒ ϕ 0
( 3) = √ 6= 0
(1 + x) (1 + 3)2
por lo que ha resultado una convergencia de primer orden (similar a la de los
métodos de la bisección y la regula falsi).
Análisis del método de Newton-Raphson 25

¿Cómo elegir una función de iteración ϕ(x) que nos garantice una convergen-
cia, al menos, de segundo orden?

Vamos a ver cómo el método de Newton-Raphson, generalmente conocido como


método de Newton, nos permite escribir la ecuación f (x) = 0 de la forma
x = ϕ(x) de tal manera que la convergencia sea, al menos de segundo orden.

1.4 Análisis del método de Newton-Raphson


Si tratamos de resolver la ecuación f (x) = 0 y lo que obtenemos no es la
solución exacta x sino sólo una aproximación xn tal que x = xn + h tendremos
que
f (xn ) f (xn )
f (x) ' f (xn ) + h · f 0 (xn ) =⇒ h ' − =⇒ x ' xn −
f 0 (xn ) f 0 (xn )
obteniéndose la denominada fórmula de Newton-Raphson
f (xn )
xn+1 = xn − (1.2)
f 0 (xn )

Hemos transformado la ecuación f (x) = 0 en x = ϕ(x) con


f (x)
ϕ(x) = x −
f 0 (x)

f (xn )
Si partiendo de x0 ∈ [a, b] la sucesión (xn ) con xn+1 = ϕ(xn ) = xn −
f 0 (xn )
converge entonces ϕ(x) es contractiva.
Además:
f (lim xn ) f (lim xn )
lim xn+1 = lim xn − 0
=⇒ = 0 =⇒ f (lim xn ) = 0
lim f (xn ) lim f 0 (xn )
es decir, lim xn = x.

Interpretación geométrica: Método de la tangente

Si trazamos la tangente a la curva y = f (x) en el punto (xn , f (xn )) obtenemos


la recta
y = f (xn ) + f 0 (xn )(x − xn )
26 Ecuaciones no lineales

que corta al eje y = 0 en el punto de abscisa


f (xn )
x = xn −
f 0 (xn )
que es precisamente el valor de xn+1 de la fórmula de Newton-Raphson.
En otras palabras, xn+1 viene determinado por el punto en el que la tangente
a la curva y = f (x) en (xn , f (xn )) corta al eje de abscisas, por lo que este
método es también conocido como método de la tangente.

y = f (x)

x
x2 x1 x0

Figura 1.5: Interpretación geométrica del método de Newton.

Orden de convergencia
f (x)
Si el método converge, ϕ(x) = x − es contractiva y además
f 0 (x)
f 02 (x) − f (x)f 00 (x) f (x)f 00 (x)
ϕ0 (x) = 1 − = con f 0 (x) 6= 0 =⇒ ϕ0 (x) = 0
f 02 (x) f 02 (x)

El método de Newton es, al menos, de segundo orden.

Cota del error: Error “a priori”

La diferencia entre la solución exacta x y la aproximación xn+1 viene dada por


f (xn ) f (xn )
en+1 = x − xn+1 = x − xn + 0
= en + 0
f (xn ) f (xn )
Dado que
(
f 00 (t) 2 (x, xn )
0 = f (x) = f (xn + en ) = f (xn ) + f 0 (xn )en + en con t ∈
2 (xn , x)
Análisis del método de Newton-Raphson 27

Si f 0 (x) 6= 0 ∀ x ∈ [a, b] podemos dividir entre f 0 (xn ) 6= 0 obteniéndose

f (xn ) f 00 (t) 2 f 00 (t) 2


0= + en + en = en+1 + en
f 0 (xn ) 2 2

Tomando valores absolutos:

|f 00 (t)| 2 2 máx |f 00 (x)|


εn+1 = ε n ≤ k ε n con k ≥
2|f 0 (xn )| 2 mı́n |f 0 (x)|

es decir, en cada iteración dispondremos, aproximadamente, del doble de cifras


decimales exactas que en la iteración anterior, que es lo que significa el hecho
de ser una convergencia de segundo orden.
Además, podemos obtener, multiplicando por k,
n+1
kεn+1 ≤ k 2 ε2n = (kεn )2 ≤ (kεn−1 )4 ≤ (kεn−2 )8 ≤ · · · ≤ (kε0 )2 =⇒

1 n máx |f 00 (x)|
εn ≤ (kε0 )2 con k ≥
k 2 mı́n |f 0 (x)|
lo que nos proporciona una cota del error “a priori”, pudiéndose garantizar la
1
convergencia siempre que kε0 < 1 es decir, si ε0 ≤ .
k

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, que tiene por entradas los valores de a, b, x, ε,
x∈[a,b]
f (x) y m y por salida la raı́z x, es el siguiente:

Algoritmo de Newton

e = abs (f(x)/m);
while e>ε
x = x-f(x)/f0 (x);
e = abs (f(x)/m);
end
x
28 Ecuaciones no lineales

Ejemplo 1.4 En el Ejemplo 1.3 calculamos la raı́z de 3 con 14 cifras decimales


exactas en 26 iteraciones. Vamos a ver cómo se disminuye considerablemente
el número de iteraciones cuando se utiliza la fórmula de Newton-Raphson.
Partimos de la ecuación f (x) = x2 − 3 = 0, por lo que la fórmula de Newton-
Raphson nos dice que

x2 − 3 x2 + 3
 
f (xn ) 1 3
xn+1 = xn − 0 = xn − n = n = xn +
f (xn ) 2xn 2xn 2 xn

Dado que la raı́z de 3 es un número comprendido entre 1 y 2 y la función


f 0 (x) = 2x no se anula en dicho intervalo, podemos aplicar el método de
Newton tomando como valor inicial x0 = 2. (Más adelante veremos porqué
debemos tomar 2 como valor inicial), obteniéndose:

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 Ejemplo 1.3 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
La fórmula xn+1 = xn + es conocida como fórmula de Heron ya que
2 xn
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. pues sabı́a que si disponı́a de un valor
aproximado xn y éste fuese mayor que la raı́z buscada, necesariamente A/xn
serı́a menor que su raı́z y viceversa, por lo que la media entre ambos debı́a ser
una mejor aproximación que xn . En otras palabras, en cada iteración tomaba
como aproximación de la raı́z la media aritmética entre el valor xn anterior y
el cociente A/xn .
Análisis del método de Newton-Raphson 29

Análisis de la convergencia: Regla de Fourier


Hay que tener en cuenta que la naturaleza de la función puede originar difi-
cultades, llegando incluso a hacer que el método no converja.

Ejemplo 1.5 Tratemos de determinar, por el método de Newton-Raphson, la


raı́z positiva de la función f (x) = x10 −1, tomando como valor inicial x0 = 0.5.
La fórmula de Newton-Raphson es, en este caso,
x10
n −1
xn+1 = xn − .
10x9n
Aplicando el algoritmo se obtienen los valores

x1 = 51.65 x20 = 6.97714912329906


x2 = 46.485 x30 = 2.43280139954230
x3 = 41.8365 x40 = 1.00231602417741
x4 = 37.65285 x41 = 1.00002393429084
x5 = 33.887565 x42 = 1.00000000257760
x10 = 20.01026825685012 x43 =1

Puede observarse que la convergencia es muy lenta y sólo se acelera (a partir


de x40 ) cuando estamos muy cerca de la raı́z buscada. 

• Si en las proximidades de la raı́z existe un punto de inflexión, las itera-


ciones divergen progresivamente de la raı́z.


 
 
 
   
9
 
x1  x0

x x2

Figura 1.6: En las proximidades de un punto de inflexión puede diverger.


30 Ecuaciones no lineales

• El método de Newton-Raphson oscila en los alrededores de un máximo


o un mı́nimo local, persistiendo o llegando a encontrarse con pendientes
cercanas a cero, en cuyo caso la solución se aleja del área de interés.

y = f (x)

x x0 x1

Figura 1.7: En las proximidades de un extremo local puede oscilar o diverger.

¿Quiere decir eso que el método de Newton puede ser divergente?

El método de Newton siempre converge en las proximidades de la raı́z. El


problema surge cuando se toma un valor inicial x0 inadecuado (próximo a un
punto crı́tico).

¿Cómo podemos saber que el valor inicial x0 es adecuado?

La elección de x0 : Regla de Fourier

Si la función f (x) cambia de signo en los extremos de un intervalo [a, b] y


además, en dicho intervalo, no se anulan ni f 0 (x) ni f 00 (x), nos aseguramos
de que en [a, b] existe una única raı́z de la ecuación f (x) = 0 y no existen
extremos locales ni puntos de inflexión.

Por otra parte, como no nos interesa que x0 esté situado cerca de un extremo
local, vamos a estudiar los diferentes casos con que podemos encontrarnos
y elegir, en cada uno de ellos, un valor adecuado para x0 (aquel que no se
encuentre cercano a un extremo local).
Análisis del método de Newton-Raphson 31

a a b b
b b a a

f 0 (x) > 0 f 0 (x) > 0 f 0 (x) < 0 f 0 (x) < 0


f 00 (x) < 0 f 00 (x) > 0 f 00 (x) > 0 f 00 (x) < 0
x0 = a x0 = b x0 = a x0 = b
Figura 1.8: Los cuatro casos posibles

Obsérvese que en cualquiera de los cuatro casos (véase la Figura 1.8) hemos
optado por elegir, como valor inicial x0 , el extremo en el que la función tiene
el mismo signo que su segunda derivada.
Este resultado, que formalizamos a continuación en forma de teorema es co-
nocido como regla de Fourier.

Teorema 1.6 [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 tomando como valor inicial x0 el extremo
del intervalo en el que la función y su segunda derivada tienen el mismo signo.

1.4.1 Método de Newton generalizado

Cuando el método de Newton converge lentamente se debe a que la raı́z que


estamos aproximando es múltiple.
Supongamos que x fuese una raı́z doble de f (x). La función de iteración
f (x)
ϕ(x) = x − 0 del método de Newton verifica que
f (x)

f 0 2 (x) − f (x)f 00 (x) f (x)f 00 (x)


ϕ0 (x) = 1 − =
f 0 2 (x) f 0 2 (x)

ϕ0 (x) es una indeterminación del tipo 0


0
que resulta ser distinta de cero, por lo
32 Ecuaciones no lineales

que la convergencia es de primer orden. De ahı́ su lentitud.

¿Serı́a posible alguna modificación en el método para que la convergencia


volviese a ser, al menos, de segundo orden?

f (x)
• La raı́z x de f (x) también lo es de g(x) = pero con la particularidad
f 0 (x)
de que
g(x)
ϕ(x) = x −
g 0 (x)
verifica que ϕ0 (x) y ϕ00 (x) tienden a cero cuando x lo hace a x, por lo
que al aplicar el método de Newton a la función g(x) obtenemos x con
una convergencia de, al menos, tercer orden.
Este proceso tiene el inconveniente de que si f (x) es, por ejemplo, un
polinomio, g(x) es una función racional, por lo que se complican los
cálculos.

• Sea x una raı́z de multiplicidad k de la ecuación f (x) = 0.


f (xn )
Si en vez de hacer xn+1 = xn − hacemos
f 0 (xn )

f (xn )
xn+1 = xn − k (1.3)
f 0 (xn )

donde k representa el orden de la primera derivada que no se anula para


x = x (multiplicidad de la raı́z x), la convergencia vuelve a ser, al menos,
de segundo orden.

En la práctica, el problema es que no conocemos k pero podemos determinar


su valor estudiando las derivadas de la función f (x).

Ejemplo 1.6 Para resolver la ecuación x − sen x = 0 comenzamos por ex-


presarla de la forma x = sen x, por lo que las soluciones serán los puntos de
intersección de la curva y = sen x con y = x (Fig.1.9).
Aunque es conocido que la solución de la ecuación es x = 0, supondremos que
sólo conocemos que está comprendida entre -1 y 1 y vamos aplicar el método
de Newton.
xn − sen xn sen xn − xn cos xn
xn+1 = xn − =
1 − cos xn 1 − cos xn
Análisis del método de Newton-Raphson 33

y=x

y = sen x
-1

0 1

Figura 1.9: Las gráficas de y = x e y = sen x.

Comenzando con x0 = 1 se obtiene:

x0 = 1
..................... 


 f 0 (x10 ) = 0.0001 . . .

x10 = 0.016822799 . . . f 00 (x10 ) = 0.016 . . .


 f 000 (x ) = 0.9998 . . .

10

..................... 


 f 0 (x20 ) = 0.00000001 . . .

x20 = 0.0000194 . . . f 00 (x20 ) = 0.0019 . . .


 f 000 (x ) = 0.9999 . . .

20

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 = −0.034 . . .
x2 = 0.000001376 . . .
x3 = 0.00000000000009 . . .

que se ve que converge rápidamente a x = 0. 


34 Ecuaciones no lineales

1.5 Un problema mal condicionado: ceros de


un polinomio
Si queremos resolver la ecuación P (x) = 0 el problema viene condicionado por
los valores de |P 0 (x)| (su número de condición), por lo que si la derivada es
muy pequeña el problema estará mal condicionado, pero si la derivada es muy
grande cualquier método se hace muy lento, por lo que lo ideal serı́a que la
derivada estuviese muy próxima a 1, pero claro está, ese derivada ha de estar
muy próxima a 1 en todas las raı́ces del polinomio, cosa que es estadı́sticamente
casi imposible. Por tanto, el cálculo de los ceros de un polinomio es un ejemplo
de problema mal condicionado. Sin embargo, vamos a estudiar cómo podemos
aproximar un determinado cero del polinomio.
Hemos visto que uno de los mayores problemas que presenta la resolución de
una ecuación es encontrarnos que posee raı́ces múltiples ya que, en un entorno
de ellas, o bien la función no cambia de signo, o bien se aproxima demasiado
a cero y, por tanto, cualquier método puede dar soluciones erróneas.
En el caso de las ecuaciones algebraicas (Pn (x) = 0) este problema puede
solventarse buscando otra ecuación que posea las mismas raı́ces que la dada
pero todas ellas simples, es decir, eliminando las raı́ces múltiples.

Eliminación de las raı́ces múltiples

Por el teorema fundamental del Álgebra sabemos que Pn (x) posee n raı́ces y,
por tanto, puede ser factorizado de la forma

Pn (x) = a0 (x − x1 )(x − x2 ) · · · (x − xn )

donde {x1 , x2 , . . . , xn } son los ceros del polinomio.


Si existen raı́ces múltiples, las podemos agrupar para obtener:

Pn (x) = a0 (x − x1 )m1 (x − x2 )m2 · · · (x − xk )mk

donde mi (i = 1, 2, . . . k) representa la multiplicidad de la raı́z xi y verificándo-


se que m1 + m2 + · · · mk = n
Derivando esta expresión obtenemos:

P 0 (x) = na0 (x − x1 )m1 −1 · · · (x − xk )mk −1 Qk−1 (x)

con Qk−1 (xi ) 6= 0 i = 1, 2, . . . , k


Un problema mal condicionado: ceros de un polinomio 35

Por tanto, si x es una raı́z de la ecuación P (x) = 0 con multiplicidad k, es


también una raı́z de P 0 (x) = 0 pero con multiplicidad k − 1.

D(x) = mcd [P (x), P 0 (x)] = (x − x1 )m1 −1 · · · (x − xk )mk −1

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.

Ejemplo 1.7 El polinomio P (x) = x3 − 5x2 + 8x − 4 = (x − 1)(x − 2)2 tiene


la raı́z 1 simple y la 2 doble.

D(x) = mcd (P (x), P 0 (x)) = mcd (x3 − 5x2 + 8x − 4, 3x2 − 10x + 8) = x − 2

por lo que
P (x)
Q(x) = = x3 − 3x + 2 = (x − 1)(x − 2)
D(x)
que tiene las mismas raı́ces que P (x) pero todas simples. 

Acotación de las raı́ces

Si ya conocemos que una ecuación sólo tiene raı́ces simples y queremos calcu-
larlas, parece apropiado que un primer paso consista en detectar dónde pueden
encontrarse. Ası́ por ejemplo, si son reales, determinar intervalos de una am-
plitud reducida en los que se encuentren las raı́ces de la ecuación.

Dada una ecuación f (x) = 0 (en general com-


pleja) se denomina acotar las raı́ces a bus-
car dos números reales positivos r y R tales
que r ≤ |x| ≤ R para cualquier raı́z x de la
ecuación.
Geométricamente consiste en determinar una
corona circular de radios r y R dentro de la
cual se encuentran todas las raı́ces.
En el caso real se reduce a los intervalos
(−R, −r) y (r, R).
36 Ecuaciones no lineales

Proposición 1.7 Si x es una raı́z de la ecuación

P (x) = a0 xn + a1 xn−1 + · · · + an−1 x + an = 0

se verifica que:

A
|x| < 1 + siendo A = máx |ai |
|a0 | i≥1

Demostración. Sea P (x) = a0 xn + a1 xn−1 + · · · + an−1 x + an . Tomando


módulos tenemos
|P (x)| = |a0 xn + a1 xn−1 + · · · + an−1 x + an | ≥
≥ |a0 xn | − |a1 xn−1 + · · · + an−1 x + an | ≥
i
+ · · · + |an−1 x| + |an | =
h i
= |a0 xn | − |a1 | · |xn−1 | + · · · + |an−1 | · |x| + |an | ≥
≥ |a0 xn | − A [|x|n−1 + · · · + |x| + 1]
(Para considerar el último paréntesis como una progresión geométrica habrı́a
que añadir los términos que, probablemente, falten en P (x) y suponer que,
además, es |x| =
6 1).
|x|n − 1
|P (x)| ≥ |a0 | · |x|n − A
|x| − 1
Dado que el teorema es trivial para |x| < 1, supondremos que |x| > 1 y
entonces:
|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.
Un problema mal condicionado: ceros de un polinomio 37

Proposición 1.8 [Regla de Laguerre]

Consideremos la ecuación

P (x) = a0 xn + a1 xn−1 + · · · + an−1 x + an = 0

Sean C(x) = b0 xn−1 + · · · + bn−2 x + bn−1 el cociente y r el resto de la división


de P (x) entre x − c.

Si r ≥ 0 y bi ≥ 0 para 0 ≤ i ≤ n − 1, el número real c es una cota superior


para las raı́ces positivas de la ecuación. (Trivialmente lo es también para las
raı́ces negativas).

El procedimiento consiste en comenzar con la cota obtenida anteriormente


(que no suelen ser muy buena) e ir disminuyéndola hasta afinarla todo lo que
podamos.

Ejemplo 1.8 Consideremos la ecuación 2x4 − 9x3 − x2 + 24x + 12 = 0.


Sabemos que
A 24
|x| < 1 + siendo A = máx |ai | =⇒ |x| < 1 + = 13
|a0 | i≥1 2

por lo que cualquier raı́z real del polinomio debe estar en el intervalo (−13, 13).
Aplicando la regla de Laguerre obtenemos:

2 −9 −1 24 12
4 8 −4 −20 16
2 −1 −5 4 28

2 −9 −1 24 12
5 10 5 20 240
2 1 4 48 252

Dado que para x = 4 se obtienen valores negativos no podemos garantizar que


4 sea una cota superior para las raı́ces positivas de la ecuación, pero para x = 5
todos los valores obtenidos han sido positivos, por lo que podemos garantizar
que las raı́ces reales de la ecuación se encuentran en el intervalo (−13, 5).
No debemos confundir el hecho de que la regla de Laguerre no nos garantice
que 4 sea una cota superior de las raı́ces positivas y 5 sı́ lo sea, con que la
38 Ecuaciones no lineales

ecuación deba tener alguna raı́z en el intervalo (4, 5). En otras palabras, 4
puede ser una cota superior para las raı́ces positivas de la ecuación aunque la
regla de Laguerre no lo garantice. De hecho, la mayor de las raı́ces positivas
de nuestra ecuación es x = 3.56155281280883 . . . < 4. 

Separación de las raı́ces

Las cotas obtenidas anteriormente nos delimitan la zona en la que debemos


estudiar la existencia de soluciones de la ecuación pero, en realidad, lo que más
nos acerca a nuestro problema (resolver la ecuación) es separar cada raı́z en un
intervalo. A este proceso se le conoce como separación de raı́ces y estudiaremos
un método que se conoce como método de Sturm que nos permite separar las
raı́ces de una ecuación.

1.5.1 Sucesiones de Sturm


Definición 1.7 [Sucesión 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].

• Las funciones fi (x) y fi+1 (x) no se anulan simultáneamente. En otras


palabras, si fi (c) = 0 entonces fi−1 (c) 6= 0 y fi+1 (c) 6= 0.

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

Construcción de una sucesión de Sturm para un polinomio

La construcción de una sucesión de Sturm es, en general, complicada. Sin


embargo, cuando se trabaja con funciones polinómicas, el problema es mucho
más simple además de que siempre es posible construir una sucesión de Sturm
válida para cualquier intervalo.
Un problema mal condicionado: ceros de un polinomio 39

Dada la ecuación algebraica Pn (x) = 0, partimos de

f0 (x) = Pn (x) y f1 (x) = Pn0 (x)

Para determinar las demás funciones de la sucesión vamos dividiendo fi−1 (x)
entre fi (x) para obtener

fi−1 (x) = ci (x) · fi (c) + ri (x)

donde ri (x) tiene grado inferior al de fi (x) y hacemos

fi+1 (x) = −ri (x)

Como el grado de fi (x) va decreciendo, el proceso es finito. Si se llega a un


resto nulo (el proceso que estamos realizando es precisamente el del algoritmo
de Euclides) la ecuación posee raı́ces múltiples y se obtiene el máximo común
divisor D(x) de Pn (x) y Pn0 (x). Dividiendo Pn (x) entre D(x) obtenemos una
nueva ecuación que sólo posee raı́ces simples.
fi (x) P (x)
La sucesión es una sucesión de Sturm para la ecuación = Q(x) = 0
D(x) D(x)
que posee las mismas raı́ces que P (x) = 0 pero todas simples.

Si llegamos a un resto constante, no nulo, es éste quien nos determina la


finalización del proceso. Hemos obtenido, de esta manera, una sucesión de
Sturm válida para cualquier intervalo [a, b].

Teorema 1.9 [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 reales existentes en el intervalo [a, b]
de la ecuación f0 (x) = 0 viene dado por N1 − N2 .
40 Ecuaciones no lineales

Ejemplo 1.9 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 xk1
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 k 9
9x + 4 multiplicando por 2
18x + 8
− 18x − 9
−1

f4 (x) = 1.

−∞ −3 −2 −1 0 1 2 +∞
4 3 2
f0 (x) = x + 2x − 3x − 4x − 1 + + − − − − + +
f1 (x) = 2x3 + 3x2 − 3x − 2 − − 0 + − 0 + +
2
f2 (x) = 9x + 9x + 2 + + + + + + + +
f3 (x) = 2x + 1 − − − − + + + +
f4 (x) = 1 + + + + + + + +
cambios de signo 4 4 3 3 1 1 0 0
Un problema mal condicionado: ceros de un polinomio 41

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 (−0.5) = 0.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

(−3 − 2) (−1, −0.5) (−0.5, 0) y (1, 2)




Si, una vez eliminadas las raı́ces múltiples y separadas las raı́ces, queremos
resolver la ecuación, utilizaremos el método de Newton.
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 algo-
ritmo denominado algoritmo de Horner que permite realizar dichos cálculos
en tiempo lineal.

1.5.2 Algoritmo de Horner

Supongamos un polinomio P (x) y un número real (en general también puede


ser complejo) x0 ∈ R. Si dividimos P (x) entre x − x0 sabemos que el resto es
un polinomio de grado cero, es decir, un número real, por lo que


 r∈R
P (x) = (x − x0 )Q(x) + r con y

gr[Q(x)] = gr[P (x)] − 1

Haciendo x = x0 obtenemos que

P (x0 ) = 0 · Q(x0 ) + r =⇒ P (x0 ) = r

Este resultado es conocido como teorema del resto y lo enunciamos a conti-


nuación.

Teorema 1.10 [Teorema del resto]

El valor numérico de un polinomio P (x) para x = x0 viene dado por el resto


de la división de P (x) entre x − x0 .
42 Ecuaciones no lineales

Algoritmo de Horner

Consideremos el polinomio P (x) = a0 xn + a1 xn−1 + · · · + an−1 x + an .


Si llamamos bi (0 ≤ i ≤ n − 1) a los coeficientes del polinomio cociente

P (x) − P (x0 )
= Q(x) = b0 xn−1 + b1 xn−2 + · · · + bn−2 x + bn−1
x − x0
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

Este procedimiento para calcular el polinomio cociente Q(x) y el valor numé-


rico de P (x0 ) es conocido como algoritmo de Horner.

Además, dado que

P (x) = Q(x)(x − x0 ) + P (x0 ) =⇒ P 0 (x) = Q0 (x)(x − x0 ) + Q(x)

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

Q(x) = C(x)(x − x0 ) + Q(x0 ) donde Q(x0 ) = P 0 (x0 ).

Regla de Ruffini

Una regla útil para hacer los cálculos a mano es la conocida regla de Ruffini
que consiste en disponer las operaciones como se indica a continuación.

a0 a1 a2 ··· an−1 an
x0 x0 b0 x0 b1 · · · x0 bn−2 x0 bn−1

b0 b1 b2 ··· bn−1 P (x0 )


Ejercicios resueltos 43

Si utilizamos la regla de Ruffini sólo tenemos que volver a dividir por x0 , como
se muestra a continuación, para obtener el valor de P 0 (x0 ).

a0 a1 a2 ··· an−2 an−1 an


x0 x0 b0 x0 b1 · · · x0 bn−3 x0 bn−2 x0 bn−1

b0 b1 b2 ··· bn−2 bn−1 P (x0 )


x0 x0 c0 x0 c1 · · · x0 cn−3 x0 cn−2

c0 c1 c2 ··· cn−2 P 0 (x0 )

Ejemplo 1.10 Consideremos el polinomio P (x) = 2x4 + x3 − 3x2 + 4x − 5


y vamos a calcular los valores de P(2) y P’(2). Aplicando reiteradamente al
regla de Ruffini obtenemos

2 1 −3 4 −5
2 4 10 14 36

2 5 7 18 31
2 4 18 50

2 9 25 68

por lo que
P (2) = 31 y P 0 (2) = 68 

Evidentemente, la regla de Ruffini nos es útil para realizar cálculos a mano


con una cierta facilidad, pero cuando los coeficientes de P (x) y el valor de x0
no son enteros sino que estamos trabajando con varias cifras decimales, deja
de ser efectivo y debemos recurrir al algoritmo de Horner en una máquina.

1.6 Ejercicios resueltos


Ejercicio 1.1 Dada la ecuación xex − 1 = 0, se pide:

a) Estudiar gráficamente sus raı́ces reales y acotarlas.

b) Aplicar el método de la bisección y acotar el error después de ocho ite-


raciones.
44 Ecuaciones no lineales

c) Aplicar el método de Newton, hasta obtener tres cifras decimales exactas.

Solución:

a) La ecuación puede escribirse de la


forma:
1
ex =
x
Gráficamente, se observa que existe
una única solución real (intersec-
ción de las dos curvas) y que esta es
positiva. La demostración analı́tica
de este hecho es la siguiente:

Para x < 0:
1 1
<0 y ex > 0 =⇒ ex 6=
x x
y por tanto, no existen raı́ces negativas.

Para x > 0:
(
f (0) = −1 < 0
f (x) = xex − 1 =⇒
f (+∞) = +∞ > 0

y existe, por tanto, un número impar de raı́ces positivas (al menos una).

La función derivada f 0 (x) = xex + ex = (x + 1)ex sólo se anula para


x = −1. Dado que, si existiese más de una raı́z positiva, el teorema de
Rolle nos asegura que la función derivada debe anularse en algún punto
intermedio y hemos visto que f 0 (x) no se anula para ningún valor positivo
de la variable, podemos asegurar que sólo existe una raı́z real α, que esta
es positiva y simple, pues f 0 (α) 6= 0.

Dado que f (1) = e − 1 > 0 y f (0) = −1 < 0, podemos asegurar que la


única raı́z real de la ecuación se encuentra en el intervalo (0, 1).

b) Método de la bisección:
(
f (0) = −1 < 0
[a1 , b1 ] = [a, b] = [0, 1] con
f (1) = e − 1 > 0
Ejercicios resueltos 45

f (0.5) < 0 =⇒ [a2 , b2 ] = [0.5, 1]


f (0.75) > 0 =⇒ [a3 , b3 ] = [0.5, 0.75]
f (0.625) > 0 =⇒ [a4 , b4 ] = [0.5, 0.625]
f (0.5625) < 0 =⇒ [a5 , b5 ] = [0.5625, 0.625]
f (0.59375) > 0 =⇒ [a6 , b6 ] = [0.5625, 0.59375]
f (0.578125) > 0 =⇒ [a7 , b7 ] = [0.5625, 0.578125]
f (0.5703125) > 0 =⇒ [a8 , b8 ] = [0.5625, 0.5703125]
Tomando como aproximación a la raı́z el punto medio del intervalo
1
x8 = 0.56640625 =⇒ ε8 ≤ = 0.00390625 =⇒ ε8 < 10−2
28
Si redondeamos a las dos primeras cifras decimales, es decir, si tomamos
α = 0.57, el error acumulado verifica que

ε < |0.57 − 0.56640625| + 0.00390625 = 0.0075 < 10−2

por lo que puede asegurarse que la solución de la ecuación es 0.57 con


las dos cifras decimales exactas.

c) Método de Newton:
f (xn )
La fórmula de Newton-Raphson es xn+1 = xn −
f 0 (xn )
Dado que, por el apartado anterior, se conoce que la raı́z se encuentra
en el intervalo [0.5625, 0.5703125] y que

 f (0.5625) < 0
f (x) = xex − 1 =⇒
 f (0.5703125) > 0
f 0 (x) = (x + 1)ex =⇒ f 0 (x) > 0 ∀ x ∈ [0.5625, 0.5703125]
f 00 (x) = (x + 2)ex =⇒ f 00 (x) > 0 ∀ x ∈ [0.5625, 0.5703125]

la regla de Fourier nos dice que x0 = 0.5703125


Al ser positiva la segunda derivada, la primera es creciente, por lo que

mı́n |f 0 (x)| = f 0 (0.5703125) = 2.74227290150047 . . .


x∈[0.5625,0.5703125]

es decir
|f (xn )| |f (xn )|
εn ≤ 0 <
mı́n |f (x)| 2.74
x∈[0.5625,0.5703125]
46 Ecuaciones no lineales

obteniéndose que

|f (x0 )|
x0 = 0.5703125 con ε0 < = 0.00320437856505 . . .
2.74
|f (x1 )|
x1 = 0.56715149835900 . . . con ε1 < = 0.00000827757122 . . .
2.74

Si redondeamos a 0.567 el error acumulado es

ε < 0.00015149835900 . . . + 0.00000827757122 . . . < 10−3

Por lo que la solución de la ecuación es 0.567 con sus tres cifras decimales
exactas.

Ejercicio 1.2 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.

Solución: Si representamos las gráficas de las funciones y = ln x e y = −x2


obtenemos

Puede observarse que sólo existe un punto de corte entre ellas, por lo que la
ecuación x2 + ln x = 0 sólo posee una raı́z real.
Analı́ticamente hay que probar que las gráficas no vuelven a cortarse en ningún
otro punto, sin embargo, dado que en su dominio de definición, que es (0, +∞),
ln x es creciente y −x2 decreciente, no pueden volver a cortarse.
Partiendo de x0 = 0.1 y aplicando el método de Newton, en el intervalo (0.1, 1)
(no tomamos (0, 1) por no estar definido el logaritmo en 0), dado por la fórmula

f (xn ) x2n + ln xn x3n + xn − xn ln xn


xn+1 = xn − = x n − =
f 0 (xn ) 2xn + x1n 2x2n + 1
Ejercicios resueltos 47

|f (xn )| |f (xn )|
con un error, a posteriori, dado por εn ≤ 0 = , obtenemos:
mı́n |f (x)| 2
x∈(0,1)

x1 = 0.32476324441118 . . . con ε1 ≤ 0.509593 . . .


x2 = 0.59809970985991 . . . con ε2 ≤ 0.078137 . . .
x3 = 0.65258567248750 . . . con ε3 ≤ 4.7239 . . . · 10−4
x4 = 0.65291863363348 . . . con ε4 ≤ 9.6269 . . . · 10−9
Por lo que la raı́z buscada es 0.652919 con un error
ε ≤ 0.00000036636642 . . . + 9.6269 . . . · 10−9 < 10−6
es decir, con las seis cifras decimales exactas.

Ejercicio 1.3 Eliminar las raı́ces múltiples en la ecuación


x6 − 2x5 + 3x4 − 4x3 + 3x2 − 2x + 1 = 0
Resolver, exactamente, la ecuación resultante y comprobar la multiplicidad de
cada raı́z en la ecuación original.

Solución: Aplicamos el Algoritmo de Euclides para calcular el máximo co-


mún divisor entre el polinomio P (x) = f0 (x) = x6 −2x5 +3x4 −4x3 +3x2 −2x+1
y su derivada f1 (x) = 6x5 − 10x4 + 12x3 − 12x2 + 6x − 2. Para ello podemos
multiplicar, previamente, f0 (x) por 3 y dividir f1 (x) entre 2.

3x6 − 6x5 + 9x4 − 12x3 + 9x2 − 6x + 3 |3x5 − 5x4 + 6x3 − 6x2 + 3x − 1


− 3x6 + 5x5 − 6x4 + 6x3 − 3x2 + x xk − 1
5 4 3 2
−x + 3x − 6x + 6x − 5x + 3 multiplicando por 3
−3x5 + 9x4 − 18x3 + 18x2 − 15x + 9
3x5 − 5x4 + 6x3 − 6x2 + 3x − 1
4x4 − 12x3 + 12x2 − 12x + 8

Por lo que (dividiendo el resto entre 4) f2 (x) = x4 − 3x3 + 3x2 − 3x + 2.


Dividimos ahora f1 (x) (dividido, previamente entre 2) entre f2 (x).

3x5 − 5x4 + 6x3 − 6x2 + 3x − 1 |x4 − 3x3 + 3x2 − 3x + 2


− 3x5 + 9x4 − 9x3 + 9x2 − 6x 3x + 4
4x4 − 3x3 + 3x2 − 3x − 1
−4x4 + 12x3 − 12x2 + 12x − 8
9x3 − 9x2 + 9x − 9 =⇒ f3 (x) = x3 − x2 + x − 1
48 Ecuaciones no lineales

Dividiendo, ahora, f2 (x) entre f3 (x) se obtiene:

x4 − 3x3 + 3x2 − 3x + 2 |x3 − x2 + x − 1


− x4 + x3 − x2 + x x−2
3 2
−2x + 2x − 2x + 2
2x3 − 2x2 + 2x − 2
0

El máximo común divisor entre P (x) y su derivada es


D(x) = x3 − x2 + x − 1
El polinomio cuyas raı́ces son las mismas que las de P (x), pero simples, es
P (x) x6 − 2x5 + 3x4 − 4x3 + 3x2 − 2x + 1
Q(x) = = = x3 − x2 + x − 1
D(x) x3 − x2 + x − 1
Como Q(x) = x3 − x2 + x − 1 = (x − 1)(x2 + 1) = (x − 1)(x + i)(x − i) sus
raı́ces son 1, i y −i.
Veamos la multiplicidad de ellas en P (x).
Dado que P 0 (x) = 2(3x5 − 5x4 + 6x3 − 6x2 + 3x − 1) se tiene:
 0

 P (1) = 2 (3 − 5 + 6 − 6 + 3 − 1) = 0


P 0 (−i) = 2 (−3i − 5 + 6i + 6 − 3i − 1) = 0



 0
P (i) = 2 (3i − 5 − 6i + 6 + 3i − 1) = 0
Luego las tres raı́ces son dobles (no pueden tener mayor multiplicidad ya que
el grado de P (x) es 6, es decir, 2+2+2).

Ejercicio 1.4 Dado el polinomio P (x) = x3 + 3x2 + 2 se pide:

a) Acotar sus raı́ces reales.


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.
c) ¿Se verifican, en dicho intervalo, las hipótesis del teorema de Fourier?
En caso afirmativo, determinar el extremo que debe tomarse como valor
inicial x0 para garantizar la convergencia del método de Newton.
d) Sabiendo que en un determinado momento del proceso de Newton se ha
obtenido xn = −3.1958, calcular el valor de xn+1 ası́ como una cota del
error en dicha iteración.
Ejercicios resueltos 49

Solución:

a)
3
|x| < 1 + = 4 =⇒ −4 < x < 4
1
b) f0 (x) = P (x) = x3 + 3x2 + 2.
P 0 (x) = 3x2 + 6x =⇒ f1 (x) = x2 + 2x
x3 + 3x2 + 2 = (x2 + 2x)(x + 1) + (−2x + 2) =⇒ f2 (x) = x − 1
x2 + 2x = (x − 1)(x + 3) + 3 =⇒ f3 (x) = −1
−4 −3 4
3 2
x + 3x + 2 − + +
x2 + 2x + + +
x−1 − − +
−1 − − −
Cambios de signo 2 1 1
por lo que sólo posee una raı́z real, la cual se encuentra en el intervalo
(−4, −3).

 f (−4) = −14 < 0
3 2
c) f (x) = x + 3x + 2 =⇒ es decir, la función
f (−3) = 2 > 0

cambia de signo en los extremos del intervalo (−4, −3).

f 0 (x) = 3(x2 + 2x) > 0 ∀x ∈ (−4, −3)

f 00 (x) = 6(x + 1) < 0 ∀x ∈ (−4, −3)

por lo que se verifican las hipótesis del teorema de Fourier y, por tanto,
tomando como valor inicial x0 = −4 (extremo en el que la función tiene
el mismo signo que la segunda derivada) se tiene garantizada la conver-
gencia del método de Newton.
f (xn ) x3n + 3x2n + 2
d) Dado que xn+1 = xn − = x n − se obtiene que
f 0 (xn ) 3x2n + 6xn
xn+1 = −3.19582334575880.

El error “a posteriori” viene dado


|f (xn+1 )| |f (xn+1 )| |f (xn+1 )|
εn+1 ≤ 0 = 0 = < −3.989·10−10 < 10−9 .
mı́n |f (x)| f (−3) 9
x∈(−4,−3)
50 Ecuaciones no lineales

Ejercicio 1.5 Aplicar el método de Sturm para separar las raı́ces de la ecua-
ción
2x6 − 6x5 + x4 + 8x3 − x2 − 4x − 1 = 0
y obtener la mayor de ellas con seis cifras decimales exactas por el método de
Newton.

Solución: Comencemos por construir la sucesión de Sturm.

f0 (x) = P (x) = 2x6 − 6x5 + x4 + 8x3 − x2 − 4x − 1

P 0 (x) = 12x5 − 30x4 + 4x3 + 24x2 − 2x − 4, por lo que

f1 (x) = 6x5 − 15x4 + 2x3 + 12x2 − x − 2


Multiplicando f0 (x) por tres y dividiendo el resultado entre f1 (x) obtenemos:

6x6 − 18x5 + 3x4 + 24x3 − 3x2 − 2x − 3 |6x5 − 15x4 + 2x3 + 12x2 − x − 2


− 6x6 + 15x5 − 2x4 − 2x3 + x2 + 2x xk − 1
5 4 3 2
−3x + x + 12x − 2x − 10x − 3 multiplicando por 2
−6x5 + 2x4 + 24x3 − 4x2 − 20x − 6
6x5 − 15x4 + 2x3 + 12x2 − x − 2
−13x4 + 26x3 + 8x2 − 21x − 8

f2 (x) = 13x4 − 26x3 − 8x2 + 21x + 8


Multiplicando f1 (x) por trece y dividiendo el resultado entre f2 (x) obtenemos:

78x5 − 195x4 + 26x3 + 156x2 − 13x − 26 |13x4 − 26x3 − 8x2 + 21x + 8


− 78x5 + 156x4 + 48x3 − 126x2 − 48x 6x − 3
4 3 2
−39x + 74x + 30x − 61x − 26
39x4 − 78x3 − 24x2 + 63x + 24
−4x3 + 6x2 + 2x − 2

f3 (x) = 2x3 − 3x2 − x − 1


Multiplicando f2 (x) por dos y dividiendo el resultado entre f3 (x) obtenemos:

26x4 − 52x3 − 16x2 + 42x + 16 |2x3 − 3x2 − x + 1


− 26x4 + 39x3 + 13x2 − 13x 13x k − 13
3 2
−13x − 3x + 29x + 16 multiplicando por 2
−26x3 − 6x2 + 58x + 32
26x3 − 39x2 − 13x + 13
−45x2 + 45x + 45
Ejercicios resueltos 51

f4 (x) = x2 − x − 1
Dividimos ahora f3 (x) entre f4 (x), obteniendo:

2x3 − 3x2 − x + 1 |x2 − x − 1


− 2x3 + 2x2 + 2x 2x − 1
2
−x + x + 1
x2 − x − 1
0

Al haber llegado a un resto nulo sabemos que la ecuación original tiene raı́ces
múltiples.
El máximo común divisor entre P (x) y su derivada es f4 (x) = x2 − x − 1,
por lo que el polinomio cuyas raı́ces son las mismas que las de P (x) solo que
simples es
P (x)
Q(x) = 2 = 2x4 − 4x3 − x2 + 3x + 1
x −x−1
Debemos, ahora, de construir una sucesión se Sturm para Q(x).

g0 (x) = Q(x) = 2x4 − 4x3 − x2 + 3x + 1


g1 (x) = f1 (x)/(x2 − x − 1) = 6x3 − 9x2 − x + 2
g2 (x) = f2 (x)/(x2 − x − 1) = 13x2 − 13x − 8
g3 (x) = f3 (x)/(x2 − x − 1) = 2x − 1
g4 (x) = f4 (x)/(x2 − x − 1) = 1

A
Dado que |x| < 1 + , donde A = 4 y |a0 | = 2, se tiene que |x| < 3, o lo que
|a0 |
es lo mismo, −3 < x < 3.

−3 −1 −0.5 0 1 1.5 2 3
4 3 2
2x − 4x − x + 3x + 1 + + − + + − + +
6x3 − 9x2 − x + 2 − − − + − + + +
g2 (x) = 13x2 − 13x − 8 + + + − − + + +
2x − 1 − − − − + + + +
1 + + + + + + + +
Cambios de signo 4 4 3 2 2 1 0 0

Existen, por tanto, cuatro raı́ces reales situadas en los intervalos:

[−1, −0.5] [−0.5, 0] [1, 1.5] [1.5, 2]


52 Ecuaciones no lineales

La mayor de las raı́ces se encuentra en el intervalo [1.5, 2], pero dado que
Q0 (1.5) = 0 podemos tomar el intervalo [1.6, 2] en el cual:
(
Q(1.6) < 0
Q(x) = 2x4 − 4x3 − x2 + 3x + 1
Q(2) > 0
Q0 (x) = 8x3 − 12x2 − 2x + 3 > 0 ∀ x ∈ [1.6, 2]

Q00 (x) = 24x2 − 24x − 2 > 0 ∀ x ∈ [1.6, 2]

La regla de Fourier no dice que debemos comenzar a iterar en x0 = 2.


Q(x)
Teniendo en cuenta que xn+1 = xn − 0 se obtiene la sucesión:
Q (x)

x0 =2
x1 = 1.8
x2 = 1.684726867
x3 = 1.632243690
x4 = 1.618923782 =⇒ ε4 ≤ 0.01841
x5 = 1.618037855 =⇒ ε5 ≤ 0.0011
x6 = 1.618033989 =⇒ ε6 ≤ 0.0000047
x7 = 1.618033989 =⇒ ε7 ≤ 0.885 · 10−10

Es decir, la mayor de las soluciones, redondeando a seis cifras decimales es


1.618034 con un error acumulado

ε ≤ 0.000000011 + 0.000000000885 < 10−6

por lo que sus seis cifras decimales son exactas.


Ejercicio 1.6 En este ejercicio se pretende calcular 10 1 por el método de
Newton. Consideramos, para ello, la función f (x) = x10 − 1 cuya gráfica se da
en la Figura 1.

Fig. 1 Fig. 2
Ejercicios resueltos 53

a) Probar, analı́ticamente, que en el intervalo [0.5, 1.5] posee una única raı́z
real.
b) Si tomamos x0 = 0.5 obtenemos la raı́z x = 1 en la iteración número 43,
mientras que si tomamos x0 = 1.5 se consigue el mismo resultado en la
iteración número 9. ¿Cómo podrı́amos haber conocido a priori el valor
que se debe elegir para x0 ?
c) ¿Sabrı́as justificar el porqué de la extremada lentitud de la convergencia
cuando iniciamos el proceso en x0 = 0.5? y ¿por qué sigue siendo lento
el proceso si comenzamos en x0 = 1.5? Justifica las respuestas.
d) Dado que en el intervalo [0.5, 1.5] no se anula la función x5 , las raı́ces de
f (x) son las mismas que las de g(x) = f (x)/x5 = x5 − x−5 cuya gráfica
se da en la Figura 2. ¿Se puede aplicar a g(x) la regla de Fourier en
dicho intervalo?
e) Si resolvemos, por el método de Newton, la ecuación g(x) = 0, ¿ se
obtendrá la raı́z con mayor rapidez que cuando lo hicimos con f (x) = 0?
Justifica la respuesta sin calcular las iteraciones.

Solución:

a) Dado que la función f (x) es continua y derivable en R verificándose que



 f (0.5) = 0.510 − 1 < 0

f (1.5) = 1.510 − 1 > 0


por lo que admite un número impar de raı́ces en el intervalo [0.5,1.5].


Como f 0 (x) = 10x9 no se anula en [0.5,1.5], sólo puede existir una raı́z
real en dicho intervalo.
b) Dado que f 0 (x) = 10x9 y f 00 (x) = 90x8 son positivas (tienen signo cons-
tante) en todo el intervalo, debe tomarse como valor inicial el extremo
en que f (x) tiene el mismo signo que la segunda derivada (Regla de
Fourier), es decir x0 = 1.5.
c) Basta observar que la recta tangente a la curva y = f (x) en el punto
de abscisa x = 0.5 es casi horizontal, por lo que en la primera iteración
nos distanciamos de la raı́z de forma considerable. Además, en las pro-
ximidades del 1, la curva es muy vertical, por lo que las tangentes son
también muy verticales y las iteraciones se aproximan muy lentamente
a x = 1. Por tanto, si partimos de x = 0.5 nos distanciamos mucho
y nos acercamos muy lentamente, pero si partimos de 1.5 también nos
acercamos muy lentamente.
54 Ecuaciones no lineales


 g 00 (0.5) < 0
d) g 0 (x) = 5x4 + 5x−6 y g 00 (x) = 20x3 − 30x−7 con
g 00 (1.5) > 0

por lo que no puede aplicarse la regla de Fourier en dicho intervalo. (Si
reducimos el intervalo a [0.5, 1.01] si podemos aplicarla, obteniendo que
debemos tomar x0 = 0.5).

e) El proceso convergerá más rápidamente debido a que hemos eliminado


las tangencias casi horizontales y las casi verticales.

1.7 Ejercicios propuestos


Ejercicio 1.7 Dada la ecuación 8x3 − 4x2 − 18x + 9 = 0, acotar y separar sus
raı́ces reales.

Sol : |x| ≤ 3.25, x1 ∈ (−2, −1), x2 ∈ (0, 1) y x3 ∈ (1, 2).

Ejercicio 1.8 Se considera el polinomio P (x) = x3 − 6x2 − 3x + 7.

a) Probar, mediante una sucesión de Sturm, que posee una única raı́z en el
intervalo (6, 7).

b) Si expresamos la ecuación P (x) = 0 de la forma

1
x = F (x) = (x3 − 6x2 + 7),
3
¿podemos asegurar su convergencia?

Sol : No. F 0 (x) > 1 en todo el intervalo, por lo que no es contractiva.

c) Probar, aplicando el criterio de Fourier, que tomando como valor inicial


x0 = 7, el método de Newton es convergente.

d) Aplicando Newton con x0 = 7 se ha obtenido, en la segunda iteración,


x2 = 6.3039. ¿Qué error se comete al aproximar la raı́z buscada por el
valor x3 que se obtiene en la siguiente iteración?

Sol : ε3 ≤ 6.62 . . . · 10−6 < 10−5 .

Ejercicio 1.9 Dada la ecuación x7 − 14x + 7 = 0 se pide:

a) Probar que sólo tiene una raı́z real negativa.


Ejercicios propuestos 55

b) Encontrar un entero a de tal forma que el intervalo [a, a + 1] contenga a


la menor de las raı́ces positivas de la ecuación.

Sol : a = 0.

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?

Sol : x0 = a = 0.

d) Aplicar el método de Newton para obtener la menor de las raı́ces positivas


de la ecuación con seis cifras decimales exactas.

Sol : x = 0.500562.

Ejercicio 1.10 Dado el polinomio P (x) = x4 + 4x3 − 2x2 + 4x − 3 se pide:

a) Acotar las raı́ces y construir una sucesión de Sturm para probar que sólo
posee dos raı́ces reales, una positiva y otra negativa, dando intervalos de
amplitud 1 que las contengan.

Sol : x1 ∈ (−5, −4) y x2 ∈ (0, 1).

b) Partiendo de que la raı́z positiva se encuentra en el intervalo (0, 1) y


despejando la x del término lineal
1 1 3
x = − x4 − x3 + x2 + ⇐⇒ x = ϕ(x)
4 2 4
¿se puede asegurar la convergencia de la sucesión x1 , x2 , . . . , xn , . . . defi-
nida de la forma x1 = 0, xn+1 = ϕ(xn ) ?

Sol : No. La función ϕ(x) no es contractiva en [0, 1].

c) Aplicar Fourier para determinar el valor inicial que debe tomarse para
garantizar la convergencia del método de Newton en el cálculo de la raı́z
negativa. ¿Tenemos las tres cifras exactas si tomamos como raı́z -4.646 ?

Sol : x0 = −5. Las tres cifras son exactas.

Ejercicio 1.11 Dado el polinomio P (x) = x3 + 6x2 + 9x + k con k ∈ R se


pide:

a) ¿Puede carecer de raı́ces reales? ¿y tener dos y sólo dos raı́ces reales?

Sol : No puede carecer de raı́ces reales. Sı́ si una de ellas es doble.


56 Ecuaciones no lineales

b) Utilizar el método de Sturm para probar que tiene una única raı́z real
si, y sólo si, k < 0 o k > 4, y que sólo tiene raı́ces múltiples si k = 0 o
k = 4 no existiendo, en ningún caso, una raı́z triple.

c) Para k = −4 admite una única raı́z real en el intervalo [0, 1]. Si tomamos
como valor aproximado de la raı́z x = 0.3553 ¿de cuántas cifras decimales
exactas disponemos?

Sol : x = 0.35530 con las 5 cifras decimales exactas.

d) Si, en el caso anterior en que k = −4, aplicamos el método de Newton


para hallar la raı́z del polinomio, ¿cuál de los extremos del intervalo [0, 1]
deberı́amos tomar como valor inicial x0 para garantizar la convergencia?
y ¿qué valor obtendrı́amos para x2 ?

Sol : x0 = 1, x2 = 0.365079 . . ..

Ejercicio 1.12 Dados los polinomios

P (x) = 2x3 − 2x2 − 2αx + 3α

Q(x) = x3 − 3x2 − 3αx + 2α

a) Determinar el valor de α sabiendo que se trata de un entero par y que


los valores de dichos polinomios sólo coinciden, para valores positivos de
x, en un punto del intervalo (1, 2).

Sol : α = −2 (estudiar el polinomio diferencia D(x) = P (x) − Q(x)).

b) Probar (mediante una sucesión de Sturm) que, para α = −2, el polinomio


P (x) sólo tiene una raı́z real, que ésta es positiva, y dar un intervalo de
amplitud 1 que la contenga.

Sol : x ∈ [1, 2].

c) ¿Verifica el polinomio P (x) las condiciones de Fourier para la convergen-


cia del método de Newton en el intervalo (1.2, 1.3)?

Sol : Sı́, x0 = 1.3.

d) Si tomamos como valor inicial x0 = 1.3, calcular el valor que se obtiene


para x1 dando una cota del error.

Sol : x1 = 1.27606263982103, ε1 ≤ 4.20 · 10−4 < 10−3 .


Ejercicios propuestos 57

Ejercicio 1.13
“Cuando dos raı́ces positivas de una ecuación polinómica están muy próximas,
suele ser difı́cil separarlas mediante intervalos cerrados. Para alejarlas se
puede proceder como sigue:

Paso 1: Sea la ecuación polinómica


P (x) = an xn + an−1 xn−1 + · · · + a1 x + a0 = an (x − α1 ) · · · (x − αn ) = 0

Paso 2: Cambiar x por x2 en P (x) = 0


P (x2 ) = an (x2 − α1 ) · · · (x2 − αn ) = 0

Paso 3: Cambiar x por −x2 en P (x) = 0


P (−x2 ) = an (−x2 − α1 ) · · · (−x2 − αn ) = (−1)n an (x2 + α1 ) · · · (x2 + αn ) = 0

Paso 4: Multiplicar las dos ecuaciones anteriores para obtener la nueva


ecuación
P (x2 )P (−x2 ) = (−1)n a2n (x4 − α12 ) · · · (x4 − αn2 ) = 0

Paso 5: En el polinomio obtenido, cambiar x4 por una nueva variable t,


obteniendo una ecuación del tipo (t − α12 ) · · · (t − αn2 ) = 0.

Se obtiene ası́ una ecuación polinómica cuyas raı́ces son los cuadrados de las
raı́ces de la ecuación P (x) = 0. La relación entre las raı́ces de la nueva
ecuación con las de P (x) = 0 es αi2 − αj2 = (αi + αj )(αi − αj ). Ası́, se observa
que las nuevas raı́ces se alejan (o se acercan) αi + αj veces más que las raı́ces
de P (x) = 0.
Si este procedimiento se aplica dos veces se obtiene una ecuación de la forma
(t − α14 ) · · · (t − αn4 ) = 0”
Sea la ecuación P (x) = 2x2 − 9x + 10 = 0, y sea Q(x) = 0 la ecuación obtenida
al aplicar dos veces el método anteriormente descrito. Se pide:

a) Mediante una sucesión de Sturm, demostrar que P (x) = 0 posee dos


raı́ces reales.
b) Comprobar que se obtiene el polinomio Q(x) = 16x2 − 881x + 10000
c) Separando previamente las raı́ces de Q(x) = 0, utilizar una fórmula de
error a posteriori para calcular la mayor de ellas, con dos cifras decima-
les exactas, aplicando el método de Newton. Denotemos por α la raı́z
obtenida tomando sólo dos cifras decimales.

Sol : x1 ∈ [10, 20], x2 ∈ [30, 40], α = 39.06.


58 Ecuaciones no lineales

d) Para resolver la ecuación x4 − α = 0 por el método de Newton y ası́


calcular la raı́z de P (x) = 0, hacer lo siguiente:

d.1) Encontrar un intervalo [a, b] que sólo contenga a la mayor raı́z real
de esta ecuación y en donde se verifiquen las hipótesis de la regla
de Fourier.

Sol : [2, 3].


d.2) ¿Cuántas iteraciones son necesarias para obtener 25 cifras decimales
1 n máx |f 00 (x)|
exactas? Indicación: En+1 ≤ (kE1 )2 , con k = en un
k 2 mı́n |f 0 (x)|
intervalo adecuado.

Sol : 3 iteraciones (reducir el intervalo inicial al [2, 2.5]).



d.3) Con una calculadora se ha obtenido β = 4 α = 2.49995999903 como
mejor aproximación.
¿Cuántas de las cifras decimales se podrı́an garantizar que coinciden
con las de la verdadera raı́z de P (x)?

Sol : A lo más de 2 que son las que tenı́a el valor de α.

Ejercicio 1.14

a) Dado el polinomio P (x) = x3 − 7x2 + 20x − 26, utilizar una sucesión de


Sturm para comprobar que P (x) = 0 sólo tiene una raı́z real positiva y
que se encuentra en el intervalo [3, 4].

b) Justificar la convergencia del método de Newton para aproximar la raı́z


real de la ecuación P (x) = 0 contenida en el intervalo [3, 4]. Realizar
dos iteraciones del método y dar una cota del error de la aproximación
obtenida. ¿Se trata de un problema bien o mal condicionado? Razonar
la respuesta.

Sol : x2 = 3.35483870967742, ε2 ≤ 0.01413849820416. La derivada de


P (x) oscila de 5 a 12, por lo que está bien condicionado.

Ejercicio 1.15 Queremos aproximar las raı́ces de la ecuación (5 − x)ex = 5.

a) Probar, gráficamente, que existen dos soluciones, una es x = 0 y la otra


x = α se encuentra en el intervalo [1, 5]. Aproximarla realizando dos
pasos del método de la Regula falsi.

Sol : x2 = 4.78799912600669
Ejercicios propuestos 59

b) ¿Es posible aproximar α aplicando un método de iteración funcional


5 + xex
 
sobre la función ϕ1 (x) = ln partiendo de cualquier punto del
5
intervalo I = [1, 5]? Justifica tu respuesta.

Sol : No. Sólo en [1, ln 5]


5
c) ¿Y sobre la función ϕ2 (x) = 5 − partiendo de cualquier punto del
ex
intervalo I = [1, 5]? Justifica tu respuesta.

Sol : No. Sólo en [ln 5, 5]

d) ¿Y sobre ϕ2 (x) en I = [2, 5]? Justifica tu respuesta.

Sol : Sı́.
2. Sistemas de ecuaciones linea-
les

2.1 Normas vectoriales y matriciales


Definición 2.1 [Concepto de norma]

Sea E un espacio vectorial definido sobre un cuerpo K. Se define una norma


como una aplicación, que denotaremos por k k, de E en R que verifica las
siguientes propiedades:

• kxk ≥ 0 ∀x ∈ E siendo kxk = 0 ⇐⇒ x = 0. Definida positiva.

• kλ xk = |λ|kxk ∀λ ∈ K, ∀x ∈ E. Propiedad de homogeneidad.

• kx + yk ≤ kxk + kyk ∀x, y ∈ E. Desigualdad triangular.

Es frecuente que en el espacio E se haya definido también el producto de dos


elementos. En este caso, si se verifica que

kx · yk ≤ kxk · kyk

se dice que la norma es multiplicativa.


Esta propiedad de las normas es fundamental cuando trabajamos en el con-
junto de las matrices cuadradas de orden n.

Un espacio E en el que hemos definido una norma recibe el nombre de espacio


normado.

61
62 Sistemas de ecuaciones lineales

2.1.1 Normas vectoriales


Sea E un espacio vectorial de dimensión n y sea B = {u1 , u2 , . . . , un } una base
suya. Cualquier vector x ∈ E puede ser expresado de forma única en función
de los vectores de la base B.
n
X
x= xi ui
i=1

donde los escalares (x1 , x2 , . . . , xn ) se conocen como coordenadas del vector x


respecto de la base B.
Utilizando esta notación, son ejemplos de normas los siguientes:

n
X
• Norma-1 kxk1 = |xi |
i=1

v
u n
uX
• Norma euclı́dea o Norma-2 kxk2 = t |xi |2
i=1

• Norma infinito kxk∞ = máx |xi |


i

Ejemplo 2.1 Para los vectores

x = (2, 3, 0, −12)T y = (1 + i, i)T



• kxk1 = 2 + 3 + 0 + 12 = 17 kyk1 = |1 + i| + |i| = 2 + 1
√ p √
• kxk2 = 22 + 32 + 02 + 122 = 13 kyk2 = |1 + i|2 + |i|2 = 3

• kxk∞ = | − 12| = 12 kyk∞ = |1 + i| = 2


2.1.2 Distancia inducida por una norma


Definición 2.2 [Distancia]

Dado un espacio vectorial E, se define una distancia como una aplicación


d : E × E → R cumpliendo que:
Normas vectoriales y matriciales 63

• d(x, y) ≥ 0 ∀x, y ∈ E siendo d(x, y) = 0 ⇐⇒ x = y.

• d(x, y) = d(y, x) ∀x, y ∈ E.

• d(x, y) ≤ d(x, z) + d(z, y) ∀x, y, z ∈ E.

Teorema 2.1 [Distancia inducida por una norma]


 
Si E, k k es un espacio normado, la norma k k induce una distancia en E
que se conoce como distancia inducida por la norma k k y viene definida por:

d(x, y) = kx − yk

Demostración. Veamos que, en efecto, se trata de una distancia:

• d(x, y) ≥ 0 por tratarse de una norma, y además:

d(x, y) = 0 ⇐⇒ kx − yk = 0 ⇐⇒ kx − yk = 0 ⇐⇒ x = y.

• d(x, y) = kx − yk = k − 1(y − x)k = | − 1| · ky − xk = ky − xk = d(y, x).

• d(x, y) = kx − yk = kx − z + z − yk ≤ kx − zk + kz − yk =

= d(x, z) + d(z, y).

2.1.3 Convergencia en espacios normados


Una sucesión de vectores v1 , v2 , . . . de un espacio vectorial normado (V, k k) se
dice que es convergente a un vector v si

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.2 Para un espacio vectorial normado de dimensión finita, el con-


cepto de convergencia es independiente de la norma utilizada.
64 Sistemas de ecuaciones lineales

2.1.4 Normas matriciales


Dada una matriz A y un vector x, consideremos el vector transformado Ax.
La relación existente entre la norma del vector transformado y la del vector
original va a depender de la matriz A. El mayor de los cocientes entre dichas
normas, para todos los vectores del espacio, es lo que vamos a definir como
norma de la matriz A, de tal forma que de la propia definición se deduce que
kAxk ≤ kAk kxk
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).

Definición 2.3 [Norma de una matriz]

Se define
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.

• Norma-1 kAk1 = máx{kAxk1 : kxk1 = 1}.


n
X
Dado que Ax = y =⇒ yi = aik xk se tiene que
k=1
n X
X n
kAk1 = máx{ |aik xk | : kxk1 = 1}.
i=1 k=1

Por último, si descargamos todo el peso sobre una coordenada, es decir,


si tomamos un vector de la base canónica, obtenemos que
n
X
kAk1 = máx |aij |.
j
i=1
√ √
• Norma euclı́dea kAk2 = máx{ x∗ A∗ Ax : x∗ x = 1}

Descargando ahora el peso en los autovectores de la matriz A∗ A obtene-


mos que
p √ p
kAk2 = máx{ x∗ λi x : x∗ x = 1} = máx λi = máx σi
i i i

donde σi representa a los valores singulares de la matriz A, es decir, las


raı́ces cuadradas positivas de los autovalores de la matriz A∗ A.
Normas vectoriales y matriciales 65

kAk∞ = máx{ nj=1 |aij xj | : kxk∞ = 1}.


P
• Norma infinito

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

Tenemos pues, que las normas asociadas (algunas veces llamadas subordinadas)
a las normas de vector estudiadas anteriormente son:

n
X
Norma-1 kAk1 = máx |aij |.
j
i=1

Norma euclı́dea kAk2 = máx σi .


i

n
X
Norma infinito kAk∞ = máx |aij |.
i
j=1

Si consideramos la matriz como un vector de m × n coordenadas, podemos


definir (de manera análoga a la norma euclı́dea de vector) la denominada
sX √
Norma de Frobenius kAkF = |aij |2 = tr A∗ A
i,j

 
1 1 2
Ejemplo 2.2 Para la matriz A =  2 −1 1  se tiene:
 

1 0 1
n
X
• kAk1 = máx |aij | = máx{(1 + 2 + 1), (1 + | − 1| + 0), (2 + 1 + 1)} = 4
j
i=1
 
6 −1 5
T
• El polinomio caracterı́stico de la matriz A A =  −1 2 1  es
 

5 1 6
p(λ) = λ3 − 14λ2 + 33λ = λ(λ − 3)(λ − 11)
Los autovalores de la matriz AT √
A son√0, 3 y 11, por lo que los valores
singulares de la matriz A son 0, 3 y 11 y, por tanto,

kAk2 = máx σi = 11
i
66 Sistemas de ecuaciones lineales

n
X
• kAk∞ = máx |aij | = máx{(1 + 1 + 2), (2 + | − 1| + 1), (1 + 0 + 1)} = 4
i
j=1
√ √ √
• kAkF = tr AT A = 6+2+6= 14. 

2.1.5 Transformaciones unitarias


Definición 2.4 [Matriz unitaria]

La matriz U ∈ Cn×n de una transformación se dice unitaria si


U ∗ U = U U ∗ = I ⇐⇒ U ∗ = U −1

Proposición 2.3 La norma de Frobenius y la norma euclı́dea de vector son


invariantes mediante transformaciones unitarias.

Demostración.

• Para la norma matricial de Frobenius:


p p p
kU AkF = tr [(U A)∗ (U A)] = tr (A∗ U ∗ U A) = tr (A∗ A) = kAkF
p p
kAU kF = tr [(A U )∗ (A U )] = tr [(A U )(A U )∗ ] =
p p p
= tr (A U U ∗ A∗ ) = tr (A A∗ ) = tr (A∗ A) = kAkF

• Para la norma euclı́dea de vector.


p √ √
kU xk2 = (U x)∗ (U x) = x∗ U ∗ U x = x∗ x = kxk2

Proposición 2.4 Las matrices A, A∗ , AU y U A, donde U es una matriz


unitaria, poseen los mismos valores singulares y, por tanto, lo misma norma
euclı́dea.

Demostración. Veamos, en primer lugar que las matrices A∗ A y AA∗ poseen


los mismos autovalores. En efecto:
Sea λ un autovalor de A∗ A y x un autovector asociado a λ.
A∗ Ax = λx =⇒ AA∗ Ax = λAx
y llamando y = Ax tenemos que AA∗ y = λy, por lo que λ es un autovalor de
la matriz AA∗ asociado al autovector y = Ax. Ası́ pues, cualquier autovalor
de A∗ A lo es también de AA∗ .
Razonando de igual forma se obtiene que cualquier autovalor de AA∗ lo es
también de A∗ A, por lo que ambas matrices poseen los mismos autovalores.
Normas vectoriales y matriciales 67

• Como los valores singulares de la matriz A son las raı́ces cuadradas posi-
tivas de los autovalores de A∗ A y los de A∗ las raı́ces cuadradas positivas
de los autovalores de AA∗ (los mismos que los de A∗ A), las matrices A
y A∗ poseen los mismos valores singulares.

• Los valores singulares de U A son las raı́ces cuadradas positivas de los


autovalores de (U A)∗ (U A) = A∗ U ∗ U A = A∗ A que eran precisamente los
valores singulares de la matriz A.

• Los valores singulares de AU son (por el primer apartado) los mismos


que los de (AU )∗ = U ∗ A∗ es decir, las raı́ces cuadradas positivas de los
autovalores de (U ∗ A∗ )∗ (U ∗ A∗ ) = AU U ∗ A∗ = AA∗ cuyos autovalores son
los mismos que los de A∗ A, por lo que AU tiene también los mismos
valores singulares que la matriz A.

Proposición 2.5 La norma euclı́dea de una matriz unitaria vale siempre 1.

Demostración.
kU xk2 kxk2
kU k2 = máx = máx =1
x∈V −{0} kxk2 x∈V −{0} kxk2

Proposición 2.6 La norma euclı́dea es invariante mediante transformaciones


de semejanza unitarias.

Demostración. Sea A y B dos matrices unitariamente semejantes, es decir,


tales que
B = U ∗ AU con U unitaria

B = U ∗ AU =⇒ kBk2 ≤ kU ∗ k2 kAk2 kU k2 = kAk2 
=⇒ kBk2 = kAk2
∗ ∗
A = U BU =⇒ kAk2 ≤ kU k2 kBk2 kU k2 = kBk2

2.1.6 Radio espectral


Definición 2.5 [Radio espectral]

Se define el radio espectral de una matriz A, y se denota por ρ(A) como el


máximo de los módulos de los autovalores de la referida matriz.

ρ(A) = máx |λi |


i

Geométricamente representa el radio del cı́rculo mı́nimo que contiene a todos


los autovalores de la matriz.
68 Sistemas de ecuaciones lineales

Teorema 2.7 El radio espectral de una matriz es una cota inferior de todas
las normas multiplicativas de dicha matriz.

Demostración. Sean {λ1 , λ2 , . . . , λr } los autovalores de la matriz A y sean


{x1 , x2 , . . . , xr } autovectores asociados a dichos autovalores.
kAxi k = kλi xi k = |λi | kxi k.
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

Definición 2.6 [Matriz de diagonal dominante]

Una matriz cuadrada de orden n A = (aij )i = 1, 2, . . . , n se dice que es una matriz


j = 1, 2, . . . , n
de diagonal dominante o de Hadamard si
n
X
|aii | > |aik | i = 1, 2, . . . , n
k=1
k 6= i

 
3 1 1
Ejemplo 2.3 La matriz A =  0 2 1  es de diagonal dominante por
 

2 −1 5
verificar que
3>1+1 2>0+1 y 5 > 2 + | − 1| = 3 

Teorema 2.8 Toda matriz de diagonal dominante es regular.

Demostración. Supongamos que A es de diagonal dominante y que su deter-


minante fuese nulo. En ese caso, el sistema Ax = 0 posee solución no trivial
(α1 , α2 , . . . , αn ) 6= (0, 0, . . . , 0).
Sea |αk | = máx |αi | > 0 y consideremos la k-ésima ecuación:
i

ak1 α1 + ak2 α2 + · · · + akk αk + · · · + akn αn = 0 =⇒


α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
Normas vectoriales y matriciales 69

n n
X αi X
|akk | ≤ |aki | ≤ |aki |
αk
i=1 i=1
i 6= k i 6= k

en contra de la hipótesis de que A es de diagonal dominante, por lo que toda


matriz de diagonal dominante es regular.

Definición 2.1 Matrices fundamentales de una matriz A

Se denominan matrices fundamentales de una matriz A, y se denotan por Ak , a


las submatrices constituidas por los elementos de A situados en las k primeras
filas y las k primeras columnas, es decir:
 
! a11 a12 a13
a11 a12
A1 = (a11 ) A2 = A3 =  a21 a22 a23  ···
 
a21 a22
a31 a32 a33

Teorema 2.9 Las matrices fundamentales Ak de una matriz A de diagonal


dominante, son también de diagonal dominante.

Demostración. La demostración es trivial, ya que si A es de diagonal domi-


nante se verifica que
n
X k
X
|aii | > |aij | ≥ |aij |
j =1 j =1
j 6= i j 6= i

luego Ak también lo es.

Definición 2.7 [Cı́rculos de Gerschgorin]

Sea A ∈ Kn×n . Se definen los cı́rculos de Gerschgorin como los conjuntos



C1 = {z : |z − a11 | ≤ r1 } 



C2 = {z : |z − a22 | ≤ r2 } 

 X n

.. con ri = |aij | para 1 ≤ i ≤ n


. 


 j =1

 j 6= i

Cn = {z : |z − ann | ≤ rn }

Teorema 2.10 [Teorema de Gerschgorin]

Sean C1 , C2 , . . . , Cn los cı́rculos de Gerschgorin de una matriz A. Si λ es un


n
[
autovalor de A, se verifica que λ ∈ Ci .
i=1
70 Sistemas de ecuaciones lineales

n
[
Demostración. Si λ 6∈ Ci es porque λ 6∈ Ci para ningún i = 1, 2, . . . , n,
i=1
por lo que
|λ − a11 | > r1
|λ − a22 | > r2
..
.
|λ − ann | > rn

y, por tanto, la matriz


 
λ − a11 −a12 ··· −a1n
−a21 λ − a22 ··· −a2n
 
 
λI − A =  .. .. .. .. 

 . . . .


−an1 −an2 · · · λ − ann

es una matriz de diagonal dominante, por lo que det(λI − A) 6= 0 y, por tanto,


λ no puede ser un autovalor de la matriz A en contra de la hipótesis.

Obsérvese que como det A = det AT se verifica que

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

es decir, A y AT tienen el mismo polinomio caracterı́stico y, por tanto, los


mismos autovalores.
Ello nos lleva a que los cı́rculos de Gerschgorin obtenidos por columnas de-
terminan también el dominio de existencia de los autovalores de la matriz A,
es más, la intersección de los cı́rculos obtenidos por filas y los obtenidos por
columnas contienen a todos los autovalores de la matriz A.

Teorema 2.11 Si un conjunto de k cı́rculos de Gerschgorin de una matriz A


constituyen un dominio conexo aislado de los otros cı́rculos, existen exacta-
mente k autovalores de la matriz A en dicho dominio.


0 2 3
Ejemplo 2.4 Dada la matriz A =  2 8 2 , sus cı́rculos de Gerschgorin
 

2 0 10
Sistemas de ecuaciones lineales 71

obtenidos por filas son

C1 = {z : |z − 0| ≤ 5}

C2 = {z : |z − 8| ≤ 4}

C3 = {z : |z − 10| ≤ 2}

Mientras que los obtenidos por columnas son

C1 = {z : |z − 0| ≤ 4}

C2 = {z : |z − 8| ≤ 2}

C3 = {z : |z − 10| ≤ 5}

Estos últimos nos dicen que la matriz tiene, al menos, un autovalor real (hay
un cı́rculo que sólo contiene a un autovalor y éste debe ser real ya que de
ser complejo el conjugado también serı́a autovalor de A y al tener el mismo
módulo se encontrarı́a en el mismo cı́rculo contra la hipótesis de que en dicho
cı́rculo sólo se encuentra un autovalor), es decir los cı́rculos obtenidos por filas
no nos dan información sobre el autovalor real, mientras que los obtenidos por
columnas nos dicen que existe un autovalor real en el intervalo (-4,4). 

2.2 Sistemas de ecuaciones lineales


En el capı́tulo anterior se estudiaron métodos iterados para la resolución de
ecuaciones no lineales. Dichos métodos se basaban en el teorema del punto
fijo y consistı́an en expresar la ecuación en la forma x = ϕ(x) exigiendo que
ϕ0 (x) ≤ q < 1 para cualquier x del intervalo en el cual se trata de buscar la
solución.
Para los sistemas de ecuaciones lineales, de la forma Ax = b, trataremos de
buscar métodos iterados de una forma análoga a como se hizo en el caso de las
ecuaciones, es decir, transformando el sistema en otro equivalente de la forma
x = F (x) donde F (x) = M x + N . Evidentemente habrá que exigir algunas
condiciones a la matriz M para que el método sea convergente (al igual que se
exigı́a que ϕ0 (x) ≤ q < 1 en el caso de las ecuaciones) y estas condiciones se
basan en los conceptos de normas vectoriales y matriciales.
72 Sistemas de ecuaciones lineales

Dada una aplicación f : Rm → Rn y un vector b ∈ Rn , resolver el sistema


de ecuaciones f (x) = b no es más que buscar el conjunto de vectores de Rm
cuya imagen mediante f es el vector b, es decir, buscar la imagen inversa de b
mediante f .
Un sistema de ecuaciones se dice lineal en su componente k-ésima si verifica
que
f (x1 , . . . , xk−1 , αx1k + βx2k , xk+1 , . . . , xm ) = αf (x1 , . . . , xk−1 , x1k , xk+1 , . . . , xm )+
+ βf (x1 , . . . , xk−1 , x2k , xk+1 , . . . , xm )
Diremos que un sistema es lineal si lo es en todas sus componentes, pudiéndose,
en este caso, escribir de la forma Ax = b.

Transformación de un sistema complejo en otro real

Si la aplicación f se define de Cm en Cn resulta un sistema complejo que puede


ser transformado en otro sistema real.

Ası́, por ejemplo, si el sistema es lineal



m×n
 M ∈C

f : Cm → Cn ⇐⇒ M z = k con x ∈ Cn×1

k ∈ Cm×1

podemos descomponer la matriz M en suma de otras dos de la forma


M = A + iB con A, B ∈ Rm×n
y análogamente
z = x + iy con x, y ∈ Rn×1

k = k1 + ik2 con k1 , k2 ∈ Rm×1


por lo que (A + iB)(x + iy) = k1 + ik2 es decir
     
 Ax − By = k1 A −B x k1
=⇒    =  
 Bx + Ay = k B A y k2
2

sistema real de 2m ecuaciones con 2n incógnitas.

Es por ello, que centraremos nuestro estudio en los sistemas reales.

Clasificación de los SS.EE.LL

Podemos clasificar los sistemas de ecuaciones lineales atendiendo a


Sistemas de ecuaciones lineales 73

• Su tamaño

– Pequeños: n ≤ 300 donde n representa el número de ecuaciones.


– Grandes: n > 300

(Esta clasificación corresponde al error de redondeo)

• Su estructura

– Si la matriz posee pocos elementos nulos diremos que se trata de


un sistema lleno.
– Si, por el contrario, la matriz contiene muchos elementos nulos,
diremos que la matriz y, por tanto, que el sistema es disperso o
sparce. Matrices de este tipo son las denominadas
 
a11 a12 0 0
 a
 21 a22 a23 0 

∗ Tridiagonales:  
 0 a32 a33 a34 
0 0 a43 a44
 
a11 a12 a13 a14
 0 a
22 a23 a24 

∗ Triangulares superiores: 


 0 0 a33 a34 
0 0 0 a44
 
a11 0 0 0
 a
 12 a22 0 0 
∗ Triangulares inferiores: 


 a31 a32 a33 0 
a41 a42 a43 a44

En cuanto a los métodos de resolución de sistemas de ecuaciones lineales,


podemos clasificarlos en

• Métodos directos

Aquellos que resuelven un sistema de ecuaciones lineales en un número


finito de pasos.

Se utilizan para resolver sistemas pequeños.

• Métodos iterados Aquellos que crean una sucesión de vectores que


convergen a la solución del sistema.

Se utilizan para la resolución de sistemas grandes, ya que al realizar un


74 Sistemas de ecuaciones lineales

gran número de operaciones los errores de redondeo pueden hacer ines-


table al proceso, es decir, pueden alterar considerablemente la solución
del sistema.

2.2.1 Número de condición


Definición 2.8 [Condicionamiento de un sistema]

Un sistema de ecuaciones lineales Ax = b se dice bien condicionado cuando


los errores cometidos en los elementos de la matriz A y del vector b producen
en la solución un error del mismo orden, mientras que diremos que el sistema
está mal condicionado si el error que producen en la solución del sistema es
de orden superior al de los datos. Es decir:

kA − Ak < ε  kx − xk ' ε
 sistema bien condicionado
=⇒
kb − bk < ε  kx − xk  ε sistema mal condicionado

Consideremos el sistema cuadrado Ax = b con A regular, es decir, un sistema


compatible determinado. En la práctica, los elementos de A y de b no suelen
ser exactos bien por que procedan de cálculos anteriores, o bien porque sean
irracionales, racionales periódicos, etc. Es decir, debemos resolver un sistema
aproximado cuya solución puede diferir poco o mucho de la verdadera solución
del sistema.
Ası́, por ejemplo, en un sistema de orden dos, la solución representa el punto
de intersección de dos rectas en el plano. Un pequeño error en la pendiente de
una de ellas puede hacer que dicho punto de corte se desplace sólo un poco o
una distancia considerable (véase la Figura 2.1), lo que nos dice que el sistema
está bien o mal condicionado, respectivamente.
Podemos ver que el sistema está mal condicionado cuando las pendientes de las
dos rectas son muy similares y que mientras más ortogonales sean las rectas,
mejor condicionado estará el sistema.

Ejemplo 2.5 Si consideramos el sistema de orden 2



 3x + 4y = 7
! !
x 1
de solución =

3x + 4.00001y = 7.00001 y 1
Sistemas de ecuaciones lineales 75

r1 r10 r1 r10

%
  s
%
  
%
@   %
@

  %

@s s
@   %

 %

@
s

%

@
@ r2
 %
 %

 @@ %


 r2 % 

 % 


 %


Sistema bien condicionado Sistema mal condicionado


Figura 2.1: Condicionamiento de un sistema.

y cometemos un pequeño error en los datos, podemos obtener el sistema



 3x + 4y = 7
! !
x 7.6̄
de solución =

3x + 3.99999y = 7.00004 y −4

o bien este otro



 3x + 4y = 7
! !
x 9.6̄
de solución =

3x + 3.99999y = 7.000055 y −5.5

lo que nos dice que estamos ante un sistema mal condicionado.


Si sustituimos la segunda ecuación por la que resulta de sumarle la primera
multiplicada por −1.0000016 (la ecuación resultante se multiplica por 106 y se
divide por −1.2) nos queda el sistema

 3x + 4y = 7
! !
x 1
de solución =

4x − 3y = 1 y 1

siendo éste un sistema bien condicionado.


Se puede observar entonces que si, en un sistema mal condicionado, sustituimos
una de las ecuaciones por una combinación lineal de las restantes, podemos
hacer que el sistema resultante esté bien condicionado o viceversa. 

El estudio del condicionamiento de un sistema se realiza a través del denomi-


nado número de condición que estudiamos a continuación.
76 Sistemas de ecuaciones lineales

Definición 2.9 Sea A una matriz cuadrada y regular. Se define el número de


condición de la matriz A y se denota por κ(A) como

κ(A) = kAk · kA−1 k

donde la norma utilizada ha de ser una norma multiplicativa.

Este número nos permite conocer el condicionamiento del sistema Ax = b.


Dado que en la práctica el cálculo de la matriz inversa A−1 presenta grandes
dificultades lo que se hace es buscar una cota del número de condición.

κ(A) = kAk · kA−1 k < kAk · k

siendo k una cota de la norma de la matriz inversa.


kIk
Si kI − Ak < 1 entonces kA−1 k ≤ . En efecto:
1 − kI − Ak
A · A−1 = I =⇒ [I − (I − A)]A−1 = I =⇒
A−1 − (I − A)A−1 = I =⇒ A−1 = I + (I − A)A−1 =⇒
kA−1 k = kI + (I − A)A−1 k ≤ kIk + k(I − A)A−1 k ≤ kIk + kI − Ak kA−1 k ⇒
kA−1 k − kI − Ak kA−1 k ≤ kIk =⇒ (1 − kI − Ak)kA−1 k ≤ kIk =⇒

kIk
kA−1 k ≤
1 − kI − Ak

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.

Ejemplo 2.6 Para estudiar el condicionamiento del sistema



 3x + 4y = 7

3x + 4.00001y = 7.00001

Sistemas de ecuaciones lineales 77

Se tiene que
!
3 4
A= =⇒ det(A) = 0.00003
3 4.00001
!
1 4.00001 −4
A−1 =
0.00003 −3 3

n
X
Utilizando la norma infinito kAk∞ = máx |aij | se tiene que
i
j=1


kAk∞ = 7.00001 
 56
=⇒ κ∞ (A) ' · 105 > 1.8 · 106
8.00001  3
kA−1 k∞ = 
0.00003
Se trata pues, de un sistema mal condicionado.
Xn
Si utilizamos la norma-1 kAk1 = máx |aij | obtenemos:
j
i=1


kAk1 = 8.00001 
 56
=⇒ κ1 (A) ' · 105 > 1.8 · 106
7.00001  3
kA−1 k1 = 
0.00003
obteniéndose, también, que se trata de un sistema mal condicionado. 

Propiedades del número de condición.

• κ(A) ≥ 1 cualquiera que sea la matriz cuadrada y regular A.


Demostración.

kxk = kIxk ≤ kIkkxk =⇒ kIk ≥ 1

cualquiera que sea la norma utilizada.

Como, por otra parte AA−1 = I se tiene que

1 ≤ kIk = kAA−1 k ≤ kAkkA−1 k = κ(A) =⇒ κ(A) ≥ 1.

• Si B = zA, con z ∈ C no nulo, se verifica que κ(B) = κ(A).


78 Sistemas de ecuaciones lineales

Demostración.
1 kA−1 k
κ(B) = kBk kB −1 k = kzAk k A−1 k = |z| kAk = kAk kA−1 k =
z |z|
= κ(A)

Dado que det(B) = z n det(A), donde n representa el orden de la matriz


A, y κ(B) = κ(A) se ve que el condicionamiento de una matriz no
depende del valor de su determinante.
σn
• Utilizando la norma euclı́dea, κ2 (A) = donde σ1 y σn representan,
σ1
respectivamente, al menor y al mayor de los valores singulares de la
matriz A.
Demostración. Sabemos que los valores singulares σi de la matriz A
son las raı́ces cuadradas positivas de los autovalores de la matriz A∗ A.
p
σi = λi (A∗ A)

Si suponemos σ1 ≤ σ2 ≤ · · · ≤ σn se tiene que


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 s
q 1 1
= máx λi (AA∗ )−1 = máx = =
i i ∗
λi (AA ) mı́n λi (AA∗ )
i
s s
1 1 −1 1
= ∗ = 2 =⇒ kA k2 =
mı́n λi (A A) mı́n σi σ1
i i

Podemos concluir, por tanto, que



kAk2 = σn   σn
=⇒ κ2 (A) =
1  σ1
kA−1 k2 = 
σ1

En cuanto a su relación con los números de condición obtenidos con otras


normas de matriz se tiene que:
√ √
kAk2 ≤ kAkF ≤ nkAk2 =⇒ kA−1 k2 ≤ kA−1 kF ≤ nkA−1 k2

κ2 (A) = kAk2 kA−1 k2 ≤ kAkF kA−1 kF = κ(A)F


Sistemas de ecuaciones lineales 79

√ √
κF (A) = kAkF kA−1 kF ≤ n nkAk2 kA−1 k2 = nκ2 (A) =⇒

κ2 (A) ≤ κF (A) ≤ nκ2 (A)


 p
 kAk2 ≤ kAk1 kAk∞ p
Además: p ⇒ κ2 (A) ≤ κ1 (A)κ∞ (A)
 −1 −1 −1
kA k2 ≤ kA k1 kA k∞

• La condición necesaria y suficiente para que κ2 (A) = 1 es que A = zU


siendo z ∈ C (no nulo) y U una matriz unitaria (U U ∗ = U ∗ U = I).
Demostración.

⇐) A = zU =⇒ κ2 (A) = 1.

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 .

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 asociados los autovalores λi ).
Por otra parte sabemos que toda matriz hermı́tica (A = A∗ ) es
diagonalizable mediante una matriz de paso unitaria.
Como A∗ A es hermı́tica existe una matriz unitaria R tal que
 
σ12
σ22
 
∗ ∗
 
R A AR =   ...


 
σn2
σn
κ2 (A) = = 1 =⇒ σ1 = σ2 = · · · = σn = σ, por lo que
σ1

R∗ A∗ AR = σ 2 I

Entonces
A∗ A = R(σ 2 I)R∗ = σ 2 (RIR∗ ) = σ 2 I
80 Sistemas de ecuaciones lineales

de donde   
1 ∗ 1
A A =I
σ σ
1 1
Llamando U = A se tiene que U ∗ = A∗ , ya que σ ∈ R ⇒ σ = σ.
σ σ
  
∗ 1 ∗ 1
U U= A A = I =⇒ U es unitaria
σ σ
y, por tanto,
A = σU 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 κ(U A) = κ(A) trataremos de utilizar métodos de resolución de sistemas
de ecuaciones lineales que trabajen con transformaciones unitarias que no em-
peoren su condicionamiento como lo hace, por ejemplo, el método de Gauss
basado en la factorización LU y que también estudiaremos a continuación.

2.3 Métodos directos de resolución de siste-


mas lineales

2.3.1 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 obtenida viene determinada por el producto de un número finito
de transformaciones 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 producto 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

A = L0 U 0 = LU =⇒ L−1 L0 = U U 0−1
Métodos directos de resolución de sistemas lineales 81

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 
  
  
A=  l31 l32 1 · · · 0   0 0 u33 · · · u3n 

 .. .. .. . . ..   .. .. .. . . .. 

 . . . . .  . . . . . 
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
Ejemplo 2.7 Considérese la matriz A =  6 3 2 
 

−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
de la segunda (teniendo en cuenta los valores ya obtenidos) se tiene que

3l21 = 6   l21 = 2
l21 + u22 = 3 =⇒ u22 = 1

2l21 + u23 = 2 u23 = −2

82 Sistemas de ecuaciones lineales

y de la tercera (teniendo también en cuenta los resultados ya obtenidos)



3l31 = −3   l31 = −1
l31 + l32 = 0 =⇒ l32 = 1

2l31 − 2l32 + u33 = −8 u33 = −4

    
3 1 2 1 0 0 3 1 2
es decir:  6 3 2 = 2 1 0  0 1 −2  
    

−3 0 −8 −1 1 1 0 0 −4

Teorema 2.12 Una matriz regular A admite factorización LU si, y sólo si,
sus matrices fundamentales Ai (i = 1, 2, . . . , n) son todas regulares.

Demostración. Supongamos que A admite factorización LU . En ese caso


! ! !
Ak Lk Uk
A= = =⇒

Ak = Lk Uk =⇒ det(Ak ) = det(Lk ) det(Uk ) = 1 · r11 r22 · · · rkk 6= 0


ya que, por sea A regular, todos los pivotes rii i = 1, 2, . . . , n son no nulos.
Recı́procamente, si todas las matrices fundamentales son regulares, A admite
factorización LU , o lo que es equivalente, se puede aplicar Gauss sin intercam-
bio de filas. En efecto:
Dado que, por hipótesis es a11 6= 0, se puede utilizar dicho elemento como
pivote para anular al resto de los elementos de su columna quedándonos la
matriz  (2) (2) 
(2)
a11 a12 · · · a1n
 0 a(2) (2) 
· · · a2n 

(2) 22
A =  .. .. . . . 
 . . . ..  
(2) (2)
0 an2 · · · ann
(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 que
a11
de ser nulo serı́a
a11 a22 − a12 a21 = det(A2 ) = 0
en contra de la hipótesis de que todas las matrices fundamentales son regulares.
(2)
Por tanto, podemos utilizar a22 6= 0 como nuevo pivote para anular a los
elementos de su columna situados bajo él.
Métodos directos de resolución de sistemas lineales 83

Reiterando el procedimiento se puede ver que todos los elementos que vamos
obteniendo en la diagonal son no nulos y, por tanto, válidos como pivotes. Es
decir, puede realizarse la factorización LU .

Comprobar si una matriz admite factorización LU estudiando si todas sus


matrices fundamentales son regulares es un método demasiado costoso debido
al número de determinantes que hay que calcular.

Corolario 2.13 Toda matriz de diagonal dominante admite factorización LU .

Demostración. Es consecuencia directa de los Teoremas 2.8, 2.9 y 2.12.

Corolario 2.14 Toda matriz hermı́tica y definida positiva

hérmı́tica ⇐⇒ A = A∗
(
x∗ Ax ≥ 0 ∀ x
definida positiva ⇐⇒
x∗ Ax = 0 ⇐⇒ x = 0

admite factorización LU .

Demostración. Las matrices fundamentales de éstas tienen todas determi-


nante positivo, por lo que el Teorema 2.12 garantiza la existencia de las ma-
trices L y U .

Una vez realizada la factorización LU , el sistema Ax = b puede escribirse de la


forma LU x = b y llamando U x = y transformamos el problema de resolver el
sistema cuadrado Ax = b en la resolución de los sistemas triangulares Ly = b
y U x = y. 
 Ly = b
Ax = b ⇐⇒
Ux = y

Ejemplo 2.8 Consideremos el sistema Ax = b con


  

3 1 2 0
A= 6 3 2  b= 1 
   

−3 0 −8 5
84 Sistemas de ecuaciones lineales

En el Ejemplo 2.7 realizamos la factorización LU de la matriz A.


     

1 0 0 y1 0 0
Ly = b ⇐⇒  2 1 0   y2  =  1  =⇒ y =  1 
      

−1 1 1 y3 5 4
      
3 1 2 x1 0 1
U x = y ⇐⇒  0 1 −2   x2  =  1  =⇒ x =  −1 
      

0 0 −4 x3 4 −1 

2.3.2 Factorización de Cholesky


Es conocido que toda matriz hermı́tica y definida positiva tiene sus autovalores
reales y positivos y, además, en la factorización LU todos los pivotes son reales
y positivos.

Teorema 2.15 [Factorización de Cholesky]

Toda matriz A hermı́tica y definida positiva puede ser descompuesta de la


forma A = R∗ R siendo R una matriz triangular superior.

Demostración. Por tratarse de una matriz hermı́tica y definida positiva,


sabemos que admite factorización LU . Sea
  
1 0 ··· 0 u11 u12 · · · u1n
 l21 1 · · · 0   0 u22 · · · u2n 
  
A=  .. .. . . ..   . .. .. ..  =
 . . . .  .. . . . 


ln1 ln2 · · · 1 0 0 ··· unn
   
1 0 ··· 0 u11 0 · · · 0 1 u12/u11 · · · u1n/u11
 l21 1 · · · 0   0 u22 · · · 0  0 1 · · · u2n/u22 
   
=
 .. .. . . ..    ..
 .. . . .. .
. .. .. ..  =
 . . . .  . . . . . . . . 
ln1 ln2 · · · 1 0 0 · · · unn 0 0 ··· 1
 
u11 0 ··· 0
 0 u22 ··· 0
 

= L
 .. .. .. .. V =
 . . . .


0 0 · · · unn
Métodos directos de resolución de sistemas lineales 85

 √  √ 
u11 0 ··· 0 u11 0 ··· 0
√ √
 0 u22 ··· 0  0 u22 ··· 0
  

= L V ⇒
 .. .. ..  . .. ..
...  . ...
 . . .  . . .

√ √

0 0 ··· unn 0 0 ··· unn

A = BR
 √ 
u11 0 0 ··· 0

 0 u22 0 ··· 0 
 
 √ 
 0
B = L 0 u33 · · · 0   es triangular inferior.
 .. .. .. ... .. 
 . . . . 

0 0 0 ··· unn
 √ 
u11 0 0 ··· 0

 0 u22 0 ··· 0 
 
 √ 
R=  0 0 u33 · · · 0   V es triangular superior.
 .. .. .. .. .. 
 . . . . . 

0 0 0 ··· unn
Como A es hermı́tica, BR = A = A∗ = R∗ B ∗ , por lo que (R∗ )−1 B = B ∗ R−1 , y
dado que (R∗ )−1 B es triangular inferior y B ∗ R−1 es triangular superior, ambas
han de ser diagonales.
Por otra parte,

B ∗ R−1 = (LD)∗ (DV )−1 = D∗ L∗ V −1 D−1 = DL∗ V −1 D−1 = L∗ V −1

ya que las matrices diagonales conmutan.


Dado que la matriz L∗ V −1 tiene unos en la diagonal y es igual a B ∗ R−1 que
es diagonal, debe ser B ∗ R−1 = I, por lo que B ∗ = R o, lo que es lo mismo,
B = R∗ , es decir A = R∗ R con R = DV .

Hemos visto que toda matriz hermı́tica y definida positiva admite factorización
de Cholesky, pero podemos llegar más lejos y enunciar el siguiente teorema.

Teorema 2.16 Una matriz hermı́tica y regular A es definida positiva si, y


sólo si, admite factorización de Cholesky.

Demostración. Si es hermı́tica y definida positiva admite factorización LU


con todos los elementos diagonales de U (pivotes) positivos, por lo que admite
factorización de Cholesky.
86 Sistemas de ecuaciones lineales

Recı́procamente, si A admite factorización de Cholesky es A = R∗ R por lo que


A∗ = (R∗ R)∗ = R∗ R = A =⇒ A es hermı́tica
Para cualquier vector x no nulo es
x∗ Ax = x∗ R∗ Rx = (Rx)∗ (Rx) = kRxk2 ≥ 0
siendo cero sólo si Rx = 0 pero al ser R regular (si no lo fuese tampoco lo
serı́a A en contra de la hipótesis) Rx = 0 =⇒ x = 0 en contra de la hipótesis
de que x no es el vector nulo.
Se tiene pues que x∗ Ax > 0 para cualquier vector x no nulo, es decir, A es
definida positiva.

La unicidad de las matrices L y U implica la unicidad de la matriz R y, por


tanto, ésta puede ser calculada por un método directo.

Ejemplo 2.9 Consideremos el sistema


    
4 2i 4 + 2i x1 0
 −2i 2 2 − 2i   x2  =  0 
    

4 − 2i 2 + 2i 10 x3 −4

Realicemos la factorización R∗ R directamente, es decir


    
4 2i 4 + 2i r11 0 0 r11 r12 r13
 −2i 2 2 − 2i  =  r12 r22 0   0 r22 r23 
    

4 − 2i 2 + 2i 10 r13 r23 r33 0 0 r33

2
Se obtiene multiplicando, que r11 = 4 =⇒ r11 = 2.

 2r12 = 2i =⇒ r12 = i
Utilizando este resultado tenemos que
2r13 = 4 + 2i =⇒ r13 = 2 + i

2 2 2
r12 + r22 = 2 =⇒ r22 = 1 =⇒ r22 = 1.
r12 r13 + r22 r23 = 2 − 2i =⇒ 1 − 2i + r23 = 2 − 2i =⇒ r23 = 1.
2 2 2 2 2
r13 + r23 + r33 = 10 =⇒ 5 + 1 + r33 = 10 =⇒ r33 = 4 =⇒ r33 = 2.
Ası́ pues, el sistema nos queda de la forma
     
2 0 0 2 i 2+i x1 0
 −i 1 0  0 1 1   x2  =  0 
     

2−i 1 2 0 0 2 x3 −4
Métodos iterados de resolución de sistemas lineales 87

      
2 0 0 y1 0 0
R∗ y = b ⇐⇒  −i 1 0   y2  =  0  =⇒ y =  0 
      

2−i 1 2 y3 −4 −2
      
2 i 2+i x1 0 1
Rx = y ⇐⇒  0 1 1   x2  =  0  =⇒ x =  1 
      

0 0 2 x3 −2 −1


2.4 Métodos iterados de resolución de siste-


mas lineales
Un método iterado de resolución del sistema Ax = b es aquel que genera, a
partir de un vector inicial x0 , una sucesión de vectores (xn ) con xn+1 = f (xn ).

Definición 2.10 [Consistencia]

Un método iterado se dirá que es consistente con el sistema Ax = b, si el lı́mite


de dicha sucesión, en caso de existir, es solución del sistema.

Definición 2.11 [Convergencia]

Un método iterado para la resolución del sistema Ax = b se dirá que es con-


vergente si la sucesión generada por cualquier vector inicial x0 es convergente
a la solución del sistema.

Es evidente que si un método es convergente es consistente, sin embargo, el


recı́proco no es cierto como prueba el siguiente ejemplo.

Ejemplo 2.10 El método xn+1 = 2xn − A−1 b es consistente con al sistema


Ax = b pero no es convergente. En efecto:

xn+1 − x = 2xn − A−1 b − x = 2xn − 2x − A−1 b + x = 2(xn − x) − (A−1 b − x)

y como A−1 b = x, se tiene que

xn+1 − x = 2(xn − x)

Si existe lim xn = x∗ tendremos que


n→∞

x∗ − x = 2(x∗ − x) =⇒ x∗ − x = 0 =⇒ x∗ = x
88 Sistemas de ecuaciones lineales

es decir, el lı́mite es solución del sistema Ax = b, por lo que el método es


consistente.
Sin embargo, de xn+1 − x = 2(xn − x) obtenemos que

kxn+1 − xk = 2kxn − xk

es decir, el vector xn+1 dista de x el doble de lo que distaba xn , por lo que el


método no puede ser convergente. 

Los métodos iterados que trataremos son de la forma

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.

Teorema 2.17 Un método iterado, de la forma xn+1 = Kxn +c, es consistente


con el sistema Ax = b si, y sólo si, c = (I − K)A−1 b y la matriz I − K es
invertible

Demostración.

• Supongamos que el método es consistente con el sistema Ax = b.


Como x = Kx + (I − K)x = Kx + (I − K)A−1 b, se tiene que

xn+1 − x = K(xn − x) + c − (I − K)A−1 b (2.1)

Por ser consistente el método, de existir x∗ = lim xn ha de ser x∗ = x.


n→∞
Pasando al lı́mite en la Ecuación (2.1) obtenemos que

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)
y dado que x∗ = x nos queda que 0 = c − (I − K)A−1 b, es decir,

c = (I − K)A−1 b.

Además, dado que x = Kx + c, el sistema (I − K)x = c posee solución


única x y, por tanto, la matriz I − K es invertible.
Métodos iterados de resolución de sistemas lineales 89

• Si c = (I − K)A−1 b y la matriz I − K es invertible, cuando exista


lim xn = x∗ se tendrá de (2.2) que
n→∞

(I − K)(x∗ − x) = 0

Como I − K es invertible, x∗ = x, y el método es consistente.

Teorema 2.18 Un método iterado de la forma xn+1 = Kxn + c consistente


con el sistema Ax = b es convergente si, y sólo si, lim K n = 0.
n→∞

Demostración. Por tratarse de un método consistente con el sistema Ax = b,


se verifica que c = (I − K)A−1 b, por lo que

xn+1 = Kxn + (I − K)A−1 b

restando el vector solución x a ambos miembros, podemos escribir

xn+1 −x = Kxn −(K +I −K)x+(I −K)A−1 b = 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:

xn − x = K(xn−1 − x) = K 2 (xn−2 − x) = · · · = K n (x0 − x)

lim (xn − x) = ( lim K n )(x0 − x) (2.3)


n→∞ n→∞

• Si el método es convergente, lim (xn − x) = x − x = 0, por lo que de la


n→∞
ecuación (2.3) obtenemos que

lim K n = 0
n→∞

• Si lim K n = 0, obtenemos de la ecuación (2.3) que


n→∞

lim (xn − x) = 0 ⇐⇒ lim xn = x


n→∞ n→∞

por lo que el método es convergente.

Teorema 2.19 [Teorema del punto fijo]

Si para alguna norma matricial es kKk < 1, la sucesión (xn ) definida por
xn+1 = Kxn +c, donde x0 ∈ Rn es un vector cualquiera, converge a la solución
de la ecuación x = Kx + c que existe y es única.
90 Sistemas de ecuaciones lineales

Demostración.

• Existencia y unicidad

Veamos, en primer lugar, que la ecuación x = Kx + c posee solución


única.
En efecto: x = Kx + c =⇒ (I − K)x = c. Este sistema tiene solución
única si, y sólo si, el sistema homogéneo asociado (I − K)z = 0 admite
sólo la solución trivial z = 0, es decir, si I − K es invertible.
La solución z no puede ser distinta del vector nulo ya que de serlo, como
kKk < 1 se tiene que al ser (I − K)z = 0, o lo que es lo mismo, z = Kz

kzk = kKzk ≤ kKkkzk < kzk

lo cual es un absurdo, por lo que el sistema homogéneo sólo admite la


solución trivial y, por tanto, el sistema completo x = Kx + c posee
solución única.

• Convergencia

Probaremos ahora que la sucesión (xn ) converge a x.


Dado que xn+1 − x = (Kxn + c) − (Kx + c) = K(xn − x), podemos
reiterar el proceso para obtener que xn − x = K n (x0 − x) por lo que

kxn − xk ≤ kK n kkx0 − xk ≤ kKkn kx0 − xk

y dado que kKk < 1, pasando al lı́mite se obtiene

lim kxn − xk = 0 =⇒ lim xn = x


n→∞ n→∞

Teorema 2.20 [Condición necesaria y suficiente de convergencia]

La sucesión (xn ) definida por xn+1 = Kxn + c, donde x0 ∈ Rn es un vector


cualquiera, es convergente si, y sólo si, la matriz K tiene radio espectral menor
que 1.

xn+1 = Kxn + c con x0 ∈ Rn convergente ⇐⇒ ρ(K) < 1


Métodos iterados de resolución de sistemas lineales 91

Demostración.

• Condición suficiente

Si λ1 , . . . , λm son los autovalores de la matriz K, los de la matriz K n son


λn1 , . . . , λnm .

ρ(K) < 1 =⇒ |λi | < 1 (i = 1, . . . , m) =⇒ λi , λ2i , . . . , λni , . . . → 0

por lo que los autovalores de la matriz lı́mite lim K n son todos nulos,
n→∞
es decir, lim K n = 0 por lo que
n→∞

ρ(K) < 1 =⇒ el proceso es convergente.

• Condición necesaria

El teorema del punto fijo establece como condición necesaria para la


convergencia que kKk < 1 y dado que ρ(K) es una cota inferior de
cualquier norma multiplicativa, es ρ(K) ≤ kKk < 1, por lo que

El proceso es convergente =⇒ ρ(K) < 1.

Métodos de descomposición

Los métodos que vamos a estudiar consisten en descomponer la matriz inver-


tible A del sistema Ax = b de la forma A = M − N de manera que la matriz
M sea fácilmente invertible, por lo que reciben el nombre genérico de métodos
de descomposición.
El sistema queda entonces de la forma

(M − N )x = b =⇒ M x = N x + b =⇒ x = M −1 N x + M −1 b

es decir, expresamos el sistema de la forma



 K = M −1 N
Ax = b ⇐⇒ x = Kx + c con
 c = M −1 b

Dado que

(I −K)A−1 b = (I −M −1 N )(M −N )−1 b = M −1 (M −N )(M −N )−1 b = M −1 b = c

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.17 por lo que xn+1 = Kxn + c es
consistente con el sistema Ax = b.
92 Sistemas de ecuaciones lineales

Es decir, si el proceso converge, lo hace a la solución del sistema.

Sabemos también, por el Teorema 2.19, que el proceso será convergente si se


verifica que kKk = kM −1 N k < 1 para alguna norma.

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

2.4.1 Método de Jacobi


Consiste en realizar la descomposición

A = M − N = D − (E + F )

El sistema queda de la forma

Ax = b =⇒ Dx = (E + F )x + b =⇒ x = D−1 (E + F )x + D−1 b
(
J = D−1 (E + F )
Método de Jacobi xn+1 = Jxn + c con
c = D−1 E

La matriz J recibe el nombre de matriz de Jacobi.

Teorema 2.21 Si A es una matriz de diagonal dominante, el método de Ja-


cobi es convergente.
Métodos iterados de resolución de sistemas lineales 93

Demostración. La matriz J = D−1 (E + F ) tiene todos los elementos diago-


nales nulos y las sumas de los módulos de los elementos de sus filas son todas
menores que 1 ya que
n n
X X |aik |
|aii | > |aik | i = 1, 2, . . . , n =⇒ <1
|aii |
k=1 k=1
k 6= i k 6= i

por lo que los cı́rculos de Gerschgorin están todos centrados en el origen y


tienen radios menores que 1 es decir, todos los autovalores de J son menores
que 1, por lo que ρ(J) < 1 y el método converge.

2.4.2 Método de Gauss-Seidel


Este método es el resultado de realizar la descomposición

A = M − N = (D − E) − F

El sistema nos queda

Ax = b =⇒ (D − E)x = F x + b =⇒ x = (D − E)−1 F x + (D − E)−1 b


(
L1 = (D − E)−1 F
Método de Gauss-Seidel xn+1 = L1 xn + c con
c = (D − E)−1 b
La matriz L1 recibe el nombre de matriz de Gauss-Seidel.

Teorema 2.22 Si A es una matriz de diagonal dominante, el método de


Gauss-Seidel es convergente.

Teorema 2.23 Si A es una matriz simétrica y definida positiva, el método de


Gauss-Seidel es convergente.

2.4.3 Métodos de relajación (SOR)


Estos métodos realizan la descomposición
 
1 1−ω 1 1−ω
A= D− D − E − F = (D − ωE) − D+F =M −N
ω ω ω ω
94 Sistemas de ecuaciones lineales

El sistema se transforma entonces en


 
1 1−ω
(D − ωE)x = D + F x + b =⇒
ω ω
 
(D − ωE)x = (1 − ω)D + ωF x + ωb =⇒
 
x = (D − ωE)−1 (1 − ω)D + ωF x + ω(D − ωE)−1 b

Métodos de relajación xn+1 = Lω xn + c con


(  
−1
Lω = (D − ωE) (1 − ω)D + ωF
c = ω(D − ωE)−1 b

La matriz Lω recibe el nombre de matriz de relajación.

• Si ω = 1 la matriz se reduce a L1 = (D − E)−1 F , es decir, se trata del


método de Gauss Seidel.

• Si ω > 1 se dice que se trata de un método de sobre-relajación

• Si ω < 1 se dice que se trata de un método de sub-relajación

Teorema 2.24 Una condición necesaria para que converja el método de rela-
jación es que ω ∈ (0, 2).

Teorema 2.25 Si A es de diagonal dominante, el método de relajación es


convergente cualquiera que sea ω ∈ (0, 1].

Teorema 2.26 Si A es simétrica y definida positiva, el método de relajación


converge si, y sólo si, ω ∈ (0, 2)
Factorizaciones ortogonales 95

2.5 Factorizaciones ortogonales


Si tratamos de resolver un sistema Ax = b mediante la factorización LU (o la
de Cholesky), lo que hacemos es transformar el sistema en Ax = LU x = b para
hacer U x = L−1 b que es un sistema triangular que se resuelve por sustitución
regresiva. Sin embargo, la matriz del nuevo sistema es U = L−1 A y dado que
L−1 no es una matriz unitaria (ortogonal en el caso real) el número de condición
de la matriz del sistema ha cambiado pudiendo estar peor condicionada que
la matriz A del sistema original.
Vamos a estudiar, a continuación, otro tipo de factorización A = QR donde
R es, al igual que U , una matriz triangular superior, pero donde Q va a ser
una matriz unitaria, por lo que el sistema Ax = b lo transformaremos en
Rx = Q−1 b = Q∗ b y, a diferencia del caso anterior, R = Q∗ A tiene el mismo
número de condición que la matriz A del sistema original, ya que Q∗ es unitaria.

2.5.1 Factorización QR de Gram-Schmidt


 
a11 a12 · · · a1n
 a21 a22 · · · a2n 
 
Consideremos la matriz regular A =  .. .. .. .  = (a1 a2 · · · an )
 . . . .. 
an1 an2 · · · ann
donde ai representa a su columna i-ésima.
Aplicando Gram-Schmidt existe un sistema ortonormal {y1 , y2 , . . . , yn } tal que
L{y1 , y2 , . . . , yk } = L{a1 , a2 , . . . , ak }, por lo que yk+1 ∈ L⊥ {a1 , a2 , . . . , ak }.
Sea Q la matriz cuyas columnas son los vectores yi , Q = (y1 y2 · · · yn ).
Entonces,

y1∗
   
h a1 , y 1 i · · · h an , y 1 i
 .  .. .. ..
Q∗ A =  ..  (a1 · · · an ) ⇐⇒ Q∗ A =  .
 
. . 
yn∗ h a1 , y n i · · · h an , y n i

Como yk+1 ∈ L⊥ {a1 , a2 , . . . , ak }, se tiene que h ai , yj i = 0 si, y sólo si, i < j,


por lo que la matriz Q∗ A es una triangular superior.
 
r11 r12 · · · r1n
 0 r22 · · · r2n
 
Q∗ A = R = 

 .. .. . . . 
 . . . .. 

0 0 · · · rnn
96 Sistemas de ecuaciones lineales

Como las columnas de Q constituyen un sistema ortonormal de vectores, Q es


unitaria, es decir Q∗ Q = I, por lo que A = QR.

El problema que plantea la descomposición QR es que la matriz Q no es otra


que la constituida por una base ortonormal obtenida a partir de las columnas
de A por el método de Gram-Schmidt. Las transformaciones que se realizan
para ortonormalizar los vectores columna de la matriz A mediante el método
de Gram-Schmidt son transformaciones no unitarias, por lo que aunque el
resultado sea una factorización ortogonal, los pasos que se han dado para
llegar a ella han sido transformaciones no ortogonales. Ello nos lleva a tratar
de buscar un método por el que podamos realizar una factorización QR en la
que todos los pasos que se realicen sean transformaciones ortogonales.

2.5.2 Factorización QR mediante rotaciones

Consideremos la matriz
 
a11 · · · a1i · · · a1j · · · a1n
 . .
 .. . . ... ..
.
.. 
. 
 
 ai1 · · · aii · · · aij · · · ain 
 
 . .. . . . .. .. 
A= .
 . . . . 

 aj1 · · · aji · · · ajj · · · ajn 
 
 . .. .. . . . 
 . . .. 
 . . . 
an1 · · · ani · · · anj · · · ann

y tratemos de anular el elemento aji 6= 0. Para ello vamos a aplicar una


rotación
 
1 ··· 0 ··· 0 ··· 0
 . . .. .. .. 
 .. . . . . . 
 
0 · · · cos α · · · sen α · · · 0
 
 
 . .. . .. .. 
Qji =  .
 . . . . . . 

 0 · · · − sen α · · · cos α · · · 0 
 
 . .. .. . . .. 

 . . . 
 . . .
0 ··· 0 ··· 0 ··· 1

La matriz Qji A nos queda


Factorizaciones ortogonales 97

 
a011 · · · a01i · · · a01j · · · a01n
 . .
 .. . . ... ..
.
.. 
. 
 
 0
 ai1 · · · a0ii · · · a0ij · · · a0in 

 . .. .. . .. 
Qji A =  . . ..
 . . . 

 0
 aj1 · · · a0ji 0 0
· · · ajj · · · ajn 

 . .. .. . . . 
 . . .. 
 . . . 
a0n1 · · · a0ni 0 0
· · · anj · · · ann
con a0ji = −aii sen α + aji cos α, por lo que

• Si aii = 0 =⇒ a0ji = aji cos α y si queremos anularlo aji cos α = 0.


Dado que suponemos que aji 6= 0, basta con hacer cos α = 0, es decir:
α = π/2.
• Si aii 6= 0 tendremos que hacer −aii sen α + aji cos α = 0, por lo que
aji
t = tg α = y, por tanto,
aii
t 1
sen α = √ cos α = √
1 + t2 1 + t2
Obsérvese además que los únicos elementos que se alteran en la matriz Qji A
son los correspondientes a la filas y columnas i y j.
Podemos, por tanto, mediante rotaciones, anular todos los elementos subdia-
gonales y llegar a una matriz R triangular superior
Qk · · · Q2 Q1 A = R ⇐⇒ Q∗ A = R con Q∗ = Qk · · · Q2 Q1
Dado que las matrices Qi de las rotaciones son ortogonales, su producto
también los es, por lo que Q∗ es una matriz ortogonal y, por tanto, A = QR.

En éste método de factorización QR, a diferencia del aplicado anteriormente


mediante el método de Gram-Schmidt todos los pasos que se dan están asocia-
dos a transformaciones ortogonales, sin embargo resulta costoso ya que cada
rotación hace un único cero en la matriz A, por lo que para una matriz de
n2 − n
orden n serı́an necesarias rotaciones.
2

Otra posibilidad es hacer reflexiones en vez de rotaciones, ya que éstas consi-


guen anular todos los elementos situados por debajo de uno prefijado de una
determinada columna. Este tipo de transformaciones vamos a estudiarlas a
continuación con las denominadas transformaciones de Householder.
98 Sistemas de ecuaciones lineales

2.5.3 Factorización QR de Householder


Consideremos un espacio vectorial de dimensión n definido sobre un cuerpo
K, que denotaremos por Kn (en general trabajaremos en Rn ó Cn ).

Definición 2.12 [Transformaciones de Householder]

Dado un vector v ∈ Kn se define la transformación H de Householder asociada


al vector v a la que viene definida por la matriz:

n×n
 I∈K si v = 0


H=
2
vv ∗ si v 6= 0

 I−

v∗v

Proposición 2.27 La transformación H de Householder asociada a un vector


v ∈ Kn posee las siguientes propiedades:

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

b) Teniendo en cuenta que H ∗ = H


  
∗ 2 ∗ 2 ∗
HH = HH = I − ∗ vv I − ∗ vv =
v v v v
 2
4 2
= I − ∗ vv ∗ + ∗
vv ∗ vv ∗ =
v v v v
4 4 4 4
= I − ∗ vv ∗ + ∗ 2 v(v ∗ v)v ∗ = I − ∗ vv ∗ + ∗ vv ∗ = I
v v (v v) v v (v v)

c) H 2 = HH = HH ∗ = I.
Factorizaciones ortogonales 99

Interpretación geométrica en Rn

Sean v ∈ Rn un vector tal que kvk2 = 1 y H la transformación de Householder


asociada a él:
H = I − 2vv T

Dado un vector x ∈ Rn se tiene que



Hx = I − 2vv T x = x − 2vv T x = x − 2vh x, v i =
= x − 2v(kxk kvk cos α) = x − 2v(kxk cos α) =
= x − 2λv con λ = kxk cos α

donde α representa el ángulo que forman los vectores x y v.


3
x 







α v

 -
 λ -

Figura 2.2: λ = kxk cos α.

Sea y el vector simétrico de x respecto del hiperplano perpendicular a v.

6Q y
Q
k x 
36
y + λv Q
Q 

x − λv
Q 
−v Q
Q 
 v
 Q
- -
λv −λv
Figura 2.3: Un vector x y su transformado y = Hx.

Podemos observar que

y + λv = x − λv ⇐⇒ y = x − 2λv = Hx
100 Sistemas de ecuaciones lineales

H refleja al vector x respecto del hiperplano perpendicular al vector v, por lo


que las transformaciones de Householder son también conocidas como refle-
xiones.

El siguiente resultado, válido para cualquier espacio vectorial (real o complejo),


es fácil de comprobar, geométricamente, en el caso real.

Proposición 2.28 Sea H la transformación de Householder asociada a un


vector no nulo v.

a) x ⊥ v =⇒ Hx = x.

b) x k v =⇒ Hx = −x en particular Hv = −v.

Demostración.

a) Por ser x ⊥ v, su producto escalar v ∗ x es nulo, por lo que

2 2
Hx = (I − ∗
vv ∗ )x = x − ∗ v(v ∗ x) = x
v v v v

b) x k v =⇒ x = λv

2 2 2λ
Hx = (I − ∗
vv ∗ )λv = λv − ∗ vv ∗ λv = λv − ∗ v(v ∗ v) =
v v v v v v
= λv − 2λv = −λv = −x

En particular, para x = v se obtiene Hv = −v.

Interpretación geométrica en Cn

Cualquier vector x ∈ Cn puede ser descompuesto de forma única en la suma


de uno proporcional a v y otro w perteneciente a la variedad W ortogonal a
v, es decir
x = λv + w con w ⊥ v
Ası́ pues,
Hx = H(λv + w) = H(λv) + Hw = −λv + w
Hx es el vector simétrico de x respecto del hiperplano ortogonal a v.
Factorizaciones ortogonales 101

Determinación de las transformaciones

• Caso real

Proposición 2.29 Si x 6= y son dos vectores de Rn con kxk = kyk, la


transformación de Householder asociada al vector v = x − y transforma
al vector x en el vector y, es decir, Hx = y.

Demostración. Dado que ambos vectores tienen la misma norma,

h x + y, x − y i = kxk2 − h x, y i + h y, x i − kyk2 = 0

6x + y

y x
KA 
A 
A 
A 
A x −-y

Figura 2.4: Hx−y transforma x en y.

Además, los vectores x e y son simétricos respecto de la dirección del vec-


tor x + y (véase la Fig. 2.4), por lo que la transformación de Householder
asociada al vector v = x − y transforma a x en y.
Considérense los vectores de igual norma

 x = (x1 , x2 , . . . , xn )T

y = (x1 , x2 , . . . , xk , k(xk+1 , . . . , xn )T k, 0, . . . , 0)T


La transformación de Householder asociada al vector v = x − y trans-


forma x en y y deja invariante a cualquier vector que tenga nulas todas
sus coordenadas a partir de la k + 1-ésima.

Ejemplo 2.11 Sean



 x = (1, 1, 1, 2, 2)T

y = (1, 1, 12 + 22 + 22 , 0, 0)T = (1, 1, 3, 0, 0)T

102 Sistemas de ecuaciones lineales

La transformación de Householder asociada al vector

v = x − y = (0, 0, −2, 2, 2)T

2 2
H=I− ∗
vv ∗ = I − vv ∗
v v 12
verifica que:
2 ∗ 2 2
Hx = (I − vv )x = x − v(v ∗ x) = x − v6 = x − v = y
12 12 12
y para cualquier vector que tenga sus tres últimas coordenadas nulas

w = (a, b, 0, 0, 0)T

2 ∗ 2 2
Hw = (I − vv )w = w − v(v ∗ w) = w − v · 0 = w
12 12 12


• Caso complejo

Considérense los vectores de igual norma



T
 x = (x1 , x2 , . . . , xn )

±k(xk+1 , . . . , xn )T k
 y = (x1 , x2 , . . . , xk , xk+1 , 0, . . . , 0)T


|xk+1 |

La transformación de Householder asociada al vector v = x − y trans-


forma x en y y deja invariante a cualquier vector que tenga nulas todas
sus coordenadas a partir de la k + 1-ésima.

Ejemplo 2.12 Sean



T
 x = (i, 3i, 4i)


p
|3i|2 + |4i|2
 y = (i, 3i, 0)T = (i, 5i, 0)T


|3i|

La transformación de Householder asociada al vector

v = x − y = (0, −2i, 4i)T

2 2
H=I− ∗
vv ∗ = I − vv ∗
v v 12
Factorizaciones ortogonales 103

verifica que:
2 ∗ 2 2
Hx = (I − vv )x = x − v(v ∗ x) = x − v10 = x − v = y
20 20 20
y para cualquier vector que tenga su última coordenada nula

w = (a, b, 0)T
2 ∗ 2 2
Hw = (I − vv )w = w − v(v ∗ w) = w − v · 0 = w 
20 20 20

Factorización QR de Householder

Sea A = (a1 a2 · · · an ), donde ai representa la columna i-esima de la matriz.


     
a11 kx1 k r11
 a21   0   0 
     
Sean x1 = a1 = 
 ..  e y1 =  ..  =  .. .
    
 .   .   . 
an1 0 0
La transformación de Householder H1 , asociada al vector v1 = x1 − y1 , trans-
forma x1 en y1 , es decir, anula a todos los elementos de la primera columna
situados debajo de a11 .
 (1) (1)

r11 a12 · · · a1n
 0 a(1) (1) 
· · · a2n 

22 (1) (1) (1)
H1 A =  . .. . . ..  = (a1 a2 · · · an )

 . . . . . 
(1) (1)
0 an2 · · · ann
(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 H2
(1) (1)
asociada a él, deje invariante al vector a1 y transforme al vector a2 en otro
de la forma (r12 , r22 , 0, . . . , 0)T .
 (1)   (1) 
a21 a21
 (1)  (1) (1)
 a22   k(a22 , . . . , an2 )T k 
 
(1)
 (1)   
Tomando x2 = a2 =   a32  e y2 =  0
  , la trans-
 ..  ..

 
 .   . 
(1)
an2 0
(1)
formación H2 asociada al vector v2 = x2 − y2 deja invariante al vector a1 y
(1)
transforma x2 = a2 en y2 .
104 Sistemas de ecuaciones lineales

Reiterando al procedimiento se puede transformar la matriz A en una trian-


gular superior R en, a lo más, n − 1 transformaciones.
Llegados a ese paso se tiene que
Hk Hk−1 · · · H1 A = R ⇐⇒ Q∗ A = R con Q∗ = Hk Hk−1 · · · H1
de donde
A = QR. con Q = H1 H2 · · · Hk

Si lo que nos interesa es resolver el sistema aplicamos las transformaciones al


sistema y no sólo a la matriz A.
Hk Hk−1 · · · H1 Ax = Hk Hk−1 · · · H1 b ⇐⇒ Rx = b0
sistema triangular de fácil resolución.
 
1 −1 −1
Ejemplo 2.13 Consideremos la matriz A =  2 0 1 .
 

−2 7 1
   p   
1 12 + 22 + (−2)2 3
Como x1 =  2  e y1 =  0  =  0 , se tiene que
     

−2 0 0
 
−2
v1 = x1 − y1 =  2 
 

−2
   
−2  1/3 2/3 − 2/3
2 2  
H1 = I − ∗ v1 v1∗ = I −  2  −2 2 −2 =  2/3 1/3 2/3 
  
v1 v1 12
−2 − 2/3 2/3 1/3
    
1/3 2/3 − 2/3 1 −1 −1 3 −5 − 1/3
H1 A =  2/3 1/3 2/3   2 0 1 = 0 4 1/3 
    

− 2/3 2/3 1/3 −2 7 1 0 3 5/3


       
−5 −5 −5 0
 √
x2 =  4  y2 =  42 + 32  =  5  =⇒ v2 = x2 −y2 =  −1 
      

3 0 0 3
   
0  1 0 0
2 2  
H2 = I − ∗ v2 v2∗ = I −  −1  0 −1 3 =  0 4/5 3/5 
  
v2 v2 10
3 0 3/5 − 4/5
Factorizaciones ortogonales 105

    
1 0 0 3 −5 − 1/3 3 −5 − 1/3
H2 H1 A =  0 4/5 3/5   0 4 1/3  =  0 5 19/15  = R
    

0 3/5 − 4/5 0 3 5/3 0 0 − 17/15

 
1/3 2/15 14/15

Q = H1 H2 =  2/3 2/3 − 1/3 


 

− 2/3 11/15 2/15

Verificándose que A = QR con Q unitaria y R triangular superior. 

 (1) (1)

α11 a12 ··· a1n
 
0
 siendo A(1) una matriz de
 
Obsérvese que H1 A =  ..

 . A(1) 

0
un orden inferior al de la matriz A.
El vector v2 tiene la primera coordenada nula, por lo que
 
1 0 ··· 0
 
2 ∗
 0 
H2 = I − ∗ v2 v2 =  .. (2)

v2 v2 
 . H 

0

  (1) (1)

1 0 ··· 0 α11 a12 · · · a1n
  
 0  0 
H2 (H1 A) =  .. (2)
 .
 .
 =⇒

 . H  . A(1) 

0 0

 (1) (1)

α11 a12 ··· a1n
 
 0 
H2 H1 A =  .. 

 . H(2) A(1) 

0

Es decir, H2 deja invariantes a los elementos de la primera fila y la primera


columna de H1 A.
106 Sistemas de ecuaciones lineales

 
1 0 0 ··· 0

 0 1 0 ··· 0  
 
Análogamente, H3 =  0 0  dejará invariantes a los elemen-
.. ..
 
(3)
H
 
 . . 
0 0
tos de las dos primeras filas y las dos primeras columnas de H2 H1 A y ası́
sucesivamente.
Podemos, por lo tanto, trabajar, para cada transformación, en un espacio de
una dimensión inferior que en la transformación anterior.

Ejemplo 2.14 Para la matriz del Ejemplo 2.13 se tiene:


   p   
1 12 + 22 + (−2)2 3
x1 =  2  y1 =  0  =  0  =⇒
     

−2 0 0
 
−2
v1 = x 1 − y1 =  2 
 

−2
   
−2  1/3 2/3 − 2/3
2 2  
H1 = I − v1 v ∗ = I −  2  −2 2 −2 =  2/3 1/3 2/3 
  
v1 v1 1

12
−2 − 2/3 2/3 1/3

    
1/3 2/3 − 2/3 1 −1 −1 3 −5 − 1/3
H1 A =  2/3 1/3 2/3   2 0 1 = 0 4 1/3 
    

− 2/3 2/3 1/3 −2 7 1 0 3 5/3

Hasta aquı́, igual que en el Ejemplo 2.13.


!
(1) 4 1/3
Nos fijamos ahora en la matriz A = .
3 5/3

Tomando
! √ ! ! !
4 42 + 32 5 −1
x2 = y2 = = =⇒ v2 = x2 − y2 =
3 0 0 3
! !
(2) 2 2 −1   4/5 3/5
H = I2 − ∗ v2 v2∗ = I2 − −1 3 =
v2 v2 10 3 3/5 − 4/5
Sistemas superdeterminados. Problema de los mı́nimos cuadrados 107

 
1 0 0
Por lo que H2 =  0 4/5 3/5 
 

0 3/5 − 4/5

Teniendo en cuenta que


! ! !
4/5 3/5 4 1/3 5 19/15
H(2) A(1) = =
3/5 − 4/5 3 5/3 0 − 17/15

Podrı́amos obtener  
3 −5 − 1/3
H2 H1 A =  0 5 19/15 
 

0 0 − 17/15
que es el mismo resultado que el obtenido en el Ejemplo 2.13 pero trabajando
cada vez con una dimensión menos. 

2.6 Sistemas superdeterminados. Problema de


los mı́nimos cuadrados
Sea A = (a1 a2 · · · an ) una matriz cuadrada de orden n, A ∈ Kn×n , donde ai
representa la columna i-ésima de la matriz A, y sean x y b son vectores de Kn .
Sabemos, por el teorema de Rouche-Fröbenius, que el sistema Ax = b tiene
solución si, y sólo si, existen x1 , x2 , . . . , xn ∈ Kn tales que

x 1 a1 + x 2 a2 + · · · + x n an = b

Es decir, el vector b puede expresarse como una combinación lineal de las


columnas ai de la matriz A, por lo que b ∈ C(A) (espacio columna de A).

Sin embargo, existen problemas en los que no ocurre ası́. Supongamos que
se tienen tres puntos en el plano y se desea calcular la recta que pasa por
ellos. Evidentemente, y dado que una recta la determinan sólo dos puntos, el
problema no tiene solución (salvo que los tres puntos estén alineados). Desde
el punto de vista algebraico este problema se expresa de la siguiente forma:
sean P = (a1 , b1 ), Q = (a2 , b2 ) y R = (a3 , b3 ). Si tratamos de hallar la ecuación
de la recta y = mx + n que pasa por ellos se obtiene
   
ma1 + n = b1 a1 1 ! b1
 m
ma2 + n = b2 ⇐⇒  a2 1  =  b2 
  
n
ma3 + n = b3 a3 1 b3
108 Sistemas de ecuaciones lineales

Decir
 queel sistema no posee solución equivale a decir que el vector

b1 a1 1
b =  b2  no pertenece al espacio columna de la matriz A =  a2 1 .
   

b3 a3 1

Definición 2.13 [Sistema superdeterminado]

Se define un sistema superdeterminado como aquel sistema de ecuaciones li-


neales Ax = b en el que A ∈ Km×n con m > n, x ∈ Kn y b ∈ Km .

Supongamos que se tiene un sistema superdeterminado


   
a11 · · · a1n b1
 . ... ..   . 
 ..  .. 

.  x1
..
   
 an1 · · · ann  =  bn 
    
 .
 .
 .. ..   . 
 .. 
 . 
 xn  
am1 · · · amn bm
con m > n, en el que rg A = n es decir, en el que la matriz del sistema tiene
rango máximo, y denotemos por a1 , a2 , . . . , an las columnas de A.
Si el sistema es incompatible es debido a que el vector b no pertenece al espacio
columna de A. Tomando cualquier vector b ∈ C(A) se sabe que el sistema
Ax = b posee solución única.

Definición 2.14 [Problema de los mı́nimos cuadrados]

Se conoce como problema de los mı́nimos cuadrados al problema de encontrar,


de entre todos los vectores del espacio columna de A, aquel que minimiza su
distancia al vector b, es decir, aquel vector b̃ ∈ C(A) tal que kb− b̃k es mı́nima.

Dicho vector es la proyección ortogonal de b sobre el espacio C(A) y, respecto


de la base formada por las columnas ai (1 ≤ i ≤ n) de la matriz A, tiene por
coordenadas
b̃ = (h b, a1 i, h b, a2 i, . . . , h b, an i}

Dado que b 6∈ C(A) y b̃ ∈ C(A) (b̃ proyección ortogonal de b sobre C(A)),


podemos expresar b como suma de b̃ más otro vector c de la variedad ortogonal
a C(A) y, además, de forma única.
Entonces:

h b, ai i = h b̃ + c, ai i = h b̃, ai i + h c, ai i = h b̃, ai i 1≤i≤n


Sistemas superdeterminados. Problema de los mı́nimos cuadrados 109

6 b


c






- 

 C(A) b̃ 

 

Figura 2.5: La proyección de b en el espacio columna de A.

El sistema Ax = b̃ posee solución única es decir, existen (α1 , α2 , . . . , αn ) únicos,


tales que
 
α1
 . 
α1 a1 + α2 a2 + · · · + αn an = b̃ ⇐⇒ A  ..  = b̃
αn
Multiplicando esta ecuación por a1 , a2 , . . ., an , obtenemos
α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
que equivale a
a∗1 a1 · · · a∗1 an a∗1 b
    
α1
 .. ... ..   ..   .. 
 . .  .  =  . 
a∗n a1 · · · a∗n an αn a∗n 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

Ası́ pues, la solución del sistema A∗ Ax = A∗ b nos proporciona las coordenadas,


respecto de la base formada por las columnas de la matriz A, del vector b̃
proyección ortogonal de b sobre el espacio columna C(A).
110 Sistemas de ecuaciones lineales

Definición 2.15 [Ecuaciones normales de un sistema]

Las ecuaciones A∗ Ax = A∗ b reciben el nombre de ecuaciones normales del


sistema superdeterminado Ax = b.

Definición 2.16 [Sol. en mı́nimos cuadrados: Pseudosolución]

Las soluciones del sistema determinado por las ecuaciones normales de un sis-
tema superdeterminado Ax = b reciben el nombre de solución(es) en mı́nimos
cuadrados y de todas las posibles soluciones en mı́nimos cuadrados, la de me-
nor norma recibe el nombre de pseudosolución del sistema.

Obsérvese que si la matriz A no tiene rango máximo, lo único que se dispone del
espacio columna de A es de un sistema generador y no de una base, por lo que
las coordenadas del vector proyección respecto de dicho sistema generador no
son únicas obteniéndose infinitas soluciones en mı́nimos cuadrados del sistema.

2.6.1 Transformaciones en sistemas superdeterminados


Sabemos que dado un sistema compatible Ax = b y mediante transformaciones
elementales puede obtenerse otro sistema BAx = Bb equivalente al anterior,
es decir, obtenemos un sistema que posee la misma (o las mismas) soluciones
que el sistema dado.
Si partimos de un sistema superdeterminado y realizamos, al igual que antes,
transformaciones elementales, puede que el sistema obtenido no posea la misma
pseudosolución que el sistema dado.

Obsérvese que para que los sistemas superdeterminados


Ax = b y BAx = Bb
posean la misma pseudosolución, han de tener igual solución (han de ser equi-
valentes) los sistemas

A∗ Ax = A∗ b

(BA)∗ BAx = (BA)∗ Bb ⇐⇒ A∗ (B ∗ B)Ax = A∗ (B ∗ B)b


por lo que sólo podremos garantizar que ambos sistemas son equivalentes si
B ∗ B = I ya que, en dicho caso, ambos sistemas son el mismo.
Es decir, las únicas transformaciones que podemos garantizar que no alterarán
la solución de un sistema superdeterminado son las unitarias.
Sistemas superdeterminados. Problema de los mı́nimos cuadrados 111

Dado que las transformaciones de Householder son unitarias, podemos utili-


zarlas para resolver sistemas superdeterminados.

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
 
t11 t12 · · · t1n
 
 0 t22 · · · t2n 
 .. .. . . .. 
 
 . . . .  !
  T
HA = Hn · · · H1 A = 
 0 0 · · · tnn  = Θ

 0 0 ··· 0 
 
 . .. .. 
 .. . . 
 
0 0 ··· 0
La pseudosolución de este sistema superdeterminado es la solución del sistema
!
  T  
∗ ∗ ∗ ∗
(HA) (HA)x = (HA) Hb ⇐⇒ T Θ x = T Θ Hb
Θ
 
b01
 . 
 ..  !
    T  
o llamando Hb = b0 =  b0n , T ∗ Θ x = T ∗ Θ b0 .
 
 . 
 ..  Θ
 
b0m
 
b01
 . 
 .. 
 0 
b1
∗  .. 
  
∗  0 
Es fácil comprobar que T Θ  bn  = T  . , por lo que el cálculo
 . 
 ..  b0n
 
b0m
de la pseudosolución del sistema superdeterminado Ax = b se hace resolviendo
el sistema  0 
b1
. 
T ∗ T x = T ∗  .. 

b0n
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
112 Sistemas de ecuaciones lineales

triangular
b01
 
 . 
T x =  ..  ⇐⇒ T x = b̃
b0n

Una vez calculada la pseudosolución, la norma del error está representada por
la distancia kb − b̃k que viene dada por
   
  b 0 b01
0 1
b1  .   . 

 .   ..   ..   0

 ..  

  b0   b0  bn+1
!   
T
 0   n   n   .. 

x −  bn  =  −  =  . 

 .   0   b0n+1 

Θ
 ..   b0m
  ..   .. 
  
. .

b0m
   

0 b0
m

Por último, si la matriz A no tiene rango máximo, sus columnas no son li-
nealmente independientes, por lo que sólo constituyen un sistema generador
(no una base) del espacio columna C(A). Ello nos lleva a la existencia de
infinitas n-uplas (α1 , α2 , . . . , αn ) soluciones del sistema Ax = b̃ y, por tanto, a
infinitas soluciones en mı́nimos cuadrados del sistema superdeterminado, pero
teniendo en cuenta que al ser única la proyección ortogonal b̃ de b sobre el es-
pacio columna C(A), todas ellas representan diferentes coordenadas del vector
b̃ respecto del sistema generador de C(A) dado por las columnas de A.
Sin embargo, el error cometido kb − b̃k es el mismo para todas las soluciones
en mı́nimos cuadrados del sistema. De entre todas ellas, la de menor norma
euclı́dea es la pseudosolución.

2.7 Ejercicios resueltos


Ejercicio 2.1 Estudiar el número de condición de Frobenius de la matriz
!
a −b
A= .
a + ε −b

Solución: El determinante de A es |A| = −ab + b(a + ε) = b ε.


Si b 6= 0 y ε 6= 0 es |A| =
6 0 y, por tanto, A es invertible, siendo su inversa:
!
1 −b b
A−1 =
b ε −a − ε a
Ejercicios resueltos 113

El número de condición de Frobenius viene dado por κF (A) = kAkF kA−1 kF .

kAk2F = a2 + b2 + (a + ε)2 + b2 = 2a2 + 2b2 + 2a ε + ε2

b2 + b2 + (−a − ε)2 + a2 2a2 + 2b2 + 2a ε + ε2


kA−1 k2F = =
b 2 ε2 b 2 ε2
Por lo que:

(2a2 + 2b2 + 2a ε + ε2 )2 |2a2 + 2b2 + 2a ε + ε2 |


κ2F (A) = =⇒ κF (A) = .
b2 ε2 |b ε|

Obsérvese que cuando ε tiende a cero, el número de condición de Frobenius


κF (A) lo hace a infinito, por lo que la matriz A está mal condicionada.
Por ejemplo: para a = 10 y b = 1 se tiene que

202 + 20ε + ε2 202


κF (A) = = ± 20 + |ε|
|ε| |ε|

Si ε = 10−8 κF (A) ' 2 · 1010 .

Ejercicio 2.2 Dado el sistema:


(
3x + 4y = 7
3x + 5y = 8

a) Calcular su número de condición euclı́deo.

b) Sustituir la segunda ecuación por una combinación lineal de ambas, de


forma que el número de condición sea mı́nimo.

Solución:
!
3 4
a) La matriz del sistema es A = .
3 5
! ! !
3 3 3 4 18 27
A∗ A = =
4 5 3 5 27 41

λ − 18 −27
P (λ) = = (λ − 18)(λ − 41) − 272 = λ2 − 59λ + 9.

−27 λ − 41
114 Sistemas de ecuaciones lineales

√ √
59 ± 3481 − 36 59 ± 3445
Las raı́ces de P (λ) son: λ = = =⇒
2 2
s √ s √
59 − 3445 59 + 3445
σ1 = y σ2 =
2 2
s √ s √ √
σ2 59 + 3445 (59 + 3445)2 59 + 3445
κ2 (A) = = √ = = =⇒
σ1 59 − 3445 36 6

κ2 (A) = 19.61568707 . . .

b) La matriz resultante de la combinación lineal es


!
3 4
B= .
3a + 3b 4a + 5b

Una matriz tiene número de condición euclı́deo mı́nimo (y vale 1) si, y


sólo si, es proporcional a una matriz unitaria. Por tanto, B debe tener
las filas (o las columnas) ortogonales y de igual norma.
!
3a + 3b
• (3 4) = 0 ⇒ 3(3a + 3b) + 4(4a + 5b) = 0 =⇒
4a + 5b

25a + 29b = 0

• Ambas filas han de tener la misma norma, por lo que


! !
3 3a + 3b
(3 4) = (3a + 3b 4a + 5b) =⇒
4 4a + 5b

25 = 25a2 + 34b2 + 58ab

Las condiciones que tenemos son:



 29
25a + 29b = 0  a=±


3

=⇒
25a2 + 34b2 + 58ab = 25
  25
 b=∓

3

29 25
Tomando, por ejemplo, a = y b = − (el otro caso es análogo),
3 3
obtenemos:
Ejercicios resueltos 115

! !
3 4 0.6 0.8
B= = 5 U con U = unitaria.
4 −3 0.8 −0.6
(
3x + 4y = 7
El sistema resultante es y su número de condición
4x − 3y = 1
euclı́deo es κ2 (B) = 1.

Ejercicio 2.3 Sea α ∈ {0.5, 1.5, 2.5} y consideremos el sistema iterado


1 1
   
! −1 1 ! 1−
xn+1  α  x  α 
n
= +
   
 
yn+1  1  y n  1 
−1 +1 1−
α α
Se pide

a) Resolver el sistema resultante de tomar lı́mites !


para probar
! que, !
en caso
!
x0 x1 x2
de que converja, el lı́mite de la sucesión , , ...
y0 y1 y2
no depende de α.
b) ¿Para qué valores de α converge la sucesión?
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.

Solución:

a) En caso de que converja, tomando lı́mites obtenemos que


   
! ! 1 ! 1
1 0 x  −1 1  x  1− α 
= α 1  +  1 
0 1 y −1 +1 y 1−
α α
o lo que es lo mismo
   
1 ! 1
 2 − α −1  x  1− α 
 1  = 1  =⇒
1 − y 1−
α α
116 Sistemas de ecuaciones lineales

 
1 1 !  
 1 − α −1 + α  x 0
1  = 1 
1−

1 − y
α α
por lo que

 x=y


1

1 =⇒ x=y=1 ya que α 6= 1
 1−
 x=1−
α α

es decir, la solución (el lı́mite de la sucesión) no depende de α.


1
 
 −1 1 
b) El polinomio caracterı́stico de la matriz  α  del método
1
−1 +1
α
2 1 1
iterado es P (λ) = λ2 − λ + 2 que admite la raı́z doble .
α α α
Dado que el radio espectral de la matriz debe ser menor que 1, α ha de
ser mayor que 1, por lo que converge para α = 1.5 y para α = 2.5, pero
no lo hace para α = 0.5.

c) El método converge más rápidamente para el valor de α que hace menor


el radio espectral de la matriz, es decir, para α = 2.5.
! !
x0 0.5
d) Partiendo de = y tomando α = 2.5 se obtiene:
y0 0.5
! ! ! ! ! !
x1 4/5 x2 23/25 x3 121/125
= = = ...
y1 4/5 y2 23/25 y3 121/125

! !
x 1
que podemos observar como converge a = que era la
y 1
solución del sistema.

Ejercicio 2.4 Dado el sistema:

4x + 5y = 13
3x + 5y = 11

a) Realizar la factorización QR de la matriz, y resolverlo basándose en ella

a.1) Mediante el método de Gram-Schmidt,


Ejercicios resueltos 117

a.2) Mediante transformaciones de Householder.

b) Calcular el número de condición euclı́deo del sistema inicial y del trans-


formado, comprobando que son iguales.

Solución:
! ! !
4 5 x 13
a) El sistema a resolver es Ax = b ⇐⇒ =
3 5 y 11

a.1) Utilizando el método de Gram-Schmidt:


! ! !
4 5 4
v1 = v2 = +λ
3 5 3

v1 ⊥ v2 =⇒ h v1 , v2 i = 0 =⇒ 35 + 25λ = 0 =⇒ λ = − 7/5
por tanto,
" ! !# ! !
1 25 4 − 3/5 4/5 − 3/5
v2 = −7 = ⇒ Q=
5 25 3 4/5 3/5 4/5

! ! !
4/5 3/5 4 5 5 7
R = Q∗ A = =
− 3/5 4/5 3 5 0 1
Se obtiene, por tanto, que A = QR donde Q es unitaria y R trian-
gular superior. El sistema se transforma en otro triangular de la
manera siguiente:

Ax = b ⇐⇒ QRx = b ⇐⇒ Rx = Q∗ b

En nuestro caso:
! ! !
4/5 3/5 13 17
Q∗ b = =
− 3/5 4/5 11 1

quedándonos el sistema triangular


! ! !
5 7 x 17
=
0 1 y 1

cuya solución es
x=2 y = 1.
118 Sistemas de ecuaciones lineales

a.2) Utilizando transformaciones de Householder se obtiene:


! √ ! ! !
4 42 + 32 5 −1
x= y= = v =x−y =
3 0 0 3

! ! !
2 1 0 1 1 −3 4/5 3/5
H = I − ∗ vv ∗ = − =
v v 0 1 5 −3 9 3/5 − 4/5

Al sólo ser necesaria una transformación de Householder, se tiene


que !
4/5 3/5
Q = H∗ = H =
3/5 − 4/5

! ! !
4/5 3/5 4 5 5 7
R = Q∗ A = HA = =
3/5 − 4/5 3 5 0 −1
Transformando el sistema obtenemos:

Ax = b ⇐⇒ QRx = b ⇐⇒ Rx = Q∗ b = Hb

Dado que
! ! !
4/5 3/5 13 17
Hb = =
3/5 − 4/5 11 −1

nos queda el sistema triangular


! ! !
5 7 x 17
=
0 −1 y −1

cuya solución
x=2 y = 1.
σ2
b) El número de condición euclı́deo viene dado por κ2 (A) = donde σ2 el
σ1
mayor y σ1 el menor de los valores singulares de la matriz A.
Los valores singulares son las raı́ces cuadradas positivas de los autovalo-
res de la matriz A∗ A.
Cuando calculamos el número de condición de la matriz R del sistema
transformado, realizaremos el mismo proceso con esta nueva matriz, es
decir, debemos calcular los autovalores de la matriz R∗ R.
Ejercicios resueltos 119

Dado que ! ! !
4 3 4 5 25 35
A∗ A = =
5 5 3 5 35 50
! ! !
5 0 5 7 25 35
R∗ R = =
7 1 0 1 35 50
los valores singulares de las matrices A y R son los mismos, por lo que
se obtiene el mismo número de condición euclı́deo.
El polinomio caracterı́stico de A∗ A es p(λ) = λ2 − 75λ + 25, por
lo que sus autovalores son λ1 ' 74.665 y λ2 '√0.335 y, por tanto,
los valores
√ singulares de la matriz A son σ2 ' 74.665 ' 8.64 y
σ1 ' 0.335 ' 0.58, de donde
σ2
κ2 (A) = κ2 (R) = ' 14.9
σ1

Ejercicio 2.5 Resolver por el método de Householder el sistema:


    
1 −1 −1 x 0
 2 0 1  y  =  4 
    

−2 7 1 z −7

Solución:
  
 

1 3 −2
x= 2  y= 0  v1 = x − y =  2 
     

−2 0 −2

 
−2 
2  
H1 = I3 − 2
v v∗ = I3 −  2  −2 2 −2 =

v1∗ v1 1 1
12
−2
   
2 −2 2 1/3 2/3 − 2/3
1
= I3 −  −2 2 −2  =  2/3 1/3 2/3 
  
3
2 −2 2 − 2/3 2/3 1/3

Aplicando la transformación al sistema se obtiene


    
3 −5 − 1/3 x 22/3

 0 4 1/3   y  =  − /3 
    10 

0 3 5/3 z 1/3
120 Sistemas de ecuaciones lineales

Dado que la segunda transformación no va a afectar ni a la primera ecuación


ni a la primera columna de la matriz A, la calculamos sólo para el menor
asociado al elemento a11 .
! ! !
4 5 −1
x= y= v2 = x − y =
3 0 3
! !
2 1 −1   4/5 3/5
H2 = I2 − ∗ v2 v2∗ = I2 − −1 3 =
v2 v2 5 3 3/5 − 4/5
! ! ! !
4 1/3 5 19/15 − 10/3 − 37/15
H2 = H2 =
3 5/3 0 − 17/15 1/3 − 34/15

Por lo que nuestro sistema ha quedado reducido a


    
3 −5 − 1/3 x 22/3

 0 5 19/15   y  =  − 37/15 
    

0 0 − 17/15 z − 34/15
cuya solución es x = 1, y = −1, z = 2.

Ejercicio 2.6 Buscar la solución de mı́nimos cuadrados del sistema Ax = b,


siendo:    
3 −1 0
A= 4 2  y b= 2 
   

0 1 1

a) A través de sus ecuaciones normales.


b) Por el método de Householder.

Solución:

a) Las ecuaciones normales, dadas por A∗ Ax = A∗ b son


   
! 3 −1 ! ! 0
3 4 0   x 3 4 0  
 4 2  =  2 
−1 2 1 y −1 2 1
0 1 1
Es decir: ! ! !
25 5 x 8
=
5 6 y 5
Ejercicios resueltos 121

sistema que es equivalente a


! ! !
25 5 x 8
=
0 5 y 17/5

y cuya solución (la solución en mı́nimos cuadrados buscada) es

23 17
x= , y= .
125 25

b)
       
3 kx1 k 5 −2
x1 =  4  =⇒ y1 =  0  =  0  =⇒ v1 = x1 −y1 =  4 
       

0 0 0 0
 
−2 
2 ∗ 2  
H1 = I3 − v∗ v1 2v1 v1 = I3 −  4  −2 4 0 =

1 20
0
 
3/5 4/5 0
=  /5 − 3/5 0 
 4 

0 0 1
Aplicando la transformación al sistema, se obtiene
   
5 1 ! 8/5
 x
 0 −2  =  − 6/5 
  
y
0 1 1

!
(1)
! √ !
(1) −2 (1) kx2 k 5
Para que x2 = se transforme en y2 = =
1 0 0
(2)
construimos la transformación H2 de Householder asociada al vector
√ !
(1) (1) −2 − 5
v2 = x2 − y2 =
1
 
√ √ ! 1 0 0
(2) − 2 5/5 5/5 √ √
H2 = √ √ =⇒ H2 =  0 − /5
 2 5 5/5 
5/5 5/5 √ √
2

0 5/5 2 5/5
122 Sistemas de ecuaciones lineales

que aplicada al sistema anterior nos da


   
5 1 ! 8/5
√  x √ 
 0 5  =  17/5 5 
 
y √
0 0 4/5 5

23 17
porlo que la pseudosolución del sistema es x = ,y= y el error
125 25
4
viene dado por √ ' 0.3578.
5 5

2.8 Ejercicios propuestos


(
x + y = 2
Ejercicio 2.7 Dado el sistema
2x + y = 3

a) Calcular su número de condición de Frobenius.

Sol : κF (A) = 7.
b) Calcular “a” para que el número de condición del sistema resultante de
sumarle a la segunda ecuación la primera multiplicada por dicha cons-
tante “a”, sea mı́nimo.

Sol : a = −3/2.

Ejercicio 2.8 Comprobar que la matriz:


 
1 2 0 0 0
 1 4 3 0 0
 

 
A=  0 4 9 4 0 

 0 0 9 16 5
 

0 0 0 16 25
admite factorización LU y realizarla.
   
1 0 0 0 0 1 2 0 0 0
 1 1 0 0 0  0 2 3 0 0
   
 
   
Sol : L = 
 0 2 1 0 0 yU =
  0 0 3 4 0 . Todas sus matrices

0 0 3 1 0 0 0 0 4 5
   
   
0 0 0 4 1 0 0 0 0 5
fundamentales son regulares.
Ejercicios propuestos 123

Ejercicio 2.9 Resolver, por el método de Cholesky, el sistema de ecuaciones:


    
6 −1 + 3i 1 − 2i x1 −1 − 2i
 −1 − 3i 3 −1 + i   x2  =  1 + i 
    

1 + 2i −1 − i 2 x3 1 − 2i

Sol : x1 = −1 − 2i, x2 = 3 − i, x3 = 1 + 2i.

 
p −p 2p
Ejercicio 2.10 Dada la matriz A =  −p p + 2 −1  se pide:
 

2p −1 6p − 1

a) Determinar para qué valores de p es hermı́tica y definida positiva.

Sol : p ∈ ( 1/2, 3/2).

b) Para p = 1, efectuar la descomposición de Cholesky y utilizarla para


resolver el sistema Ax = b siendo b = (1 0 3)t .

Sol : x1 = −1, x2 = 0, x3 = 1.

Ejercicio 2.11 Resolver, utilizando MatLab y comenzando con el vector nulo,


el sistema:
10x1 − x2 + 2x3 = 6
−x1 + 11x2 − x3 + 3x4 = 25
2x1 − x2 + 10x3 − x4 = −11
3x2 − x3 + 8x4 = 15
por los métodos de Jacobi, Gauss-Seidel y SOR con ω = 1.2.

Sol : (x1 , x2 , x3 , x4 ) = (1, 2, −1, 1). Jacobi 42 iteraciones, Gauss-Seidel 16 y


SOR 24.

Ejercicio 2.12 Al resolver el sistema




 x − 3y + 5z = 5
8x − y − z = 8

−2x + 4y + z = 4

por el método de Gauss-Seidel, utilizando MATLAB, observamos que el pro-


grama se detiene en la iteración 138 dándonos el vector (inf inf -inf)T .
124 Sistemas de ecuaciones lineales

a) El método de Gauss-Seidel realiza el proceso xn+1 = L1 xn +c. Determina


la matriz L1 .
 
0 3 −5
Sol : L1 =  0 24 −41 
 

0 −90 154

b) Utilizar los cı́rculos de Gerschgorin para estimar el módulo de los auto-


valores de L1 .

Sol : |λi | ≤ 244.

c) Justificar el porqué de la divergencia del método.

Sol : ρ(L1 ) > 1.

d) ¿Existe alguna condición suficiente que deba cumplir la matriz de un


sistema para garantizar la convergencia del método de Gauss-Seidel?
Hacer uso de ella para modificar el sistema de forma que el proceso sea
convergente?

Sol : Llevando la primera ecuación al último lugar, la matriz del sistema


resultante es de diagonal dominante y por tanto converge el método.

Ejercicio 2.13

a) Dado un sistema Ax = b, el método de Gauss-Seidel consiste en cons-


truir la sucesión xn+1 = L1 xn + c, a partir de un vector inicial x0 . Si
conocemos el valor de xn+1 ¿podrı́amos determinar el de xn haciendo
xn = L−11 (xn+1 − c)?

Sol : No. L1 no tiene inversa. ¿Porqué?, justifı́calo.

b) Si la matriz A del sistema es de diagonal estrictamente dominante,


¿puede ser el radio espectral de L1 mayor que 1?

Sol : No. ¿Porqué?, justifı́calo.

c) Si, para un determinado sistema y comenzando con un determinado vec-


tor x0 , el método de Gauss-Seidel requiere 50 iteraciones para aproximar
la solución con un error menor que ε y en la iteración 49 se pierde la pri-
mera coordenada del vector x49 y la sustituimos por un valor arbitrario,
¿se obtendrá en el paso siguiente la solución buscada con el mismo error
que si no hubiésemos perdido el dato? ¿qué ocurrirı́a si la coordenada
que perdemos del vector x49 es la segunda en vez de la primera?
Ejercicios propuestos 125

Sol : Si se pierde la primera: Sı́. Si se pierde la segunda: No.

d) Tomando como vector inicial x0 = (2,−1, 2)T , realizar


  dos  pasos
 del

4 2 1 x 16
método de Gauss-Seidel para el sistema  0 2 1   y = 0 .
    

−1 0 2 z 0
¿Podrı́as decir cuál es la solución exacta del sistema?

Sol : (4,-1,2).

Ejercicio 2.14 Considérese el sistema Ax = b en el que


! ! !
a b x α
A= , x= y b= con α, β ∈ R.
c d y β

a) Determinar la matriz B1 , para que el método iterativo xn+1 = B1 xn + c1


sea el que se obtiene con el método de Jacobi aplicado al sistema Ax = b.
!
0 − b/a
Sol : B1 = .
− c/d 0

b) Hallar los autovalores de B1 y probar, en este caso particular, que si la


matriz A es simétrica y definida positiva, entonces el método de Jacobi
converge.
p p
Sol : λi = ± bc/ad =⇒ ρ(B1 ) = + bc/ad. Si A es simétrica y definida
positiva ρ(B1 ) < 1 y converge.

c) Determinar la matriz B2 , para que el método iterativo xn+1 = B2 xn + c2


sea el que se obtiene con el método de Gauss-Seidel aplicado al sistema
Ax = b.
!
0 − b/a
Sol : B2 = .
0 bc/ad

d) Hallar los autovalores de B2 y dar un ejemplo de matriz A (con a 6= 1)


para la que el método de Gauss-Seidel no converja. ¿Puede, en tal caso,
ser convergente el método de Jacobi?

Sol : λ1 = 0,!λ2 = bc/ad. Uno de los infinitos ejemplos para A serı́a


0 2
A= . Jacobi también diverge.
1 1
126 Sistemas de ecuaciones lineales

!
1 2
e) Comprobar la matriz A = es otro ejemplo para la no conver-
1 1
gencia del método de Gauss-Seidel.
!
1
Calcular, para dicha matriz y el vector b = el término general
1
de la sucesión xk obtenida
! por el método de Gauss-Seidel a partir del
m
vector x0 = y comprobar que dicha sucesión no converge para
n
valores arbitrarios de m y n.
¿Existe algún vector inicial x0 para el que converja el método? y, en
caso de existir, ¿contradice dicho ejemplo el hecho de que el método no
sea convergente?
!
−2k n + 1
Sol : xk = que diverge si n 6= 0. No existe contradicción
2k n
¿porqué? Justifı́calo.

Ejercicio 2.15 Se quiere encontrar una función de la forma f (x) = ax3 +bx+c
que pase por los puntos (1, 4), (−2, −23) y (2, 21).

a) Plantear un sistema de ecuaciones para calcular los coeficientes de f y


resolverlo usando la descomposición LU de la matriz del sistema.

Sol : f (x) = 2x3 + 3x − 1.

b) Usar una sucesión de Sturm para saber cuántas raı́ces reales tiene la
ecuación f (x) = 0.

Sol : Sólo una.

c) Separar dichas raı́ces por intervalos adecuados para que se den las hipó-
tesis de las condiciones de Fourier.

Sol : x ∈ [0.3, 0.4]

d) ¿Cuantas iteraciones son necesarias para obtener las raı́ces reales con 6
cifras decimales exactas usando para su cálculo el método de Newton?

Sol : Tres.

e) Aplicar dicho método para calcularlas con una precisión de 12 cifras


decimales exactas asegurando en cada paso del método el número de
cifras que se van obteniendo.
Ejercicios propuestos 127

Sol : x = 0.312908409479.

Ejercicio 2.16 Se considera el sistema de ecuaciones Ax = b con


   
1 2 3
 1 0   2 
  
A= y b =  .


 1 1   0 
1 1 1

Se pide:

a) Calcular la pseudosolución, a través de las ecuaciones normales, utili-


zando el método de Cholesky.

Sol : x = 1, y = 1/2.
b) Sea v = (−1, 1, 1, 1)T . Demostrar que la transformación de Householder
asociada al vector v transforma la primera columna de la matriz A en el
vector (2, 0, 0, 0)T dejando invariante la segunda columna de A ası́ como
al vector b.
c) Calcular la pseudosolución del sistema utilizando transformaciones de
Householder, ası́ como la norma del error.

Sol : x = 1, y = 1/2, E = 3 2/2.
d) Si la matriz A del sistema fuese cuadrada y su número de condición fuese
mayor que 1, ¿qué ventajas e inconvenientes tendrı́a el resolver el sistema
multiplicando por la traspuesta de A y el resolverlo por transformaciones
de Householder?

Sol : Si κ(A) > 1, κ(AT A) >> 1 mientras que Householder no altera el


condicionamiento.

Ejercicio 2.17 Hallar la recta de regresión de los puntos:

(1.1, 5), (1, 5.1), (2, 7.3), (1.8, 6.9), (1.5, 6.1), (3, 8.8), (3.1, 9) y (2.9, 9.1)

Sol : y = mx + n = 1.959803x + 3.1449029.

Ejercicio 2.18 Hallar la parábola de regresión de los puntos:

(1, 0), (0, 0), (−1, 0), (1, 2) y (2, 3)


1 1
Sol : y = ax2 + bx + c = x2 + x.
2 2
128 Sistemas de ecuaciones lineales

Ejercicio 2.19 Dado el sistema superdeterminado:


   
1 1 0   1
 1 0 1  x  2 
 y  = 
    
 
 1 1 1   0 
z
1 2 1 −1
calcular, mediante transformaciones de Householder, la solución en mı́nimos
cuadrados (pseudosolución) ası́ como la norma del error.

Sol : x = 5/2, y = −3/2, z = −2/3, kEk = 6/6.

Ejercicio 2.20 Resolver el sistema


   
2 1 ! 1
x
 2 0  = 1 
   
y
−1 2 −5
y obtener la norma del error:

a) Mediante sus ecuaciones normales.


b) Mediante transformaciones de Householder.

Sol : x = 1, y = −9/5, kEk = 3 5/5.

Ejercicio 2.21 Se considera el sistema superdeterminado Ax = b con


   
1 7 15 7
 1 4 8   7 
A=  y b=
   

 1 0 1   −5 
1 3 6 −9
Resolverlo mediante transformaciones de Householder, dando la norma del
vector error.

Sol : x1 = −8, x2 = −2, x3 = −2, kEk = 10.

Ejercicio 2.22 Dado sistema superdeterminado Ax = b con


   
1 5 5 7
 1 2 3   16 
A= y b=
   
 
 1 1 3   −3 
1 2 1 10
Ejercicios propuestos 129

Resolverlo mediante transformaciones de Householder, dando la norma del


vector error.

Sol : x = 9, y = 3, z = −3, kEk = 12.

Ejercicio 2.23 Consideremos el sistema de ecuaciones Ax = b, con


   
2 −2 ! 6
x1
A =  1 −1  , x = y b =  3 ,
   
x2
−2 2 3
y un vector unitario u. Se pide:

a) Demostrar que si H = I − 2uuT es la matriz de Householder, asociada al


vector u, entonces: H es ortogonal, H 2 = I y kHak2 = kak2 cualquiera
que sea el vector a.
b) Obtener la matriz de Householder que transforma el vector (2, 1, −2)T
en otro de la forma (α, 0, 0)T , con α > 0.
 
2 1 −2
Sol : H =  1 2 2 .
 

−2 2 −1

c) Aplicando el método de Householder, probar que el sistema Ax = b


posee infinitas soluciones en cuadrados mı́nimos y que el error cometido,
al considerar cualquiera de ellas, es el mismo.

Sol : x = (1 + λ, λ)T ∀ λ ∈ R, kEk = 3.


d) Obtener la pseudosolución del sistema Ax = b.

Sol : ( 1/2 , − 1/2)T .

Ejercicio 2.24 Sea el sistema Ax = b, donde


   
0 3 ! −10
x
A =  −3 5  , x = y b= 6 .
   
y
4 0 −8

a) Probar que la matriz AT A es definida positiva, obteniendo la factori-


zación de Cholesky.
! ! !
25 −15 5 0 5 −3
Sol : AT A = = .
−15 34 −3 5 0 5
130 Sistemas de ecuaciones lineales

b) Plantear la iteración Xn+1 = L1 · Xn + c que se obtiene de aplicar el


método de Gauss-Seidel a las ecuaciones normales del sistema Ax = b.
¿Será convergente el proceso iterativo a la pseudosolución?
! ! !
0 3/5 xn −2
Sol : xn+1 = + . Convergente por ser un
0 9/34 yn − 15/17
sistema de diagonal dominante.
c) Hallar la matriz Hu = I − βuuT de la reflexión que transforma el vector
a = (0, −3, 4)T en el vector r = (−5, 0, 0).
 
0 15 −20
1 
Sol : Hu =  15 16 12 .

25
−20 12 9
d) Obtener la solución en mı́nimos cuadrados del sistema Ax = b, utilizando
el método de Householder, y determinar la norma del error.

Sol : x = −68/25, y = −6/5, kEk = 8.


e) Sin haber resuelto el apartado anterior, ¿podrı́an predecirse Hu A y Hu b
de las relaciones geométricas entre L =< u >, L⊥ y los vectores columnas
implicados?

Sol : Sı́. Si A = (a1 a2 ), Hu a1 = (−5, 0, 0)T , Hu a2 = a2 , Hu b = −b.

Ejercicio 2.25 Se considera el sistema superdeterminado Ax = b con


   
3 2 3
A= 4 5  y b= 1 
   

12 0 13

a) Calcular la pseudosolución (solución de mı́nimos cuadrados) ası́ como la


norma del error utilizando transformaciones de Householder.

Sol : x = 71/65, y = −3/5, kEk = 1.


 
1 0 0
b) Sea T =  0 1 0  la matriz asociada a la transformación elemen-
 

0 0 1/12
tal que divide por 12 la tercera de las ecuaciones del sistema:
   
3 2 ! 3
 x
T Ax = T b ⇐⇒  4 5  = 1 
  
y
1 0 13/12
Ejercicios propuestos 131

Calcular su pseudosolución haciendo uso de las ecuaciones normales. De-


terminar la norma del error.

Sol : x = 113/72, y = −37/36, kEk = 5 78/72.

c) ¿A qué se debe que no coincidan las pseudosoluciones obtenidas en los


dos apartados anteriores? ¿Qué habrı́a ocurrido si la matriz T hubiese
sido unitaria?

Sol : T no es unitaria. Si T hubiese sido unitaria se hubiesen obtenido


las mismas pseudosoluciones.

Ejercicio 2.26 Sea el sistema Ax = b, donde


   
3 −2 ! 2
x
A= 0 3 , x = y b =  0 .
   
y
4 4 1

a) Probar que la matriz B = AT A es definida positiva, obteniendo la fac-


torización de Cholesky B = GT G.
! !
25 10 5 2
Sol : B = , G= .
10 29 0 5

b) Hacer uso de la factorización obtenida en el apartado anterior para hallar


la pseudosolución mediante las ecuaciones normales del sistema. Calcular
el número de condición, κ∞ (B), de la matriz B para la norma k k∞ .
¿Hasta que punto se podrı́a considerar fiable la pseudosolución obtenida
con aritmética de ordenador?

Sol : x = 58/125, y = −4/25, κ∞ (B) = 1521/625 ' 2.4336. Es fiable.

c) Hallar la matriz de la reflexión (matriz de Householder) Hu que trans-


forma el vector a = (3, 0, 4)T en el vector r = (−5, 0, 0)T . Una vez de-
terminado el vector u, justificar que se pueden conocer Hu A y Hu b sin
necesidad de efectuar los productos.
 
− 3/5 0 − 4/5
Sol : Hu =  0 1 0 . Si A = (a1 a2 ), Hu a2 = a2 H2 b = −b.
 

− 4/5 0 3/5

d) Obtener la solución en mı́nimos cuadrados del sistema Ax = b, utilizando


el método de Householder y determinar la norma del error. Operando
con el ordenador, ¿puede obtenerse una pseudosolución distinta de la
132 Sistemas de ecuaciones lineales

obtenida en el apartado b? Si ası́ ocurriera, ¿puede ser mayor el error?

Sol : x = 58/125, y = −4/25, kEk = 3/5. Es posible obtener en el


ordenador soluciones distintas. Nunca, ya que las transformaciones de
Householder son unitarias.

Ejercicio 2.27 Sea el sistema Ax = b, donde


     
1 −1 2 x 0
A= 0 3 −3  , x =  y  y b =  1 .
     

0 −4 4 z 2

a) Hallar kAk∞ . ¿Qué se puede decir sobre el número de condición de la


matriz A para la norma infinito? ¿Qué estimación darı́a MATLAB para
el número de condición espectral obtenido con el comando cond(A)?

Sol : cond(A) = ∞.

b) Utilizar la descomposición LU de la matriz AT A para resolver el sistema


AT Ax = AT b. ¿Qué propiedad caracteriza a las soluciones en relación al
sistema Ax = b? Interpreta geométricamente el resultado.

Sol : x = t − 1/5, y = 3t − 1/5, z = t.

c) Encontrar una matriz ortogonal Q que transforme el vector a= (0, 3, −4)T


en el vector r = (0, 5, 0)T . Obtener la norma del error para las soluciones
en mı́nimos cuadrados del sistema QAx = Qb.
 
1 0 0
Sol : Q =  0 3/5 − 4/5 . kEk = 2.
 

0 − 4/5 − 3/5

d) ¿Qué relación hay entre las soluciones obtenidas en los apartados ante-
riores?
Si se obtienen las soluciones en mı́nimos cuadrados del sistema Ax = b,
escalonando previamente la matriz A, ¿se debe obtener mismo resultado
que en alguno de los apartados anteriores?

Sol : Son las mismas. No, el escalonado no se hace mediante transforma-


ciones unitarias.
Ejercicios propuestos 133

Ejercicio 2.28

a) En lo que sigue, Hv denota la transformación de Householder asociada al


vector v. Sean x, y, v, z vectores no nulos, con Hv x = y y z ⊥ v. Probar
que Hv v = −v y Hv z = z. Determinar razonadamente todos los vectores
w tales que Hw x = y.

b) Se considera el sistema de ecuaciones dado por


    
− 12 1 0 x 2
 1 2 1   y  =  −1 
    

1 0 −1 z −1

b.1) Estudiar el condicionamiento del sistema, utilizando la norma 1.

Sol : κ1 (A) = 6.
b.2) Resolver el sistema por medio de transformaciones de Householder.

Sol : x = −2, y = 1, z = −1.


b.3) Desde un punto de vista numérico, ¿serı́a razonable resolver el sis-
tema escalonando por Gauss? Razonar la respuesta.

Sol : No.
4 1 4a
c) Demostrar que el vector c = (− , , − − 1)T y la matriz
3 2 3
 
0 − 23 0
L1 =  0 0 − 12 
 

0 − 2a
3
0

son los propios del método de Gauss-Seidel asociado al sistema


    
3
2
1 0 x −2
 0 2 1  y  =  1 
    

a 0 −1 z 1

d) Estudiar, en función del parámetro a, el carácter diagonal dominante


por filas de la matriz de coeficientes del sistema dado, ası́ como el radio
espectral de L1 . ¿Para qué valores de a es convergente el método ante-
rior?
p
Sol : Diagonal dominante si |a| < 1, ρ(L1 ) = a/3. Converge si |a| < 3.
134 Sistemas de ecuaciones lineales

e) Para a = 0 el método resulta convergente. Utilizando aritmética exacta,


y tomando como vector inicial x0 = (0, 0, 0)T , realizar dos iteraciones,
acotando el error cometido. Razonar qué ocurre cuando se itera por
tercera vez. ¿Hubiera ocurrido otro tanto al trabajar con aritmética de
ordenador?
   
− 4/3 − 5/3
Sol : x1 =  1/2  y x2 =  1  , kEk = 1/2. x3 es la solución
   

−1 −1
exacta pero con aritmética de ordenador es sólo una buena aproximación.

Ejercicio 2.29 Sea el sistema Ax = b, donde


   
1 1 ! 2
x
A =  α 0 , x = y b= β  con α > 0 y β, γ ∈ R
   
y
−2 2 γ

a) Hallar α sabiendo que que existe una matriz de Householder, Hv , que


transforma la primera columna de la matriz A en el vector r = (3, 0, 0)T .
¿Quién es Hv ?
 
1/3 2/3 − 2/3

Sol : α = 2, Hv =  2/3 1/3 2/3 .


 

− 2/3 2/3 1/3

b) Determinar el conjunto de vectores b para los que se verifica Hv b = b,


siendo Hv la matriz del apartado anterior. Encontrar, entre ellos, el que
tiene menor norma euclı́dea.

Sol : b = (2, β, β − 2)T con β ∈ R. (2, 1, −1)T .

c) Hallar la pseudosolución del sistema Ax = bm , para α = 2 y bm =


(2, 1, −1)T , utilizando transformaciones ortogonales para determinar el
error.

Sol : x = 5/6, y = 1/2, kEk = 1.

d) Probar que si una matriz real B tiene sus columnas linealmente inde-
pendientes, entonces B T B es definida positiva.

e) Sea el sistema AT A x = AT bm , con α y bm como en el apartado (c).

e.1) ¿Serı́a posible utilizar una descomposición AT A = GGT , con G


triangular inferior, para resolver el sistema?
Ejercicios propuestos 135

Sol : Sı́, AT A admite factorización de Cholesky.


e.2) Utilizando la norma k k∞ para medir el condicionamiento, ¿es un
sistema mal condicionado para utilizar aritmética de ordenador en
su resolución?

Sol : No.
e.3) Sea (s0 , s1 , s2 , . . .) la sucesión que se obtiene al aplicar el método
de Gauss-Seidel al sistema, con s0 = (0, 0)T . Probar que, operando
en aritmética exacta, la sucesión (sn ) es convergente y obtener su
lı́mite s.

Sol : AT A simétrica y definida positiva =⇒ Gauss-Seidel converge.


Al tratarse de las ecuaciones normales, lo hace a la pseudosolución.

Ejercicio 2.30 Se considera el sistema Ax = b con


   
0 5 ! 5
x
A =  3 0 , x= y b= 2 
   
y
4 0 11

a) ¿Existe alguna transformación de Householder que permute las columnas


de la matriz A? Justificar la respuesta.

Sol : Sı́, ambas tienen igual norma.

b) Calcular la pseudosolución del sistema mediante transformaciones de


Householder dando la norma del vector error.

Sol : x = 2, y = 1, kEk = 5.

Ejercicio 2.31 Se considera el sistema Ax = b con


  
1 2 ! 1
x
A= 4 8 , x= y b= 5 
   
y
−1 −2 3

Determinar la pseudosolución del sistema dando la norma del error mediante


transformaciones de Householder.

Sol : x = 1/5, y = 2/5, kEk = 17.
136 Sistemas de ecuaciones lineales

Ejercicio 2.32 Se considera el sistema superdeterminado Ax = b con


   
2 1 ! 3
 2 0  x  6 
  
A=  x= y b= 

 1 −2  y  0 
0 2 3

a) Encontrar una transformación de Householder que transforme la primera


columna de la matriz A en el vector r = (3, 0, 0, 0)T .
 
2/3 2/3 1/3 0
 2/ − 1/ − 2/ 0 
 3 3 3
Sol : H =  .

 /3 − /3
1 2 2/3 0 
0 0 0 1

b) Probar que el producto de dos matrices de Householder es una matriz


unitaria.

Hallar una matriz ortogonal Q tal que A = QR siendo R una matriz


triangular superior de las mismas dimensiones que A.
 
2/3 1/3 0 2/3
 2/
 3 0 − 1/3 − 2/3 
Sol : Q =  .

 1/3 − 2/3 2/3 0 
0 2 2 − 1/3

c) Probar que si Q es ortogonal, los sistemas Ax = b y QT Ax = QT b tienen


las mismas soluciones en mı́nimos cuadrados.

Hallar el error cometido al obtener la pseudosolución del sistema Ax = b,


utilizando transformaciones ortogonales.

Sol : x = 2, y = 1, kEk = 3.

d) Sea xn+1 = L1 xn +c la sucesión resultante de aplicar el método de Gauss-


Seidel a la resolución de las ecuaciones normales del sistema Ax = b.
¿Cuántas iteraciones son necesarias para la convergencia del método?
Determina la pseudosolución ası́ como la norma del error.

Sol : Sólo una iteración.

Ejercicio 2.33 El equipo Astronomı́a para aficionados, adquirido por el pro-


fesor Dana este verano, permitı́a determinar el plano Π ≡ αx + βy + γz = 1
Ejercicios propuestos 137

donde se encuentra la trayectoria de Marte alrededor del Sol. En las instruc-


ciones indicaba introducir en el “calculador mágico” una serie de coordenadas
locales (xi , yi , zi ), obtenidas con el “telescopio marciano”, y automáticamente
proporcionarı́a los coeficientes α, β, γ. Entre otras cosas, sugerı́a introducir
entre 5 y 10 coordenadas para que el ajuste obtenido en el sentido de
los mı́nimos cuadrados promediara “cientı́ficamente” los errores de obser-
vación...

a) Plantear el sistema superdeterminado, Aα= b, con α=(α, β, γ)T , para


determinar el plano Π, cuando las coordenadas locales son

(2, 1, 0), (−1, 2, 1), (0, 1, 2), (−1, 0, 1), (0, 1, 0).

¿Puede ser nulo el error cometido para la pseudosolución del sistema?

Sol : El error no puede ser nulo.

b) Poniendo A = [a1 a2 a3 ], donde ai indica la correspondiente columna de


A, razonar si es posible encontrar una transformación de Householder
que transforme a1 en a2 . Hallar una matriz unitaria, Q, de modo que
Qa1 = a3 .
 
0 0 1 0 0
 0 −1 0 0 0 
 
Sol : Q =  1 0 0 0 0 .
 0 0 0 −1 0 
0 0 0 0 1

c) Obtener las ecuaciones normales, Bα= c, del sistema inicial Aα= b.


¿Está la matriz B mal condicionada para la norma || ||∞ ?

Sol : κ∞ (B) = 15/2. Bien condicionada.

d) Probar que los métodos iterados de Jacobi y Gauss-Seidel aplicados al


sistema Bα= c son convergentes. ¿Cuál de ellos converge más rápido?

Sol : Gauss-Seidel más rápido que Jacobi.

e) Partiendo de α0 = (0, 0, 0)T , obtener la aproximación α3 , al aplicar 3


pasos del método de Gauss-Seidel al sistema Bα= c, operando con dos
cifras decimales. ¿Cuál es el error obtenido al tomar α3 como la solución
en mı́nimos cuadrados de Aα= b?

Sol : α3 = (0.09, 0.55, 0.33)T con kE3 k ' 1.01.


138 Sistemas de ecuaciones lineales

 
1 5 5
Ejercicio 2.34 Dada la matriz A =  1 2 1 , se pide:
 

1 2 3

a) Estudiar si admite factorizaciones LU y/o de Cholesky.

Sol : Sólo LU .

b) Utilizar dichas factorizaciones


  (encasode existir) para resolver el sistema
x 3
Ax = b con x =  y  y b =  2 .
   

z 1

Sol : x = 1/2, y = 1, z = −1/2.

c) Resolver, mediante transformaciones de Householder el sistema superde-


terminado resultante de añadir a nuestro sistema la ecuación x+y +3z =
α. Hallar la norma del error.

Sol : x = (2α + 3)/6, y = (3 − α)/3, z = (α − 2)/4, kEk = |α|/2.

d) ¿Se puede calcular el valor de α que minimiza la norma del error sin
resolver el sistema anterior?

Sol : Sı́, α = 0.

Ejercicio 2.35 En R4 se busca un hiperplano de la forma αx + βy + γz = t


que pase por los puntos
      
x 
 1 1 −1 
 y     0 
 0  2 
  ∈ 
     
  
 z  
  0  4   1 


 

t 0 1 2

a) Plantear el sistema de ecuaciones y resolverlo usando la factorización LU


de la matriz del sistema.

Sol : El hiperplano buscado es 7y − 4z + 2t = 0.

b) Comenzando por el vector x0 = (2, 2, 2)T , resolverlo iterativamente por


los métodos de Jacobi y Gauss-Seidel. ¿Qué método es más rápido?
Razona la respuesta.

Sol : Jacobi 3, Gauss-Seidel 1 aunque ambos son igualmente convergentes.


Ejercicios propuestos 139

c) Al obligar que, además, pase por el punto (−1, 2, 0, −1) se obtiene una
ecuación más que hace incompatible al sistema.
Usar transformaciones de Householder para encontrar la pseudosolución
del sistema incompatible dando la norma del error.
p
Sol : x = −2/3, y = −8/9, z = 8/9, kEk = 2/3.

Ejercicio 2.36 Se sabe que un móvil en R3 sigue una velocidad instantánea


dada por una expresión de la forma V (x, y, z) = ax + by + cz con a, b, c ∈ R.
Con un velocı́metro se han tomado los datos siguientes:

V (1, 2, − 53 ) = −3
V (1, 2, −4) = 2
V (2, −1, 2) = −2
V (1, 0, −2) = −1
V (3, 2, −1) = −2

a) Demostrar que el velocı́metro está desajustado. Es decir, que los datos


obtenidos son incompatibles.

b) Una vez planteado el sistema incompatible y usando las ecuaciones nor-


males de dicho sistema, usar el método de Cholesky para calcular el
grado de desajuste del velocı́metro. Es decir, el error al suponer la pseu-
dosolución como los verdaderos valores de a, b y c.

Sol : kEk = 3.0651.

c) Calcular el error usando transformaciones de Householder en el sistema


incompatible.

Sol : kEk = 3.0651.


3. Interpolación

Definición 3.1 Interpolar una función f (x) es encontrar otra función g(x)
con determinadas caracterı́sticas (un polinomio, un cociente de polinomios,
una función trigonométrica, etc.) tal que g(xi ) = f (xi ) en un conjunto de
puntos S = {x0 , x1 , . . . , xn } con x0 < x1 < · · · < xn que recibe el nombre de
soporte.
La función g(x) recibe el nombre de función de interpolación de la función
f (x) en el soporte {x0 , x1 , . . . , xn }.
Diremos que el soporte es regular si la diferencia entre dos puntos consecutivos
del soporte es siempre la misma, es decir, si xi − xi−1 es constante cualquiera
que sea i = 1, 2, . . . , n.

La finalidad la interpolación es la de aproximar la función f (x) en un punto


x 6∈ S de tal forma que se pueda decir que f (x) ' g(x) una vez encontrada la
función g(x).

• Si x ∈ [x0 , xn ] se dice que estamos interpolando.


• Si x 6∈ [x0 , xn ] se dice que estamos extrapolando.

Ejemplo 3.1 Supongamos conocidos los valores de una determinada función


f (x) en el soporte {0, 1, 2}, es decir, se dispone de la tabla

x 0 1 2
f (x) 1 3 7
Si queremos calcular el polinomio de segundo grado P (x) = ax2 + bx + c que
interpola a f (x), en dicho soporte, se obtiene el sistema

c=1  
a+ b+c=3 =⇒ a = b = c = 1

4a + 2b + c = 7

141
142 Interpolación

por lo que P (x) = x2 + x + 1.


Podemos ahora interpolar el valor de f (1.5) ' P (1.5) = 4.75 o extrapolar el
valor de f (4) ' P (4) = 21. 

En este capı́tulo sólo trataremos la interpolación polinomial y la interpolación


polinomial a trozos (splines).

3.1 Interpolación polinomial


Teorema 3.1 Existencia y unicidad

Dada una función f (x), existe un único polinomio de grado no superior a n


que la interpola en el soporte {x0 , x1 , · · · , xn }.

Demostración. Obligando a que el polinomio


Pn (x) = a0 + a1 x + a2 x2 + · · · an xn
tome los valores f0 = f (x0 ), . . . , fn = f (xn ) en el soporte {x0 , x1 , . . . , xn }
obtenemos el sistema
a0 + a1 x0 + a2 x20 + · · · an xn0 = f0
a0 + a1 x1 + a2 x21 + · · · an xn1 = f1
..
.
a0 + a1 xn + a2 x2n + · · · an xnn = fn
es decir,     
1 x0 · · · xn0 a0 f0
1 x1 · · · xn1   a1   f1
    
 
.. .. .. .   . = ..
   

 . . . ..   ..   .


1 xn · · · xnn an fn
Dado que el determinante de la matriz del sistema es un Vandermonde, y por
tanto no nulo, el sistema es compatible determinado, es decir, admite solución
única.

Sea P (x) el polinomio de interpolación de una función f (x) en el soporte


{x0 , x1 , . . . , xn }:

¿Qué error se cometerá al aproximar f (x) por el valor de P (x)?


Interpolación polinomial 143

Teorema 3.2 [Error de interpolación]

Sea P (x) el polinomio de interpolación de una función f (x) en el soporte


{x0 , x1 , . . . , xn }.
Si f (x) es una función n + 1 veces derivable, con f (n + 1 (x) continua, y x un
número real cualquiera, el error que se comete al aproximar f (x) por P (x)
viene dado por

|f (n + 1 (c)|
ε(x) = |f (x) − P (x)| = |x − x0 | · · · |x − xn |
(n + 1)!

siendo c un punto del intervalo determinado por los puntos x, x0 , x1 , . . . , xn .

Demostración. Sean d(x) = f (x) − P (x), z(x) = (x − x0 ) · · · (x − xn ) y x un


z(t)
punto cualquiera. Consideremos la función g(t) = d(t) − d(x)
z(x)

• g(xi ) = 0 cualquiera que sea 0 ≤ i ≤ n ya que

z(xi )
g(xi ) = d(xi ) − d(x) =0
z(x)

por serlo d(xi ) y z(xi ).


z(x)
• g(x) = 0 ya que g(x) = d(x) − d(x) =0
z(x)

Por tanto, la función g(x) se anula en x, x0 , . . . , xn+1 , es decir, en n + 2 pun-


tos. Si ordenamos estos puntos y los denotamos por t1 , t2 , . . . , tn+2 , en cada
intervalo (ti , ti+1 ) el teorema de Rolle nos garantiza la existencia de un punto
ci tal que g 0 (xi ) = 0 (Figura 3.1)

t1 t2 t3 tn+2
u u u u
c1 c2 c3 cn+1
Figura 3.1: Los n + 1 puntos en los que se anula g 0 (x).

Razonando de igual forma obtenemos n puntos donde se anula la derivada


segunda g 00 (x), n − 1 donde se anula la derivada tercera, y ası́ sucesivamente
hasta obtener un punto c en el que se anula la derivada de orden n + 1, siendo
c un punto del intervalo que determinan los puntos x, x0 , x1 , . . . , xn .
144 Interpolación

d(x) (n + 1
Como g (n + 1 (t) = d(n + 1 (t) − z (t), podemos particularizar en t = c y
z(x)
obtenemos
d(x) (n + 1 d(x)
0 = d(n + 1 (c) − z (c) = f (n + 1 (c) − P (n + 1 (c) − (n + 1)!
z(x) z(x)

por lo que
d(x)
(n + 1)! = f (n + 1 (c)
z(x)
o lo que es lo mismo,

f (n + 1 (c) f (n + 1 (c)
f (x) − P (x) = d(x) = z(x) = (x − x0 ) · · · (x − xn ) =⇒
(n + 1)! (n + 1)!

|f (n + 1 (c)|
ε(x) = |f (x) − P (x)| = |x − x0 | · · · |x − xn |
(n + 1)!

Es decir, si podemos acotar la derivada de orden n + 1 de la función f (x) en


el intervalo I determinado por los puntos x, x0 , x1 , . . . , xn

|f (n + 1 (x)| ≤ k ∀x ∈ I

se tiene que
k
ε(x) ≤ |x − x0 | · |x − x1 | · · · |x − xn |
(n + 1)!

Ejemplo 3.2 Supongamos que queremos aproximar el valor de sen 1 y para


ello interpolamos la función f (x) = sen x en el soporte {0, π/4, π/2}.
El polinomio que obtenemos es

P (x) = 1.16401285994663 x − 0.33574886736281 x2

y la aproximación obtenida para

sen 1 ' P (1) = 0.82826399258382

Teniendo en cuenta que f 000 (x) ≤ 1, el error vendrá dado por


1
| sen 1 − P (1)| ≤ |1 − 0| · |1 − π/4| · |1 − π/2| ' 4.08 · 10−2 < 10−1
3!
es decir, hemos obtenido el valor de sen 1 con una cifra decimal exacta. 
Interpolación polinomial 145

Proposición 3.3 Sean P (x), Q(x) y R(x) los polinomios de interpolación de


la función f (x) en los soportes {x0 , . . . , xn }, {x0 , . . . , xn−1 } y {x1 , . . . , xn }
respectivamente. Se verifica entonces que
x − x0  
P (x) = Q(x) + R(x) − Q(x)
xn − x0

Demostración. Consideremos el polinomio


x − x0  
T (x) = Q(x) + R(x) − Q(x) .
xn − x0

Es obvio que como los grados de Q(x) y R(x) no son superiores a n − 1, T (x)
no puede tener grado superior a n.

• T (x0 ) = Q(x0 ) = f0
• Si xi ∈ {x1 , x2 , . . . , xn−1 }
xi − x0   xi − x0
T (xi ) = Q(xi ) + R(xi ) − Q(xi ) = fi + (fi − fi ) = fi .
xn − x0 xn − x0
xn − x0  
• T (xn ) = Q(xn ) + R(xn ) − Q(xn ) = R(xn ) = fn .
xn − x0
Por lo que T (x) es el polinomio, de grado no superior a n, que interpola a f (x)
en el soporte {x0 , . . . , xn }, es decir, T (x) = P (x).

¿Cómo determinamos el polinomio de interpolación?

Hemos visto que se puede plantear un sistema de n + 1 ecuaciones con n + 1


incógnitas (los coeficientes del polinomio) que admite solución única y deter-
mina su polinomio de interpolación. Sin embargo, no es siempre el método
más práctico.

3.1.1 Interpolación de Lagrange


Definición 3.2 Polinomios de Lagrange

Dado un soporte {x0 , x1 , . . . , xn }, se denominan polinomios de Lagrange a los


polinomios definidos por
n
Y x − xj
Li (x) = i = 0, 1, 2, . . . , n
xi − xj
j =0
j 6= i
146 Interpolación

Llamando z(x) = (x − x0 )(x − x1 ) · · · (x − xn ) se tiene que


h i0
z 0 (x) = 1 · (x − x1 ) · · · (x − xn ) + (x − x0 ) (x − x1 ) · · · (x − xn )
por lo que
z 0 (x0 ) = (x0 − x1 ) · · · (x0 − xn )
y de manera análoga se obtiene que

z 0 (xi ) = (xi − x1 ) · · · (xi − xi−1 )(xi − xi+1 ) · · · (xi − xn )

por lo que los polinomios de Lagrange pueden escribirse de la forma

z(x)
Li (x) = (3.1)
(x − xi )z 0 (xi )

Teorema 3.4 [Propiedades de los polinomios de Lagrange]


(
0 si i 6= j
• Li (xj ) =
1 si i = j

• gr(Li (x)) = n cualquiera que sea 0 ≤ i ≤ n.

• El polinomio Pn (x) = y0 L0 (x) + y1 L1 (x) + · · · + yn Ln (x) interpola a la


función f (x) tal que f (xi ) = yi en el soporte {x0 , x1 , · · · , xn }, siendo
gr(P (x)) ≤ n.

Demostración.

• Las dos primeras son triviales.

• Para la tercera basta con observar que (haciendo uso de la primera)


Pn (xi ) = yi y que Pn (x), al ser una combinación lineal de polinomios
de grado n (segunda propiedad), no puede ser de grado superior a n
(aunque sı́ inferior).

Ejemplo 3.3 Sea f (x) una función que, en el soporte

{x0 , x1 , x2 , x3 } = {1, 2, 3, 4}

toma los valores


{f0 , f1 , f2 , f3 } = {0, −1, 2, −5}
Interpolación polinomial 147

Los polinomios de Lagrange para dicho soporte vienen dados por

(x − 2)(x − 3)(x − 4) 1
L0 (x) = = − (x3 − 9x2 + 26x − 24)
(1 − 2)(1 − 3)(1 − 4) 6

(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

y el polinomio de interpolación de la función f (x) por

P3 (x) = f0 L0 (x) + f1 L1 (x) + f2 L2 (x) + f3 L3 (x) =


= 0 · L0 (x) + (−1) · L1 (x) + 2 · L2 (x) + (−5) · L3 (x)

por lo que
7 98
P3 (x) = − x3 + 16x2 − x + 19 
3 3

Obsérvese que los polinomios de Lagrange dependen únicamente del soporte y


no de los valores de la función.
Ası́ pues, si queremos interpolar cualquier función en el soporte {1, 2, 3, 4}
los polinomios de Lagrange son los que se han obtenido en el Ejemplo 3.3,
debiendo modificar únicamente los valores de fi i = 0, 1, 2, 3 en la expresión

P3 (x) = f0 L0 (x) + f1 L1 (x) + f2 L2 (x) + f3 L3 (x)

Sin embargo, el cálculo de los polinomios de Lagrange (también puede verse con
el Ejemplo 3.3) no es un proceso dinámico, en el sentido de que si añadiéramos
un nuevo punto al soporte, habrı́a que comenzar de nuevo todo el proceso.

¿Se puede encontrar un proceso dinámico que permita añadir puntos en el


soporte aprovechando los cálculos realizados hasta ese momento?
148 Interpolación

3.1.2 Interpolación de Newton


Proposición 3.5 El polinomio de interpolación de una función f (x) en el
soporte {x0 , x1 , . . . , xn } es de la forma

P (x) = c0 + c1 (x − x0 )+
+ c2 (x − x0 )(x − x1 )+
+ c3 (x − x0 )(x − x1 )(x − x2 )+
..
.
+ cn (x − x0 )(x − x1 )(x − x2 ) · · · (x − xn−1 )
donde los coeficientes c0 , c1 , . . . , cn dependen de x0 , . . . , xn y los valores que
toma la función en dichos puntos f0 = f (x0 ), . . . , fn = f (xn ).

Demostración. Como el polinomio P (x) interpola a la función f (x) en el


soporte, se tiene que
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 puede determinarse de manera única y depende de x0 , x1 , x2 , f0 , f1 y f2 .

Supuesto que ck−1 depende de x0 , . . . , xk−1 , f0 , . . . , fk−1 y dado que


P (xk ) = fk = c0 + c1 (xk − x0 ) + · · · + ck (xk − x0 ) · · · (xk − xk−1 ) =⇒
1 h i
ck = fk − c0 − · · · − ck−1 (xk − x0 ) · · · (xk − xk−2 )
(xk − x0 ) · · · (xk − xk−1 )
por lo que ck puede determinarse de forma única y depende de x0 , x1 , . . . , xk
y f0 , f1 , . . . , fk .

En lo que sigue utilizaremos la notación ck = f [x0 , x1 , . . . , xk ], con lo que el


polinomio quedará de la forma
P (x) = f [x0 ]+f [x0 , x1 ](x−x0 )+· · ·+f [x0 , x1 , . . . , xn ](x−x0 )(x−x1 ) · · · (x−xn )
y quedará determinado una vez que se determinen los valores de los coeficientes
f [x0 , x1 , . . . , xk ] con k = 0, 1, . . . , n.
Vamos a estudiar, a continuación, dos métodos para calcular dichos coeficien-
tes, que son conocidos como el de las diferencias divididas y el de las diferencias
finitas.
Interpolación polinomial 149

Proposición 3.6 [Método de las diferencias divididas]

Para cualquiera que sea k = 0, 1, . . . , n se verifica que

f [x1 , . . . , xk ] − f [x0 , . . . , xk−1 ]


f [x0 , x1 , . . . , xk ] =
xk − x0

siendo f [xi ] = fi para 0 ≤ i ≤ n.

Demostración. Obsérvese que f [x0 , x1 , . . . , xk ] es el coeficiente ck del término


de mayor grado del polinomio de interpolación de la función f (x) en el soporte
{x0 , x1 , . . . , xk }.
Basta ir haciendo tomar a k los valores de 0 a n para que la Proposición 3.3
nos justifique el resultado.

Ejemplo 3.4 Calculemos, por el método de las diferencias divididas de New-


ton, el polinomio de interpolación de la función f (x) que toma los valores
{0, −1, 1, 2} en el soporte {1, 3, 4, 5}.
Teniendo en cuenta que

f [xi ] = fi
f [x1 , . . . , xk ] − f [x0 , . . . , xk−1 ]
f [x0 , x1 , . . . , xk ] =
xk − x0
obtenemos:
f [x1 ] − f [x0 ] f1 − f0 1−0 1
f [x0 , x1 ] = = = =
x1 − x0 x1 − x0 3−1 2

f [x2 ] − f [x1 ] f2 − f1 −1 − 1 2
f [x1 , x2 ] = = = =−
x2 − x1 x2 − x1 4−3 1

f [x3 ] − f [x2 ] f3 − f2 2 − (−1) 3


f [x2 , x3 ] = = = =
x3 − x2 x3 − x2 5−4 1

f [x1 , x2 ] − f [x0 , x1 ] −2 − 1/2 5


f [x0 , x1 , x2 ] = = =−
x2 − x0 4−1 6

f [x2 , x3 ] − f [x1 , x2 ] 3 − (−2) 5


f [x1 , x2 , x3 ] = = =
x3 − x1 5−3 2

f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ] 5/2 − (− 5/6) 5


f [x0 , x1 , x2 , x3 ] = = =
x3 − x0 5−1 6
150 Interpolación

Que podemos disponer en la siguiente tabla:

xi f [xi ] f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ]
1 0
1/2
3 1 − 5/6
− 2/1 5/6
4 −1 5/2

3/1

5 2

Por lo que el polinomio de interpolación es


1 5 5
P (x) = (x − 1) − (x − 1)(x − 3) + (x − 1)(x − 3)(x − 4)
2 6 6

1
= (5x3 − 45x2 + 118x − 78) 
6

La ventaja de este método es que si ahora añadimos un nuevo punto en el so-


porte, sólo habrá que añadir una nueva fila en la tabla que tenı́amos elaborada
para calcular el coeficiente f [x0 , x1 , x2 , x3 , x4 ] y determinar el polinomio
Q(x) = P (x) + f [x0 , x1 , x2 , x3 , x4 ](x − 1)(x − 3)(x − 4)(x − 5)

Ejemplo 3.5 Supongamos que añadimos el punto x4 = 7 con f4 = f (x4 ) = 3


en el soporte del Ejemplo 3.4.
Bastará con completar la tabla

xi f [xi ] 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 151

Resultando que el polinomio de interpolación es ahora


5
Q(x) = P (x) − (x − 1)(x − 3)(x − 4)(x − 5) =
18

1
=− (5x4 − 80x3 + 430x2 − 889x + 534)
18 

Sean Pn (x) y Pn−1 (x) los polinomios de interpolación de la función f (x) en los
soportes {x0 , x1 , . . . , xn } y {x0 , x1 , . . . , xn−1 } respectivamente.
Sabemos que

Pn (x) = Pn−1 (x) + f [x0 , . . . , xn ](x − x0 ) · · · (x − xn−1 )

y además (véase el Teorema 3.2)

f (n (ξ)
f (x) − Pn−1 (x) = (x − x0 ) · · · (x − xn−1 )
n!
Sustituyendo x por xn tenemos:

f (n (ξ)
f (xn ) − Pn−1 (xn ) = (xn − x0 ) · · · (xn − xn−1 )
n!
y dado que f (xn ) = fn = Pn (xn ), se tiene que:

f (n (ξ)
Pn (xn ) − Pn−1 (xn ) = (xn − x0 ) · · · (xn − xn−1 ).
n!

Podemos, por tanto, enunciar la siguiente proposición.

Proposición 3.7 Dado el soporte {x0 , x1 , . . . , xn }, existe un punto c del in-


tervalo [x0 , xn ] tal que el coeficiente f [x0 , . . . , xn ] para una función f (x) n veces
derivable y con derivada n-ésima continua, viene dado por

f (n (c)
f [x0 , . . . , xn ] =
n!

Definición 3.3 [Diferencias finitas]

Dados y0 , y1 , . . . , yn , se definen las diferencias finitas ∆k yi como

∆yi = yi+1 − yi ∆k yi = ∆(∆k−1 yi )


152 Interpolación

Ası́, por ejemplo, para y0 , y1 , y2 , y3 se tendrı́an:


∆y0 = y1 − y0
∆2 y0 = ∆y1 − ∆y0
∆y1 = y2 − y1 ∆3 y0 = ∆2 y1 − ∆2 y0
∆2 y1 = ∆y2 − ∆y1
∆y2 = y3 − y2

Cuando se trabaja con un soporte regular los coeficientes f [x0 , . . . , xk ] pueden


calcularse de forma más rápida utilizando el método de las diferencias finitas.

Proposición 3.8 [Método de las diferencias finitas]

Sea {x0 , x1 , . . . , xn } un soporte regular en el que xi+1 − xi = h cualquiera que


sea i = 0, 2, . . . , n − 1 y sean fi = f (xi ) los valores que toma una función f (x)
en dicho soporte.
Para cualquier valor de k = 1, 2, . . . , n, es:
∆k f0
f [x0 , . . . , xk ] =
hk · k!
Demostración. Haremos inducción en k.
f1 − f0 ∆f0
• Para k = 1 sabemos que f [x0 , x1 ] = = .
x1 − x0 h · 1!
• Supuesto cierto para k vamos a probarlo para k + 1.

∆k f1 ∆k f0
f [x1 , . . . , xk+1 ] − f [x0 , . . . , xk ] k
− k
f [x0 , . . . , xk+1 ] = = h · k! h · k! =
xk+1 − x0 k·h

∆k f1 − ∆k f0 ∆k+1 f0
= =
hk · k! · k · h hk+1 · (k + 1)!

El polinomio de interpolación de f (x) en un soporte regular {x0 , x1 , . . . , xn }


es, por tanto:

∆2 f0
    
x − x0 x − x0 x − x1
Pn (x) = f0 + ∆f0 + + ···
h 2! h h

∆n f0
   
x − x0 x − xn−1
+ ···
n! h h
Interpolación polinomial 153

Teniendo en cuenta que x − xk = x − (x0 + k · h) = (x − x0 ) − k · h, podemos


poner

∆2 f0
    
x − x0 x − x0 x − x0
Pn (x) = f0 + ∆f0 + − 1 + ···
h 2! h h

∆n f0
   
x − x0 x − x0
+ ··· − (n − 1)
n! h h

x − x0
por lo que, si denotamos por t = , se tiene que
h

∆f0 ∆2 f0 ∆n f0
Pn (x) = f0 + t+ t(t − 1) + · · · + t(t − 1) · · · (t − (n − 1))
1! 2! n!
Es decir:
! ! !
t t t
Pn (x) = f0 + ∆f0 + ∆2 f0 + · · · + ∆n f0
1 2 n

Ejemplo 3.6 Sea f (x) una función que toma los valores {3, 45, 175, 441} en
el soporte regular {2, 4, 6, 8}.
Las diferencias finitas vienen dadas por

fi ∆fi ∆2 fi ∆3 fi
3 42 88 48
45 130 136
175 266
441

por lo que
! ! !
t t t
P3 (x) = 3 + 42 + 88 + 48 =
1 2 3
x−2
= 3 + 42 t + 44 t (t − 1) + 8 t (t − 1) (t − 2) con t =
2
de donde se obtiene que el polinomio de interpolación de la función f (x) en
dicho soporte es
P3 (x) = x3 − x2 − x + 1 
154 Interpolación

Obsérvese que si aumentamos el soporte en un número bastará, al igual que


ocurrı́a con el método de las diferencias divididas, con completar la tabla que
ya tenemos realizada para obtener la diferencia finita del orden siguiente y
añadir un sumando a la expresión del polinomio interpolador.

Ejemplo 3.7 Si añadimos el punto 10 al soporte del Ejemplo 3.6 con


f (10) = 915 completamos la tabla

fi ∆fi ∆2 fi ∆3 fi ∆4 fi
3 42 88 48 24
45 130 136 72
175 266 208
441 474
915
!
t
y obtenemos que P4 (x) = P3 (x)+ ∆4 f0 = P3 (x)+t(t−1)(t−2)(t−3) =⇒
4
1
P4 (x) = x3 − x2 − x + 1 + (x − 2)(x − 4)(x − 6)(x − 8) =⇒
16
1 1 31
P4 (x) = x4 − x3 + x2 − 26x + 25 
16 4 4

¿Cuándo debemos realizar la interpolación de Lagrange y cuándo la de Newton?

• Si queremos calcular el polinomio de interpolación de varias funciones


en un mismo soporte, utilizaremos los polinomios de Lagrange, ya que
no dependen de la función a interpolar sino sólo del soporte utilizado.
• Si lo que queremos es interpolar una función en un determinado soporte
e ir añadiendo puntos a este último, obviamente utilizaremos la interpo-
lación de Newton, donde distinguimos dos casos:
– Si el soporte (o posteriores soportes ampliados) no es regular, uti-
lizaremos el método de las diferencias divididas.
– Si el soporte (y posteriores soportes ampliados) es regular, utiliza-
remos el método de las diferencias finitas.

Hay que destacar que cuando hablamos de añadir puntos al soporte, hablamos
de pasar, por ejemplo, del soporte regular {0, 2, 4, 6} al {0, 2, 4, 6, 8, 10} es
decir, de pasar del soporte
{x0 , x1 , . . . , xn } al {x0 , x1 , . . . , xn , xn+1 , . . . , xn+k } con xj > xi si j > i
Interpolación polinomial 155

Otro problema diferente es el siguiente: supongamos que se quiere aproxi-


mar una función f (x) en el intervalo [a, b] y para ello construimos un soporte
{x0 , x1 , . . . , xn } con x0 = a y xn = b.
Si posteriormente pretendemos afinar la aproximación añadiendo mayor canti-
dad de puntos al soporte pero con la condición de que el primero siga siendo a
y el último b, el proceso, tanto si lo hemos realizado mediante la interpolación
de Lagrange o la de Newton, hay que realizarlo de nuevo desde el principio.

¿Hasta qué punto es bueno afinar un soporte?

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→∞

cosa que, sin embargo, no es cierta.


En realidad, al aumentar el número de puntos del soporte se mejora la aproxi-
mación en la parte central del intervalo, pero la diferencia entre la función y el
polinomio interpolador puede aumentar rápidamente en los extremos. Ello nos
dice que no es bueno hacer demasiado extenso el soporte, ya que además de
aumentar el número de operaciones con la consecuente acumulación de errores,
podemos aumentar la pérdida de precisión en los extremos. Este fenómeno es
conocido como fenómeno de Runge.

1
Ejemplo 3.8 Si aproximamos la función f (x) = por un polinomio de
1 + x2
segundo grado, en el soporte {−4, 0, 4}, obtenemos que

1 2
P2 (x) = 1 − x
17
En la Figura 3.2 (Izda.) podemos ver ambas gráficas.
Si la aproximación la hacemos mediante un polinomio de grado 4 en el soporte
{−4, −2, 0, 2, 4} obtenemos

1
P4 (x) = (85 − 21x2 + x4 )
85
que podemos ver representada junto a la función f (x) en la Figura 3.2 (Dcha.).
156 Interpolación

Figura 3.2: Las funciones {f (x), P2 (x)} y {f (x), P4 (x)}

Si afinamos aún más y aproximamos mediante un polinomio de grado 8 en el


soporte {−4, −3, −2, −1, 0, 1, 2, 3, 4} obtenemos
1
P8 (x) = (1700 − 1124x2 + 304x4 − 31x6 + x8 )
1700
cuya gráfica podemos observar en la Figura 3.3.

Figura 3.3: Las funciones f (x) y P8 (x)

Puede verse el hecho comentado anteriormente del fenómeno de Runge. Va-


mos mejorando la aproximación en la parte central del intervalo, pero vamos
empeorándola en los extremos. 

Ejemplo 3.9 Si construimos con MATHEMATICA el polinomio de interpo-


lación de la función log(1 + x) en el soporte {0, 1, 2, 3, 4} y representamos el
resultado en el intervalo [0.5,1.5] obtenemos la gráfica de la Figura 3.4 (Izda.).
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.).
Intercalando los puntos medios para obtener ahora un soporte de 17 puntos
y realizando la gráfica correspondiente obtenemos como resultado el que se
muestra en la Figura 3.5 (Izda.).
Interpolación polinomial 157

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


Sin embargo, si volvemos a utilizar los puntos medios para obtener un soporte
de 33 puntos, podemos ver en la Figura 3.5 (Dcha.) que el fenómeno de Runge
junto a la acumulación de errores hace que el polinomio obtenido deje de ser
una buena aproximación de la función

3.1.3 Interpolación de Hermite

Hasta ahora, las únicas condiciones que le hemos exigido al polinomio de in-
terpolación es que coincida con la función en los puntos del soporte.
Se pueden exigir otro tipo de condiciones, entre las que destaca la de exigir
que además de coincidir los valores del polinomio lo hagan también los de su
primera derivada, es decir, que
)
P (xi ) = f (xi )
en los puntos del soporte {x0 , x1 , . . . , xn }
P 0 (xi ) = f 0 (xi )
158 Interpolación

Consideremos, por tanto, la tabla

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:

P (x0 ) = f0 P 0 (x0 ) = f00


P (x1 ) = f1 P 0 (x1 ) = f10
.. ..
. .
P (xn ) = fn P 0 (xn ) = fn0

Teorema 3.9 [Polinomios de Hermite]

El polinomio
n h
X i
P2n+1 (x) = ak + bk (x − xk ) L2k (x)
k=0

en el que Lk (x) representan los polinomios de Lagrange y

ak = fk
bk = fk0 − 2fk L0k (xk )

es el único polinomio de grado 2n + 1 que interpola a la función f (x) en el


soporte {x0 , x1 , . . . , xn } cumpliendo las condiciones
)
P2n+1 (xk ) = fk = f (xk )
0
k = 0, 1, . . . , n
P2n+1 (xk ) = fk0 = f 0 (xk )

Dicho polinomio recibe el nombre de polinomio de Hermite.

La demostración debe realizarla el alumno a modo de ejercicio.


Interpolación polinomial 159

Teorema 3.10 [Error de interpolación de Hermite]

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

Demostración. Sean d(x) = f (x) − P2n+1 (x) y z(x) = (x − x0 ) · · · (x − xn ) y


considérese la función
d(x)
g(t) = d(t) − 2 z 2 (t)
z (x)
La demostración es similar a la del Teorema 3.2.

Ejemplo 3.10 Si aplicamos este método a la función del Ejercicio 3.8, en el


soporte {−4, −2, 0, 2, 4} obtenemos el polinomio de grado 8 (en realidad se
busca de grado 9 pero al ser una función par, el término de grado 9 se anula)
1
P8 (x) = (7225 − 3129x2 + 569x4 − 41x6 + x8 )
7225
cuya gráfica puede verse en la Figura 3.6 (Izda.).

Figura 3.6: Las funciones {f (x), P8 (x)} y {f (x), P16 (x)}

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 )

que podemos ver en la Figura 3.6 (Dcha.). 


160 Interpolación

Si comparamos con los resultados obtenidos en el Ejercicio 3.8, podemos ob-


servar la mejora que produce la imposición de que coincidan no sólo los valores
de la función, sino que también lo hagan los de su derivada, en los puntos del
soporte. Sin embargo, sigue manifestándose el fenómeno de Runge, es decir,
se mejora el resultado en la parte central del intervalo, pero en los extremos,
la diferencia entre el polinomio interpolador y la función es considerable.

¿Es posible interpolar una función sin que aparezca el fenómeno de Runge?

La manera de evitarlo es hacer una interpolación polinomial a trozos, es decir,


lo que se conoce como una interpolación por splines.

3.2 Interpolación por splines


Consideremos una partición del intervalo [a, b]

∆ = {x0 = a < x1 < · · · < xn−1 < xn = b}

en la que los puntos xi reciben el nombre de nodos.


Una interpolación por splines consiste en tomar un soporte en cada subinter-
valo [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 interpolación polinomial a trozos. Damos a continuación una
definición formal de lo que denominaremos función spline.

Definición 3.4 [Función spline]

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 continuidad. Las condiciones
que debe cumplir S(x) son las siguientes:

• En cada intervalo [xi−1 , xi ), S(x) es un polinomio de grado gr[S(x)] ≤ k,

• S(x) admite derivada continua de orden k − 1 en [x0 , xn ].

En general, pueden crearse funciones spline de grado k, pero la interpolación


más frecuente es a través de funciones spline de grado 3, es decir, de splines
cúbicos.
Interpolación por splines 161

3.2.1 Splines cúbicos


Dado que a partir de ahora vamos a trabajar con splines cúbicos, vamos a
concretar la Definición 3.4 al caso de k = 3.

Definición 3.5 [Función spline cúbico]

Dado el conjunto de puntos ∆ = {x0 , x1 , . . . , xn }, diremos que la función Sδ


es un spline cúbico asociado a ∆ si cumple las siguientes condiciones:

a) La restricción de S∆ a cada intervalo [xi−1 , xi ) para i = 1, 2, . . . n es


un polinomio de grado no superior a tres. Es decir, S∆|[xi−1 ,xi ] ∈ P3 [x],
donde P3 [x] representa al conjunto de los polinomios de grado menor o
igual a tres.
b) S∆ ∈ C 2 [a, b], es decir, S∆ es una función continua, dos veces derivable
y con derivadas continuas en el intervalo [a, b].

Definición 3.6 [Spline de interpolación]

Diremos que S∆ (x) es un spline de interpolación en x según la partición ∆, si

a) S∆ (x) es un spline cúbico asociado a ∆.


b) S∆ (xi ) = f (xi ) = yi para i = 0, 1, . . . , n, es decir, cumple las condiciones
de interpolación.

¿Cuántas incógnitas aparecerán en el spline en función de las condiciones que


se han de cumplir?
Si en cada intervalo de la partición intentamos construir un polinomio de
grado tres que aproxime a la función, deberemos calcular cuatro incógnitas
(los cuatro coeficientes del polinomio de grado tres) por intervalo, es decir, 4n
incógnitas.
Por otro lado, estos polinomios deben cumplir, en cada uno de los nodos, las
condiciones:
S∆|[ xi−1 ,xi ] (xi ) = S∆|[ xi ,xi+1 ] (xi )
0 0
S∆| [ xi−1 ,xi ]
(xi ) = S∆| [ xi ,xi+1 ]
(xi ) i = 1, 2, . . . , n − 1 (3.2)
00 00
S∆| [ xi−1 ,xi ]
(xi ) = S∆| [ xi ,xi+1 ]
(xi )

Es decir, se deben cumplir un total de 3(n − 1) condiciones además de las n + 1


condiciones de interpolación
S∆ (xi ) = f (xi ) i = 0, 1, . . . , n
162 Interpolación

Dado que tenemos un total de 4n incógnitas para 4n − 2 condiciones, debemos


imponer dos nuevas condiciones para poder determinar los coeficientes de la
función spline. Dependiendo de las condiciones que impongamos, obtendremos
un tipo de spline u otro.

• Si exigimos que las derivadas segundas se anulen en los extremos, es


decir, si
00 00
S∆ (a) = S∆ (b) = 0
diremos que S∆ (x) es el spline natural asociado a la partición ∆.
• Si exigimos que
0 0 00 00
S∆ (a) = S∆ (b), S∆ (a) = S∆ (b)

diremos que se trata de un spline periódico.

Cálculo de los splines cúbicos de interpolación

Nos centraremos en el cálculo de los splines naturales y con al fin de simplificar


la notación, llamaremos

hi = xi − xi−1 i = 1, 2, . . . , n
00
Mi = S∆ (xi ) i = 0, 1, . . . , n

Los valores Mi se denominan momentos y determinarán completamente los


splines cúbicos.
Obsérvese, en primer lugar, que como en cada intervalo [xi , xi+1 ] el spline S∆
es un polinomio de grado tres, su segunda derivada es una recta (un polinomio
de grado uno). En consecuencia, al imponer las condiciones (3.2) sobre la
igualdad de las derivadas segundas en los nodos, obligamos a que la segunda
00
derivada de la función spline S∆ (x) constituya un conjunto de rectas que se
intersecan en los nodos de la partición elegida. Ahora bien, dado que cada
recta queda determinado por dos puntos, podemos escribir el valor de las
00
restricciones (3.2) sobre S∆| [x ,x ]
como
i i+1

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
0 Mi (xi+1 − x)2 Mi+1 (x − xi )2
S∆| (x) = − + + Ai .
[x ,x
i i+1 ]
2 hi+1 2 hi+1
Interpolación por splines 163

Volviendo a integrar respecto a x obtenemos

Mi (xi+1 − x)3 Mi+1 (x − xi )3


S∆|[xi ,xi+1 ] (x) = + + Ai (x − xi ) + Bi .
6 hi+1 6 hi+1

Si imponemos ahora las condiciones de interpolación

S∆ (xi ) = yi , S∆ (xi+1 ) = yi+1

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

Podemos, por tanto, determinar los valores de las constantes Ai y Bi , que


determinan el valor de S∆ (x) en el intervalo [xi , xi+1 ], en función de los mo-
mentos.
El problema se reduce, por tanto, a calcular los momentos para cada uno de los
intervalos, para lo que utilizaremos la única condición de (3.2) que no hemos
utilizado:
0 0
S∆| [x
(xi ) = S∆| (xi ).
i−1 ,xi ] [x ,x
i i+1 ]

Esta condición nos da, para cada i = 1, 2, . . . , n − 1, una ecuación:


 
hi hi+1 6 yi+1 − yi yi − yi−1
Mi−1 + 2Mi + Mi+1 = −
hi + hi+1 hi + hi+1 hi + hi+1 hi+1 hi

En el caso del spline natural tenemos que M0 = M − n = 0, quedándonos el


sistema tridiagonal de n − 1 ecuaciones con n − 1 incógnitas
 
h2
2
h1 + h2 
 
h2 h3   M1
 
2
 
  M
 h2 + h3 h2 + h3  2 
.. .. ..  . 
.

. . .  . =
 
 
 ... ... hn−1   .. 
  . 
hn−2 − hn−1
  
  M
 hn−1  n−1
2
hn−1 + hn
164 Interpolación

 
6 y2 − y1 y1 − y0
 

 h1 + h2  h2 h1  
6 y3 − y2 y2 − y1
 

 
 
 h2 + h3 h3 h2 
=
 .. 
 . 

 .. 

  . 


 6 yn − yn−1 yn−1 − yn−2 

hn−1 + hn hn hn−1
Este sistema puede resolverse por cualquiera de los métodos iterados estudia-
dos en el Capı́tulo 2 ya que, al ser la matriz del sistema de diagonal dominante,
todos ellos son convergentes.

Ejemplo 3.11 Si aplicamos le interpolación por splines cúbicos a la función


del Ejemplo 3.8
1
f (x) = en la partición ∆ = {−4, −3, −2, −1, 0, 1, 2, 3, 4}
1 + x2
obtenemos, utilizando MATHEMATICA, el resultado de la Figura 3.7, que
puede verse que, independientemente de ser mejor que el que se obtuvo en
la Figura 3.6 (Dcha.) con el método de Hermite, no aparece el fenómeno de
Runge.

Figura 3.7: Las funciones f (x) y S∆ (x)




3.3 Ejercicios resueltos


Ejercicio 3.1 Obtener el polinomio de interpolación de Hermite de la función
f (x) = ln x en el soporte S = {1, 2} y, supuesto conocido ln 2, aproximar el
valor de ln 1.5 acotando el error cometido.
Ejercicios resueltos 165

Solución:
f (x) = ln x =⇒ f (1) = 0 f (2) = ln 2
1
f 0 (x) = =⇒ f 0 (1) = 1 f 0 (2) = 0.5
x
Los polinomios de Lagrange en el soporte {1, 2}
x−2 x−1
L0 (x) = =2−x y L1 (x) = =x−1
1−2 2−1

n h
X i  ak = f (xk )
P2n+1 (x) = ak +bk (x−xk ) L2k (x) con
bk = f 0 (xk ) − 2f (xk )L0k (x − k)

k=0
h i h i
Para n = 1 se tiene: P3 (x) = a0 + b0 (x − 1) L20 (x) + a1 + b1 (x − 2) L21 (x)
con
a0 = f (1) = 0 b0 = f 0 (1) − 2f (1)L01 (1) = 1 − 2 · 0 · 1 = 1

a1 = f (2) = ln 2 b1 = f 0 (2) − 2f (2)L02 (2) = 0.5 − 2 · ln 2 · 1 = 0.5 − 2 ln 2

de donde
h i
P3 (x) = (x − 1)L20 (x) + ln 2 + (0.5 − 2 ln 2)(x − 2) L21 (x)

y sustituyendo los valores de L0 (x) y L1 (x) obtenemos


h i
P3 (x) = (x − 1)(2 − x)2 + ln 2 + (0.5 − 2 ln 2)(x − 2) (x − 1)2

Para x = 10 5
h i
P3 (1.5) = 0.5 · 0.52 + ln 2 + (0.5 − 2 ln 2)(−0.5) · 0.52 ' 0.409073590

El error viene dado por:


|f (ıv (x)| |f (ıv (x)|
ε(x) ≤ ω 2 (x) máx = (x − 1)2 (x − 2)2 máx =
x∈[1,2] (2n + 2)! x∈[1,2] 4!

(x − 1)2 (x − 2)2 −6 (x − 1)2 (x − 2)2



= máx =
24 x∈[1,2] x4 4
0.52 · (0.52 )
ε(1.5) ≤ = 0.015625
4
Es decir:

ln 1.5 = 0.409073590 con un error ε ≤ 0.015625.


166 Interpolación

Ejercicio 3.2 Obtener el polinomio de interpolación de los puntos:


(0, −5), (1, −3), (2, 1), (3, 13)

a) Mediante resolución de un sistema de ecuaciones.


b) Mediante la fórmula de Lagrange
c) Mediante la fórmula de Newton para diferencias divididas.
d) Mediante la fórmula de Newton para diferencias finitas.

Solución:

a) Al tener cuatro puntos, el polinomio que debemos buscar es de grado


tres, P (x) = a3 x3 + a2 x2 + a1 x + a0 .

P3 (0) = a0 = −5

P3 (1) = a3 + a2 + a1 + a0 = −3

P3 (2) = 8a3 + 4a2 + 2a1 + a0 = 1

P3 (3) = 27a3 + 9a2 + 3a1 + a0 = 13


Obtenemos el sistema:
    
1 0 0 0 a0 −5
 1 1 1 1  a1   −3 
=
    
  
 1 2 4 8  a2   1 
1 3 9 27 a3 13
que resolviéndolo nos da
a0 = −5, a1 = 3, a2 = −2 y a3 = 1
por lo que el polinomio de interpolación es
P3 (x) = x3 − 2x2 + 3x − 5

b) Dado que el soporte es el canónico para n = 3, los polinomios de La-


grange (véase la solución del Ejercicio 3.3) son:
1 11 1 3
L0 (x) = − x3 + x2 − x + 1 L2 (x) = − x3 + 2x2 − x
6 6 2 2
1 3 5 2 1 3 1 2 1
L1 (x) = x − x + 3x L3 (x) = x − x + x
2 2 6 2 3
Ejercicios resueltos 167

Como P3 (x) = y0 L0 (x) + y1 L1 (x) + y2 L2 (x) + y3 L3 (x), se tiene:


1 11 1 5
P3 (x) = −5 · (− x3 + x2 − x + 1) − 3 · ( x3 − x2 + 3x)+
6 6 2 2
1 3 1 1 1
+ 1 · (− x3 + 2x2 − x) + 13 · ( x3 − x2 + x) =⇒
2 2 6 2 3
P3 (x) = x3 − 2x2 + 3x − 5

c) Comenzamos por construir la tabla de diferencias divididas:

xi f (xi ) f [xi xj ] f [xi xj xk ] f [xi xj xk xh ]

0 -5
2
1 −3 1
4 1
2 1 4
12
3 13

P3 (x) = f (x0 ) + (x − x0 )f [x0 x1 ] + (x − x0 )(x − x1 )f [x0 x1 x2 ]+

+ (x − x0 )(x − x1 )(x − x2 )f [x0 x1 x2 x3 ] =⇒

P3 (x) = −5+2·(x−x0 )+1·(x−x0 )(x−x1 )+1·(x−x0 )(x−x1 )(x−x2 ) =

= −5 + 2x + x(x − 1) + x(x − 1)(x − 2) =⇒

P3 (x) = x3 − 2x2 + 3x − 5

d) La tabla de diferencias finitas es

x1 f (xi ) ∆f (xi ) ∆2 f (xi ) ∆3 f (xi )


0 -5 2 2 6
1 −3 4 8
2 1 12
3 13
! ! ! !
t t t t
P3 (x) = f (x0 ) + ∆f (x0 ) + ∆2 f (x0 ) + ∆3 f (x0 )
0 1 2 3
168 Interpolación

x − x0 x−0
donde t = = = x, por lo que:
h 1
! ! ! !
x x x x
P3 (x) = −5 +2 +2 +6 =
0 1 2 3
x(x − 1) x(x − 1)(x − 2)
= −5 + 2x + 2 +6 =
2! 3!
= −5 + 2x + x(x − 1) + x(x − 1)(x − 2) =⇒

P3 (x) = x3 − 2x2 + 3x − 5

3.4 Ejercicios propuestos


Ejercicio 3.3 Calcular los polinomios de Lagrange para el soporte canónico
con 1 ≤ n ≤ 3.

Sol :

n=1 n=2 n=3

1 3 1
L0 (x) −x + 1 (x − 3x + 2) − (x3 − 6x2 + 11x − 6)
2 6
1 3
L1 (x) x −x2 + 2x (x − 5x2 + 6x)
2
1 2 1
L2 (x) − (x − x) − (x3 − 4x2 + 3x)
2 2
1 3
L3 (x) − − (x − 3x2 + 2x)
6

Ejercicio 3.4 Hallar el polinomio de interpolación de la función f (x) = 2x4


en el soporte canónico S = {0, 1, 2, 3}. Obtener una expresión del error.

Sol : P3 (x) = 12x3 − 22x2 + 12x con ε(x) = 2x(x − 1)(x − 2)(x − 3).

Ejercicio 3.5 Hallar el polinomio de√interpolación de la función f (x) = ex en


el soporte {0, 1} y con él, aproximar e estimando el error cometido.
e √
Sol : P1 (x) = (e − 1)x + 1 con ε ≤ x(x − 1). e ' 1.85914 con ε ≤ 0.34.
2
Ejercicios propuestos 169

Ejercicio 3.6 Obtener el polinomio de interpolación de los puntos:


(7, 3), (8, 1), (9, 1), (10, 9)
basándose en los polinomios de Lagrange para el soporte canónico.

Sol : P3 (x) = x3 − 23x2 + 174x − 431.

Ejercicio 3.7 Probar que F (n) = 12 + 22 + 32 + · · · + n2 es un polinomio en


n y obtenerlo por interpolación.
1
Sol : F (n) = n(n + 1)(2n + 1).
6

Ejercicio 3.8 Dada la función f (x) = ex , se pide:

a) Hallar el polinomio de interpolación en el soporte {−1, 0, 1} y una cota


del error en el intervalo [−1, 1].
e2 − 2e + 1 2 e2 − 1
Sol : P2 (x) = x + x + 1 ' 0.54308x2 + 1.17520x + 1.
√ 2e 2e
3e
ε≤ < 0.175.
27
b) Calcular P (0.01) y compararlo con el valor dado por la calculadora para
e0.01 .

Sol : P2 (0.01) ' 1.01181, e0.01 ' 1.01005, |P2 (0.01) − e0.01 | = 0.00176.

x 0 1 2 3
Ejercicio 3.9 Dada la tabla se pide:
y −1 6 31 98

a) Hallar su polinomio de interpolación por el método de los polinomios de


Lagrange.

Sol : P3 (x) = 4x3 − 3x2 + 6x − 1.


b) Determinar la forma general de todos los polinomios de cuarto grado que
satisfacen dicha tabla, determinando aquel que verifica que para x = 4
es y = 255.

Sol : P (x) = 4x3 − 3x2 + 6x − 1 + α · x(x − 1)(x − 2)(x − 3).


P (x) = x4 − 2x3 + 8x2 − 1
c) Determinar los polinomios anteriores (para los soportes {0, 1, 2, 3} y
{0, 1, 2, 3, 4}) por el método de las diferencias divididas de Newton.
4. Integración numérica

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:

• Conocida una primitiva F (x) de la función f (x) sabemos que


Z b
f (x)dx = F (b) − F (a)
a

pero necesitamos aproximar el valor de F (b) − F (a).


Ası́, por ejemplo,
Z 2
1 h i2
dx = log x = log 2 − log 1 = log 2
1 x 1

pero hay que aproximar el valor de log 2.


• Si se conoce la función f (x), pero no se conoce ninguna primitiva suya,
se busca otra función g(x) que aproxime a la función f (x) y de la cual
sı́ se conozcan primitivas.
Z 2 x
e
Ası́, por ejemplo, para calcular dx, se desarrolla en serie de poten-
1 x
cias
xn
ex 1 + x + ··· + n−1
f (x) = = n! + ε(x) = 1 + 1 + · · · + x + ε(x) =
x x x n!
= g(x) + ε(x)
Z 2 Z 2 Z 2
f (x)dx = g(x)dx + ε(x)dx
1 1 1
Z 2
en donde habrá que evaluar ε(x)dx.
1

171
172 Integración numérica

• Sólo se conocen los valores de f (x) en un soporte {x0 , x1 , . . . , xn }.


En éste caso, se interpola la función (por ejemplo mediante la interpo-
lación polinómica).
Z b Z b Z b (n + 1
f (c)
f (x)dx = Pn (x)dx + (x − x0 )(x − x1 ) · · · (x − xn )dx
a a a (n + 1)!

4.1 Fórmulas de cuadratura


Si realizamos la interpolación de Lagrange, y llamamos

z(x) = (x − x0 )(x − x1 ) · · · (x − xn ),

el polinomio de interpolación es

Pn (x) = y0 L0 (x) + y1 L1 (x) + · · · + yn Ln (x)

donde los polinomios de Lagrange Li (x) pueden expresarse (véase (3.1)) de la


forma
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 (x) es un polinomio de grado no superior a n, f (x) − P (x) = 0,
por lo que para polinomios es
Z b n
X
P (x)dx = ai P (xi )
a i=1

Por tanto:

P (x) = 1 =⇒ b − a = a0 + a1 + · · · + an 

b2 − a2


P (x) = x =⇒ = a0 x0 + a1 x1 + · · · + an xn



2 

....................................................... (4.1)

.......................................................




bn+1 − an+1


P (x) = xn =⇒ = a0 xn0 + a1 xn1 + · · · + an xnn


n+1
Fórmulas de cuadratura 173

sistema, que en forma matricial es


 
   b−a
1 1 ··· 1 a0  b 2 − a2 
x0 x1 · · · x n   a1  
    
 2 
.. .. .. .   . = ..
   

 . . . ..   ..   .


n+1
x0 xn1
n
· · · xnn an
 a − bn+1 
n+1
admite solución única ya que el determinante de su matriz es un Vandermonde
y, por tanto, no nulo.

Una vez calculados los coeficientes ai se obtiene una fórmula de aproximación


que sólo dependerá del soporte.
Para cada soporte, las fórmulas reciben el nombre de fórmulas de cuadratura.

Ejemplo 4.1 Vamos a integrar una función f (x) en [0, 1] considerando los
soportes:
S1 = {0, 1/3, 1/2} y S2 = { 1/4, 1/2, 3/4}.

a) En el soporte S1 = {0, 1/3, 1/2}


Z 1
f (x)dx ' a0 f (0) + a1 f ( 1/3) + a2 f ( 1/2)
0

El sistema a resolver es, en este caso:

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
cuya solución es

1 3
a0 = a1 = − a2 = 2
2 2
luego
Z 1
1 3
f (x)dx ' f (0) − f ( 1/3) + 2f ( 1/2)
0 2 2
174 Integración numérica

b) En el soporte S2 = { 1/4, 1/2, 3/4}


Z 1
f (x)dx ' b0 f ( 1/4) + b1 f ( 1/2) + b2 f ( 3/4)
0

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 2
f (x)dx ' f ( 1/4) − f ( 1/2) + f ( 3/4)
0 3 3 3 

4.2 Fórmulas de Newton-Cötes


Las formas más generalizadas de aproximación de la integral de una función
f (x) se realizan mediante uno de los dos procesos siguientes:

• Dando un soporte (generalmente regular) y los valores de la función en


los puntos del soporte. Fórmulas de Newton-Cötes.

• Dando diferentes soportes y buscando el polinomio P (x) que hace más


Z b
pequeña la integral (f (x) − P (x))dx. Fórmulas de Gauss que no se
a
verán en este curso.

Cálculo de los coeficientes de Newton-Cötes

Partamos del soporte regular {x0 , x1 , . . . , xn } con

x0 = a x1 = a + h ··· xi = a + ih ··· xn = a + nh = b
Fórmulas de Newton-Cötes 175

Si llamamos z(x) = (x − x0 )(x − x1 ) · · · (x − xn ) se tiene que los polinomios


de Lagrange son

(x − x0 )(x − x1 ) · · · (x − xn )
Li (x) = =
(x − xi )(xi − x0 ) · · · (xi − xi−1 )(xi − xin1 ) · · · (xi − xn )

(x − a)(x − a − h) · · · (x − a − nh)
= =
(x − a − ih) ih (i − 1)h · · · h (−h) (−2h) · · · (−(n − i)h)

(x − a)(x − a − h) · · · (x − a − nh)
= =
(x − a − ih) · i! · (n − i)! · hn−1 · (−1)n−i
 x − a  x − a  x − a 
− 1 ··· −n
=h h h h =
(x − a − ih) · i! · (n − 1)! · (−1)n−i
 x − a  x − a  x − a 
− 1 ··· −n
=  xh − a h h
− i · i! · (n − 1)! · (−1)n−i
h

x−a
Por lo que haciendo t = se tiene que
h
t(t − 1) · · · (t − n)
Li (x) =
(t − i) · i! · (n − i)! · (−1)n−i

Por tanto:
n n
t(t − 1) · · · (t − n)
Z Z
ai = Li (x)dx = hdt =
0 0 (t − i) · i! · (n − i)! · (−1)n−i
n
(−1)n−i h t(t − 1) · · · (t − n)
Z
= dt =⇒
i! · (n − i)! 0 t−i
!
n
n−i
i Z n
z(t)
ai = h(−1) dt
n! 0 t−i
que son los coeficientes de Newton-Cötes.

Proposición 4.1 [Simetrı́a de los coeficientes de Newton-Cötes]

Los coeficientes de Cötes verifican que ak = an−k .


176 Integración numérica

Demostración.
!
n
k
n−k Z
z(t) n
an−k = h(−1) dt
n! 0 t − (n − k)
Haciendo t − n = −u =⇒ dt = −du se tiene que

!
n
k+1
n−k Z n
(−u + n)(−u + n − 1) · · · (−u)
an−k = h(−1) du =
n! 0 −u + k
!
n
k+1+n+1
n−k Z n
u(u − 1) · · · (u − n)
= h(−1) du =
n! 0 u−k
!
n
n+k
k Z n
u(u − 1) · · · (u − n)
= h(−1) du =
(−1)2k n! 0 u−k
!
n
n−k
k Z n
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.

Teorema 4.2 [Error de aproximación]

Al aplicar la fórmula de Newton-Cötes para un entero n, el error que se comete


viene dado por:

• Si n es par:
n
n+3 (n + 2 Z
h f (c)
εn = t · t(t − 1) · · · (t − n)dt
(n + 2)! 0

• Si n es impar:
n+2 (n + 1 Z n
h f (c)
εn = (t − 1) · · · (t − n)dt
(n + 1)! 0
Fórmulas de Newton-Cötes 177

Las Fórmulas de Newton-Cötes en los casos n = 1 y n = 2 son conocidas como


Fórmula del trapecio y Fórmula de Simpson respectivamente.

4.2.1 Fórmula del trapecio


La fórmula de Newton-Cötes para el caso n = 1 sólo tiene dos coeficientes, a0
y a1 .
Como por la Proposición 4.1 es a0 = a1 y por las ecuaciones (4.1) es
b−a
ao + a1 = b − a =⇒ a0 = a1 =
2
por lo que
Z b
b−a b−a  f (a) + f (b) 
f (x)dx ' f (a) + f (b) = (b − a)
a 2 2 2

El método del trapecio nos aproxima la integral por el área de la 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).

f (x)
f (b) !
!
!!!
!
!!!
!!
f (a) !

a b
Figura 4.1: Método del trapecio

El error de aproximación viene dado (véase el Teorema 4.2) por

(b − a)3 · |f 00 (c)| (b − a)3


ε= ≤ máx |f 00 (x)|
12 12 x∈[a,b]
178 Integración numérica

Ejemplo 4.2 Al aplicar la fórmula del trapecio a la integral


Z 2
ln x dx
1

obtenemos:
Z 2
ln 2 + ln 1 ln 2
ln x dx ' 1 · = ' 0.34657359027997
1 2 2
El error vendrá dado por
(b − a)3

00 1 1 1 1
ε≤ máx |f (x)| = máx 2 = 1= = 0.08333333333333
12 x∈[1,2] 12 x∈[1,2] x 12 12


4.2.2 Fórmula de Simpson


a+b
Para el caso n = 2 tenemos que x0 = a, x1 = y x2 = b.
2
!
n
n−0
0 Z 2 t(t − 1)(t − 2) b − a h t3 t2 i2 b − a
a0 = h(−1) dt = − 3 + 2t =
n! 0 t−0 4 3 2 0 6
b−a
a2 = a0 =
6
b−a 2(b − a)
Dado que a0 + a1 + a2 = b − a, se tiene que a1 = b − a − 2 = .
6 3
Se tiene, por tanto, que
Z b
b−a 2(b − a) a + b b−a
f (x)dx ' f (a) + f( )+ f (b)
a 6 3 2 6
o, lo que es lo mismo:
Z b  
b − ah a+b i
f (x)dx ' f (a) + 4f + f (b)
a 6 2

El error cometido en la aproximación numérica de la integral vendrá dado


(véase el Teorema 4.2) por
 5
b−a
|f (ıv (c)|
2 (b − a)5 (ıv (b − a)5
ε= = |f (c)| ≤ máx |f (ıv (x)|
90 2880 2880 x∈[a,b]
Fórmulas compuestas 179

Ejemplo 4.3 Para calcular la integral del Ejemplo 4.2 por el método de Simp-
son obtenemos
Z 2
1 3 1
ln x dx ' (ln 1 + 4 ln + ln 2) = (4 ln 3 − 3 ln 2) ' 0.38583460216543
1 6 2 6
y el error vendrá dado por

(b − a)5

(ıv
1 6 1
ε =≤ máx |f (x)| = máx 4 = 6 = 0.00208333333333
2880 x∈[a,b] 2880 x∈[1,2] x 2880


4.3 Fórmulas compuestas

4.3.1 Simpson para n par


Descomponiendo el soporte en {x0 , x1 , x2 } ∪ {x2 , x3 , x4 } ∪ · · · ∪ {xn−2 , xn−1 , xn }
se obtiene que

b
x2 − x0 h
Z i
f (x)dx ' f (x0 ) + 4f (x1 ) + f (x2 ) +
a 6
x4 − x2 h i
+ f (x2 ) + 4f (x3 ) + f (x4 ) + · · · +
6
xn − xn−2 h i
+ f (xn−2 ) + 4f (xn−1 ) + f (xn ) =
6
hh
= f (x0 ) + 4f (x1 ) + 2f (x2 ) + 4f (x3 ) + 2f (4 ) + · · · +
3 i
+ 2f (xn−2 ) + 4f (xn−1 ) + f (xn ) =

h    
= f (x0 ) + f (xn ) + 2 f (x2 ) + · · · + f (xn−2 ) +
3
 
+ 4 f (x3 ) + · · · + f (xn−1 )

Llamando
X X
E = f (x0 ) + f (xn ) P = f (xi ) I= f (xi )
i par ı impar
i 6= 0
i 6= n

se tiene que Z b
h
f (x)dx ' (E + 2P + 4I)
a 3
180 Integración numérica

El error viene dado por


h5 (ıv h5 n
ε= |f (c1 ) + f (ıv (c2 ) + · · · + f (ıv (c n2 )| ≤ máx |f (ıv (x)| · =⇒
90 90 x∈[a,b] 2
(b − a)5
ε≤ máx |f (ıv (x)|
180 n4 x∈[a,b]

Ejemplo 4.4 Volvamos a calcular la integral del Ejemplo 4.2 por la fórmula
compuesta de Simpson para n = 10.

E = ln 1 + ln 2 = ln 2 ' 0.69314718055995
P = ln 1.2 + ln 1.4 + ln 1.6 + ln 1.8 ' 1.57658408756302
I = ln 1.1 + ln 1.3 + ln 1.5 + ln 1.7 + ln 1.9 ' 1.93562168961455
por lo que
Z 2
1
ln x dx ' (0.69314718055995+2·1.57658408756302+4·1.93562168961455)
1 30
Z 2
ln x dx ' 0.38629340380481
1
con una cota de error de
(b − a)5

1 6 1
ε≤ 4
(ıv
máx |f (x)| = máx 4 = 6 ≤ 3.3334 · 10−6
180 n x∈[a,b] 1800000 x∈[1,2] x 1800000


4.3.2 Trapecios para n impar


Con un proceso análogo al anterior obtenemos que

Z b  
h     
f (x)dx ' f (x0 ) + f (x1 ) + f (x1 ) + f (x2 ) + · · · + f (xn−1 + f (xn )
a 2

b  
b−a 
Z  
f (x)dx ' f (x0 ) + f (xn ) + 2 f (x1 ) + f (x2 ) + · · · + f (xn−1 )
a 2n

El error que se comete viene dado por


h3 00 h3
ε≤ |f (c1 ) + f 00 (c2 ) + · · · + f 00 (cn )| ≤ n · máx |f 00 (x)| =⇒
12 12 x∈[a,b]
Ejercicios resueltos 181

(b − a)3
ε≤ 2
máx |f 00 (x)|
12 n x∈[a,b]

Ejemplo 4.5 Calculemos de nuevo la integral del Ejemplo 4.2 por la fórmula
compuesta de los trapecios para n = 5.
Z 2
1
ln x dx ' [(ln 1 + ln 2) + 2(ln 1.2 + ln 1.4 + ln 1.6 + ln 1.8)]
1 10

1
' 3.84631535568599 = 0.38463153556860
10
con una cota de error de
(b − a)3

00 1 1
= 1 ≤ 0.0034
ε≤ 2
máx |f (x)| = máx
12 n x∈[a,b] 300 x∈[1,2] x2 300


4.4 Ejercicios resueltos


Ejercicio 4.1 Probar que los coeficientes ak de las fórmulas de Newton-Cötes
verifican que
n
X (−1)k ak
n
! = 0.
k=0 k

Solución: Como la expresión de los coeficientes es


!
n Z n
n−k k z(t)
ak = h(−1) dt donde z(t) = t(t − 1) · · · (t − n),
n! 0 t − k
el sumatorio se transforma en
!
n n  n
n
(−1)k ak (−1)k
Z 
X X
n−k k z(t)
! = ! h(−1) dt =
k=0
n
k k=0
n
k
n! 0 t − k
n h n n
(−1)n (−1)n n h X z(t) i
Z Z
X z(t) i
= h dt = h dt.
k=0
n! 0 t−k n! 0 k=0
t−k

Podemos ver que el integrando es precisamente z 0 (t)


n
X z(t) z(t) z(t) z(t) z(t)
= + + + ··· + =
t−k t t−1 t−2 t−k
k=0
h i h i
= (t − 1)(t − 2) · · · (t − n) + · · · + t(t − 1) · · · (t − n + 1) = z 0 (t)
182 Integración numérica

y, en consecuencia,
n n
(−1)k ak (−1)n (−1)n h (−1)n h
X Z in i
! =h z 0 (t)dt = h z(t) = h z(n) − z(0) .
k=0
n
k
n! 0 n! 0 n!
n
X (−1)k ak
Al ser z(n) = z(0) = 0, podemos asegurar que n
! = 0.
k=0 k

1
1 − x2
Z
Ejercicio 4.2 Dada la integral dx se pide:
0 1 + x2

a) Calcularla exactamente.
b) Calcularla, aproximadamente, por la fórmula básica de Simpson.
c) Calcularla por la fórmula compuesta de Simpson de 11 sumandos.
d) Aplicar la siguiente fórmula:
Z 1
1h p p i
f (x) dx ' 5f (− 3/5) + 8f (0) + 5f ( 3/5)
−1 9
comprobando que integra, exactamente, polinomios de grado ≤ 5.

Solución:
Z 1 Z 1
1 − x2 2  h i1 π
a) 2
dx = −1+ 2
dx = − x + 2 arctg x = −1 +
0 1+x 0 1+x 0 2
Z 1
1 − x2 π
2
dx = −1 + ' 2.57079632679490
0 1+x 2

b) La fórmula básica de Simpson (n = 2) establece que:


Z 1
hh i 1−0 1
f (x) dx ' f (0) + 4f (0.5) + f (1) donde h = = .
0 3 2 2
por lo que
Z 1
1 − x2 1
2
dx ' (1 + 4 · 0.6 + 0) ' 0.56666666666667
0 1+x 6
con una cota de error
(b − a)5 1 1
ε≤ máx |f (ıv (x)| = 48 = ≤ 0.00416666666667
2880 x∈[a,b] 2880 240
Ejercicios resueltos 183

c) La fórmula compuesta de Simpson de once sumandos (n = 10) es:


Z 1
h h i
f (x) dx ' f (0) + f (1) + 4 f (0.1) + f (0.3) + f (0.5) + f (0.7) + f (0.9) +
0 3
!
h i
+2 f (0.2) + f (0.4) + f (0.6) + f (0.8)

donde h = 1/10. En nuestro caso:

1
1 − x2
Z
1
2
dx ' (1 + 11.44925864003328 + 4.67463056905495) =⇒
0 1+x 30

1
1 − x2
Z
dx ' 0.57079630696961
0 1 + x2
Con un error
(b − a)5 1
ε≤ máx |f (ıv
(x)| = 48 ≤ 2.6667 · 10−5
180 n4 x∈[a,b] 1800000

d) Aunque los lı́mites de la integral que nos piden son 0 y 1, al ser el


integrando una función par, podemos hacer:
Z 1
1 − x2 1 1 1 − x2
Z
2
dx = dx, por lo que puede aplicarse la fórmula.
0 1+x 2 −1 1 + x2
p p 1 − 3/5 1
f (0) = 1 f (− 3/5) = f ( 3/5) = =
1 + 3/5 4
1
1 − x2
Z
1 1 1 1 1 21 7
2
dx ' · 5 · + 8 · 1 + 5 · = · =
0 1+x 2 9 4 4 18 2 12
Z 1
1 − x2
2
dx ' 0.58333333333333
0 1+x

Veamos. por último, que la fórmula es exacta para polinomios de grado


no superior a cinco.

 k+1 1 2
Z 1
x 1 − (−1)k+1

 si k es par,
xk dx = = = k+1
−1 k + 1 −1 k+1 
 0 si k es impar.
184 Integración numérica

Por tanto:
Z 1 Z 1 Z 1
2
1 · dx = 2 x dx = 0 x2 dx =
−1 −1 −1 3
Z 1 Z 1 Z 1
3 4 2
x dx = 0 x dx = x5 dx = 0
−1 −1 5 −1

La suma de cuadratura (fórmula a aplicar) para estas funciones es:


1
f (x) = 1; S = (5 · 1 + 8 · 1 + 5 · 1) = 2
9
1h p p i
f (x) = x; S = 5 · (− 3/5) + 8 · 0 + 5 · ( 3/5) = 0
9
1 3 3 2
f (x) = x2 ; S = (5 · + 8 · 0 + 5 · ) =
9 5 5 3
1 h p p i
f (x) = x3 ; S = 5 · (− 3/5)3 + 8 · 0 + 5 · ( 3/5)3 = 0
9
1 9 9 2
f (x) = x4 ; S = (5 · +8·0+5· )=
9 25 25 5
1 h p p i
f (x) = x5 ; S = 5 · (− 3/5)5 + 8 · 0 + 5 · ( 3/5)5 = 0
9
Al ser exacta para las funciones 1, x, x2 , x3 , x4 y x5 , también lo es para
cualquier combinación lineal de ellas y, por tanto, la fórmula integra,
exactamente, cualquier polinomio de grado no superior a cinco.

Es fácil observar que:


Z 1
2
x6 dx =
−1 7
1 27 27  1 54 6 2
S= 5· +8·0+5· = · = 6 =
9 125 185 9 25 25 7
6
Por lo que la función no integra, exactamente, a x y, por tanto, a poli-
nomios de grado superior a cinco.

Ejercicio 4.3 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π)] + ε
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.
Ejercicios resueltos 185

Solución: Observemos, en primer lugar, que:


Z 2π
Ik = sin kx dx = 0 para k = 0, 1, . . .
0

Z 2π  0 para k = 1, 2, . . .
Jk = cos kx dx =
0  2π para k = 0

La fórmula de los trapecios es:


hh i
Tn = f (0) + 2f (h) + 2f (2h) + · · · + 2f ((n − 1)h) + f (2π)
2
Pero al ser f (2π) = f (0) podemos escribir:
n−1
hh i X
Tn = 2f (0) + 2f (h) + · · · + 2f ((n − 1)h) = h f (jh) =⇒
2 j=0

n−1
2π X 2πj
Tn = f( )
n j=0 n
Estudiemos el sumatorio para f (x) = eikx .
n−1 n−1
X 2πj X 2πjk
eik n = ei n

j=0 j=0
2πk
Se trata de una suma geométrica de razón r = ei n . Para r = 1

cos 2πk
n
= 1  2πk
⇐⇒ = 0, ±2π, ±4π, . . . ⇐⇒ k = 0, ±n, ±2n, . . .
2πk
sin n = 0  n

Por tanto, si 0 < k < n se tiene que:


n−1 2πnk
X
ik 2πj ei n −1 1−1
e n = = = 0.
i 2πk i 2πk
j=0 e n −1 e n −1
n−1
X 2πj 2πn
Si k = 0 es eik n = n por lo que Tn (eikn ) = = 2π. Por tanto:
j=0
n
h i
Tn (sin x) = Img Tn (eikx ) = 0 para k = 0, 1, 2, . . .

h i  0 para k = 1, 2, . . . , n − 1
Tn (cos x) = Re Tn (eikx ) =
 2π para k = 0

que coinciden con los valores de las integrales.


186 Integración numérica

4.5 Ejercicios propuestos


Ejercicio 4.4 Se considera el soporte {−1, c, 1} donde c ∈ (−1, 1) es fijo.
Sea f (x) ∈ C[−1, 1]

a) Obtener el polinomio de interpolación de f (x) acotando del error.


f (−1)(1 − c) − 2f (c) + f (1)(1 + c) 2
Sol : P2 (x) = x −
2(1 − c2 )
f (−1) − f (1) f (−1)(c − c2 ) + 2f (c) − f (−1)(c + c2 )
− x+ .
2 2(1 − c2 )
|x + 1||x − c||x − 1|
ε(x) ≤ máx |f 000 (ξ)|
6 ξ∈[−1,1]

b) Determinar los coeficientes a0 , a1 , a2 en la fórmula de cuadratura


Z 1
f (x) dx ' a0 f (−1) + a1 f (c) + a2 f (1)
−1

para que integre, exactamente, polinomios del mayor grado posible.


Z 1
1 + 3c 4 1 − 3c
Sol : f (x) dx ' f (−1) + 2
f (c) + f (1).
−1 3(1 + c) 3(1 − c ) 3(1 − c)

c) Dar una condición, necesaria y suficiente, para que dicha fórmula sea
exacta para polinomios de tercer grado.

Sol : c = 0.
r
5x + 13
d) Aplicar la fórmula a f (x) = con c = 0.1 y comparar con el
2
valor exacto.

Sol : Aplicando la fórmula 5.06474910, el valor exacto 76/15 ' 5.06666666,


el error ε ≤ 0.0019176.

Z 1
Ejercicio 4.5 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
Ejercicios propuestos 187

 Z
1
1h 1 1 i
' −


 f (x) ln x dx 11f (0) + 19f ( ) + f ( ) + f (1)

0 32 3 3
Sol : Z 1

sin x ln x dx ' −0.239891875.



0

Ejercicio 4.6 Determinar el número de sumandos necesarios, en las fórmulas


compuestas de los trapecios y Simpson, para calcular, con seis cifras decimales
exactas, las siguientes integrales:
Z 2
a) ln x dx Sol : Trapecios 289, Simpson 14
1
3
ex
Z
b) dx Sol : Trapecios 652, Simpson 20
2 x
Z 1
Ejercicio 4.7 Se considera la integral ex (4 − x) dx :
0

a) Calcularla exactamente (se supone conocido el número e).

Sol : 4e − 5 ' 5.873127.


b) Determinar el número mı́nimo de sumandos necesarios, en la fórmula
compuesta de Simpson, para que el error de discretización sea menor
que 10−m con m = 2, 3, 4, 5 y 6.

m 2 3 4 5 6
Sol :
n 2 2 4 8 12
c) Calcular la integral, por la fórmula compuesta de Simpson, con cuatro
cifras decimales exactas.

Sol : 5.8731

Ejercicio 4.8 El recinto de la figura adjunta, que se encuentra inmerso en


una cuadrı́cula, está limitado por una recta y una curva de la que se conoce
que se trata de un polinomio de cuarto grado.
188 Integración numérica

a) Calcular el área exacta del recinto sin determinar el polinomio que la


delimita.

Sol : 328/45.

b) Determinar, por el método de las diferencias divididas, el polinomio que


la delimita y comprobar que el área calculada en el apartado anterior
coincide con la que se obtiene por integración directa del polinomio.
1 4 13 2
Sol : P (x) = x − x + 3.
12 12
Bibliografı́a

[1] Ledanois, J.M., López, A y Pimentel, J. Métodos Numéricos Aplicados a


la Ingenierı́a. Ed. McGraw Hill.

[2] Burden, R. y Douglas Faires, J. Métodos Numéricos (3 edición). Ed.


Thomson - Paraninfo.

[3] Demidovich, B.P. y Maron, I.A. Cálculo Numérico Fundamental. Ed.


VAAP. 1977.

[4] Fröberg, C.E. Introducción al Análisis Numérico. Ed. Vicens Vives. 1977.

[5] Kincaid, D. y Cheney, W. Análisis Numérico. Ed. Addison-Wesley Ibe-


roamericana. 1994.

[6] Mathews, J.H. y Fink, K.D. Métodos Numéricos con MATLAB. (Tercera
edición). Prentice Hall. 1999.

189

También podría gustarte