Está en la página 1de 81

UNIVERSIDAD NACIONAL

DE INGENIERÍA
FACULTAD DE CIENCIAS
ESCUELA PROFESIONAL DE MATEMÁTICA

CI ONAL
NA D
D

E
DA

IN
RSI

GE
UNIVE

NIERIA
LIM

RU
PE
A

1876

APUNTES DE
ANÁLISIS NUMÉRICO I
CM-334

Oswaldo José Velásquez Castañón

Ciclo 2009-I
Contenido

Capı́tulo 1. Análisis de errores 5


1. Representación de números 5
2. Errores de redondeo y aritmética de punto flotante 6
3. Propagación de errores 8
4. Ejercicios 15
Capı́tulo 2. Sistemas de ecuaciones lineales 17
1. Fundamentos 17
2. Eliminación de Gauss 22
3. La factorización LU 25
4. Errores y condición de una matriz 29
5. Factorización LU para sistemas especiales 32
6. La Factorización QR 35
7. Ejemplos 41
8. Ejercicios 45
Capı́tulo 3. Aproximación lineal 49
1. Introducción 49
2. Ecuaciones normales 49
3. Tratamiento numérico 51
4. Ejercicios 51
Capı́tulo 4. Interpolación 53
1. Interpolación polinomial 53
2. Splines cúbicos 63
3. Interpolación trigonométrica 66
4. Ejercicios 71
Capı́tulo 5. Introducción a los métodos iterativos 75
1. Orden de convergencia 75
2. Convergencia lineal 76
3. Tasas medias de convergencia 77
4. Velocidad de convergencia en Rn 78
Bibliografı́a 79

Índice alfabético 81

3
CAPı́TULO 1

Análisis de errores

Acceder a la precisión de los resultados de los cálculos es una meta importante


en el análisis numérico. Podemos distinguir varias clases de error que pueden limitar
esta precisión:
Errores en los datos de entrada, provocados por limitaciones y/o imper-
fecciones de los instrumentos fı́sicos;
Errores de redondeo, por el cálculo de números que están representados
con un número finito de dı́gitos;
Errores de aproximación, cuando aproximamos la solución de un problema
P resolviendo un problema P’. Un ejemplo de esto es la aproximación de
una suma infinita por otra finita;
1 1 1
e ≈ 1 + + + ···+
1! 2! N!
El error resultante de aproximación es llamado comúnmente error de truncamiento.
Lo que hacemos es discretizar un problema: por ejemplo cocientes diferenciales son
aproximados por cocientes de diferencias, integrales definidas por sumas finitas, etc.
En dichos casos, el error de aproximación es llamado error de discretización.
En este capı́tulo se analizarán los dos primeros tipos de errores.

1. Representación de números
Se presentan dos tipos de máquinas según la manera en la que representan los
números:
1. Computadoras analógicas, se caracterizan por resolver un problema mate-
mático simulándolo por un problema fı́sico, resolviéndolo por medición y
retornando un resultado. Los números son representados por cantidades
fı́sicas, como por ejemplo, la longitud de una barra o la intensidad de un
voltaje. Es claro que la precisión de los dispositivos analógicos se encuentra
directamente limitada por las mediciones fı́sicas que emplean.
2. Computadoras digitales, entre las cuales se encuentran las computadoras
personales (PC); expresan los dı́gitos de la representación de un número
por una secuencia discreta de cantidades fı́sicas. Un ejemplo de esto es
la representación del número binario 11010110 con una secuencia de ocho
diodos: el 1 se representa con el diodo encendido, y el 0 con el diodo apa-
gado.
La representación de dı́gitos en computadoras digitales no requiere tanta
precisión como la representación de números en las computadoras analógi-
cas. Nosotros estudiaremos este tipo de computadoras.
Un número entero N se puede representar como
N = ±(αn pn + αn−1 pn−1 + · · · + α0 )

donde p ∈ N, p > 1 es la base del sistema de numeración y αi ∈ 0, 1, . . . , (p − 1) ,
i = 0, 1, . . . , n

5
6 1. ANÁLISIS DE ERRORES

Ejemplo 1.1. El número 18 (base 10) admite la descomposición en base 2:


18 = 1 · 24 + 0 · 23 + 0 · 22 + 1 · 21 + 0 · 20 = 10010(2)
Un número arbitrario se puede representar, en particular, en base 2, como:
x = ±(αn 2n + αn−1 2n−1 + · · · + αo 20 + α−1 2−1 + α−2 2−2 + · · · )
donde αi ∈ {0, 1}. Para cualquier otra base se puede realizar esto de manera análo-
ga.
En las computadoras digitales se ha de representar los números con un número
finito de lugares, la longitud de palabra. La representación de punto fijo especifica
un número fijo n1 de lugares antes de y un número fijo n2 de lugares después del
punto decimal (binario), tales que n = n1 + n2 = longitud de palabra (usualmente
n1 = 0 o n1 = n). De este modo, un número x se representa en la máquina como
(en base 2)
x = ±(αn1 −1 2n1 −1 + αn1 −2 2n1 −2 + · · · + α0 20 + α−1 2−1 + α−2 2−2 + · · · + α−n2 2−n2 )
Ejemplo 1.2. Para n = 10, n1 = 4, n2 = 6
145,6132 → 0145 613200
En esta representación, la posición del punto decimal (binario) es fija.
Más importante es la representación de punto flotante. Aquı́ el punto decimal
(binario) no se encuentra fijo. Esto es hecho con un exponente. Cada número puede
ser representado en la forma
x = a · 10b (x = a · 2b ) con |a| < 1, b entero
Ejemplo 1.3. 30,421 = 0,30241 · 102 .
El exponente b indica la posición del punto decimal con respecto a la mantisa
a. Rutishauser propuso la notación : 0,30241102
En cada computadora existen, por supuesto, números finitos t y e, n = t + e, de
lugares disponibles para la representación de mantisa y exponente, respectivamente.
Ejemplo 1.4. Para t = 4, e = 2, el número 5420 en el sistema decimal se
expresa:
0 5420 10 04
o bien
5420 04
Una representación de punto flotante es normalizada si el primer dı́gito de la
mantisa es distinto de 0. Entonces |a| ≥ 10−1 ( |a| ≥ 2−1 ). Los dı́gitos significativos
(bits) de un número son los dı́gitos de la mantisa sin contar ceros al principio.
En lo que sigue, consideraremos solamente representaciones de punto flotante
y su aritmética de punto flotante correspondiente. Los números t y e, junto con
la base B, determinan el conjunto A ⊂ R de los números reales que pueden ser
representados exactamente con una computadora dada. Los elementos de A son
llamados números de máquina.

2. Errores de redondeo y aritmética de punto flotante


El conjunto A de números de máquina es finito. Luego surgen las preguntas: ¿
Cómo representar un número x ∈ / A ? Además, dados dos números de máquina, es
posible que su suma o su producto no sean números de máquina.
Es natural postular que la aproximación de cualquier número x ∈
/ A por un número
de máquina rd(x) deba cumplir la condición

x − rd(x) ≤ |x − g|, para todo g ∈ A.
2. ERRORES DE REDONDEO Y ARITMÉTICA DE PUNTO FLOTANTE 7

Ejemplo 1.5. Para t = 4


rd(0,14285100) = 0,1429100
rd(3,14159100) = 0,3142101

/ A se normaliza primero a x = a · 10b ,


En general se procede como sigue: x ∈
−1
donde |a| ≥ 10 . Supongamos que la representación decimal de |a| es dada por
|a| = 0.α1 α2 . . . αi αi+1 . . . , 0 ≤ αi ≤ 9, α1 6= 0.
Entonces se forma

′ 0.α1 α2 . . . αt si 0 ≤ αt+1 ≤ 4,
a :=
0.α1 α2 . . . αt + 10−t si αt+1 ≥ 5
Finalmente se coloca
rd′ (x) := sign(x) · a′ · 10b .
Nota. Cuando se aproxima un número real x mediante otro número x∗ el
error
que
resulta
es (x − x∗ ). El error absoluto es |x − x∗ | y el error relativo es
x − x∗ x − x∗
x ≈ x∗ si x 6= 0.

El error relativo de aproximar x por rd′ (x) es (recordar que |a| ≥ 10−1 )
rd′ (x) − x 5 · 10−(t+1)
≤ 5 · 10−t .


x |a|
Con la abreviación eps = 5 · 10−t podemos escribir
rd′ (x) = x(1 + ε), con |ε| ≤ eps .
La cantidad eps = 5 · 10−t es llamada precisión de la máquina . En el sistema
binario, podemos definir todo lo anterior análogamente.
Siempre que rd′ (x) ∈ A, se podrá definir correctamente rd′ (x) := rd(x). Sin
embargo, esto no siempre ocurre como se muestra en el siguiente ejemplo.
Ejemplo 1.6. Para t = 4, e = 2 tenemos
rd′ (0,3197410110) = 0,319710 110 ∈
/A
rd′ (0,999971099) = 0,100010 100 ∈
/A
rd′ (0,01234510 − 99) = 0,123510 − 100 ∈
/A
rd′ (0,5432110 − 110) = 0,543210 − 110 ∈
/A
En el primer y segundo caso el exponente es muy grande para el espacio: en-
tonces tenemos un overflow de exponente (sobreflujo). El tercer y cuarto casos son
instancias de un underflow, esto es, el exponente del número representado es muy
negativo. En estos casos podemos prevenir el underflow definiendo
rd(0,01234510 − 99) = 0,012310 − 99 ∈ A.

rd(0,5432110 − 110) = 0 ∈ A.
Como el overflow y el underflow son poco frecuentes y requieren un tratamiento
especial, para simplificar la teorı́a asumiremos en adelante que e = ∞. De este
modo tendremos rd := rd′ , y aseguraremos que
rd : R → A
rd(x) = x(1 + ε) con |ε| ≤ eps, ∀x ∈ R.
Como los resultados de las operaciones aritméticas no son necesariamente números
de máquina, requeriremos definir operaciones de punto flotante, +∗ , −∗ , ·∗ , /∗ , las
8 1. ANÁLISIS DE ERRORES

cuales son definidas como:


x +∗ y := rd(x + y),
x −∗ y := rd(x − y),
para x, y ∈ A,
x ·∗ y := rd(x · y),
x/∗ y := rd(x/y),
lo cual implica 
x +∗ y := (x + y)(1 + ε1 )  
x −∗ y := (x − y)(1 + ε2 )

|εi | ≤ eps .
x ·∗ y := (x · y)(1 + ε3 ) 
x/∗ y := (x/y)(1 + ε4 )

De lo anterior se observará que las operaciones de punto flotante no satisfacen
las leyes conocidas para las operaciones aritméticas usuales. Por ejemplo,
eps
x +∗ y = x, si |y| < |x|, x, y ∈ A
B
La precisión de máquina eps puede también definirse entonces como
eps = mı́n{g ∈ A/1 +∗ g > 1 ∧ g > 0}.
Además, las operaciones de punto flotante no son asociativas o distributivas.
Ejemplo 1.7 (t = 8). Con
a := 0,2337125810 − 4,
b := 0,33678429102,
c := −0,33677811102.
a +∗ (b +∗ c) = 0,2337125810 − 4 +∗ 0,6180000010 − 3,
= 0,6413712610 − 3,
(a +∗ b) +∗ c = 0,33678452102 −∗ 0,33677811102,
= 0,6410000010 − 3.
El resultado exacto es
a + b + c = 0,64137125810 − 3.

3. Propagación de errores
Para expresar el resultado de operaciones de punto flotante, una notación ha
sido ampliamente aceptada, y la usaremos frecuentemente: dada una expresión E
a calcular, fl(E) denota el valor de la expresión obtenida por aritmética de punto
flotante.
Ejemplo 1.8.
fl(x · y) := x ·∗ y
fl a + (b + c) := a +∗ (b +∗ c)
fl (a + b) + c := (a +∗ b) +∗ c
fl cos(x) := cos∗ (x)
√  √ ∗
fl x := x

Las operaciones +, −, ·, /, cos, , junto con algunas otras (que posean substi-
tutos ∗) serán llamadas operaciones elementales. Como se vio, dos diferentes pero
matemáticamente equivalentes maneras de evaluar la misma expresión a + b + c
pueden llevar a diferentes resultados, cuando usamos aritmética de punto flotante.
Para propósitos numéricos es necesario distinguir entre distintos esquemas de eval-
uación incluso si ellos son matemáticamente equivalentes. Llamaremos algoritmo a
una secuencia finita de operaciones elementales (dadas como instrucciones de com-
putadora) que prescriben como calcular la solución de un problema a partir de una
entrada de datos dada.
3. PROPAGACIÓN DE ERRORES 9

Formalizemos un poco la noción de algoritmo. Supongamos que el problema con-


siste en calcular los números reales y1 , . . . , ym a partir de las entradas x1 , . . . , xn .
Si introducimos los vectores
   
x1 y1
x =  ...  , y =  ...  ,
   

xn ym
entonces resolver el problema significa determinar el valor y = ϕ(x) donde
ϕ : D → Rm , D ⊂ Rn ,
yi = ϕi (x1 , . . . , xn ), i = 1, . . . , m.
En cada paso del cálculo hay un conjunto de operandos de números. Una sola
operación calcula un nuevo número a partir de uno o más operandos del conjunto
de operandos. El nuevo número es un resultado intermedio o el final.
Una operación corresponde a una transformación del conjunto de operandos.
Escribiendo éstos consecutivamente como vectores,
 
(i)
x1
 . 
x(i) =   ..  ∈ R ,
 ni

(i)
xni
podemos asociar a cada operación elemental un mapeo elemental
ϕ(i) : Di → Rni+1 , Di ⊂ Rni ,
tal que 
ϕ(i) x(i) = x(i+1) .
Dado un algoritmo, entonces su secuencia de operaciones elementales da lugar a la
descomposición de ϕ en una secuencia de mapeos elementales
ϕ(i) : Di → Di+1 , i = 0, 1, . . . , r, Dj ⊂ Rnj ,
ϕ = ϕ ◦ ϕ(r−1) ◦ · · · ◦ ϕ(0) , D0 = D, Dr+1 ⊂ Rnr+1 = Rm ,
(r)

que caracteriza al algoritmo.


Ejemplo 1.9. Para ϕ(a, b, c) = a + b + c, consideremos los dos algoritmos
η := a + b, y := c + η y η := b + c, y := a + η. Las descomposiciones son:
 
(0) a+b
ϕ (a, b, c) := ∈ R2 , ϕ(1) (u, v) := u + v ∈ R
c
y  
(0) a
ϕ (a, b, c) := ∈ R2 , ϕ(1) (u, v) := u + v ∈ R.
b+c
Ejemplo 1.10. Para ϕ(a, b) := a2 − b2 se tienen los algoritmos
Algoritmo 1:
η1 := a · a,
η2 := b · b,
y := η1 − η2 ,
Algoritmo 2:
η1 := a + b,
η2 := a − b,
y := η1 · η2 .
Sus descomposiciones correspondientes son
10 1. ANÁLISIS DE ERRORES

Algoritmo 1:
   
a2 u
ϕ(0) (a, b) := , ϕ(1) (u, v) := , ϕ(2) (u, v) := u − v.
b v2
Algoritmo 2:
 
a  
u
ϕ(0) (a, b) :=  b  , ϕ(1) (a, b, u) := , ϕ(1) (a, b, u) := u · v.
a−b
a+b
Nótese que las descomposiciones de los algoritmos pueden ser simplificadas:
 
(0) a2
Algoritmo 1: ϕ′ (a, b) := , ϕ′(1) (u, v) := u − v.
b2
 
(0) a+b
Algoritmo 2: ϕ′ (a, b) := , ϕ′(1) (u, v) := u · v.
a−b
Estrictamente hablando, los mapeos ϕ′(0) no son elementales. Sin embargo lo
más importante al hacer las descomposiciones es que las componentes de los mapeos
intermedios sean elementales, para poder hacer ası́ el análisis de error que se estu-
diará a continuación.
Ejemplo 1.11. y := a + b + c,
ỹ := rd((a + b) + c)
= rd(a + b) +∗ c
= (a + b)(1 + ε1 ) +∗ c
= [(a + b)(1 + ε1 ) + c](1 + ε2 ) 
a+b
= (a + b + c) 1 + ε1 (1 + ε2 ) + ε2 .
a+b+c
Despreciamos el término ε1 ε2 por ser de grado superior; luego el error relativo (al
haber calculado primero (a + b)) es
ỹ − y ỹ a+b
εy := = −1≈ ε1 + ε2 ,
y y a+b+c
el cual es pequeño si (a + b) es pequeño.
Si se hubiese calculado primero (b + c) tendriamos
b+c ′
εy ≈ ε + ε′2 ,
a+b+c 1
que es pequeño si (b + c) es pequeño.
Vamos a hacer ahora un análisis diferencial de error de un algoritmo para
calcular y := ϕ(x) si esta función está dada por la descomposición:
ϕ = ϕ(r) o ϕ(r−1) o . . . o ϕ(0) .
Para este fin necesitamos investigar como los errores de entrada, ası́ como los
errores por redondeo acumulados durante el curso del algoritmo afectan el resultado
final. Iniciamos esta investigación considerando solamente los errores de entrada ∆x.
Supongamos que la función
 
ϕ1 (x1 , . . . , xn )
ϕ : D → Rm , ϕ=
 .. 
. ,
ϕm (x1 , . . . , xn )
3. PROPAGACIÓN DE ERRORES 11

está definida en un conjunto abierto D de Rn , y que sus funciones componentes ϕi ,


i = 1, 2, . . . , n, poseen derivadas continuas en D. Sea x̃ un valor aproximado de x.
Entonces denotamos por
∆xi := x̃i − xi , ∆x := x̃ − x,
al error absoluto x̃i y x̃, respectivamente. El error relativo de x̃i es definido como la
cantidad
x̃i − xi
εx̃i := si xi 6= 0.
xi
Reemplazando x por x̃ obtenemos el resultado ỹ := ϕ(x̃) en vez de y = ϕ(x). Ex-
pandiendo en series de Taylor y despreciando los términos de mayor orden, tenemos
n
X ∂ϕi (x)
∆yi := ỹi − yi = ϕi (x̃) − ϕi (x) ≈ (x̃j − xj )
j=1
∂xj
n
X ∂ϕi (x)
= ∆xj , i = 1, . . . , m,
j=1
∂xj

de donde
 
∂ϕ1 (x) ∂ϕ1 (x)

∆y1
 ...  
 ∂x1 ∂xn  ∆x1
 ..   .. ..  . 
  .  = Dϕ(x) · ∆x,
∆y =  .  ≈ 
 . .  .
 ∂ϕ (x) ∂ϕm (x)  ∆xn
∆ym m
...
∂x1 ∂xn
con la matriz jacobiana Dϕ(x).
∂ϕi (x)
La cantidad representa la sensitividad con que yi reacciona a las per-
∂xj
turbaciones ∆xj de xj .
Si yi 6= 0 para i = 1, . . . , m y xj 6= 0 para j = 1, . . . , n entonces se tiene:
n
ỹi − yi X ∂ϕi (x) x̃j − xj
εyi = ≈
yi j=1
∂xj yi
n  
X xj ∂ϕi (x) x̃j − xj
=
j=1
yi ∂xj xj
n 
X xj ∂ϕi (x) 
= εxj .
yi ∂xj
j=1

Los factores de amplificación (xj /ϕi )∂ϕi /∂xj para el error relativo son llamados
números de condicionamiento. Si alguno de estos números es en valor absoluto
muy grande, se dice que el problema es mal condicionado. En otro caso, se dice
que está bien condicionado. Como se puede observar, la condición del problema
está descrita por mn números. Por estas razones, hay una manera más práctica de
definir la condición del problema. En álgebra lineal, usando una norma conveniente
k · k, el número de condición c deberá satisfacer
kϕ(x̃) − ϕ(x)k kx̃ − xk
≤c .
kϕ(x)k kxk
Ejemplo 1.12. Para ϕ(a, b, c) := a + b + c se tiene
a ∂ϕ(a, b, c) b ∂ϕ(a, b, c) c ∂ϕ(a, b, c)
εy ≈ εa + εb + εc
y ∂a y ∂b y ∂c
a b c
= εa + εb + εc .
a+b+c a+b+c a+b+c
12 1. ANÁLISIS DE ERRORES

El problema estará bien condicionado cuando los sumandos a, b, c sean pequeños


comparados con a + b + c (por ejemplo, cuando todos tengan el mismo signo).

Ejemplo 1.13. Para y = ϕ(a, b) := −a + a2 + b,
 
a a b 1
εy ≈ −1 + √ εa + √ εb
y 2
a +√b y 2 a2 + b
−a a + a2 + b
√ εa + √ εb .
2
a +b 2 a2 + b
Desde que
a + √ a2 + b


√ a
a2 + b ≤ 1, 2√a2 + b ≤ 1 para b > 0;

tendremos que ϕ es bien condicionado si b > 0, y mal condicionado si b ≈ −a2 .


Cuando se substraen dos números x, y ∈ A del mismo signo, uno debe tener
cuidado con la cancelación (esto es, cuando los números tienen valores absolutos
casi iguales). Por ejemplo, para calcular
p
y = x2 + 1 − 1
cuando el valor de x es cercano a cero, se sugiere calcular equivalentemente

p
2
x2 + 1 + 1 x2
y = ( x + 1 − 1) · √ =√ .
2
x +1+1 2
x +1+1
Para evitar desbordamientos (overflow, underflow)
x2 + y 2
z := p
x4 + y 4
x
en caso |x| < |y|, hacemos t := (|t| < 1). Entonces calculamos
y
t2 + 1
z= √ .h
t4 + 1
Para las operaciones aritméticas (x 6= 0, y 6= 0)

ϕ(x, y) := x · y εxy ≈ εx + εy
ϕ(x, y) := x/y εx/y ≈ εx − εy
x y
ϕ(x, y) := x ± y εx±y ≈ εx + εy si x ± y 6= 0
√ x±y x±y
√ 1
ϕ(x) := x ε x ≈ 2 εx
Se sigue que la multiplicación, división, y raı́z cuadrada no son peligrosas. Si los
operandos son del mismo signo, la adición no es peligrosa: En efecto, tendremos
que
|εx+y | ≤ máx{|εx |, |εy |}

x
Si los operandos tienen signos distintos, entonces almenos uno de los factores
x + y
y
o es mayor que uno; entonces los errores serán amplificados, y drásticamente
x + y
amplificados si x ≈ −y.

Un algoritmo para calcular la función ϕ : D → Rm , D ⊂ Rn , para un dado


x = (x1 , . . . , xn )T ∈ D corresponde a la descomposición de ϕ en mapeos elemen-
tales ϕ(i) , i = 0, 1, . . . , r. Luego y = ϕ(x) se obtiene por una cadena de resultados
intermedios
x(0) := x → ϕ(0) (x(0) ) = x(1) → · · · → ϕ(r) (x(r) ) = x(r+1) = y.
3. PROPAGACIÓN DE ERRORES 13

Suponemos de nuevo que cada ϕ(i) es continuamente diferenciable en Di , y denote-


mos por ψ (i) el mapeo remanente
ψ (i) = ϕ(r) ◦ ϕ(r−1) ◦ · · · ◦ ϕ(i) : Di → Rm , i = 0, 1, 2, . . . , r.
(0)
Entonces ψ ≡ ϕ. De la regla de la cadena, tenemos
Dϕ(x) = Dϕ(r) (x(r) ) · Dϕ(r−1) (x(r−1) ) · · · · · Dϕ(0) (x),
Dψ(x(i) ) = Dϕ(r) (x(r) ) · Dϕ(r−1) (x(r−1) ) · · · · · Dϕ(i) (x(i) ), i = 0, 1, . . . , r.
En el cálculo con punto flotante bajo la influencia de los errores de entrada
y los errores por redondeo en lugar de los resultados intermedios x(i) se obtienen
valores aproximados x̃(i) con x̃(i+1) = fl(ϕ(i) (x̃(i) )).
De esto se obtiene, para los errores absolutos ∆x(i) = x̃(i) − x(i) ,
∆x(i+1) = [fl(ϕ(i) (x̃(i) )) − ϕ(i) (x̃(i) )] + [ϕ(i) (x̃(i) ) − ϕ(i) (x(i) )].
Usando series de Taylor, y despreciando términos de orden superior:
ϕ(i) (x̃(i) ) − ϕ(i) (x(i) ) ≈ Dϕ(i) (x(i) )∆x(i) .
Como ϕ(i) es elemental, o bien involucra sólo operaciones elementales independi-
entes, tenemos que
fl(ϕ(i) (u)) = rd(ϕ(i) (u)).
Nótese ahora que ϕ(i) : Di → Di+1 ⊂ Rni+1 es un vector de funciones componentes
(i)
ϕj : Di → R,
 
(i)
ϕ1 (u)

ϕ(i) (u) =  .. 
.
 . 
(i)
ϕni+1 (u)
Ası́, podemos trabajar con las componentes. De este modo:
(i) (i) (i)
fl(ϕj (u)) = rd(ϕj (u)) = (1 + εj )ϕj (u),
|εj | ≤ eps, j = 1, 2, . . . , ni+1
Entonces podemos simplemente escribir
fl(ϕ(i) (u)) = (I + Ei+1 ) · ϕ(i) (u).
Con la matriz identidad I y la matriz diagonal de error
 
ε1 0 · · · 0
 0 ε2 0 
 
Ei+1 =  . . ..  , |εj | ≤ eps .
 .. .. . 
0 0 · · · εni+1
Esto nos da
fl(ϕ(i) (x̃(i) )) − ϕ(i) (x̃(i) ) = Ei+1 · ϕ(i) (x̃(i) ),
pero Ei+1 · ϕ(i) (x̃(i) ) ≈ Ei+1 · ϕ(i) (x(i) ) (despreciando términos de orden superior).
Por consiguiente
fl(ϕ(i) (x̃(i) )) − ϕ(i) (x̃(i) ) ≈ Ei+1 · ϕ(i) (x(i) ) = Ei+1 · x(i+1) =: αi+1 .
Por lo anterior, ∆x(i+1) puede ser expresado con una aproximación de primer orden
como
∆x(i+1) ≈ αi+1 + Dϕ(i) (x(i) ) · ∆x(i)
= Ei+1 · x(i+1) + Dϕ(i) (x(i) ) · ∆x(i) , para i ≥ 0, ∆x(0) := ∆x.
14 1. ANÁLISIS DE ERRORES

Luego
∆x(1) ≈ Dϕ(0) (x) · ∆x + α1
∆x(2) ≈ Dϕ(1) (x(1) ) · [Dϕ(0) (x)∆x + α1 ] + α2
..
.
∆y = ∆x(r+1) ≈ Dϕ(r) · · · Dϕ(0) · ∆x + Dϕ(r) · · · Dϕ(1) · α1 + · · · + αr+1 .
Finalmente, llegamos a la fórmula que describe el efecto de los errores de entrada
∆x y los errores de redondeo αi en el resultado y = x(r+1) = ϕ(x):

∆y ≈ Dϕ(x) · ∆x + Dψ (1) (x(1) ) · α1 + · · · + Dψ (r) (x(r) ) · αr + αr+1


= Dϕ(x) · ∆x + Dψ (1) (x(1) ) · E1 · x(1) + · · · + Dψ (r) (x(r) ) · Er · x(r) + Er+1 · y.
Ejemplo 1.14. Para los dos algoritmos que calculan y = ϕ(a, b) = a2 − b2
dados tenemos:
Algoritmo 1:
   2   2 
(0) a (1) a (2) a
x=x = , x = , x = , x(3) = y = a2 − b2 ,
b b b2

ψ (1) (u, v) = u − v 2 , ψ (2) (u, v) = u − v,


Dϕ(x) = (2a, −2b)
Dψ (1) (x(1) ) = (1, −2b), Dψ (2) (x(2) ) = (1, −1),
   
ε 1 a2 ε1 0
α1 = , E1 = ,
0 0 0
pues    
a ·∗ a a2
fl(ϕ(0) (x(0) )) − ϕ(0) (x(0) ) = − .
b b
También    
0 0 0
α2 = , E2 = .
ε2 b2 ε1 0
α3 = ε3 (a2 − b2 ),  |εi | ≤ eps para i = 1, 2, 3.
∆a
Con ∆x = ,
∆b
∆y ≈ 2a∆a − 2b∆b + a2 ε1 − b2 ε2 + (a2 − b2 )ε3 .
Análogamente para el algoritmo 2:
   
(0) a (1) a+b
x=x = , x = , x(2) = y = a2 − b2 ,
b a−b
ψ (1) (u, v) = u · v,
Dϕ(x) = (2a, −2b), Dψ (1) (x(1) ) = (a − b, a + b),

   
ε1 (a + b) 2 2 ε1 0
α1 = , α2 = ε3 (a − b ), E1 = , |εi | ≤ eps .
ε2 (a − b) 0 ε2
Por tanto
∆y ≈ 2a∆a − 2b∆b + (a2 − b2 )(ε1 + ε2 + ε3 ).
Un algoritmo es llamado numéricamente más estable que otro para calcular
ϕ(x) si, para un conjunto dado de datos x, el efecto total de redondeo del primero
es menor que el del otro.
4. EJERCICIOS 15

Ejemplo 1.15. En el ejemplo anterior, el efecto total por redondeo usando el


Algoritmo 1 es
2 
a ε1 − b2 ε2 + (a2 − b2 )ε3 ≤ a2 + b2 + |a2 − b2 | eps,

y usando el Algoritmo 2
|(a2 − b2 )(ε1 + ε2 + ε3 )| ≤ 3|a2 − b2 | eps .
Esto muestra que el algoritmo 2 es numéricamente más estable que el algoritmo 1
siempre que 13 < |a/b|2 < 3; en otro caso el algoritmo 1 es más estable.

4. Ejercicios
1. Calcule el efecto total de errores de entrada y redondeo (mediante análisis
diferencial) de dos algoritmos para evaluaciones distintas de
y = (a + b)2 = a2 + 2ab + b2 .
2. Calcule el efecto total de errores de entrada y redondeo de los dos siguien-
tes algoritmos para la evaluación de
y = ax2 + bx + c
a) Algoritmo 1: u ← x2 , v ← a · u, w ← b · x, z ← v + w, y ← z + c;
b) Algoritmo 2: u ← a · x, v ← u + b, w ← v · x, y ← w + c.
Compare la estabilidad numérica de los algoritmos.
3. Para la función lineal f (x) = a+bx, donde a 6= 0, b 6= 0, calcule la primera
derivada f ′ (0) = b por la fórmula
f (h) − f (−h)
Dh f (0) = ,
2h
en aritmética de punto flotante binaria. Supongamos que a y b son números
de máquina binarios, y h es una potencia de 2. La multiplicación por h y
el cociente por 2h pueden ser entonces calculados de manera exacta. De
una cota para el error relativo de Dh f (0). ¿Cuál es el comportamiento de
este error cuando h → 0?
4. La raı́z cuadrada ±(u + iv) de un número complejo x + iy con y 6= 0 puede
ser calculada por medio de las fórmulas
s p
x + x2 + y 2 y
u=± , v= .
2 2u
Compare los casos x ≥ 0 y x < 0 con respecto a su estabilidad numérica.
5. Calcule el número de condición en el cálculo de
f (x) = arcsin(x),
y encuentre el peor caso posible de expansión del error relativo (de entra-
da) de x.
6. Demuestre que en aritmética de punto flotante de t lugares decimales
x
rd(x) =
1+ε
con |ε| ≤ 5 · 10−t .
7. Demuestre que, fijados un número real x y un número entero k ≥ 1, existe
δ, |δ| ≤ eps tal que
fl(xk ) = xk (1 + δ)k−1 .
16 1. ANÁLISIS DE ERRORES

8. Calcule el efecto total de errores de entrada y redondeo en la evaluación


de
y = x3 + 2x2 cos(a) + b
en aritmética de punto flotante binaria, mediante los dos siguientes algo-
ritmos:
a) u ← cos(a), v ← x2 , w ← vx, t ← vu, t′ ← 2t, s ← w + t′ , y ← s + b.
b) u ← cos(a), u′ ← 2u, w ← x + u′ , v ← x2 , t ← wv, y ← t + b.
Compare los errores de redondeo correspondientes según los valores de
x, a y b ingresados.
9. Demuestre lo siguiente: sean x1 , . . . , xn números de máquina positivos,
Xn
n ≥ 2. Entonces, el error de redondeo relativo al calcular xi de la
k=1
manera usual está acotado por
(1 + eps)n−1 − 1.
CAPı́TULO 2

Sistemas de ecuaciones lineales

1. Fundamentos
Antes de iniciar el estudio de los sistemas de ecuaciones lineales debemos com-
plementar los fundamentos de la teorı́a, para esto veremos propiedades de las nor-
mas en Kn (considerando K = R ó C).

Definición. Sea K = R ó C. A una función k · k : Kn → R se le llama norma


de vectores si se cumple:
1) kxk ≥ 0 para todo x ∈ Kn , y kxk = 0 si y sólo si x = 0;
2) kαxk = |α|kxk, para todos α ∈ K y x ∈ Kn ;
3) kx + yk ≤ kxk + kyk, para todo x, y ∈ Kn (desigualdad triangular).

Teorema 2.1. Sea k · k una norma en Rn . Entonces se cumple:


1) Con respecto a la continuidad de una norma
a) |kxk − kyk| ≤ kx − yk, para todo x, y ∈ Rn ;
b) existe C > 0 constante tal que |kxk − kyk| ≤ Ckx − yk∞ , para todo
x, y ∈ Rn .
2) Para cada par de normas k · kA y k · kB en Kn existen constantes C y D
tales que

(1) CkxkA ≤ kxkB ≤ DkxkA , para todo x ∈ Kn .

Definición. Si k · kA y k · kB satisfacen (1) son llamadas equivalentes.

Demostración (del teorema).

1) En efecto
a) Se sigue de la desigualdad triangular;
b) de a), tenemos que:
Xn X n

|kxk − kyk| ≤ kx − yk = (xj − yi )ej ≤ |xj − yi |kej k
j=1 j=1
n
X Xn
≤ kx − yk∞ kej k ≤ kx − yk∞ kej k = Ckx − yk∞ ,
j=1 j=1

n
X
con C = kej k.
j=1
n
2) Sea S := {y ∈ K : kxk∞ = 1}. Como S es compacto y k · kB es continua,
entonces k · kB toma sus extremos en S:

C := mı́n kxkB , D := máx kxkB


x∈S x∈S

17
18 2. SISTEMAS DE ECUACIONES LINEALES

Resulta que C > 0 ya que 0 ∈/ S. Para cualquier x ∈ Kn \ {0} se cumple


x
que ∈ S y se obtiene
kxk∞

x
C ≤ kxk∞ ≤ D

B
de donde
Ckxk∞ ≤ kxkB ≤ Dkxk∞

Ejemplo 2.1. Tres normas vectoriales en Kn son
Xn
kxk1 = |xi |.
i=1
n
!1/2
X
kxk2 = x2i .
i=1
kxk∞ = máx |xi |
i=1,...,n

la segunda de éstas conocida como norma euclidiana; y la norma de Hölder:


n
!1/p
X
p
kxkp = |xi | , p ∈ R, p ≥ 1.
i=1

La bola unitaria de radio 1 con la norma k · k en Rn es el conjunto B = {x ∈


Rn /kxk ≤ 1} y su frontera el conjunto {x ∈ Rn /kxk = 1}.

y y y
6 6 6

x x x
- - -

{x ∈ R2 | kxk∞ = 1} {x ∈ R2 | kxk2 = 1} {x ∈ R2 | kxk1 = 1}

Figura 1. Fronteras de bolas unitarias con distintas normas

Definición. Sea k · k una norma en Kn . La norma matricial subordinada o


norma asociada a esta norma (o norma inducida) se define como
 
kAxk n kAxk
kAk := sup /x ∈ K \ {0} = sup .
kxk x6=0 kxk

Teorema 2.2. Si k · k es una norma en Kn , entonces se cumple:


a) kAk = sup kAxk
kxk=1
kAxk
b) kAk = sup , para toda A ∈ Kn×n , define una norma sobre el espacio
x6=0 kxk
vectorial de las matrices en Kn×n
c) kAxk ≤ kAkkxk, para todo x ∈ Kn , A ∈ Kn×n
1. FUNDAMENTOS 19

d) kABk ≤ kAkkBk, para todo A, B ∈ Kn×n .

Demostración.
 
kAxk x
a) kAk = sup = sup A
x6=0 kxk x
kxk
6=0 kxk
b) Primero veamos que si A = (a1 , a2 , . . . , an ) 6= 0, entonces al menos una
columna ai 6= 0. Luego Aei = ai 6= 0 y
kai k kAei k kAxk
0< = ≤ sup = kAk
kei k kei k x6=0 kxk

Ası́ kAk > 0, para todo A 6= 0, de donde

|Ak ≥ 0, para todo A ∈ Kn×n , y kAk = 0 sı́ y solamente si A = 0

Las otras propiedades se cumplen trivialmente (Ejercicio).


c) Se tiene

kAxk kAxk
= sup = kAk, para todo x 6= 0.
kxk x6=0 kxk

Luego,
kAxk ≤ kAkkxk, para todo x 6= 0.
Además para x = 0 se cumple trivialmente, de donde se tiene c).
d) Del item anterior se tiene que kABxk ≤ kAkkBxk. Entonces

kABk = sup kABxk ≤ sup kAkkBxk = kAk sup kBxk = kAkkBk.


kxk=1 kxk=1 kxk=1

Ejemplo 2.2. Normas matriciales:


a) kAk∞ = sup kAxk∞
kxk∞ =1
b) kAk1 = sup kAxk1
kxk1 =1

Teorema 2.3. Para toda matriz A = (aij ) ∈ Kn×n , se cumple que:


n
X
a) kAk∞ = sup kAxk∞ = máx |aij |
kxk∞ =1 i=1,...,n
j=1
n
X
b) kAk1 = sup kAxk1 = máx |aij |
kxk1 =1 j=1,...,n
i=1

Demostración.

a) Primero notemos que


 
kAk∞ = sup kAxk∞ = sup máx |(Ax)i |
kxk∞ =1 i=1,...,n
kxk∞ =1 !
X n

= sup máx aik xk
kxk∞ =1 i=1,...,n k=1

20 2. SISTEMAS DE ECUACIONES LINEALES

Sea x ∈ Kn con kxk∞ = máx |xk | = 1. Entonces, para i = 1, . . . , n se


k=1,...,n
tiene:

Xn X n n
X

a x
ik k ≤ |a ik ||xk | ≤ |aik |kxk∞

k=1 k=1 k=1
n
X n
X
= |aik | ≤ máx |aik |,
i=1,...,n
k=1 k=1

luego
n ! n n
X X X

sup máx aik xk ≤ máx |aik | = |ai0 k |,
kxk∞ =1 i=1,...,n i=1,...,n
k=1 k=1 k=1

para algún i0 tal que 1 ≤ i0 ≤ n, esto es,


n
X
kAk∞ ≤ |ai0 k |.
k=1

Ahora bien, sea x′ ∈ Kn definido como



 1, ai0 k = 0
x′k = ai0 k
 , ai0 k 6= 0
|ai0 k |
Entonces kx′ k∞ = 1 y además
n
X

kAk∞ ≥ kAx k∞ = máx |(Ax)i | ≥ |(Ax)i0 | = |ai0 k |.
i=1,...,n
k=1

Por lo tanto
n
X n
X
|Ak∞ = |ai0 k | = máx |aik |.
i=1,...,n
k=1 k=1

b) ¡Ejercicio!

Nota. Si k · k es una norma subordinada, entonces kIk = 1.
Otro ejemplo de norma matricial es la norma de Fröbenius:
 1/2
Xn
kAkF =  |aij |2 
i,j=1

En este caso se cumplen:



a) kIkF = n
b) Para todo x ∈ Kn
2 !
Xn Xn Xn Xn Xn
2 2
kAxk22

= aij xj ≤ |aij | |xj |

i=1 j=1 i=1
! n j=1 ! j=1
Xn X n X X n
2 2
= |aij | |xj | = kAk2F |xj |2
i=1 j=1 j=1 j=1

esto implica que kAxk2 ≤ kAkF kxk2 , de donde


kAk2 ≤ kAkF
La norma de Fröbenius no es subordinada de alguna otra (¿porqué?).
1. FUNDAMENTOS 21

Lema 2.4. Sean λ1 ≥ λ2 ≥ · · · ≥ λn los valores propios de la matriz hermitiana


A ∈ Kn×n . Entonces se cumple
λn kxk22 ≤ x∗Ax ≤ λ1 kxk22 , para todo x ∈ Kn×n .
Demostración. Como A es hermitiana, existe una matriz U ∈ Kn×n unitaria

(U U = I ) tal que
U ∗AU = diag(λ1 , . . . , λn ).
Para cualquier x ∈ Kn se cumple:
x∗Ax = x∗ diag(λ1 , . . . , λn )U ∗ x
= (U ∗ x)∗ diag(λ1 , . . . , λn )(U ∗ x)
Xn Xn
= λi |(U ∗ x)j |2 ≤ λ1 |(U ∗ x)j |2 = λ1 kU ∗ xk22
j=1 j=1
= λ1 (U ∗ x)∗ (U ∗ x) = λ1 x∗ U U ∗ x = λ1 x∗ Ix
= λ1 kxk22
Esto implica que x∗Ax ≤ λ1 kxk22 . De manera similar se obtiene λn kxk22 ≤ x∗Ax. 
Definición. Sea A ∈ Kn×n , al conjunto ξ de valores propios de A se le llama
espectro de A y al número
ρ(A) = máx |λi |
λi ∈ξ
se le llama radio espectral de la matriz A.
Lema 2.5. Se cumple kAk2 = ρ(A∗ A)1/2 , para todo A ∈ Kn×n .
Demostración. Se tiene que A∗ A es hermitiana y semidefinida positiva (pues
x (A∗ A)x = (Ax)∗ (Ax) = kAxk22 ≥ 0, ∀x ∈ Kn ). Entonces A∗ A tiene valores

propios no negativos:
ρ(A∗ A) = λ1 ≥ λ2 ≥ · · · ≥ λn ≥ 0.
Por el lema anterior:
kAxk22 = x∗ A∗ Ax ≤ λ1 kxk22 = ρ(A∗ A)kxk22 ,
de donde
kAxk22
≤ ρ(A∗ A)
kxk2
para x 6= 0; luego p
kAk2 ≤ ρ(A∗ A).
Sea x̂ ∈ Kn un vector propio correspondiente a ρ(A∗ A) de A∗ A con kx̂k2 = 1.
Luego se tiene:
= sup kAxk22 ≥ kAx̂k22 = x̂∗A∗ Ax ≤ ρ(A∗ A)kx̂k22
kAk22
kxk=1
p
kAk2 ≥ ρ(A∗ A).
p
De lo anterior kAk2 = ρ(A∗ A). 
Teorema 2.6. Se cumplen:
1) Sea k · k una norma en Kn . Entonces ρ(A) ≤ kAk, para toda matriz
A ∈ Kn×n .
2) Si A ∈ Kn×n es hermitiana se cumple ρ(A) = kAk2 .
3) Para toda matriz A ∈ Kn×n y ε > 0, existe una norma en Kn×n con
kAk < ρ(A) + ε, esto es
ρ(A) = ı́nf kAk,
k·k

donde el ı́nfimo se toma sobre todas las normas subordinadas de Kn×n .


22 2. SISTEMAS DE ECUACIONES LINEALES

Demostración. 1) Sea λ un valor propio de A cualquiera. Tomemos


un vector propio correspondiente x con kxk = 1. Entonces
|λ| = |λ|kxk = kλxk = kAxk ≤ kAkkxk = kAk.
En particular, tomemos λ tal que |λ| = ρ(A), de donde ρ(A) ≤ kAk.
2) En efecto, si A = A∗ entonces
p p p p
kAk2 = ρ(A∗ A) = ρ(A A) = ρ(A2 ) = ρ(A)2 = ρ(A).
3) Tomemos ε > 0. Como A es cuadrada, entonces existe una matriz in-
versible U tal que S := U −1 AU = (sij ) es triangular superior. Definamos
E = diag(ε, ε2 , . . . , εn ). Consideremos la matriz E −1 SE = (sij εj−i ). Esta
matriz es triangular superior, al igual que S. Para los elementos posible-
mente no nulos fuera de la diagonal (i < j), tenemos:
|sij εj−i | < |sij |ε
esto es, los elementos de la diagonal son arbitrariamente pequeños (basta
escoger un ε adecuado). La matriz P := (U E)−1 es tal que P AP −1 =
(sij εj−i ).
Debido a esto, podemos escribir P AP −1 = D + T , con D diagonal y
kT k∞ < ε.
Ahora bien, es obvio que si k · k es una norma en Kn y P una matriz
inversible , la aplicación definida por kxk′ := kP xk, ∀x ∈ Kn también lo
es. Su norma subordinada es ( véase que y := P x):
kAxk′ kP Axk kP AP −1 yk
kAk′ = sup ′
= sup = sup = kP AP −1 k
x6=0 kxk x6=0 kP xk y6=0 kyk
De lo anterior, tenemos:
kP AP −1 k∞ ≤ kDk∞ + kT k∞ < ρ(A) + ε
y sabiendo que kAk := kP AP −1 k∞ es una norma subordinada, tenemos
kAk < ρ(A) + ε


2. Eliminación de Gauss
Dado el sistema lineal
a11 x1 + a12 x2 + · · · + a1n xn = b1
a21 x1 + a22 x2 + · · · + a2n xn = b2
..
.
an1 x1 + an2 x2 + · · · + ann xn = bn
En su forma matricial:
Ax = b
donde
     
a11 a12 ... a1n b1 x1
 a21 a22 ... a2n   b2   x2 
 ∈ Kn×n ,  ∈ Kn ,  ∈ Kn .
     
A= .. .. .. b= .. x= ..
 . . .   .   . 
an1 an2 ... ann bn xn
2. ELIMINACIÓN DE GAUSS 23

Empezamos con el sistema lineal de forma triangular superior


a11 x1 + a12 x2 + · · · + a1,n−1 xn−1 + a1n xn = b1
a22 x2 + · · · + a2,n−1 xn−1 + a2n xn = b2
..
.
an−1,n−1 xn−1 + an−1,n xn = bn−1
ann xn = bn
Supongamos que los elementos de la diagonal de A son distintos de cero: aii 6= 0,
i = 1, 2, . . . , n. Luego:
xn = bn /ann ,
xn−1 = [bn−1 − an−1,n xn ]/an−1,n−1 ,
X n
xj = [bj − ajk xk ]/ajj
k=j+1

Ası́ tenemos un algoritmo que soluciona un sistema triangular superior:


Entrada: A = (aij ) ∈ Kn×n , aii 6= 0, i = 1, . . . , n
aij = 0 para j = 1, . . . , i − 1, i = 2, . . . , n.
b = (b1 , . . . , bn )t ∈ Kn (lado derecho)
Calcular xn := bn /ann
Para j = n − 1, . . . , 1
n
1  X 
Calcular xj := bj − ajk xk
ajj
k=j+1
Salida: x1 , x2 , . . . , xn , formando una solución x = (x1 , . . . , xn )t de Ax = b.
Teorema 2.7. Dado un sistema de ecuaciones lineales Ax = b. Las siguientes
operaciones:
i) la multiplicación de una ecuación por un factor diferente de cero;
ii) la adición de un múltiplo de una ecuación a otra;
iii) el cambio de ecuaciones;
no cambian la solución del sistema, es decir el sistema lineal obtenido por estas
operaciones, Ãx = b̃ tiene la misma solución del sistema Ax = b.
Luego, la transformación a un sistema triangular funciona del siguiente modo:
1. Se busca el coeficiente de la primera columna de (A|b) que posea el valor
absoluto más grande.
|ar1 | = máx{|a11 |, |a21 |, . . . , |an1 |}
2. Cambiar la primera ecuación con la r-ésima, se obtiene (A|b) con A = (ajk )
y b = (b1 , . . . , bn ), donde

 a1k := ark
ark := a1k , k = 1, . . . , n

ajk := ajk , j = 2, . . . , n, j 6= r

 b1 := br
b := b1
 r
bj := bj , j = 2, . . . , n, j 6= r
3. “Eliminar”los elementos a21 , a31 , . . . , an1 , obteniéndose :
 
a11 a12 . . . a1n b1
 0 a(1) (1) (1) 
 22 . . . a2n b2 
(A|b) ∼  . .. .. . 
 .. . . . 
. 
(1) (1)
0 an2 . . . ann b(1) n
24 2. SISTEMAS DE ECUACIONES LINEALES

con
(1) aj1
ajk := ajk − a1k , j, k = 2, . . . , n
a11
(1) aj1
bj := bj − b1 , j = 2, . . . , n
a11
Aplicando nuevamente 1, 2 y 3 a la submatriz
 
(1) (1)
a22 . . . a2n b2
 . .. . 
 . . . 
 . . 
(1) (1)
an2 . . . ann bn
se obtiene:
 
a11 a12 a13 a14 ... a1n b1

(1) (1) (1) (1) (1) 

 0 a22 a23 a24 ... a2n b2 
 (2) (2) (2)
(2) 
(A|b) ∼  0 0 a33 a34 ... a3n b
3


 .. ..
 .. .. 
 . . .
. 

(n−1) (n−1)
0 0 0 0 ... ann bn

2.1. Algoritmo de Gauss Jordan. Dados los sistemas


Ax = b(1) , Ax = b(2) , . . . , Ax = b(m)
sea
W := (A|b(1) |b(2) | . . . |b(m) )
queremos
(1) (2) (m)
W ∼ (Ã|b̃ |b̃ | . . . |b̃ )
con à triangular superior,
 
w11 ... w1n w1,n+1 ... w1,n+m
 .. .. 
W = . . 

wn1 ... wnn wn,n+1 ... wn,n+m
Utilizamos el vector p := (p1 , . . . , pn ) (llamado vector de permutaciones) para
registrar los cambios de filas. Al inicio se empieza con p := (1, 2, . . . , n). Luego,
en vez de hacer los cambios de filas, hacemos los cambios en las componentes
de p. Ası́, en el primer paso, al cambiar la r-ésima fila por la primera resulta
p := (r, 2, . . . , r − 1, 1, r + 1, . . . , n).
De este modo tenemos en Algoritmo de Gauss-Jordan:

Entrada: W ∈ Kn×(n+m) , W := (wjk ) = (A|b(1) |b(2) | . . . |b(m) )


Poner p := (p1 , . . . , pn ) con pi = i, i = 1, 2, . . . , n
Para k:=1,. . . ,n-1
Encontrar j ≥ k con |wpj ,k | = máx{|wpk ,k |, . . . , |wpn ,k |}
Cambiar pj y pk en p
Para i := k + 1, . . . , n
Poner m := wpi ,k /wpk ,k
Poner wpi ,k := wpi ,k /wpk ,k
Para j := k + 1, . . . , n, n + 1, . . . , n + m
wpi ,j := wpi ,j − m · wpk ,j
(1) (2) (m)
Salida: W̃ = (Ã|b̃ |b̃ | . . . |b̃ ) con à triangular superior permutada.
Notas.
3. LA FACTORIZACIÓN LU 25

1. En general, si se tuvieran m sistemas lineales

Ax = b(q) , q = 1, 2, . . . , m,
(q)
luego de aplicar el algoritmo anterior se tendrá que resolver Ãx = b̃ ,
donde
 
wp1 ,1 wp1 ,2 . . . wp1 ,n wp1 ,n+q
(q)

 wp2 ,2 . . . wp2 ,n wp2 ,n+q 

(Ã|b̃ ) =  .. .. .. 
 . .
. 
0 wpn ,n wpn ,n+q

Se puede usar el algoritmo para resolver sistemas de la forma triangular


superior.
2. Propuesta: Verificar
Si se quiere resolver Ax = b̂ , donde b̂ = (b1 , b2 , . . . , bn )t usando à del
algoritmo anterior, se puede usar el sgte algoritmo:

Para j := 1, . . . , n − 1
Para k := j + 1, . . . , n
bpk := bpk − wpk ,j · bpj .
Luego, se resuelve el sistema triangular superior Ãx = b̃, donde
 
wp1 ,1 wp1 ,2 . . . wp1 ,n bp1

 wp2 ,2 . . . wp2 ,n bp2 

(Ã|b̃) =  .. .. .. 
 . . .


0 wpn ,n bpn

3. La factorización LU
n×n
Dada una matriz A ∈ K , se buscan
   
l11 0 . . . 0 u11 u12 ... u1n
 l21 l22 . . . 0   0 u22 ... u2n 
   
L= . . .. ..  y U = .. .. .. .. 
 .. .. . .   . . . . 
ln1 ln2 . . . lnn 0 ... 0 unn

tales que
A = LU.

Si se tiene A = LU , para resolver el sistema lineal Ax = b se procede como sigue:

b = LU x = Ly

Resolver Ly = b obteniendo y, luego resolver U x = y obteniendo x.


Si exigimos det(A) 6= 0 =⇒ det(L) 6= 0, det(U ) 6= 0 lo cual implica

lii 6= 0, uii 6= 0, i = 1, 2, . . . , n

Damos el algoritmo para resolver un sistema LU : LU x = b


26 2. SISTEMAS DE ECUACIONES LINEALES

Entrada: L = (lij ) matriz triangular inferior


U = (uij ) matriz triangular superior (A = LU )
b = (b1 , . . . , bn )t vector lado derecho
Calcular y1 := b1 /l11
Para j := 2, . . . , n
 j−1
X 
yj := bj − lji yi /ljj
i=1
Calcular xn := yn /unn
Para j := n − 1, . . . , 1
 n
X 
xj := yj − uji xi /ujj
i=j+1
Salida: solución x = (x1 , . . . , xn )t de Ax = b

Teorema 2.8. El método de Gauss implica la factorización LU , si no se aplica


cambio de filas.

Demostración. Después del primer paso se obtiene sin cambio de filas


 
a11 a12 ... a1n
(1) (1)
 0 a22 ... a2n 
A(1) = 
 
.. .. .. 
 . . . 
(1) (1)
0 an2 ... ann

A(1) = L(1) A donde


 
1 0 0 ... 0

 −a21 /a11 1 0 ... 0 

L (1) 
= −a31 /a11 0 1 ... 0 

 .. .. .. 
 . . . 0 
−an1 /a11 0 0 ... 1

después del segundo paso sin cambios de filas


 
a11 a12 a13 a14 ... a1n
 0 a(1) a(1) a(1) ...
(1)
a2n 
 22 23 24 
 (2) (2) (2) 
(2)
A =  0 0 a 33 a 34 ... a3n  = L(2) A(1) = L(2) L(1) A

 .. .. .. 
 . . . 
(2) (2) (2)
0 0 an3 an4 ... ann

Al final resulta:

A(n−1) = L(n−1) A(n−2) = L(n−1) . . . L(1) A

con
 
a11 a12 a13 ... a1n
(1) (1) (1)

 0 a22 a23 ... a2n 

 (2) (2) 
A(n−1) = 0 0 a33 ... a3n 
 .. .. .. 
 .. 
 . . . . 
(n−1)
0 0 0 ... ann
3. LA FACTORIZACIÓN LU 27

y  
1 0 0 ... 0
 .. .. 

 0 1 . . 

 .. 

 . 

L(k)

= 1 0 
 .. (k−1) (k−1)


 . −ak+1,k /akk 1 ... 0 

 .. .. .. 

 . . . 0 
(k−1) (k−1)
0 ... −an,k /akk 0 ... 1
(n−1)
definimos U = A , esta matriz es triangular superior.
 
1 0 ... 0
 a21 /a11 1 0 
 
 (1) (1) ..
L=  a31 /a11 a32 /a22 1 .

 .. .. .. 
 . . . 0 
(1) (1)
an1 /a11 an2 /a22 ... 1
que es una matriz triangular inferior. Luego:
A = LU
como se querı́a. 
Nota. La eliminación de Gauss sin cambios de fila no siempre es posible. Por
ejemplo:  
0 1
A= , se tiene det(A) 6= 0
1 0
supongamos     
0 1 l11 0 u11 u12
A= =
1 0 l21 l22 0 u22
entonces
l11 u11 = 0 (1)
l11 u12 = 1 (2)
l21 u11 = 1 (3)
l21 u12 + l22 u22 = 0 (4)
 
0 1
de (3) u11 6= 0 y de (1) l21 = 0 lo cual no cumple (2). Por lo tanto A =
1 0
no tiene una factorización LU .
Sin embargo:
Teorema 2.9. Para una matriz regular A existe siempre, antes de la k-ésima
eliminación en el algoritmo de Gauss, una permutación de filas, tal que el k-ésimo
elemento diagonal es distinto de cero.
Demostración. Si a11 = 0, entonces por lo menos existe un ai1 6= 0 en la
primera columna e i-ésima fila (de otro modo A no serı́a regular). Esto produce un
elemento a11 6= 0 y se obtiene:

a11 a12 . . . a1n a11 a12 ... a1n
(1) (1)
a21 a22 . . . a2n 0 a22 ... a2n
= (−1)v1 ..

det(A) = . .. .. .. ..
.. . . . . .

an1 an2 . . . ann 0 (1) (1)
an2 ... ann
28 2. SISTEMAS DE ECUACIONES LINEALES

donde 
1, si hubo cambio de fila
v1 =
0, en otro caso
de este modo:
(1) (n−2)
det(A) = (−1)v1 +v2 +···+vn−1 a11 a22 . . . an−1,n−1 ann
(n−1)
.

Teorema 2.10. Para cada matriz A regular, existe una matriz de permutación
P , tal que el producto P A se puede factorizar como P A = LU .
Demostración. Las matrices de permutación P contienen en cada fila y en
cada columna un elemento igual a 1 y el resto igual a 0.
Todos los cambios de fila que sean necesarios para aplicar el método de Gauss se
pueden almacenar en una matriz de permutación P (esto se hace cambiando las
filas de la matriz identidad I según indica el vector de permutaciones p del método)
de modo que al aplicar el método de Gauss a la matriz P A ya no sea necesario el
cambio de filas. Luego, por el teorema 2.8, se obtiene que la matriz P A tiene una
factorización LU . 
Teorema 2.11. Si los menores principales de una matriz A son no singulares,
entonces A admite la factorización LU sin cambios de filas.
Demostración. Los menores principales de la matriz A son las submatrices
 
a11 . . . a1n
Ak =  ... .. .. 

. . 
ak1 . . . akk
6 0.
Ahora bien, det(A1 ) = det(a11 ) = a11 =

a a12 a11 a12
6= 0 =⇒ a11 a(1) 6= 0 =⇒ a(1) 6= 0
det(A2 ) = 11 =
a21 a22 0 a(1) 22
22 22

y ası́

a11 ... a1k

det(Ak ) = ... ..
(1) (2) (k−1)
. = a11 a22 a33 . . . akk 6= 0, k = 1, 2, . . . , n

ak1 ... akk
(k−1)
lo cual implica que akk6= 0, k = 1, 2, . . . , n.
Como no hay cambio de filas, por el teorema 2.8, A tiene una factorización LU . 
Lema 2.12. Sea A = At ∈ Kn×n definida positiva. Entonces se puede aplicar
la eliminación de Gauss sin cambio de filas y A tiene una factorización LU con
L matriz triangular inferior con elementos en la diagonal iguales a 1 y U matriz
triangular superior.
Demostración. Los menores principales Ak , k = 1, 2, . . . n de A son matri-
ces definidas positivas, pues como
xt Ax > 0, para todo x 6= 0, x = (x1 , x2 , . . . , xn ) ∈ Kn .
Dado un vector arbitrario y = (y1 , y2 , . . . , yk ) 6= 0 ∈ Kk , tomando
x = (y1 , . . . , yk , 0, . . . , 0) ∈ Kn tenemos:
y t Ak y = xt Ax > 0
De donde det(Ak ) 6= 0, k = 1, 2, . . . , n. Por el teorema anterior, A tiene una
factorización LU y por la prueba del teorema 2.8, L tiene elementos en la diagonal
iguales a 1. 
4. ERRORES Y CONDICIÓN DE UNA MATRIZ 29

4. Errores y condición de una matriz


4.1. Influencia de errores por redondeos.
Ejemplo 2.3. Consideremos el sistema lineal:
0,005 x + y = 0,5
x + y = 1
entonces
5000
x= ≈ 0,503
9950
4950
y= ≈ 0,497
9950
En cálculos con punto flotante con 2 decimales (mantisa con t = 2):
a) Tomando a a11 = 0,005 como elemento pivote
0,005 x + y = 0,5
−199 y = −99
−99
y= ≈ 0,50 de donde x ≈ 0
−199
b) Tomando a21 = 1 como elemento pivote:
x + y = 1
0,995 y = 0,495
0,495
y= ≈ 0,497 ≈ 0,50 de donde x ≈ 0,50,
0,995
más exacto que antes.
c) Multiplicando por (400) la primera fila del sistema lineal inicial tenemos
2 x + 400 y = 200
x + y = 1
Eligiendo a11 = 2 como elemento de pivoteo se obtiene el mismo resultado inexacto
como en (a).
Observación. La búsqueda del elemento de pivoteo muchas veces no tiene
mucho sentido, si los coeficientes tienen un tamaño diferente.
4.2. Condición de una matriz.
Sea A una matriz invertible, y supongamos que en Ax = b, se cambia b por b̃.
Veamos cómo influye esto en la solución del sistema x, que cambia a x̃. Tenemos
kAxk = kbk y
Ax = b, Ax̃ = b̃.
Entonces:
kAxk
kx − x̃k = kA−1 b − A−1 b̃k ≤ kA−1 kkb − b̃k = kA−1 k kb − b̃k
kbk
kb − b̃k
≤ kA−1 kkAkkxk
kbk
de donde
kx − x̃k kb − b̃k
≤ kA−1 kkAk
kxk kbk
o bien
k∆xk k∆bk
≤ (kA−1 kkAk)
kxk kbk
donde ∆x := x − x̃, ∆b := b − b̃, b, x 6= 0.
30 2. SISTEMAS DE ECUACIONES LINEALES

Definición. El valor kA−1 kkAk es denominado el número de condición de la


matriz A y se denota por cond(A), esto es
cond(A) := kA−1 kkAk
o
condk·k (A) := kA−1 kkAk.
La condición de una matriz depende de la norma.
Nota. Se cumple, para una norma subordinada, que
condk·k (A) = kA−1 kkAk ≥ kA−1 Ak = kIk = 1
Ejemplo 2.4. Sean
     
1 0,99 1,99 1,989903
A := , b := , b̃ :=
0,99 0,98 1,97 1,970106
 
1
La solución exacta de Ax = b es x =
1
 
3
La solución de Ax̃ = b̃ es x̃ =
−1,0203
 
−0,000097
Aquı́ el cambio b − b̃ = que es pequeño influye en el cambio relati-
 0,000106 
2,0000
vamente grande x − x̃ =
−2,0203
kx − x̃k∞ 2,0203
= = 2,0203
kxk∞ 1
kb − b̃k∞ 0,000106
= = 0,000053266
kbk∞ 1,99
Como
k∆xk∞ k∆bk∞
≤ cond∞ (A)
kxk∞ kbk∞
Luego el error se propaga un factor
2,0203
≈ 37928
0,000053266
Como  
−9800 9900
A−1 =
9900 −10000
luego
cond∞ (A) = kA−1 k∞ kAk∞ = 19900 · 1,99 = 39601
Entonces se dice que el problema es mal condicionado, cuando cond(A) es muy
grande.
Nota. En general el cálculo de kA−1 k es un problema.
Teorema 2.13. En el caso de la norma k · k2 se obtiene
|λmáx |
cond2 (A) = ρ(A)ρ(A−1 ) = ,
|λmı́n |
donde λmáx es el valor propio de A con el valor absoluto más grande y λmı́n es el
valor propio con el valor absoluto más pequeño.
Lema 2.14 (De perturbación). Sea A ∈ Kn×n regular. Si S ∈ Kn×n es una
perturbación de A con kA−1 kkSk < 1, entonces A + S es regular y

(A + S)−1 ≤ kA−1 k
.
1 − kA−1 kkSk
4. ERRORES Y CONDICIÓN DE UNA MATRIZ 31

Demostración. Se cumple:

(2) (I + A−1 S)y ≥ kyk − kA−1 Syk ≥ 1 − kA−1 Sk kyk, para todo y ∈ Kn .
Entonces, la ecuación (I + A−1 S)y = 0 implica y = 0 como solución única, esto es,
I + A−1 S es no singular. Luego I + A−1 S y A(I + A−1 S) = A + S son matrices
regulares.
Para y = (I + A−1 S)−1 x, x ∈ Kn , de (2) se obtiene:
−1 −1

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

1 − kA−1 kkSk
kxk
= ,
1 − kA−1 kkSk
de donde

(I + A−1 S)−1 ≤ 1
1 − kA−1 kkSk
De esto se obtiene:

(A + S)−1 = (I + A−1 S)−1 A−1
kAk−1
≤ (I + A−1 S)−1 kA−1 k ≤ .
1 − kA−1 kkSk


Teorema 2.15. Sea A ∈ Kn×n una matriz regular, ∆A ∈ Kn×n una matriz
con kA−1 kk∆Ak < 1, b ∈ Kn \ {0}, ∆b ∈ Kn y x, ∆x definidos por Ax = b y
(A + ∆A)(x + ∆x) = b + ∆b. Entonces se cumple
 
k∆xk condk·k (A) k∆Ak k∆bk
≤ + .
kxk k∆Ak kAk kbk
1 − condk·k (A)
kAk
Demostración. Como kA−1 kk∆Ak < 1 y siendo A regular, por el lema 2.14
para S := ∆A se obtiene que A + ∆A es regular y

(A + ∆A)−1 ≤ kA−1 k
(3)
1 − kA−1 kk∆Ak
de Ax = b y (A + ∆A)(x + ∆x) = b + ∆b se obtiene:
Ax + ∆Ax + A∆x + ∆A∆x = b + ∆b
Luego,
(4) ∆x = (A + ∆A)−1 (∆b − ∆Ax).
De (3) y (4):

k∆xk ≤ (A + ∆A)−1 k∆b − ∆Axk
 
kA−1 k k∆bk k∆AkkxkkAk
≤ kbk +
1 − kA−1 kk∆Ak kbk kAk
 
kA−1 k k∆bk k∆Ak
≤ kAkkxk + kAkkxk
1 − kA−1 kk∆Ak kbk kAk
 
kA−1 kkAk k∆Ak k∆bk
=   + kxk,
 k∆Ak kAk kbk
1 − kA−1 kkAk
kAk
32 2. SISTEMAS DE ECUACIONES LINEALES

de donde  
k∆xk condk·k (A) k∆Ak k∆bk
≤ + .
kxk k∆Ak kAk kbk
1 − condk·k (A)
kAk


5. Factorización LU para sistemas especiales


Sea A = (aij )n×n = LU , donde
   
l11 0 . . . 0 u11 u12 ... u1n
 l21 l22 . . . 0   0 u22 ... u2n 
   
L= . .. .. ..  U = .. .. .. .. 
 .. . . .   . . . . 
ln1 ln2 ... lnn 0 ... 0 unn
n
X
se cumple que aij = lik ukj , i, j = 1, 2, . . . , n.
k=1
Para k > i, lik = 0; entonces basta calcular solamente para 1 ≤ i ≤ k. Por
otro lado, para k > j: ukj = 0; basta entonces calcular solamente para 1 ≤ j ≤ k.
Luego:
mı́n{i,j}
X
aij = lik ukj , i, j = 1, 2, . . . , n
k=1
Especı́ficamente, para
j−1
X
i = j : ljj ujj = ajj − ljk ukj , j = 1, 2, . . . , n
k=1
i−1
1 X
j > i : uij = (aij − lik ukj )
lii
k=1
j−1
1 X
i > j : lij = (aij − lik ukj ).
ujj
k=1

5.1. Algoritmo de Cholesky.


Teorema 2.16. Sea A = At ∈ Rn×n definida positiva. Entonces existe una
única matriz triangular inferior L ∈ Rn×n con elementos diagonales positivos tal
que A = LLt .
Demostración. Por el lema 2.12 existe una factorización LU para una matriz
simétrica y definida positiva, esto es, existe L̂ ∈ Rn×n triangular inferior con unos
en la diagonal y Û ∈ Rn×n matriz triangular superior regular tal que A = L̂Û.
t
Definamos D := Û(L̂ )−1 . De A = L̂Û y A = At tenemos
t t
L̂Û = A = At = Û L̂
de donde
t −1 t
D := Û(L̂ )−1 = L̂ Û
Ahora bien, del álgebra lineal se sabe que el producto de matrices triangulares
superiores [inferiores] es triangular superior [inferior], que la inversa de una matriz
triangular superior [inferior] es triangular superior [inferior] y que la transpuesta de
una matriz triangular superior [inferior] es triangular inferior [superior]. Sabiendo
t
esto, la igualdad D = Û(L̂ )−1 implica que la matriz D es triangular superior, y la
5. FACTORIZACIÓN LU PARA SISTEMAS ESPECIALES 33

−1 t
igualdad D = L̂ Û implica que D es triangular inferior. Luego D es una matriz
diagonal :
D = diag(d11 , d22 , . . . , dnn )
Además:
A = L̂Û = L̂DL̂t .
Siendo A definida positiva, D también lo es, pues dado x 6= 0 ∈ Rn :
t 
xt Dx = xt L̂−1 A(L̂t )−1 x = xt L̂−1 A(L̂−1 )t x = (L̂−1 )t x A (L̂−1 )t x > 0
t
luego dii = e√
i Dei >
√ 0, i = 1,√2, . . . , n. Ası́, D tiene diagonal positiva. Definiendo
1/2
D = diag d11 , d22 , . . . , dnn , tenemos:

A = L̂DL̂t = L̂D1/2 D1/2 L̂t = (L̂D1/2 )(L̂D1/2 )t = LLt

Con L := L̂D1/2 , matriz triangular inferior con elementos diagonales positivos,


como se buscaba.
La prueba de la unicidad se deja como ejercicio. 

Definición. La factorización de una matriz A = At ∈ Rn×n definida positiva,


tal que A = LLt donde L es una matriz triangular inferior con elementos diagonales
positivos, es denominada factorización de Cholesky de A.
De las fórmulas vistas anteriormente con
ujj = ljj , j = 1, 2, . . . , n
lij = uji , i, j = 1, 2, . . . , n
se obtiene
j−1
X
2 2
ljj = ajj − ljk , j = 1, 2, . . . , n
k=1
j−1
1 X
lij = (aij − lik ljk ), j < i.
ljj
k=1

Ası́ tenemos el algoritmo de Cholesky:


Entrada: A = At = (aij ) ∈ Rn×n definida positiva.

Calcular l11 := a11
Para i = 2, . . . , n
li1 := ai1 /l11
Para j = 2, . . . , n
 j−1
X 1/2
2
ljj = ajj − ljk
k=1
Para i = j + 1, . . . , n
 j−1 
1 X
lij = aij − lik ljk
ljj
k=1
Salida: parte triangular inferior de L
Se cumple:
cond2 (A) = kAk2 kA−1 k2 = ρ(A)ρ(A−1 ) = ρ(LLt )ρ((L−1 )t L−1 )
cond2 (L) = kLk2 kL−1 k2 = ρ(L)ρ(L−1 )
La cantidad de operaciones necesarias para este algoritmo, es solamente la
mitad de las del algoritmo de Gauss para n bastante grande.
34 2. SISTEMAS DE ECUACIONES LINEALES

5.2. Algoritmo compuesto para sistemas tridiagonales. Consideremos


el sistema:

a1 x1 + c1 x2 = f1
b2 x 1 + a2 x2 + c2 x3 = f2
b3 x 2 + a3 x3 + c3 x4 = f3
b4 x 2 ...
.. ..
. .
bn−1 xn−2 + an−1 xn−1 + cn−1 xn = fn−1
bn xn−1 + an xn = fn

Sea
 
a1 c1 0 ... 0

 b2 a2 c2 0 


A= 0 b3 a3 0 

 .. .. 
 . . cn−1 
0 ... 0 bn an

El sistema anterior (con la matriz A = (aij ) asociada) es tridiagonal cuando aij = 0,


para |i − j| > 1.

Si A = LU con

   
α1 0 ... 0 1 u1 0 ... 0
 0 1 ... 0 
 b2 α2 ... 0   

 0 b3

  .. .. 
L=  U = . . 
 .. .. ..  
 .


 . 0 . .   .. 1 un−1 
0 ... 0 bn αn 0 ... 0 1

Entonces

a1 = α1 c1 = α1 u1
b2 = α2 a2 = b2 u1 + α2 c1 = α1 u1
a3 = b3 u2 + α3 c2 = α2 u2
.. ..
. .
an = bn un−1 + αn cn−1 = αn−1 un−1

Se obtiene:

α1 = a1 , u1 := c1 /α1
αj = aj − bj uj−1 , j = 2, . . . , n
uj = cj /αj , j = 2, . . . , n − 1

Se requieren αj 6= 0, j = 1, 2, . . . , n.

Ası́ tenemos el algoritmo compuesto para sistemas tridiagonales:


6. LA FACTORIZACIÓN QR 35

Entrada : A = (bj , aj , cj ) matriz tridiagonal


[b = (b2 , b3 , . . . , bn )t , a = (a1 , . . . , an )t , c = (c1 , . . . , cn−1 )t ]
f = (f1 , . . . , fn )t vector lado derecho
α1 := a1 , u1 := c1 /α1
Para j = 2, . . . , n − 1
αj := aj − bj uj−1
uj := cj /αj
αn := an − bn un−1
y1 := f1 /α1
Para j = 2, . . . , n
yj := (fj − bj yj−1 )/αj
xn := yn
Para j = n − 1, . . . , 1
xj := yj − uj xj+1
Salida: solución (x1 , . . . , xn )t de Ax = f .

6. La Factorización QR
m×n m×m
Definición. Sea A ∈ R , m ≥n. Si existe una matriz ortogonal Q ∈ R
R1
(Qt Q = I) y una matriz R = ∈ Rm×n con R1 matriz matriz triangular
0
superior tal que A = QR, entonces QR es denominada factorización QR de A.
La razón de desear obtener una factorización tal es simple: dado el sistema
Ax = b con A = QR y Qt Q = I entonces
QRx = b implica Qt QRx = Qt b, y luego Rx = Qt b,
un sistema triangular superior.
Teorema 2.17. Sea A ∈ Rm×n  rang(A) = n, m ≥ n. Entonces A tiene
 , con
R1
una factorización QR con R = y R1 tiene elementos diagonales distintos
0
de cero.
Demostración. Aplicando el proceso de ortogonalización de Gram-Schmidt a
las columnas a1 , a2 , . . . , an de A se obtiene un sistema ortonormal {q1 , q2 , . . . , qn } ⊂
Rn con lin{a1 , . . . , ak } = lin{q1 , . . . , qk } para 1 ≤ k ≤ n. En especial se cumple:
k
X
ak = rjk qj , k = 1, . . . , n
j=1

con rkk 6= 0. Completando {q1 , . . . , qn } a una base ortonormal de Rm , digamos


{q1 , . . . , qn , qn+1 , . . . , qm }, se tiene que Q := [q1 , . . . , qm ] ∈ Rm×n es ortogonal, y
definiendo 
rjk , para j ≤ k
(R1 )jk :=
0, para j > k
se cumple
 
R1
A = [a1 , . . . , an ] = QR, R := .
0


Teorema 2.18. Para cualquier matriz A ∈ Rm×n , m ≥ n existe una factor-


ización QR.
36 2. SISTEMAS DE ECUACIONES LINEALES

6.1. Factorización QR de Householder.


Idea: En el primer paso se determina una matriz ortogonal P1 ∈ Rm×m tal que
 

 0 ∗ ... ∗ 
 
P1 A =  . . .. 
 .. .. . 
0 ∗ ... ∗
Supongamos que ya han sido determinadas matrices ortogonales P1 , P2 , . . . , Pk
tal que Pk . . . P1 A tiene la siguiente forma:
 
∗ ∗ ... ∗ ∗ ... ∗

 ∗ ... ∗ ∗ ... ∗  
 . .. .. .. 
 . .   k 

= R
 Ak12
Pk . . . P1 A =  0 . . . 0 ∗ ∗ . . . ∗
  0 Ak22
 0
 ... 0 ∗ ... ∗  
 . .. .. .. 
 .. . . . 
0 ... 0 ∗ ... ∗
donde Rk ∈ Rk×k es una matriz triangular superior. Sea k ≤ n + 1, de otro modo
Pk . . . P1 A tendrı́a la forma deseada. Luego, se determina una matriz ortogonal
P̃k+1 ∈ R(m−k)×(m−k) tal que la primera columna de P̃k+1 Ak22 sea un múltiplo del
primer vector canónico de Rm−k ( P̃k+1 Ak22 = α(1, 0, . . . , 0)t ). Se define
 k 
I 0
Pk+1 :=
0 P̃k+1
se cumple que Pk+1 ∈ Rm×m es ortogonal (¡verificar!). También se cumple:
 k   k+1 
R Ak12 R Ak+1
12
Pk+1 Pk . . . P1 A = = ,
0 P̃k+1 Ak22 0 Ak+1
22

donde Rk+1 es una matriz triangular superior.


Se debe notar que las primeras k filas no cambian por la multiplicación de Pk . . . P1 A
con Pk+1 por su izquierda.
Definición. Sea u ∈ Rn \ {0}. Una matriz P ∈ Rn×n de la forma
2uut
P =I−
ut u
es denominada matriz de Householder.
Observación. Se cumple que la matriz de Householder es simétrica y ortog-
onal. En efecto, la simetrı́a se sigue de
 t
2uut 2(ut )t ut 2uut
Pt = I − t = It − = I − = P,
uu ut u ut u
mientras que la ortogonalidad se sigue del hecho que
  
2uut 2uut 4uut 4(uut )(uut ) 4uut 4u(ut u)ut
PPt = I − t I− t = I− t + = I− + = I.
uu uu uu (ut u)2 ut u (ut u)2

Ahora bien, consideremos



1, x ≥ 0
sign(x) =
−1, x < 0
6. LA FACTORIZACIÓN QR 37

Lema 2.19. Sea x ∈ Rn \ {0}. Definiendo u := x + sign(x1 )kxk2 e1 , se obtiene


por
2uut 2 1
P =I− t
= I − βuut con β = t = ,
uu uu kxk2 kxk2 + |x1 |
una matriz de Householder con
P x = − sign(x1 )kxk2 e1 = (∗, 0, . . . , 0)t .
Demostración.
 
ut u = xt + sign(x1 )kxk2 et1 x + sign(x1 )kxk2 e1
= kxk22 + sign(x1 )kxk2 x1 + x1 sign(x1 )kxk2 + sign(x1 )2 kxk22
= 2kxk22 + 2|x1 |kxk2 = 2kxk2 kxk2 + |x1 |
2 1
lo cual implica que β = t
=
uu kxk2 (kxk2 + |x1 |)

P x = P u − sign(x1 )kxk2 e1 = P u − sign(x1 )kxk2 P e1
 2uut 
= I− t u − sign(x1 )kxk2 (I − βuut )e1
u tu
2uu u
= u − t − sign(x1 )kxk2 e1 + sign(x1 )kxk2 βuut e1
uu
= −u − sign(x1 )kxk2 e1 + βu1 sign(x1 )kxk2 u
(x1 + sign(x1 )kxk2 )
= −u − sign(x1 )kxk2 e1 + u  sign(x1 )kxk2
kxk2 kxk2 + |x1 |
= − sign(x1 )kxk2 e1 .


Se obtiene el siguiente algoritmo:


Entrada: matriz A = (aij ) ∈ Rm×n , m ≥ n
Para k = 1, . . . , mı́n{n, m − 1}
Calcular una matriz (m − k + 1) × (m − k + 1) de
Householder con P̃k (akk , . . . , amk )t = (rk , 0, . . . , 0)t
Hacer Pk := diag(Ik−1 , P̃k )
Calcular A := Pk A
Salida: matriz transformada A a una matriz R triangular superior
De esta manera, la matriz A se transforma en mı́n{n, m − 1} pasos en una matriz
triangular.
Definiendo Q := P1 , . . . , Pn se ha encontrado la factorización QR.
Evitando un overflow y un underflow: Es conveniente primero calcular y := x/kxk∞
y después u := y + sign(y1 )kyk2 e1 . La matriz de Householder correspondiente será
1
P := I − βuut con β := .
kyk2 kyk2 + |y1 |
Al solucionar un sistema de ecuaciones lineales (mediante el siguiente algoritmo)
no se requiere almacenar Q := P1 . . . Pn . Sin embargo se pueden almacenar los datos
importantes para Pk , uk = (ukk , . . . , umk )t y βk de la siguiente manera:
 
u11 a12 . . . a1n
 u21 u22 . . . a2n     
 
 .. .. ..  a11 β1
 . . . 
  .   . 
A :=  un1 un2 . . . unn  , r =  ..  , β =  .. 
 
 . ..  ann βn
 .. . 
um1 um2 ... umn
38 2. SISTEMAS DE ECUACIONES LINEALES

La implementación del algoritmo para el k-ésimo paso para el cálculo de P̃k =


Im−k+1 − βk uk utk , donde
2
uk := (ukk , . . . , umk )t , βk :=
utk uk
tal que
P̃k ak = (rk , 0, . . . , 0)t con ak = (akk , . . . , amk )t
es la siguiente:
Calcular kak k∞ = máx |aik |
i=k,...,n
α := 0
Para i = k, . . . , n
uik := aik /kak k∞
α := α + u2ik

α := a
β := 1/[α(α + |ukk |)]
ukk := ukk + sign(akk )α
Calculando A := Pk A quedan las (k − 1) filas.
Entonces se calcula solamente akk y aij
para j = k + 1, . . . , n, i = k, . . . , m.
akk := − sign(akk )kak k∞ α
Para i = k + 1, . . . , m
aik := 0
Para j = k + 1, . . . , n
Xm
s := βk uik aij
i=k
Para i = k, . . . , m
aij := aij − s · uik

6.2. Factorización QR de Givens. Sea A = (aij ) ∈ Rm×n , m ≥ n. Para


obtener la factorización QR de A mediante el método de Givens, se multiplica por
la izquierda a A sucesivamente por rotaciones de Givens, que son matrices m × m
de la forma
 
1 0
 .. .. .. 0 

 . . 0 . 

 0 1 
 

 ... C ... S ...

 ←i

 1 

Gik :=

0 .. .. .. 0


 . . . 


 1 

 ... −S ... C ...  ←k
 

 1 


0 .. .. .. 
 . 0 . . 
1
↑ ↑
i k
con C 2 + S 2 = 1, C 6= 0, 1 ≤ i ≤ k ≤ m. Una rotación de Givens se distingue
de la matriz identidad solamente por los elementos de las posiciones (i, i), (i, k),
(k, i) y (k, k).
6. LA FACTORIZACIÓN QR 39

Las rotaciones de Givens gozan de las siguientes propiedades:

a) Los Gik son ortogonales:

 t     
C S C S C −S C S
=
−S C −S C S C −S C
 
C2 + S2 0
=
0 C2 + S2
 
1 0
=
0 1

b) Multiplicación por un vector:


Sea x ∈ Rm , y := Gik x, entonces

 
x1
 ..




.

 xi−1 

 Cxi + Sxk 
  ←i 
 xi+1   Cxi + Sxk , para j = i
 
y= ..  = −Sxi + Cxk , para j = k

 . 


xj , para j 6= i, k

 xk−1 

 −Sxi + Cxk  ← k
 
 .. 
 . 
xm

Nota. C = cos(θ), S = sen(θ), θ: ángulo de rotación;

    
cos(θ) sen(θ) x x cos(θ) + y sen(θ)
=
− sen(θ) cos(θ) y −x sen(θ) + y cos(θ)

Multiplicando una matriz A ∈ Rm×n por la izquierda con una rotación de


Givens Gik , se obtiene solamente un cambio de la i-ésima y k-ésima filas. Las
nuevas filas son una combinación lineal de las antiguas y están dadas por

(Gik A)ij = C aij + S akj


(Gik A)kj = −S aij + C akj , j = 1, 2, . . . , n

En particular, si aij = akj = 0 entonces (Gik A)ij = 0 = (Gik A)kj .


Mediante la factorización QR de Givens, para cualquier x ∈ Rn , 1 ≤ i < k ≤ m
se puede encontrar una rotación de Givens tal que (Gik x)k = 0. Entonces se puede
poner la k-ésima componente de y := Gik x a cero dejando todas las demás con la
i-ésima componente sin cambio. Para esto, se define, para (α, β) ∈ R2 , γ ∈ R y
C 2 + S 2 = 1 tales que

    
i→ C S α γ
=
k→ −S C β 0
40 2. SISTEMAS DE ECUACIONES LINEALES

Entrada: α, β ∈ R
si β = 0 si β 6= 0
C := 1 si |β| ≥ |α| si |β| < |α|
S := 0 t := √α/β t := √β/α
γ := α S := 1/ 1 + t2 C := 1/ 1 + t2
C :=√ St S :=√Ct
γ := β 1 + t2 γ := α 1 + t2
Salida: rot(α, β) := (C, S, γ)
con la propiedad
 C2 + S 2
  = 1y  
C S α γ
=
−S C β 0
Por consiguiente, mediante las rotaciones de Givens se pueden cambiar a cero
los elementos que se encuentran debajo de la diagonal. Se debe tener en cuenta que
los elementos que ya son iguales a cero se quedan ası́.

Ejemplo 2.5. En el siguiente ejemplo tipo de una matriz 4 × 3, avanzando por


columnas, escribiremos, en cada operación
◦: elemento no cambiado por la transformación.
∗: elemento cambiado por la transformación.

     
◦ ◦ ◦ ∗ ∗ ∗ ∗ ∗ ∗
 ◦ G12 G13
◦ ◦ 
 →
 0 ∗ ∗ 
 →
 0 ◦ ◦ 
A := 
 ◦
  
◦ ◦   ◦ ◦ ◦   0 ∗ ∗ 
(1, 2) (1, 3)
◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦

       
∗ ∗ ∗ ◦ ◦ ◦ 0 ◦ ◦ ◦ ◦ ◦
G14  G23 G24 G34
0 ◦ ◦   0 ∗ ∗   0 ∗ ∗   0 ◦ ◦ 
→   →   →   →  
 0 ◦ ◦   0 0 ∗   0 0 ◦   0 0 ∗ 
(1, 4) (2, 3) (2, 4) (3, 4)
0 ∗ ∗ 0 ◦ ◦ 0 0 ∗ 0 0 0

Esto es, dada A ∈ Rm×n , aplicar sucesivamente (1, 2), (1, 3), . . . , (1, m), (2, 3), . . . , (2, m),
. . . , mı́n({n, m − 1}, m).

Se obtiene el siguiente algoritmo:


Entrada: A ∈ Rm×n , m ≥ n
Para i = 1, 2, . . . , mı́n{n, m − 1}
Para k = i + 1, . . . , m
(C, S, aii ) = rot(aii , aki )
aki := 0
Para j = i +1, . . . ,n   
aij C S aij
:=
akj −S C akj
Salida: Qt A = R,  Q ortogonal
R1 ←n
R=
0 ←m−n
donde R1 es triangular superior

Nota. Para el método de Givens se requieren más multiplicaciones/divisiones


que para el método de Householder. Sin embargo, para matrices de una estructura
especial, como por ejemplo matrices con muchos elementos nulos, el método de
Givens es mejor. Además existe un método rápido de Givens.
7. EJEMPLOS 41

7. Ejemplos
7.1. Cálculo de la factorización A = QR por el algoritmo de House-
holder. Consideramos la matriz
 
63,0000 41,0000 −88,0000
 42,0000 60,0000 51,0000 
(5) A=  0,0000 −28,0000 56,0000 

126,0000 82,0000 −71,0000


Para la reducción de la matriz A a una forma triangular, realizamos 3 pasos suce-
sivos para reducir sus columnas.
En el primer paso, reducimos la columna x1 = (63,0000, 42,0000, 0,0000, 126,0000)t ,
definiendo
u1 = x1 + sign(x1(1) )kx1 k2 e1 = (210,0000, 42,0000, 0,0000, 126,0000)t
y luego la matriz de Householder
 
−0,4286 −0,2857 0,0000 −0,8571
2u1 ut  −0,2857 0,9429 0,0000 −0,1714 
P̃1 = I − t 1 =  0,0000

u1 u1 0,0000 1,0000 0,0000 
−0,8571 −0,1714 0,0000 0,4857
 
−0,4286 −0,2857 0,0000 −0,8571
 −0,2857 0,9429 0,0000 −0,1714 
P1 = 
 0,0000

0,0000 1,0000 0,0000 
−0,8571 −0,1714 0,0000 0,4857
 
−147,0000 −105,0000 84,0000
 0,0000 30,8000 85,4000 
P1 A =  
 0,0000 −28,0000 56,0000 
0,0000 −5,6000 32,2000
Para reducir la segunda columna, tomamos x2 = (30,8000, −28,0000, −5,6000)t y
luego
u2 = x2 + sign(x2(1) )kx2 k2 e1 = (72,8000, −28,0000, −5,6000)t ,
para luego calcular
 
−0,7333 0,6667 0,1333
2u2 ut2
P̃2 = I − =  0,6667 0,7436 −0,0513 
ut2 u2
0,1333 −0,0513 0,9897
 
1,0000 0,0000 0,0000 0,0000
 0,0000 −0,7333 0,6667 0,1333 
P2 =  
 0,0000 0,6667 0,7436 −0,0513 
0,0000 0,1333 −0,0513 0,9897
Ahora  
−147,0000 −105,0000 84,0000
 0,0000 −42,0000 −21,0000 
P2 P1 A = 
 −0,0000
.
0,0000 96,9231 
0,0000 0,0000 40,3846
Finalmente, reducimos la tercera columna tomando x3 = (96,9231, 40,3846)t,
u3 = x3 + sign(x3(1) )kx3 k2 e1 = (201,9231, 40,3846)t
42 2. SISTEMAS DE ECUACIONES LINEALES

y calculando
 
2u3 ut3 −0,9231 −0,3846
P̃3 = I − =
ut3 u3 −0,3846 0,9231
 
1,0000 0,0000 0,0000 0,0000
 0,0000 1,0000 0,0000 0,0000 
P3 =  
 0,0000 0,0000 −0,9231 −0,3846 
0,0000 0,0000 −0,3846 0,9231
Luego, las matrices triangular superior R y ortogonal Q tales que A = QR son
 
−147,0000 −105,0000 84,0000
 0,0000 −42,0000 −21,0000 
R = P3 P2 P1 A = 
 −0,0000

−0,0000 −105,0000 
0,0000 −0,0000 −0,0000
 
−0,4286 0,0952 0,4762 −0,7619
 −0,2857 −0,7143 −0,5714 −0,2857 
Q = P1 P2 P3 =  
 0,0000 0,6667 −0,6667 −0,3333 
−0,8571 0,1905 −0,0476 0,4762

7.2. Cálculo de la factorización A = QR por rotaciones de Givens.


Consideramos la misma matriz A del ejemplo anterior, definida por (5). Siguiendo
los pasos del ejemplo (2.5):
Definimos
(C, S, a11 ) = rot(a11 , a21 ) = rot(63,0000, 42,0000) = (0,8321, 0,5547, 75,717),
y
 
0,8321 0,5547 0,0000 0,0000
 −0,5547 0,8321 0,0000 0,0000 
G12 =
 
0,0000 0,0000 1,0000 0,0000 
0,0000 0,0000 0,0000 1,0000
 
75,7166 67,3961 −44,9307
 0,0000 27,1803 91,2482 
G12 A = 
 0,0000 −28,0000 56,0000 

126,0000 82,0000 −71,0000


Ahora
(C, S, a11 ) = rot(a11 , a31 ) = rot(75,7166, 0,0000) = (1,0000, 0,0000, 75,717)
y
 
1,0000 0,0000 0,0000 0,0000
 0,0000 1,0000 0,0000 0,0000 
G13 =
 0,0000

0,0000 1,0000 0,0000 
0,0000 0,0000 0,0000 1,0000
 
75,7166 67,3961 −44,9307
 0,0000 27,1803 91,2482 
G13 G12 A = 
 0,0000 −28,0000 56,0000 

126,0000 82,0000 −71,0000


Para
(C, S, a11 ) = rot(a11 , a41 ) = rot(75,7166, 126,0000) = (0,5151, 0,8571, 147,000),
7. EJEMPLOS 43

 
0,5151 0,0000 0,0000 0,8571
 0,0000 1,0000 0,0000 0,0000 
G14 =
 0,0000

0,0000 1,0000 0,0000 
−0,8571 0,0000 0,0000 0,5151
 
147,0000 105,0000 −84,0000
 0,0000 27,1803 91,2482 
G14 G13 G12 A = 
 0,0000 −28,0000 56,0000 

0,0000 −15,5316 1,9415


Para
(C, S, a11 ) = rot(a22 , a32 ) = rot(27,1803, −28,0000) = (−0,6965, 0,7175, −39,023),
 
1,0000 0,0000 0,0000 0,0000
 0,0000 −0,6965 0,7175 0,0000 
G23 =   0,0000 −0,7175 −0,6965 0,0000 

0,0000 0,0000 0,0000 1,0000


 
147,0000 105,0000 −84,0000
 0,0000 −39,0227 −23,3750 
G23 G14 G13 G12 A =  
 0,0000 0,0000 −104,4789 
0,0000 −15,5316 1,9415
Para
(C, S, a22 ) = rot(a22 , a42 ) = rot(−39,0227, −15,5316) = (0,9291, 0,3698, −42,000),
 
1,0000 0,0000 0,0000 0,0000
 0,0000 0,9291 0,0000 0,3698 
G24 =  0,0000 0,0000 1,0000 0,0000 

0,0000 −0,3698 0,0000 0,9291


 
147,0000 105,0000 −84,0000
 0,0000 −42,0000 −21,0000 
G24 G23 G14 G13 G12 A =  
 0,0000 0,0000 −104,4789 
0,0000 0,0000 10,4479
Y para
(C, S, a11 ) = rot(a33 , a43 ) = rot(−104,4789, 10,4479) = (0,9950, −0,0995, −105,000),
 
1,0000 0,0000 0,0000 0,0000
 0,0000 1,0000 0,0000 0,0000 
G34 =   0,0000 0,0000 0,9950 −0,0995 

0,0000 0,0000 0,0995 0,9950


Finalmente
 
147,0000 105,0000 −84,0000
 0,0000 −42,0000 −21,0000 
R = G34 G24 G23 G14 G13 G12 A =  
 0,0000 0,0000 −105,0000 
0,0000 0,0000 0,0000
y
 
0,4286 0,0952 0,4762 −0,7619
 0,2857 −0,7143 −0,5714 −0,2857 
Q=
 0,0000 0,6667 −0,6667 −0,3333  .

0,8571 0,1905 −0,0476 0,4762


44 2. SISTEMAS DE ECUACIONES LINEALES

7.3. Cálculo de A = LLt por el algoritmo de Cholesky. Consideremos


 
136,0000 90,8600 0,0000 0,0000
 90,8600 98,8100 −67,5900 0,0000 
A= 
 0,0000 −67,5900 132,0100 42,2600 
0,0000 0,0000 42,2600 177,1700

La factorización de Cholesky A = LLt con L = (lij ) ∈ R4×4 se realiza de manera


directa por las fórmulas obtenidas, teniendo en cuenta simplemente el orden de
cálculo:
l11 = (136,0000 − 0,0000)1/2 = 11,6619
l21 = (90,8600 − 0,0000)/11,6619 = 7,7912
l31 = (0,0000 − 0,0000)/11,6619 = 0,0000
l41 = (0,0000 − 0,0000)/11,6619 = 0,0000
l22 = (98,8100 − 60,7025)1/2 = 6,1731
l32 = (−67,5900 − 0,0000)/6,1731 = −10,9491
l42 = (0,0000 − 0,0000)/6,1731 = 0,0000
l33 = (132,0100 − 119,8821)1/2 = 3,4825
l43 = (42,2600 − 0,0000)/3,4825 = 12,1349
l44 = (177,1700 − 147,2563)1/2 = 5,4693
El resto de los elementos de L (por encima de la diagonal) es cero:

l12 = l13 = l14 = l23 = l24 = l34 = 0.

Luego
 
11,6619 0,0000 0,0000 0,0000
 7,7912 6,1731 0,0000 0,0000 
L=
 0,0000 −10,9491 3,4825
.
0,0000 
0,0000 0,0000 12,1349 5,4693

7.4. Factorización P A = LU con pivoteo de filas escaladas. Sea


 
30,0000 9,0000 77,0000
A =  20,0000 6,0000 80,0000 
27,0000 11,0000 98,0000

Realizaremos la factorización LU de A con pivoteo de filas escaladas: en lugar de


elegir el pivote según el criterio (p. 23)

|ar1 | = máx{|a11 |, |a21 |, . . . , |an1 |},

elegimos el ı́ndice r tal que

|ar1 | n |a | |a |
11 21 |an1 | o
= máx , ,..., ,
sr s1 s2 sn

donde si = |ai1 | + |ai2 | + · · · + |ain | para i = 1, 2, . . . , n. Puesto que estos útimos


números corresponden a las normas de las filas (mediante la norma k·k1 ), la elección
del pivote se realiza, de manera equivalente, en una matriz cuyas filas han sido
escaladas normalizándolas.
Los pasos del algoritmo sólo implican el intercambio de la segunda y tercera
filas en una de las etapas, obteniendo el vector de permutaciones p = (1, 3, 2), y las
8. EJERCICIOS 45

matrices  
1,0000 0,0000 0,0000
L =  0,9000 1,0000 0,0000 
0,6667 −0,0000 1,0000
 
30,0000 9,0000 77,0000
U =  0,0000 2,9000 28,7000 
0,0000 0,0000 28,6667
 
1,0000 0,0000 0,0000
P =  0,0000 0,0000 1,0000 
0,0000 1,0000 0,0000
Finalmente  
30,0000 9,0000 77,0000
LU = P A =  27,0000 11,0000 98,0000  .
20,0000 6,0000 80,0000

8. Ejercicios
1. El siguiente ejercicio tiene como objetivo demostrar la desigualdad de
Minkowsky
kx + ykp ≤ kxkp + kykp ,
donde x = (x1 , . . . , xn ), y = (y1 , . . . , yn ) ∈ K, p ≥ 1.
a) Sea 0 < λ < 1. Definiendo
g(t) = λt + (1 − λ) − tλ ,
demuestre que g(t) posee un mı́nimo en t = 1. Concluya que f (t) ≥ 0
para t ≥ 0.
b) Usando el ı́tem anterior, demuestre que para 0 < λ < 1 y a, b > 0, se
tiene
aλ b1−λ ≤ λa + (1 − λ)b.
c) Sea q ≥ 1 tal que
1 1
+ = 1.
p q
Para cada 1 ≤ i ≤ n, defina
|xi |p |yi |q
a= , b = .
kxkpp kykqq
Usando la desigualdad anterior con λ = 1/p
|xi | |yi | 1 |xi |p 1 |yi |q
· ≤ + .
kxkp kykq p kxkpp q kxkqq
y sumando, obtenga la desigualdad de Hölder:
n
X
|xi yi | ≤ kxkp kykq .
i=1
d ) A partir del hecho que
Xn n
X
kx + ykpp ≤ |xi ||xi + yi |p−1 + |yi ||xi + yi |p−1
i=1 i=1
y con la desigualdad de Hölder, pruebe que
Xn 1/q n
X 1/q
kx + ykpp ≤ kxkp |xi + yi |(p−1)q + kykp |xi + yi |(p−1)q .
i=1 i=1
46 2. SISTEMAS DE ECUACIONES LINEALES

e) Finalmente, pruebe la desigualdad de Minkowsky.


2. Demuestre que √
kAk2 ≤ kAkF nkAk
para toda matriz A ∈ Cn×n .
3. Caracterice las matrices A ∈ Rn×n para las cuales kA2 k∞ = kAk2∞ .
4. ¿Satisfacen las normas subordinadas matriciales la igualdad kABk =
kBAk? Justifique.
5. La norma ℓ∞ ponderada es una norma en Rn dada por
kxk = máx wi |xi |,
1≤i≤n

donde w1 , w2 , . . . , wn son números positivos prefijados, que reciben el nom-


bre de pesos. Demuestre que esta función satisface la definición de norma.
¿Cuál es la norma matricial subordinada?
6. ¿Es necesariamente cierto, para cualquier norma matricial subordinada,
que la norma de una matriz de permutación sea uno? Justifique su re-
spuesta.
7. Demuestre que el número de condición cond(A) se puede expresar medi-
ante la fórmula
kAxk
cond(A) = sup .
kxk=kyk kAyk

8. Dada la matriz  
3 4 5
A= 5 2 6 ,
1 −54 3
calcular
a) sus normas kAk1 , kAk2 ,kAk∞ , kAkF ;
b) sus números de condición cond1 (A), cond2 (A), cond∞ (A), condF (A);
c) su factorización LU (con o sin cambios de filas).
Sug.: help norm, help cond, help lu
9. Programe la resolución de un sistema triangular superior (inferior) no
singular. Sug.: help for, help sum
10. Los elementos más grandes en magnitud en una matriz definida positiva
aparecen sobre la diagonal y son positivos.
11. Una matriz A = [aij ]1≤i,j≤n ∈ Rn×n es definida positiva, si y sólo si, los
determinantes de las submatrices principales, llamados menores princi-
pales
a11 a12 . . . a1n

a21 a22 a2n

.. .. ..
.
. .
an1 an2 ann
son números reales positivos.
Sug.: En la definición de definida positiva, considere x = (x1 , . . . , xk , 0, . . . , 0)t .
12. Si A es invertible y tiene una descomposición LU , entonces todos los
menores principales de A son no singulares.
13. Sea A ∈ Rn×n definida positiva. Supongamos que se puede realizar elimi-
nación de Gauss sobre A sin cambios de filas. Luego de k pasos de elimi-
nación, A será reducida a la forma
" #
(k) (k)
(k) A11 A12
A = (k) ,
0 A22
(k)
donde A22 ∈ R(n−k)×(n−k) . Pruebe por inducción que
8. EJERCICIOS 47

(k)
a) A22 es definida positiva;
(k) (k−1)
b) aii ≤ aii para k ≤ i ≤ n, k = 1, 2, . . . , n − 1.
14. Una matriz A = (aij ) en la que aij = 0 cuando j > i o j < i − 1 se
llama matriz de Stieltjes. Diseñe un algoritmo eficiente para invertir dicha
matriz.
15. Si A es invertible y tiene una descomposición LU , entonces todos los
menores principales de A son no principales.
16. Sabemos que si Ax = b y Ax̃ = b̃ con b 6= 0, entonces
kx − x̃k kb − b̃k
≤ cond(A) .
kxk kbk
Demuestre que para toda matriz no singular A esta desigualdad se vuelve
igualdad para algunos vectores b y b̃ 6= b.
17. Demuestre que el número de condición cond(A) puede expresarse mediante
la fórmula
kAxk
cond(A) = sup .
kxk=kyk kAyk

18. Demuestre que si existe un polinomio sin término constante p(x), y que
satisface

I − p(A) < 1
entonces A es invertible.
19. La eliminación gaussiana con pivoteo total trata tanto las filas como las
columnas en un rden distinto del orden natural. Ası́, en el primer paso, el
elemento pivote aij se elige de tal modo que |aij | es el valor máximo de
toda la matriz. Esto determina que la fila i sea la fila pivote y la columna j
sea la columna pivote. Los ceros se producen en la columna j sustrayendo
múltiplos de la fila i de las otras filas. Escriba el algoritmo que realiza este
proceso. Serán necesarios dos vectores de permutación.
20. Resuelva el siguiente sistema por medio de la eliminación gaussiana con
pivoteo total:
−9x1 + x2 + 17x3 = 5
3x1 + 2x2 − x3 = 9
6x1 + 8x2 + x3 = −3.

21. Sabemos que si Ax = b y Ax̃ = b̃ con b 6= 0, entonces


kx − x̃k kb − b̃k
≤ cond(A) .
kxk kbk
Demuestre que para toda matriz no singular A esta desigualdad se vuelve
igualdad para algunos vectores b y b̃ 6= b.
22. Si A ∈ Cn×n es tal que
ρ(I − A3 + 3A2 + 5A) < 1,
entonces A es invertible.
23. Obtenga la factorización A = QR de la matriz
 
−9 1 17
A =  3 2 −1 
6 8 1
ya sea por el método de Householder o el de Givens. A continuación,
resuelva Ax = b donde b = (44, 4, 25)t con los resultados obtenidos.
48 2. SISTEMAS DE ECUACIONES LINEALES

24. Una matriz tiene diagonal dominante cuando


n
X
|aii | > |aij |, i = 1, . . . , n.
j=1
j6=i

Pruebe que todo sistema lineal con diagonal dominante puede ser resuelto
con eliminación gaussiana sin pivoteo.
CAPı́TULO 3

Aproximación lineal

1. Introducción
 n
En fı́sica, el siguiente problema es tı́pico: dado un conjunto de puntos (xi , yi ) i=1 ,
y una familia de rectas {y = ax + c/x ∈ R}, hallar los coeficientes a, c que minim-
icen la sumas de los cuadrados de las distancias de los puntos a la recta (esto es lo
que se llamará recta mı́nimo cuadrática) . Esto se puede expresar como:
n
X
mı́n (yi − axi − c)2
(a,c)∈R2
i=1

el problema anterior es equivalente al siguiente problema:


   

x1 1 y1

 x2 1     y2 
  a  
mı́nn kAx − bk2 =  .. ..  c −  .. 
x∈R  . .   . 

xn 1 yn
2

donde
   
x1 1 y1
 x2 1     y2 
  a  
A :=  .. .. , x := , b :=  .. 
 . .  c  . 
xn 1 yn
Sea A ∈ Rm×n , m ≥ n.
Formulamos entonces, de manera más general, el siguiente problema: buscar
una solución x ∈ Rn tal que Ax = b cuando se tienen más ecuaciones que variables.
Una alternativa, es solucionar el problema equivalente
mı́n kAx − bk.
x∈Rn

Eligiendo la norma k · k1 o k · k∞ se obtiene un problema de optimización lineal. En


caso de que se trate de k · k2 , se obtiene el problema del mı́nimo de los cuadrados
más pequeños. Este último es conocido como el problema de aproximación lineal:
(6) mı́n kAx − bk2 .
x∈Rn

2. Ecuaciones normales
Teorema 3.1. Sea A ∈ Rm×n , m ≥ n y el problema de aproximación lineal:
(7) mı́n kAx − bk2 , x ∈ Rn .
Entonces se cumplen:
1. x∗ ∈ Rn es solución de (7) sı́, y sólo si At Ax∗ = At b, es decir, si se
cumplen las ecuaciones normales.
49
50 3. APROXIMACIÓN LINEAL

2. El conjunto
L = {x ∈ Rn : At Ax = At b}
de las soluciones de (7) es un subespacio no vacı́o, afı́n de Rn . Además
se cumple Ax1 = Ax2 , para todo x1 , x2 ∈ L.
3. El problema (7) tiene una solución única sı́ y sólo si rang(A) = n.
4. De todas las soluciones de (7) existe exactamente una solución con norma
de Euclides minimal.
Demostración.
1. Definimos f : Rn → R por
1 1
f (x) := kAx − bk22 = (Ax − b)t (Ax − b)
2 2
Solucionar (7) es equivalente a solucionar mı́n f (x). Sea x∗ ∈ Rn una
solución de (7). Entonces
∇f (x∗ ) = 0 implica At Ax∗ − At b = 0
esto es, At Ax∗ = At b. Luego x∗ es una solución de las ecuaciones normales.
Recı́procamente, sea x∗ una solución de las ecuaciones normales, entonces
(¡verifique!):
1 t
f (x) − f (x∗ ) = A(x − x∗ ) A(x − x∗ ) + (At Ax∗ − At b)t (x − x∗ ).
2
Luego
1 2
(8) f (x) − f (x∗ ) = A(x − x∗ ) 2 ≥ 0,
2
lo cual implica que f (x) ≥ f (x∗ ), entonces x∗ es solución de (7).
2. Primero se tiene que mostrar que L 6= ∅.
Se cumple: el sistema Ax = b tiene solución sı́ y sólo si
y ∈ Nu(At ) implica bt y = 0
En efecto, si Ax = b tiene solución, entonces existe x ∈ Rn satisfaciendo
(At y)t x = y t Ax = y t b, y ∈ Rm .
Por lo tanto
y ∈ Nu(At ) implica At y = 0 y luego y t b = 0.
El recı́proco se deja como ejercicio.
Ahora, sea x ∈ Nu(At A)t = Nu(At A), entonces
kAxk22 = xt (At Ax) = 0,
de donde Ax = 0 y
(At b)t x = bt (Ax) = 0.
Por la afirmación anterior, L 6= ∅.
Sean x1 , x2 ∈ L, λ ∈ R, entonces
At A(λx1 + (1 − λ)x2 ) = λAt Ax1 + (1 − λ)At Ax2
= λAt b + (1 − λ)At b = At b.
Esto implica que λx1 + (1 − λ)x2 ∈ L. Por lo tato L es afı́n.
Sean x1 , x2 ∈ L, entonces f (x1 ) = f (x2 ) y por (8)
1 2
0 = f (x1 ) − f (x2 ) = A(x1 − x2 ) 2 ,
2
de donde Ax1 = Ax2 .
4. EJERCICIOS 51

3. Nu(At A) = Nu(A) (¡verifı́quelo!). Esto implica que At A ∈ Rn×n es regular


si rang(A) = n. Luego (7) tendrı́a solución única.
4. Sea x∗ ∈ L, entonces L ∩ {x ∈ Rn /kxk2 ≤ kx∗ k2 } =: B es compacto (L es
cerrado y el otro conjunto compacto). La función continua k · k2 posee un
mı́nimo en B ⊂ L, luego también lo tiene en L.

La unicidad de la solución se sigue del hecho que si x1 , x2 ∈ L son dos


soluciones con norma minimal, entonces kxk1 = kxk2 , y luego como L es
1
afı́n (x1 + x2 ) ∈ L y
2
1 1 

(x1 + x2 ) ≤ kx1 k2 + kx2 k2 = kx1 k2 ,
2 2 2
de donde
1
kx1 + x2 k = kx1 k2 = kx2 k2 .
2
Luego

kx1 − x2 k22 = 2 kx1 k22 + kx2 k22 − kx1 + x2 k22 = 0,
de donde x1 = x2 .


3. Tratamiento numérico
Numéricamente, el problema de aproximación lineal (7) se trata de la manera
siguiente: por el método de Householder o Givens se determina una matriz ortogonal
Q ∈ Rm×n tal que
   
t R1 ←n t c ←n
Q A=R= y Qb=
0 ←m−n d ←m−n
donde R1 es una matriz triangular superior, R1 ∈ Rn×n .
Si rang(A) = n, R1 es regular. Luego los elementos de la diagonal son distintos de
cero.
Sea x ∈ Rn , se cumple:
    2
2 t 2 t t 2
R1 c
kAx − bk2 = kQ (Ax − b)k2 = kQ Ax − Q bk2 = x−
0 d 2
= kR1 x − ck22 + kdk22
La solución se obtiene de R1 x − c = 0.

Para el caso en que la matriz A no tenga rang(A) = n o las columnas de A


son “casi”linealmente dependientes, se deben utilizar otros métodos (problemas de
buscar valores propios). El método numérico dado es más eficiente que aplicar el
método de Cholesky a las ecuaciones normales (At Ax = At b), porque At A tiene
una pésima condición: para A ∈ Rn×n ,
cond2 (A) = kAt Ak2 kA−1 A−t k2 = ρ(At A)ρ(A−1 A−t )
= ρ(A2 )ρ((A2 )−1 ) = cond2 (A2 ).

4. Ejercicios
1. Realice el ajuste de los datos de la tabla
xi 1,1 1,9 2,7 4,3 5,1 7,8
yi 11,2 16,8 18,7 8,1 2,7 14,3
mediante una combinación lineal de las funciones 1, sin(x), cos(x).
52 3. APROXIMACIÓN LINEAL

2. Sea A ∈ Rm×n , b ∈ Rm y α > 0. Defina F : Rn → R mediante


F (x) = kAx − bk22 + αkxk22 .
Demuestre que F alcanza un mı́nimo cuando x es solución de la ecuación
(AT A + αI)x = AT b.
Demuestre que cuando x se define de esta manera,
F (x + h) = F (x) + (Ah)T Ah + αhT x.
3. Encuentre la solución en mı́nimos cuadrados del sistema
 
3 2 1
[ x y ] = [ 3 0 1 ].
2 3 2
4. En un trabajo relacionado con el estudio de la eficiencia de la utilización de
la energı́a por las larvas de la polilla modesta (Pachysphinx modesta), L.
Schroeder utilizó los siguientes datos para determinar una relación entre
W , el peso de las larvas vivas en gramos, y R, el consumo de oxı́geno de
las larvas en mililitros/hora. Por razones biológicas, se supone que entre
W y R existe una relación de la forma
R = bW a .
a) Encuentre el polinomio lineal de mı́nimos cuadrados asociado a la
fórmula anterior, y resuelva el problema de mı́nimos cuadrados hal-
lando estimados de a y b. Calcule además el error asociado.
b) Modifique la ecuación de la parte anterior para ajustarla al modelo
R = b · W a · W c ln W
y calcule los nuevos parámetros.
Los datos a utilizar se presentan en la siguiente tabla:
W 0,017 0,087 0,085 0,020 0,233 4,83 5,53
R 0,154 0,296 0,260 0,180 0,537 4,66 6,94
CAPı́TULO 4

Interpolación

Las fórmulas de interpolación constituyen los puntos de partida de las deriva-


ciones de muchos métodos del análisis numérico.
En general, para la solución del problema de interpolación se busca una función
g(x, α0 , . . . , αr ) de la cual se eligen los parámetros α0 , . . . , αr , tal que la función
asuma los valores de otra función o de una tabla, como
{(xi , yi )}ni=1 , g(xi , α0 , . . . , αr ) = yi , i = 0, . . . , n.
Como ejemplos:
1. En la interpolación polinomial:
g(x, α0 , . . . , αm ) = α0 + α1 x + α2 x2 + · · · + αr xr
2. Para funciones periódicas, se puede elegir:
g(x, α0 , . . . , αm ) = α0 + α1 sen(α2 x) + α3 cos(α4 x) + · · · + αr−1 cos(αr x)
3. Para oscilaciones amortiguadas:
g(x, α0 , . . . , αm ) = α0 +α1 eα2 x sen(α3 x)+α4 eα5 x cos(α6 x)+· · ·+αr−2 eαr−1 x cos(αr x)
4. Para una función con polos:
α0 + α1 x + α2 x2 + · · · + αs xs
g(x, α0 , . . . , αm ) =
αs+1 xs+1 + · · · + αr xr
.

1. Interpolación polinomial
Supongamos que tenemos x0 , x1 , . . . , xn , (n + 1) puntos distintos del eje real y
f0 , f1 , . . . , fn los valores correspondientes de la ordenada. Buscamos un polinomio
de grado menor o igual a n
Pn (x) = a0 + a1 x + a2 x2 + · · · + an xn
tal que Pn (xi ) = fi , i = 0, 1, . . . , n.
Teorema 4.1. Para (n + 1) puntos (x0 , f0 ), (x1 , f1 ), . . . , (xn , fn ) ∈ R2 con
abscisas distintas (esto es, xi 6= xj para i 6= j), existe un único polinomio Pn de
grado menor o igual a n que cumple las condiciones interpolantes:
Pn (xi ) = fi , i = 0, 1, . . . , n
Demostración. Consideremos el sistema lineal:
fi = a0 + a1 xi + a2 x2i + · · · + an xni , i = 0, 1, . . . , n
en la forma Ax = b:
    
1 x0 x20 ... xn0 a0 f0

 1 x1 x21 ... xn1 
 a1  
  f1 

(9)  .. ..  .. = .. 
 . .  .   . 
1 xn x2n ... xnn an fn
53
54 4. INTERPOLACIÓN

como xi 6= xj para i 6= j el determinante de Vandermonde


Y
det(A) = (xi − xj )
i>j

(i = 1, . . . , n, j = 0, . . . , n) es diferente de cero y el sistema lineal (9) tiene solución


única (a0 , a1 , . . . , an )t y por consiguiente Pn (x) = a0 + a1 x + · · · + an xn es el único
polinomio que cumple las condiciones interpolantes. 

1.1. Fórmula de Lagrange. Evitando el sistema lineal


    
1 x0 x20 . . . xn0 a0 f0
 1 x1 x21 . . . xn1   a1   f1 
 
 
(10)  .. ..   ..  =  .. 
 . .  .   . 
1 xn x2n ... xnn an fn ,
por ser usualmente este mal condicionado, escribimos
Pn (x) = f0 L0 (x) + f1 L1 (x) + · · · + fn Ln (x)
donde los polinomios L0 , L1 , . . . , Ln tienen grado n y
fj = Pn (xj ) = f0 L0 (xj ) + f1 L1 (xj ) + · · · + fn Ln (xj ), j = 0, 1, . . . , n.
Esto se cumple, si se exige que

0, j 6= k
Lj (xk ) = = δjk .
1, j = k
Los polinomios Lj con estas propiedades son denominados polinomios básicos de
Lagrange. Como Lj es de grado n con Lj (xk ) = 0, k = 0, . . . , n, k 6= j entonces
Lj (x) = αj (x − x0 ) · · · (x − xj−1 )(x − xj+1 ) . . . (x − xn ), j = 0, . . . , n,
y de Lj (xj ) = 1, se tiene
1 = αj (xj − x0 ) · · · (xj − xj−1 )(xj − xj+1 ) . . . (xj − xn ).
Usando que xj 6= xk para j 6= k se obtiene:
(x − x0 ) · · · (x − xj−1 )(x − xj+1 ) · · · (x − xn )
Lj (x) =
(xj − x0 ) · · · (xj − xj−1 )(xj − xj+1 ) · · · (xj − xn )
o en forma abreviada:
n
Y x − xk
Lj (x) =
xj − xk
k=0
k6=j

Reemplazando, obtenemos
n n
X Y x − xk
Pn (x) = fj
j=0
xj − xk
k=0
k6=j

de esta manera, hemos obtenido


Teorema 4.2. Dados (xi , fi ) ∈ R2 , i = 0, 1, . . . , n, xi 6= xj para i 6= j,
entonces el único polinomio interpolante de la forma de Lagrange de grado no mayor
que n puede expresarse como
n n
X Y x − xk
Pn (x) = fj Lj (x) con Lj (x) = , j = 0, 1, . . . , n
j=0
xj − xk
k=0
k6=j
1. INTERPOLACIÓN POLINOMIAL 55

Ejemplo 4.1. Para los datos:


xj 0 0,5 1
fj 1,1 0,9 0,6
tenemos:
(x − x1 )(x − x2 ) (x − 0,5)(x − 1)
L0 (x) = = = 2x2 − 3x + 1
(x0 − x1 )(x0 − x2 ) (0 − 0,5)(0 − 1)
(x − x0 )(x − x2 ) (x − 0)(x − 1)
L1 (x) = = = 2x2 − 2x
(x1 − x0 )(x1 − x2 ) (0,5 − 0)(0 − 1)
(x − x0 )(x − x1 ) (x − 0)(x − 0,5)
L2 (x) = = = 2x2 − x
(x2 − x0 )(x2 − x1 ) (1 − 0)(1 − 0,5)
Luego:
Pn (x) = 1,1(2x2 − 3x + 1) + 0,9(2x2 − 2x) + 0,6(2x2 − x)
La desventaja de este método es que, si se añaden nuevos puntos interpolantes,
se tiene que recalcular todos los polinomios nuevamente.

1.2. Forma de Newton. Se inicia con el polinomio de grado 0 que pasa por
el punto (x0 , f0 )
P0 (x) = f0 , x ∈ R.
Añadiendo (x1 , f1 ), se construye un polinomio P1 (x) de grado no mayor que 1 tal
que 
P1 (x0 ) = f0
P1 (x1 ) = f1
Sea P1 (x) = P0 (x) + q1 (x), grado(q1 ) ≤ 1. Como P1 (x0 ) = f0 , entonces q1 (x0 ) =
0. Luego grado(q1 ) = 1 implica que q1 (x) = b1 (x−x0 ). Como P1 (x1 ) = f1 , entonces
f1 = P1 (x1 ) = f0 + b1 (x1 − x0 ) = f1 . De esto último obtenemos la expresión para
b1 :
f1 − f0 f1 − P0 (x1 )
b1 = =
x1 − x0 x1 − x0
En general, si se tiene un polinomio interpolante Pn−1 de grado no mayor que (n−1)
que pasa por los puntos (x0 , f0 ), (x1 , f1 ), . . . , (xn−1 , fn−1 ), se calcula el polinomio
Pn (x) que pasa además por el punto (xn , fn ) de la siguiente manera:
Pn (x) = Pn−1 (x) + qn (x), donde grado(qn ) ≤ n
Como Pn (xj ) = Pn−1 (xj ) = fj , j = 0, 1, . . . , n − 1, entonces qn (xj ) = 0, j =
0, 1, . . . , n − 1. Luego
qn (x) = bn (x − x0 )(x − x1 ) · · · (x − xn−1 )
El coeficiente bn , se obtiene de Pn (xn ) = Pn−1 (xn ) + qn (xn ) = fn , mediante
fn − Pn−1 (xn )
bn = n−1
Y
(xn − xj )
j=0

Veamos otra manera de obtener Pn a partir de Pn−1 : de la expresión Pn (x) =


n−1
Y
Pn−1 + bn (x − xj ) notamos que el coeficiente correspondiente a xn es bn (pues
j=0
grado(Pn−1 ) ≤ n − 1). Sea Rn−1 el polinomio interpolante que pasa por los puntos
(x1 , f1 ), (x2 , f2 ), . . . , (xn , fn ). Definimos
(x − xn )Pn−1 (x) − (x − x0 )Rn−1 (x)
(11) Pn (x) = .
x0 − xn
56 4. INTERPOLACIÓN

Este polinomio satisface las condiciones interpolantes


Pn (xj ) = fj , j = 0, 1, . . . , n
En efecto: para j = 0
(x0 − xn )f0 − (x0 − x0 )Rn−1 (x0 )
Pn (x0 ) = = f0 ;
x0 − xn
para j = 1, 2, . . . , n − 1
(xj − xn )fj − (xj − x0 )fj
Pn (xj ) = = fj ;
x0 − xn
y para j = n
(xn − xn )Pn−1 (xn ) − (xn − x0 )fn
Pn (xn ) = = fn .
x0 − xn
Sea bR
n−1 el coeficiente correspondiente a x
n−1
en el polinomio Rn−1 (x). De (11) se
obtiene:
bn−1 − bR
n−1
(12) bn =
x0 − xn
Denotemos con f [xj , xj+1 , . . . , xj+k ] al coeficiente de xk en el polinomio inter-
polante que pasa por los puntos (xj , fj ), (xj+1 , fj+1 ), . . . , (xj+k , fj+k ). Se cumple:
f [x0 ] = f0 , f [x1 ] = f1 , ..., f [xn ] = fn
y de (12) se obtiene:
f [x1 , . . . , xn ] − f [x0 , . . . , xn−1 ]
bn = f [x0 , . . . , xn ] =
xn − x0
En general:
f [xj+1 , . . . , xj+k ] − f [xj , . . . , xj+k−1 ]
f [xj , . . . , xj+k ] =
xj+k − xj
El polinomio interpolante Pn puede ser escrito ahora como:
Pn (x) = f [x0 ] + f [x0 , x1 ](x − x0 ) + · · · + f [x0 , x1 , . . . , xn ](x − x0 ) . . . (x − xn−1 )
Damos ahora un esquema para calcular f [x0 , . . . , xn ], la tabla de diferencias divi-
didas:

x f [x] f [x, x] f [x, x, x] f [x, x, x, x] ...


x0 f0 := f [x0 ]
f [x1 ]−f [x0 ]
f [x0 , x1 ] = x1 −x0
f [x1 ,x2 ]−f [x1 ,x0 ]
x1 f1 := f [x1 ] f [x0 , x1 , x2 ] = x2 −x0
f [x1 ]−f [x0 ]
f [x1 , x2 ] = x1 −x0
f [x0 , x1 , x2 , x3 ]
f [x2 ,x3 ]−f [x1 ,x2 ]
x2 f2 := f [x2 ] f [x1 , x2 , x3 ] = x3 −x1
...
f [x1 ]−f [x0 ]
f [x2 , x3 ] = x1 −x0
f [x1 , x2 , x3 , x4 ]
f [x3 ,x4 ]−f [x2 ,x3 ]
..
x3 f3 := f [x3 ] f [x2 , x3 , x4 ] = x4 −x2
.
.
f [x3 , x4 ] =
f [x1 ]−f [x0 ] ..
x1 −x0
..
x4 f4 := f [x4 ] .
.. ..
. .
x4 fn := f [xn ]
1. INTERPOLACIÓN POLINOMIAL 57

Nota. Ahora podemos ir agregando más y más puntos. Por ejemplo, al agregar
el punto (xn+1 , fn+1 ), tendremos
n
Y
Pn+1 (x) = Pn (x) + f [x0 , x1 , . . . , xn+1 ] (x − xj )
j=0

y ası́ sucesivamente.
Tenemos ahora el algoritmo de las diferencias divididas:

Entrada: x0 , x1 , . . . , xn , f0 , f1 , . . . , fn
f [x0 ] := f0 , f [x1 ] := f1 , . . . , f [xn ] := fn
Para k = 1, 2, . . . , n
Para j = 0, . . . , (n − k)
f [xj+1 , . . . , xj+k ] − f [xj , . . . , xj+k−1 ]
f [xj , . . . , xj+k ] :=
xj+k − xj

El cálculo se simplifica cuando se tienen puntos igualmente espaciados :


xj := x0 + jh, j = 0, 1, . . . , n, h>0
entonces xk+l − xk = lh. Definimos:
∆0 fk = fk , k = 0, 1, 2, . . .
∆l fk = ∆l−1 fk+1 − ∆l−1 fk
y se obtiene:
1 ∆l fk
f [xk , . . . , xk+l ] =
l! hl
y el polinomio interpolante:
1 ∆1 f0 1 ∆2 f0
Pn (x) =∆0 f0 + 1
(x − x0 ) + (x − x0 )(x − x1 )
1! h 2! h2
1 ∆n f0
+ ··· + (x − x0 )(x − x1 ) · · · (x − xn−1 )
n! hn
que es parecido a la fórmula de Taylor.
Nota. Para evaluar el polinomio en un punto, se puede utilizar el esquema de
Horner:
Pn (x) = b0 +(x−x0 )(b1 +· · ·+(x−xn−3 )(bn−2 +(x−xn−2 )(bn−1 +(x−xn−1 )bn )) · · · )
Por ejemplo, para n = 3:
P3 (x) = b0 + b1 (x − x0 ) + b2 (x − x0 )(x − x1 ) + b3 (x − x0 )(x − x1 )(x − x2 )
= b0 + (x − x0 )[b1 + (x − x1 )[b2 + (x − x2 )b3 ]]
1.3. Fórmula de Aitken-Neville. Para calcular el valor del polinomio in-
terpolante en un punto x no es necesario el cálculo de todo el polinomio Pn (x).
Para este fin vamos a desarrollar el algoritmo de Aitken-Neville.
Sea Pj,k el polinomio interpolante de grado no mayor que k que pasa por los puntos
(xj−k , fj−k ), . . . , (xj , fj ) ∈ {(xj , fj )}nj=0 . Se tiene:
Pj,k (xi ) = fi , i = j − k, . . . , j
Por ejemplo: P5,2 es el polinomio interpolante de grado no mayor que 2, que pasa
por los puntos (x3 , f3 ), (x4 , f4 ), (x5 , f5 ).
Con esta notación Pn,n es el polinomio Pn que pasa por los puntos (x0 , f0 ), . . . , (xn , fn ).
58 4. INTERPOLACIÓN

Teorema 4.3. Sea Pj,k el polinomio interpolante que pasa por los puntos
(xj−k , fj−k ), . . . , (xj , fj ) ∈ {(xj , fj )}nj=0 . Entonces este polinomio puede ser evalu-
ado en un punto t recursivamente por:
Pj,0 (t) = fj
para j = 0, 1, . . . , n, y
(t − xj−k )Pj,k−1 (t) − (t − xj )Pj−1,k−1 (t)
Pj,k (t) = ,
xj − xj−k
para k = 1, 2, . . . , j, j = 1, 2, . . . , n.
Demostración. Por inducción sobre k:
Para k = 1:
(t − xj−1 )fj − (t − xj )fj−1
Pj,1 (t) =
xj − xj−1
(t − xj−1 )Pj,0 (t) − (t − xj )Pj−1,0 (t)
=
xj − xj−1
pasa por (xj−1 , fj−1 ), (xj , fj ). Supongamos que la fórmula es correcta para k = m.
Se tiene que probar que
(t − xj−m−1 )Pj,m (t) − (t − xj )Pj−1,m (t)
Pj,m+1 (t) =
xj − xj−m−1
cumple las condiciones interpolantes:
Pj,m+1 (xi ) = fi , i = j − m − 1, . . . , j
Se tiene:
Pj,m (xi ) = fi , i = j − m, . . . , j; j − m ≤ i ≤ j − 1
Pj−1,m (xi ) = fi , i = j − m − 1, . . . , j − 1
Luego para i = j − m, . . . , j − 1:
(xi − xj−m−1 )fi − (xi − xj )fi
Pj,m+1 (xi ) = = fi
xj − xj−m−1
También:
Pj+1,m (xj−m−1 ) = fj−m−1
Pj−1,m (xj ) = fj


Podemos calcular Pn,n (t) con el esquema:

x0 f0 := P0,0 (t)
P1,1 (t)
x1 f1 := P1,0 (t) P2,2 (t)
P2,1 (t)
..
x2 f2 := P2,0 (t) .
.. ..
. . Pn,n (t)
xn−1 fn−1 := Pn−1,0 (t)
Pn−1,1 (t)
xn fn := Pn,0 (t)

Damos el algoritmo de Aitken-Neville:


1. INTERPOLACIÓN POLINOMIAL 59

Entrada: x0 , . . . , xk , f0 , . . . , fk , t
Tomar rj := t − xj , j = 0, . . . , n
Hacer dj := fj , j = 0, . . . , n
Para k = 1, . . . , n
Para j = 0, . . . , n − k
rj dj+1 − rj+k dj
dj :=
xj+k − xk
Salida: d0 := Pn,n (t)
1.4. Error del polinomio interpolante. Suponemos que utilizamos un
polinomio para aproximar los valores de otra función, lo suficientemente suave.
¿Cuál es el error de la aproximación realizada?
Teorema 4.4. Sea f ∈ C (n+1) [a, b] con {xi }ni=0 ⊂ [a, b] y xi 6= xj para i 6= j.
Sea Pn el polinomio interpolante con Pn (xi ) = f (xi ), i = 0, 1, . . . , n. Entonces para
cada x ∈ [a, b], existe un número ξ ∈] mı́n{x, x0 , . . . , xn }, máx{x, x0 , . . . , xn }[= I
con
n
f (n+1) (ξ) Y
f (x) − Pn (x) = (x − xk )
(n + 1)!
k=0

Demostración. Para x = xk , k = 0, 1, . . . , n, resulta f (xk ) = Pn (xk ). De-


n
Y
finamos la función wn (x) := (x − xk ), y tomemos además x ∈ [a, b] tal que
k=0
x 6= xk , k = 0, 1, . . . , n.
Consideremos la función
f (x) − Pn (x)
φ(t) := f (t) − Pn (t) − wn (t),
wn (x)
se cumple que φ ∈ C (n+1) [a, b], φ(x) = 0, φ(xi ) = 0, i = 0, 1, . . . , n (pues
wn (xi ) = 0). Entonces φ tiene por lo menos (n + 2) ceros distintos en el intervalo
[a, b], los cuales son x, x0 , . . . , xn . Por una extensión del teorema de Rolle se obtiene
que existe ξ ∈ I tal que φ(n+1) (ξ) = 0 o
f (x) − Pn (x)
f (n+1) (ξ) − (n + 1)! = 0
wn (x)
de donde
n
f (n+1) (ξ) Y
f (x) − Pn (x) = (x − xk )
(n + 1)!
k=0

1.5. Diferenciación numérica. Fórmulas de diferencias: Sean (xi , fi ), i=
0, 1, . . . , n puntos interpolantes. De la fórmula de Lagrange:
Xn n
Y
Pn (x) = fj αj (x − xk )
j=0 k=0
k6=j
n
Y 1
con αj = .
xj − xk
k=0
k6=j
Se obtiene:
n
dn Pn X
(x) = fj αj n! ≈ f (n) (x)
dxn j=0

que podrı́a ser una posible aproximación de la n-ésima derivada f (n) .


60 4. INTERPOLACIÓN

Teorema 4.5. Sea f ∈ C (n+1) [a, b] con a = mı́n{x0 , . . . , xn } y b = máx{x0 , . . . , xn }


con xj+1 = xj + h (h > 0, constante). Entonces existe ξ ∈]a, b[ tal que
n
(n)
X (−1)n−j n

f (ξ) = fj j
j=0
hn

Demostración. Sea g(x) = f (x) − Pn (x), Pn el polinomio interpolante para


f (x) en (x0 , f0 ), . . . , (xn , fn ). Entonces g tiene n + 1 ceros x0 , x1 , . . . , n. Luego, por
una variante del teorema de Rolle, existe ξ ∈]a, b[ tal que
g (n) (ξ) = f (n) (ξ) − Pn(n) (ξ) = 0
Se cumple:
n
Y 1 1
αj = =
xj − xk (−1)n−j hn [j · (j − 1) · · · 1][1 · 2 · · · (n − j)]
k=0
k6=j  
(−1)n−j n
=
hn n! j
entonces
     
dn Pn 1 h n n−1 n n−2 n n i
n
(x) = n
(−1) f 0 +(−1) f 1 +(−1) f 2 +· · ·− fn−1 +fn
dx h 1 2 n−1
Para n = 1, 2, 3:
f1 − f0
f ′ (x) ≈
h
f2 − 2f1 + f0
f ′′ (x) ≈
h2
f 3 − 3f2 + 3f1 − f0
f ′′′ (x) ≈ .
h3

1.6. Método de Romberg. Este método para diferenciación numérica fue
creado por el matemático alemán W. Romberg en el año 1955.
Sea f : R → R, y definamos el cociente:
1
ϕ(h) := δh f (x0 ) = [f (x0 + h) − f (x0 − h)]
2h
se cumple que
lı́m ϕ(h) = lı́m δh f (x0 ) = f ′ (x0 )
h→0 h→0
La idea principal del método de Romberg es la extrapolación de ϕ como función de h
a través de interpolación polinomial y los puntos de partición h0 , h0 /2, h0 /4, . . . , h0 /2n ,
en el punto h = 0. Para este objetivo se utilizan las fórmulas de Aitken-Neville.
Ejemplo 4.2. f (x) = tan(x), x0 = 0,5.
1
ϕ(h) := δh f (0,5) = [tan(0,5 + h) − tan(0,5 − h)]
2h
Algoritmo de Romberg:
Entrada: n, h0 , x0 , ϕ(h) = δh f (x0 )
Para j = 0, . . . , n
rj := −h0 /2n−j
dj := ϕ(h0 /2n−j )
Para k = 1, . . . , n
Para j = 0, . . . , (n − k)
rj dj+1 − rj+k dj
dj :=
rj − rj+k
Salida: d0 , aproximación de f ′ (x0 )
1. INTERPOLACIÓN POLINOMIAL 61

1.7. Interpolación de Hermite. Ahora exigimos que el polinomio inter-


polante , además de pasar por algunos puntos, tenga que cumplir condiciones paa
sus derivadas. En este caso se habla de interpolación de Hermite.
Teorema 4.6. Dados los puntos interpolantes x0 , x1 , . . . , xn , consideremos
n
X (k)
m0 , m1 , . . . , mn ∈ N con mi = m + 1 y fi ∈ R para k = 0, . . . , mi − 1, i =
i=0
0, . . . , n. Entonces existe un único polinomio interpolante Pm de grado no mayor a
m tal que
(k) (k)
Pm (xi ) = fi
para k = 0, 1, . . . , mi − 1, i = 0, 1, . . . , n.
n
X
Demostración. Se tienen mi = m + 1 condiciones interpolantes para los
i=0
(m + 1) coeficientes del polinomio, esto es, se tienen (m + 1) ecuaciones lineales
para las (m + 1) incógnitas.
Basta mostrar que el sistema homogéneo tiene solamente la solución trivial. Cuando
Pm es un polinomio con P (k) (xi ) = 0, para k = 0, 1, . . . , mi − 1, i = 0, . . . , n se
tiene que Pm tiene el punto interpolante xi como mi -múltiple cero. Esto implica
X n
que Pm tiene por lo menos mi = m + 1 ceros, de donde Pm ≡ 0. 
i=0

1.7.1. Interpolación de Hermite con polinomios de Lagrange. Trataremos aho-


ra un caso especial de la interpolación de Hermite, en el caso en que las condiciones
de interpolación se dan para el polinomio y sus derivadas en todos los nodos con-
siderados.
Teorema 4.7. Dados x0 , . . . , xn , f0 , . . . , fn , f0′ , . . . , fn′ . Entonces el único poli-
nomio P2n+1 de grado no mayor que (2n + 1) con
P2n+1 (xi ) = fi

P2n+1 (xi ) = fi′ , i = 0, . . . , n,
tiene la forma
n
X
P2n+1 (x) = fj L2j (x)(cj (x) + dj ) + fj′ L2j (x)(x − xj ),
j=0
con
n
X 1
cj = −2 , dj = 1 − cj xj , j = 0, . . . , n.
xj − xk
k=0
k6=j
n
X
Demostración. Sea P2n+1 (x) = fj gj (x)+fj′ hj (x). Determinemos los poli-
j=0
nomios gj y hj de grado no mayor que (2n + 1) de modo que

1, i = j hj (xi ) = 
0, i, j = 0, . . . , n
gj (xi ) =
0, i 6= j ′ 1, i = j
hj (xi ) =
gj′ (xi ) = 0, i, j = 0, . . . , n 0, i 6= j
Definiendo
n
Y x − xk
hj (x) := L2j (x)(x − xj ), donde Lj (x) = ,
xj − xk
k=0
k6=j

se cumplen:
62 4. INTERPOLACIÓN

i) hj tiene grado 2n + 1.
ii) hj (xi ) = 0, i, j = 0, . . . , n.
iii) h′j (x) = 2Lj (x)L′j (x)(x − xj ) + L2j (x), de donde

1, i = j
h′j (xi ) = 2Lj (xi )L′j (x)(xi − xj ) + L2j (xi ) =
0, i 6= j
Definiendo
gj (x) := L2j (x)(cj x + dj ), j = 0, . . . , n,
con cj , dj constantes, se cumple:
i) gj tiene grado no mayor que 2n + 1.
ii) gj (xi ) = 0 para i 6= j
iii) gj′ (x) = 2Lj (x)L′j (x)(cj x + dj ) + cj L2j (x), entonces
gj′ (xi ) = 2Lj (xi )L′j (xi )(cj xi + dj ) + cj L2j (xi ) = 0, i 6= j
Las constantes cj y dj se determinan de las ecuaciones:
gj (xj ) = 1 y gj′ (xj ) = 0.
n
X 1
Como gj′ (xj ) = 2L′j (xj )+ cj = 0 y del hecho que L′j (xj ) = , se obtienen:
xj − xk
k=0
k6=j
n
X 1
cj = −2 y dj = 1 − cj xj , j = 0, . . . , n.
xj − xk
k=0
k6=j


1.7.2. Interpolación de Hermite por diferencias divididas de Newton. Dos pun-
tos interpolantes xk y xk+1 := xk + h para h → 0 son iguales. Por ello definimos
para la primera diferencia dividida de Newton:
f [xk+1 ] − f [xk ]
f [xk , xk ] = lı́m = f ′ (xk ).
h→0 xk+1 − xk
Para tres puntos equidistantes xk , xk+1 := xk + h, xk+2 := xk + 2h definimos para
h → 0 la segunda diferencia dividida:
f [xk+1 , xk+2 ] − f [xk , xk+1 ]
f [xk , xk , xk ] = lı́m
h→0 xk+2 − xk
f [xk+2 ] − f [xk+1 ] f [xk+1 ] − f [xk ]
− 1
= lı́m h h = f ′′ (xk ).
h→0 2h 2
De manera análoga se define para (n + 1) puntos interpolantes:
1 (n)
f (xk ), n = 1, 2, . . .
f [xk , xk , . . . , xk ] =
n!
Utilizando estas definiciones se puede calcular el polinomio de Hermite a través del
esquema de las diferencias divididas.
Ejemplo 4.3. Dados los datos:
xi x0 x1
fi f0 f1
fi′ f0′ f1′
fi′′ f0′′ f1′′
Tenemos 6 condiciones interpolantes. Se está buscando un polinomio de grado 5:
P5 (x).
2. SPLINES CÚBICOS 63

x f [x] f [x, x] f [x, x, x] f [x, x, x, x] f [x, x, x, x, x] f [x, x, x, x, x, x]


x0 f [x0 ]
f ′ (x0 )
1 ′′
x0 f [x0 ] f (x0 )
2
f ′ (x0 ) f [x0 , x0 , x0 , x1 ]
x0 f [x0 ] f [x0 , x0 , x1 ] f [x0 , x0 , x0 , x1 , x1 ]
f [x0 , x1 ] f [x0 , x0 , x1 , x1 ] f [x0 , x0 , x0 , x1 , x1 , x1 ]
x1 f [x1 ] f [x0 , x1 , x1 ] f [x0 , x0 , x1 , x1 , x1 ]
f ′ (x1 ) f [x0 , x1 , x1 , x1 ]
1 ′′
x1 f [x1 ] f (x1 )
2
f ′ (x1 )
x1 f [x1 ]

Entonces
P5 (x) = b0 +b1 (x−x0 )+b2 (x−x0 )2 +b3 (x−x0 )3 +b4 (x−x0 )3 (x−x1 )+b5 (x−x0 )3 (x−x1 )2
donde los bi , i = 0, . . . , 5 son los valores de la primera lı́nea oblicua.

2. Splines cúbicos
Dados los puntos interpolantes a = x0 < x1 < . . . < xm = b en el intervalo
[a, b] con los valores correspondientes f0 , f1 , . . . , fm utilizando la interpolación por
Splines cúbicos, se unen los puntos (x0 , f0 ), . . . , (xm , fm ) obteniendo una función
3
spline cúbico S∆ , tal que:
3
a) S∆ es un polinomio de grado 3 en cada intervalo [xj , xj+1 ], (j = 0, 1, . . . , m−
1).
3
b) S∆ (xj ) = fj , j = 0, 1, . . . , m.
c) S∆ ∈ C 2 [a, b].
3

3 3
2.0.3. Construcción de S∆ . La condición (a) implica que S∆ se escribe como
3
S∆ (x) = Pj (x), xj ≤ x ≤ xj+1 , j = 0, 1, 2, . . . , m − 1
donde
Pj (x) = aj + bj (x − xj ) + cj (x − xj )2 + dj (x − xj )3 ,
xj ≤ x ≤ xj+1 , j = 0, 1, . . . , m − 1; lo cual implica que requerimos 4m coeficientes.
La condición (b) de interpolación nos da m + 1 ecuaciones:
Pj (xj ) = fj , j = 0, 1, . . . , m.
3 3 ′ 3 ′′
Las condiciónes de continuidad sobre S∆ , (S∆ ) y (S∆ ) (condición (c)) nos dan
3(m − 1) ecuaciones:
Pj−1 (xj ) = Pj (xj ),

Pj−1 (xj ) = Pj′ (xj ),
Pj−1 (xj ) = Pj′′ (xj ),
′′
j = 1, . . . , m − 1.
Tenemos entonces un total de m+1+3(m−1) = 4m−2 condiciones y 4m incógnitas.
Agregamos entonces 2 condiciones más.
Se puede exigir
3 ′′ 3 ′′
(13) (S∆ ) (x0 ) = 0 = (S∆ ) (xm ),
obteniendo en este caso el spline natural.
Para la interpolación de una función periódica se podrı́a exigir
3 ′ 3 ′ 3 ′′ 3 ′′
(S∆ ) (x0 ) = (S∆ ) (xm ), (S∆ ) (x0 ) = (S∆ ) (xm ).
Otra posibilidad es
3 3
S∆ (x0 ) = m0 y S∆ (xm ) = m1 ,
64 4. INTERPOLACIÓN

donde los números m0 y m1 son dados.


De (13) se obtiene
(14) P0′′ (x0 ) = 0, ′′
Pm−1 (xm ) = 0.
Necesitamos las derivadas de Pk
Pk′ (x) = bk + 2ck (x − xk ) + 3dk (x − xk )2
Pk′′ (x) = 2ck + 6dk (x − xk ), xk ≤ x ≤ xk+1 , k = 0, . . . , m − 1.
3 ′′
De la continuidad de (S∆ ) , tenemos
′′
2cj−1 + 6dj−1 (xj − xj−1 ) = Pj−1 (xj ) = Pj′′ (xj ) = 2cj
y luego
2cj = 2cj−1 + 6dj−1 (xj − xj−1 ).
Haciendo hj = xj+1 − xj obtenemos
cj = cj−1 + 3dj−1 hj
esto es,
cj+1 − cj
(15) dj = , j = 0, 1, 2, . . . , m − 2, m − 1.
3hj
De las condiciones de interpolación
(16) aj = Pj (xj ) = fj , j = 0, 1, . . . , m.
3
y de la continuidad de S∆ :
aj = Pj (xj ) = Pj−1 (xj ) = aj−1 +bj−1 (xj −xj−1 )+cj−1 (xj −xj−1 )2 +dj−1 (xj −xj−1 )3 ,
esto es,
aj = aj−1 + bj−1 hj−1 + cj−1 h2j−1 + dj h3j−1 , j = 1, . . . , m
de donde
aj+1 − aj
bj = − hj (cj + hj dj ), j = 0, 1, . . . , m − 1.
hj
Reemplazando (15) y (16) en la anterior expresión
fj+1 − fj hj
(17) bj = − (cj+1 + 2cj ), j = 0, . . . , m − 1.
hj 3
3 ′
Ahora de la continuidad de (S∆ ) tenemos
bj = Pj′ (xj ) = Pj−1

(xj ) = bj−1 +2cj−1 (xj −xj−1 )+3dj−1 (xj −xj−1 )2 , j = 1, . . . , m−1
o bien
bj − bj−1 − 2cj−1 hj−1 = 3dj−1 h2j−1 .
Reemplazando (15) y (17) se obtiene
fj+1 − fj hj fj − fj−1 hj−1
− (cj+1 +2cj )− + (cj +2cj−1 ) = hj−1 (cj +cj−1 ), j = 1, . . . , m−1.
hj 3 hj−1 3
De este modo
hj−1 cj−1 + 2(hj−1 + hj )cj + hj cj+1 = gj , j = 1, . . . , m − 1
donde
fj+1 − fj fj − fj−1
(18) gj = 3 −3 , j = 1, . . . , m − 1.
hj hj−1
Los gj son conocidos. Entonces (18) es un sistema lineal de (m − 1) ecuaciones con
(m + 1) incógnitas c0 , c1 , . . . , cm . Este sistema lineal sirve generalmente para splines
cúbicos.
2. SPLINES CÚBICOS 65

Veamos el caso de los splines naturales:


P0′′ (x0 ) = 2c0 = 0 de donde c0 = 0
′′
Pm−1 (xm ) = 2cm−1 + 6dm−1 (xm − xm−1 ) = 0
cm − cm−1
= 2cm−1 + 6 hm
3hm
= 2cm = 0 de donde cm = 0
Dado que c0 = 0 = cm , el sistema anterior se reduce a un sistema de (m − 1)
ecuaciones con (m − 1) incógnitas c1 , . . . , cm−1 :
    
2(h0 + h1 ) h1 0 c1 g1

 h1 2(h1 + h2 ) h2 
 c2   g2 
 ..    
.   
 h2  = 

 ..

 ..   .. 
 . hm−2  .   . 
0 hm−2 2(hm−2 + hm−1 ) cm−1 gm−1

el cual tiene la forma Ac = g.

Ejemplo 4.4. Construı́mos la función interpolante spline cúbico para los datos:

j 0 1 2 3 4
xj −1 −0,5 0 0,5 1
fj 0,5 0,8 1 0,8 0,5
Aquı́ hj = xj+1 − xj = 0,5; y el sistema de ecuaciones lineales es (asumiendo
c0 = 0 = c4 ):
2c1 + 0,5c2 = −0,6
0,5c1 + 2c2 + 0,5c3 = −2,4
0,5c2 + 2c3 = −0,6
el cual tiene como solución:
c1 = 0, c2 = −1,2, c3 = 0.
De esta manera obtenemos los coeficientes:
b0 = 0,6 b1 = 0,6 b2 = 0 b3 = −0,6
d0 = 0 d1 = −0,8 d2 = 0,8 d3 = 0
y formamos 

 P0 (x), x0 ≤ x ≤ x1

3 P1 (x), x1 ≤ x ≤ x2
S∆ (x) =

 P2 (x), x2 ≤ x ≤ x3

P3 (x), x3 ≤ x ≤ x4


 0,5 + 0,6(x + 1), −1 ≤ x ≤ −0,5
0,8 + 0,6(x + 0,5) − 0,8(x + 0,5)3 ,

3 −0,5 ≤ x ≤ 0
S∆ (x) =

 1 − 1,2x2 + 0,8x3 , 0 ≤ x ≤ 0,5

0,8 − 0,6(x − 0,5), 0,5 ≤ x ≤ 1
Para probar el resultado, veamos que
3
S∆ (0,8) = 0,62 y f (0,8) = 0,61.
Además se cumple
3

máx f (x) − S∆ (x) ≤ Kh4 máx f (4) (x) .
x∈[a,b] x∈[a,b]
66 4. INTERPOLACIÓN

3. Interpolación trigonométrica
Definición. Sea n ∈ N, entonces el conjunto
n
nX o
Tn := cj eijx , cj ∈ C, j = 0, 1, . . . , n
j=0

es denominado el conjunto de los polinomios trigonométricos complejos de grado


menor o igual a n.
Para la interpolación: tenemos los puntos de partición x0 , x1 , . . . , xn−1 ∈ [0, 2π[
con xk 6= xj para k 6= j y los valores correspondientes f0 , f1 , . . . , fn−1 ∈ C. Bus-
camos un polinomio p ∈ Tn−1 tal que p(xk ) = fk , k = 0, . . . , n − 1.
Teorema 4.8. Sean (xk , fk ) ∈ [0, 2π[×C, k = 0, . . . , n − 1 con xk 6= xj para
k ≤ j; entonces existe un único polinomio trigonométrico P ∈ Tn−1 tal que P (xk ) =
fk , k = 0, . . . , n − 1.
Demostración. Sea
n−1
X
P (x) = cj eijx .
j=0

Exigiendo: P (xk ) = fk , k = 0, . . . , n − 1 se obtiene el siguiente sistema lineal de


ecuaciones:
n−1
X
cj eijxk = fk , k = 0, . . . , n − 1.
j=0

Este sistema tendrá solución única si y solamente si el sistema homogéneo asociado


tiene solamente la solución trivial.
Tenemos que probar que si
n−1
X
cj eijxk = 0, k = 0, . . . , n − 1 entonces cj = 0, j = 0, . . . , n − 1.
j=0

Definimos zk = eixk , k = 0, 1, . . . , n − 1. Se cumple que los zk son puntos distintos


de la circunferencia unitaria del plano complejo, y
n−1
X n−1
X
cj eijxk = cj zkj .
j=0 j=0

n−1
X
Definiendo Qn−1 (z) := cj z j , tenemos que Qn−1 es un polinomio complejo de
j=0
grado menor o igual a (n − 1) y
Qn−1 (zk ) = 0, k = 0, 1, . . . , n − 1;
esto es, Qn−1 tiene n ceros. Esto implica que necesariamente Qn−1 (z) = 0, para
todo z ∈ C; de donde cj = 0, j = 0, 1, . . . , n − 1. 

Definición. Sea n ∈ N. Entonces se define


n
a0 X
TnR := { + (aj cos jx + bj sen jx) / ao , aj , bj ∈ R, j = 1, . . . , n}
2 j=1

como el conjunto de polinomios trigonométricos reales de grado menor o igual a n.


3. INTERPOLACIÓN TRIGONOMÉTRICA 67

Teorema 4.9. Sean los puntos (xk , gk ) ∈ [0, 2π[×R, k = 0, . . . , 2n con xk 6= xj


2n
X
para k ≤ j. Sea P (x) = cj eijx el polinomio trigonométrico complejo único de
j=0
grado menor o igual a 2n con P (xk ) = einxk gk , k = 0, 1, . . . , 2n. Entonces existe
un polinomio trigonométrico real único q ∈ TnR tal que q(xk ) = gk , k = 0, 1, . . . , 2n.
Este polinomio tiene la forma
n
1 X
q(x) = a0 + (aj cos jx + bj sen jx)
2 j=1

donde a0 = 2cn , aj = 2 ℜ(cn−j ), bj = 2ℑ(cn−j ); j = 1, . . . , n.

Demostración. Definimos P̃ ∈ T2n por


2n
X 2n
X 2n
X
(19) P̃ (x) = e2inx P (x) = e2inx cj e−ijx = cj e(2n−j)ix = cj ejix
j=0 j=0 j=0

Se cumple

P̃ (xk ) = e2inxk P (xk ) = e2inxk P (xk )


= e2inxk einxk gk = e2inxk e−inxk gk = einxk gk = P (xk )

P̃ cumple las mismas condiciones interpolantes que P . Entonces por la unicudad


de P y (19) se obtiene que

cj = c2n−j , j = 0, . . . , 2n implica cn+j = cn−j , j = 0, . . . , n.

Luego cn = cn , de donde cn es real. Además


2n
X 2n
X n
X
e−inx P (x) = e−inx cj eijx = cj e(j−n)ix = cn + [cn−j e−jix + cn+j eijx ]
j=0 j=0 j=1
n
X
= cn + [cn−j (cos jx − i sen jx) + cn+j (cos jx + i sen jx)]
j=1
Xn
= cn + [(cn−j + cn−j ) cos jx + i(−cn−j + cn−j ) sen jx]
j=1
n
X
= cn + [2ℜ(cn−j ) cos jx + 2ℑ(cn−j ) sen jx]
|{z} | {z } | {z }
j=1
a0 /2 aj bj

Sea q̂(x) = e−inx P (x), entonces q̂(xk ) = e−inxk P (xk ) = e−inxk einxk gk = gk y por
tanto q(x) = q̂(x). 

3.1. Puntos de partición equidistantes.

Lema 4.10. Sea N ∈ N, WN = e2πi/N . Entonces


N −1 
1 X k−l j 1, k = l
(WN ) = δkl = , 0 ≤ k, l ≤ N − 1.
N j=0 0, k 6= l
68 4. INTERPOLACIÓN

N −1
1 X
Demostración. Para l = k, 0 ≤ l, k ≤ N se tiene (WN0 )j = 1.
N j=0

Para l 6= k, 0 ≤ l, k ≤ N − 1, se tiene: WNk−l = e N (k−l)i 6= 1,
N −1 (k−l)N 2πi
1 X 1 1 − WN 1 1 − e N (k−l)N
(WNk−l )j = =
N j=0 N 1−W (k−l) N 1 − e 2πi
N (k−l)
N
1 1 − e2(k−l)πi 1 (1 − 1)
= = = 0.
N 1 − W (k−l) N 1 − W (k−l)
N N

2πi/N
Teorema 4.11. Para N ∈ N, sea WN = e , y sean dados los puntos de
2πk
partición equidistantes xk = , k = 0, 1, . . . , N −1 y sus valores correspondientes
N
fk ∈ C, k = 0, 1, . . . , N − 1. Entonces el único polinomio complejo P ∈ Tn−1 con
P (xk ) = fk , k = 0, 1, . . . , N − 1 está dado por:
N −1 N −1
X 1 X −jk
P (x) = cj eijx con cj = WN fk , j = 0, . . . , N − 1.
j=0
N
k=0

Demostración. La unicidad se tiene por el teorema 4.8. Falta mostrar que


P (x) satisface las condiciones interpolantes.
N −1 N −1
!
X 1 X −jl
P (xk ) = WN fl eijxk
j=0
N
l=0
2πk
Se cumple: eijxk = eij = (e2πi/N )jk = WNjk . Luego
N
 
N −1 N −1 N −1
X 1 X j(k−l)
X
P (xk ) =  W  fl = δkl fl = fk , k = 0, 1, . . . , N − 1.
N j=0 N
l=0 l=0


Teorema 4.12. Sea N ∈ N,

1
 (N − 1), si N es impar

n := 2
 1 N,

si N es par.
2
2πk
Dados los puntos de partición xk = , con sus valores correspondientes gk ,
N
k = 0, 1, . . . , N − 1. Sean
N −1
2 X
aj = gk cos jxk ,
N
k=0
N −1
2 X
bj = gk sen jxk , j = 0, 1, . . . , n.
N
k=0
Definiendo el polinomio trigonométrico real q de grado menor o igual a n
 n
 a0 X

 + (aj cos jx + bj sen jx), para N = 2n + 1
 2

j=1
q(x) := n−1

 a0 X an


 2 + (aj cos jx + bj sen jx) + cos nx, para N = 2n
j=1
2
Se cumple q(xk ) = gk , k = 0, 1, . . . , N − 1.
3. INTERPOLACIÓN TRIGONOMÉTRICA 69

Demostración.
2n
X
a) Para N = 2n + 1. Sea P (x) = cj eijx el polinomio trigonométrico
j=0
complejo de grado menor o igual a 2n, que cumple las condiciones inter-
polantes
P (xk ) = einxk gk =: fk , k = 0, 1, . . . , 2n.
N −1
1 X −jk inxk
Por el teorema 4.11 se tiene: cj = WN e gk . Se cumple
N
k=0
N −1 N −1
1 X 2πk 1 X (n−j)k
cj = WN−jk ein N gk = WN gk
N N
k=0 k=0
N −1 N −1
1 X −(n−j)k inxk 1 X 2πi 2πk
cn−j = WN e gk = [e n ]−(n−j)k ein n gk
N N
k=0 k=0
N −1 N −1
1 X 2πi 1 X ijxk
= e n jk gk = e gk
N N
k=0 k=0
N −1
1 X
= gk [cos jxk + i sen jxk ]
N
k=0
1
Se tiene que cn−j = ℜ(cn−j ) + iℑ(cn−j ). Por el teorema 4.9, (aj + i bj ) =
2
N −1
1 X
gk (cos jxk + i sen jxk ). Igualando las partes real e imaginaria se
N
k=0
concluye.
2n−1
X
b) Caso N = 2n. Sea P (x) = cj eijx el polinomio trigonométrico com-
j=0
plejo de grado menor o igual a 2n − 1, tal que
P (xk ) = einxk gk =: fk , k = 0, 1, . . . , 2n − 1.
[Nota: No se puede aplicar el teorema 4.9 pues exige k = 0, . . . , 2N ].
Definimos el polinomio q̃ por q̃(x) = ℜ e−inx P (x) , este polinomio cumple
q̃(xk ) = gk , k = 0, 1, . . . , 2n − 1. Luego
2n−1
X n−1
X 
q̃(x) = ℜ cj e(j−n)ix ) = ℜ(cn + (cn−j e−ijx + cn+j eijx ) + c0 e−inx
j=0 j=1

Entonces
 
n−1
1 X
q̃(x) = cn + cn + [(cn−j + cn+j )e−ijx + (cn+j + cn−j )eijx ] + c−inx
0 + c0 einx 
2 j=0


3.2. Transformada Rápida de Fourier (FFT). El cálculo de los coefi-
cientes de los polinomios trigonométricos exige N (N − 1) multiplicaciones com-
plejas, lo cual indica que el algoritmo utilizado no es muy eficiente. Aplicando la
transformada rápida de Fourier (FFT) (Fast Fourier Transform), inventada por
Cooley/Tukey (1965) se puede reducir esta cantidad de multiplicaciones para el
1 N
caso N = 2p (potencia de 2) a N P = log2 N , lo cual es una gran mejora.
2 2
La idea es la siguiente: Se puede reducir el cálculo de un vector de una transformada
discreta de Fourier calculando dos DFT’s (Discrete Fourier Transform) de longitud
70 4. INTERPOLACIÓN

media. En el caso N = 2p se puede continua este proceso hasta que se manejan en


el p-ésimo paso n DFT’s de longitud 1. La DFT FN : CN → CN es representada
jk
por la matriz ΩN = (WN )0≤j,k≤N −1 ∈ CN ×N con WN = e−2πi/N . Entonces se
cumple

Fn f = ΩN f, para todo f = (f0 , f1 , . . . , fN −1 ) ∈ CN .


jk
Lema 4.13. Para N ∈ N, sea ΩN ∈ CN ×N definido por ΩN := (WN ),
1
0 ≤ j, k ≤ N − 1 con WN = e−2πi/N . Para N par sea n = N y PN ∈ RN ×N la
2
matriz de permutación PN := (e1 , e3 , . . . , eN −1 , e2 , e4 , . . . , eN )t ∈ RN ×N ; donde ej
el el j-ésimo vector canónico de RN . Entonces se cumple
    
Ωn 0n In In Ωn Ωn
PN ΩN = =
0n Ωn Dn −Dn Ωn D n −Ωn Dn

0 1 N −1
donde Dn := diag(WN , WN , . . . , WN ).

Demostración. Sea f = (f0 , . . . , fN −1 )t ∈ CN y g := ΩN f la transformada


discreta de Fourier. Entonces se cumple

PN ΩN f = PN g = (g0 , g2 , . . . , gN −2 , g1 , g3 , . . . , gN −1 )t .

Luego la aplicación de la matriz de permutación PN respecto al vector g = (g0 , g1 , . . . , gN −1 )t


produce la permutación de las componentes de g.
Se cumplen:

2j(n+k) 2jn+2jk N 2jk 2 jk


WN = WN = (WN )j WN = (WN )jk = Wn
(2j+1)(n+k) 2jn+n+(2j+1)k n+(2j+1)k (2j+1)k
WN = WN = WN = −WN
2 jk k jk k
= −(WN ) WN = −Wn WN

Para j = 0, . . . , n − 1 se cumple

N
X −1 n−1
X n−1
X
2jk 2 jk
g2j = WN fk = (WN )jk (fk + fn+k ) = Wn (fk + fn+k )
k=0 k=0 k=0
N
X −1 n−1
X
(2j+1)k 2 jk k
g2j+1 = WN fk = (WN ) (fk − fn+k )WN
k=0 k=0
n−1
X jk k
= Wn (fk − fn+k )WN .
k=0

Ejemplo 4.5. Sean N = 22 = 4, f = (f0 , f1 , f2 , f3 )t ∈ C4 , W = W4 = e−2πi/4 .


Tenemos entonces
   
q0 q0
 q1   q2 
 q2  =  q1  .
P4    

q3 q3
4. EJERCICIOS 71

Además
     
q0 f0    f0
 q2   f1  Ω2 0 2 I2 I2  f1 
 q1  =  f 2  = 0 2 Ω2
P4 Ω4 
    
D2 −D2  f2 
q3 f3  f
3

1 0 1 0 f0
 
Ω2 0 2  0 1 0 1 
 f1 
=  0 0  
0 2 Ω2  W 0 −W 0  f2 
1 1
0 W 0 −W f3
 
f0 + f2
 
Ω2 0 2  f1 + f3 
=  0 
02 Ω2  (f0 − f2 )W 
1
(f1 − f3 )W
Paso 1.
    
1 0 1 0 f0 f0 + f2
 0 1 0 1 
  f1  
  f1 + f3 
f1 = 

0 0  = 0 
 W 0 −W 0  f2   (f0 − f2 )W 
1 1 1
0 W 0 −W f3 (f1 − f3 )W
Ahora veamos que
 
1 0
P2 Ω2 = Ω 2 = Ω2
0 1
de donde
       
Ω1 01 I1 I1 1 0 1 1 1 1
Ω2 = P2 Ω2 = = 0 0 = 0 0
01 Ω1 D1 −D1 0 1 W −W W −W
Paso 2.

   2      
g0 f0 1 1 0 0 f01 f01 + f11
0 0 0
 g1   f12   W −W 0 0  1   1
  f1   (f0 − f11 )W 
=
 g2  =  f22  1  = 
   
 
 0 0 1 1  f2 f21 + f31 
0
g3 f32 0 0 W
0
−W
0
f31
(f21 − f31 )W
Resumiendo tenemos:

Entrada Paso 1 Paso 2 Salida


f0 0 f01
= f0 + f2 0 f02= f01 + f11 g0
0
f1 1 f11
= f1 + f3 2 f1 = (f01 + f11 )W
2
g2
1 0
f2 2 f2 = (f0 − f2 )W 1 f22 = f21 + f31 g1
0 0
f3 3 f31 = (f1 − f3 )W 3 f3 = (f21 + f31 )W
2
g3

g0 g1 g2 g3
Los coeficientes de Fourier son, finalmente: , , , .
N N N N

4. Ejercicios
1. Demuestre que si f es un polinomio de grado k, entonces para n > k
f [x0 , x1 , . . . , xn ] = 0.
72 4. INTERPOLACIÓN

2. Demuestre que las diferencias divididas son mapeos lineales en relación


con las funciones, esto es, para dos funciones f, g y escalares α, β
(αf + βg)[x0 , x1 , . . . , xn ] = αf [x0 , x1 , . . . , xn ] + βg[x0 , x1 , . . . , xn ].
3. Demuestre la fórmula
n
X n
Y
f [x0 , x1 , . . . , xn ] = f (xi ) (xn − xj )−1 .
i=0 j=0
j6=i

4. Demuestre que


1 x0 x20 ... x0n−1 f (x0 )


1 x1 x21 ... x1n−1 f (x1 )

.. .. .. .. ..

. . . . .

1 xn x2n . . . xnn−1 f (xn )
f [x0 , x1 , . . . , xn ] = .
1 x0 x20 . . . x0n−1 xn0

1 x1 x21 . . . xn−1 xn0
1
. . . .. ..
.
. .
. .
. . .

1 xn x2 . . . xn−1 xn
n n 0

5. Demuestre la fórmula de Leibniz


n
X
(f g)[x0 , x1 , . . . , xn ] = f [x0 , x1 , . . . , xk ]g[xk , xk+1 , . . . , xn ].
k=0

6. Encuentre el polinomio de interpolación de Newton para los siguientes


datos:
xi 1 3/2 0 2
yi 3 13/4 3 5/3
7. Realice la interpolación de los datos de la tabla
xi 1,1 1,9 2,7 4,3 5,1 7,8
yi 11,2 16,8 18,7 8,1 2,7 14,3
utilizando un spline cúbico natural.
8. Sea f ∈ C 2 [a, b] y tomemos a = t0 < t1 < . . . < tn = b. Si S es el spline
cúbico natural que interpola f en los puntos ti , 0 ≤ i ≤ n, entonces
Z b Z b
 ′′ 2  ′′ 2
S (x) dx ≤ f (x) dx.
a a
9. Determine todos los valores de a, b, c, d y e para los cuales la siguiente
función es un spline cúbico:

 a(x − 2)2 + b(x − 1)3 , x ∈] − ∞, 1]
f (x) = c(x − 2)2 , x ∈ [1, 3]
d(x − 2)2 + e(x − 3)3 ,

x ∈ [3, +∞[.
10. Determine todos los valores a, b, c de manera tal que la siguiente función
sea un spline cúbico con nudos 0, 1, 2:

3 + x − 9x2 , x ∈ [0, 1]
f (x) =
a + b(x − 1) + c(x − 1)2 + d(x − 1)3 , x ∈ [1, 2].
Z 2
 ′′ 2
Calcule d de forma que f (x) dx sea mı́nimo. Finalmente, encuentre
0
el valor de d que hace de f un spline cúbico natural y explique porqué este
valor es distinto del que se calculó previamente.
4. EJERCICIOS 73

11. Determine si la siguiente función es un spline cúbico:


 3
x + x, x ≤ 0
f (x) =
x3 − x, x ≥ 0.
12. Interpole y grafique una curva paramétrica en el plano, parametrizada por
el intervalo [0, 1], a partir de los siguientes datos:
   
−1 0
 0,5   1 
   
x=  1 , y =  0 .
  
 0   −1 
1 0
13. Sean Li (x) los polinomios de Lagrange para abscisas de soporte distintas
dos a dos x0 , . . .
, xn , y sea ci = Li (0). Muestre que
n
X j  1 para j = 0,
a) ci xi = 0 para j = 1, 2, . . . , n,
(−1)n x0 x1 · · · xn para j = n + 1,

i=0
Xn
b) Li (x) = 1.
i=0
14. Pruebe que el polinomio trigonométrico interpolante con abscisas de so-
porte xk ,
a ≤ x0 < x1 · · · < x2n < a + 2π
y ordenadas de soporte y0 , . . . , y2n es precisamente
2n
X
T (x) = yj tj (x),
j=0

donde Y x − xk
sin
2
k=0
k6=j
tj (x) = Y xj − xk .
sin
2
k=0
k6=j
15. Considere f (x) = ln(x+1) en el intervalo I = [0, 1]. Sea pn (x) el polinomio
que interpola f en los puntos x0 , . . . , xn ∈ I.
a) Calcule una cota superior para el error

kf − pn k∞ = sup f (x) − pn (x)
x∈I
que dependa solamente de n y no de la elección de los puntos de
interpolación.
b) Pruebe que pn → f uniformemente.
c) ¿Para qué valor de n se tiene que kf − pn k∞ < 10−6 ?
CAPı́TULO 5

Introducción a los métodos iterativos

Aparte de la convergencia global de un algoritmo dos otros aspectos son muy


importantes: su velocidad de convergencia y su estabilidad numérica.
Trataremos brevemente el primero de estos dos aspectos.
El estudio de la velocidad de convergencia es mucho más profundo que el análisis
de la convergencia global y ya no es posible resumir los principales resultados en
un solo teorema como en el caso de la convergencia global. Sin embargo existe una
teorı́a que permite predecir con certeza la relativa eficiencia de una amplia clase de
algoritmos.
Vamos a introducir varios conceptos que sirven para medir la velocidad de conver-
gencia.

1. Orden de convergencia
Consideramos una sucesión de números reales {rk } que converge a r∗ .

Definición. Sea lı́m rk = r∗ . El orden de convergencia de (rk ) es el supremo


k→∞
de los números p ≥ 0, tales que
|rk+1 − r∗ |
lı́m <∞
k→∞ |rk − r∗ |p

Nota: Para sucesiones (rk ), generados por algoritmos con lı́m rk = r∗ se


k→∞
cumple generalmente a) ó b):
a) rk 6= r∗ , ∀k ∈ N
b) rk = r∗ =⇒ rl = r∗ , ∀l ≥ k
Por esta razón nuestra definición está bien dada, si adicionalmente consideramos a
la expresión 00 como un número finito.
Cabe destacar que el orden de convergencia, como los otros conceptos de velocidad
de convergencia, depende sólo de las propiedades de la sucesión que se cumplen en
el lı́mite (para k → ∞ ).
Diremos que el orden de convergencia depende sólo de la cola de la sucesión. En
este lenguaje, el orden de convergencia mide la calidad de convergencia de la peor
parte de la cola.
Si el orden de convergencia de {rk } es p y
|rk+1 − r∗ |
lı́m =β<∞
k→∞ |rk − r∗ |p

existe ( este caso se presenta generalmente), entonces se cumple asintóticamente


|rk+1 − r∗ | ≈ β|rk − r∗ |p
Esto significa que rk se aproxima a r∗ tanto más rápidamente cuanto mayor es p.
Ejemplo 1: Si 0 < a < 1, entonces la sucesión (ak ) converge a 0 con orden 1,
75
76 5. INTRODUCCIÓN A LOS MÉTODOS ITERATIVOS

ak+1
puesto que = a y para p > 1 se cumple
ak
ak+1
lı́m = lı́m ak(1−p)+1 = ∞
k→∞ |ak |p k→∞

k
Ejemplo 2: La sucesión rk = a(2 ) converge a 0 con orden 2, si 0 < a < 1, puesto
rk+1
que 2 = 1 y para p > 2 se cumple
rk
rk+1 k
lı́m = lı́m a2 (2−p) = ∞
k→∞ |rk2 |p k→∞

2. Convergencia lineal
Muchos algoritmos tienen orden de convergencia p = 1. Por esta razón analizare-
mos este caso con más detalle.
Definición. Si lı́m rk = r∗ y
k→∞

|rk+1 − r∗ |
lı́m =β<1
k→∞ |rk − r∗ |

decimos que {rk } converge linealmente a r∗ con la razón de convergencia β.


Podemos afirmar que una sucesión que converge linealmente con razón β tiene
una cola, tal que |rk − r∗ | converge al menos tan rápidamente a cero como la suce-
sión geométrica cβ k para cierto c > 0.
Por esta razón se habla también de convergencia geométrica en lugar de convergen-
cia lineal.
Si comparamos dos sucesiones que convergen linealmente con razones 0 < β1 < β2 ,
entonces la primera converge más rápidamente que la otra.
|rk+1 − r∗ |
Si lı́m = 0, decimos que la convergencia de {rk } es superlineal.
k→∞ |rk − r∗ |
Si {rk } tiene orden de convergencia p > 1, entonces rk converge de manera super-
lineal:
Como p > 1, existe p′ con 1 < p′ < p tal que
|rk+1 − r∗ |
lı́m ′ = C < ∞
k→∞ |rk − r∗ |p

Se deduce que existe un k0 , tal que


|rk+1 − r∗ |
≤ 2C < ∞, ∀k > k0
|rk − r∗ |p′

|rk+1 − r∗ | ′


≤ 2C|rk − r∗ |1−p , ∀k > k0
|rk − r |
y de lı́m rk = r∗ se tiene
|rk+1 − r∗ |
lı́m =0
k→∞ |rk − r∗ |

De otro lado, es posible que una sucesión que converge de manera superlineal, tenga
orden de convergencia p = 1.
Ejemplo 3: La sucesión rk = 1/k converge a 0 con el orden p = 1. Sin embargo,
como
rk+1 k
lı́m = lı́m =1
k→∞ rk k→∞ k + 1
3. TASAS MEDIAS DE CONVERGENCIA 77

la convergencia no es lineal.
Ejemplo 4: La sucesión rk = (1/k)k converge a 0 de manera superlineal, puesto
que
 k
rk+1 kk 1 k 1
0< = = ≤
rk (k + 1)(k+1) k+1 k+1 k+1
implica que lı́m rk+1 /rk = 0.
k→∞
Sea p > 1. Entonces
rk+1 (k)kp
= = ekp ln(k)−(k+1)ln(k+1)
rkp (k + 1)(k+1)
k+1 ln(k+1)
ek ln(k)[p− k ln(k)
]

ek ln(k)ϕ(k)
Es fácil ver que lı́m ϕ(k) = p − 1 > 0. Luego
k→∞
lı́m k ln(k)ϕ(k) = ∞
k→∞
de donde
rk+1
p = ∞ lı́m
k→∞ rk
por tanto rk → 0 con orden p = 1.

3. Tasas medias de convergencia


Las definiciones del párrafo precedente se refieren a una sola iteración (a un
sólo paso), puesto que establecen cotas para el progreso que se logra en una sola
iteración (pasando de k a k + 1).
Vamos ahora a definir un concepto que mide el promedio del progreso por paso que
se logra con un gran número de pasos (iteraciones).
Definición. Converja la sucesión {rk } a r∗ . El orden medio pm de conver-
gencia de {rk } es el ı́nfimo de los números p > 1, tales que
1
lı́m |rk − r∗ | pk = 1
k→∞
Si no existe p > 1, tal que lo anterior se cumple, definimos pm = ∞.
k
Ejemplo 5: Para la sucesión rk = a(2 ) , 0 < a < 1, se cumple
1 2 k
|rk | pk = a( p ) → 1 si k → ∞.
Por consiguiente pm = 2.
Ejemplo 6: Para rk = ak , 0 < a < 1, se cumple para todo p > 1
1 k k
|rk | pk = a( p ) → a0 = 1 si k → ∞.
En consecuencia pm = 1.
Observamos que para los ejemplos 5 y 6 se cumple p = pm .
Como en el párrafo precedente el caso pm = 1 es el más interesante.
Para este caso se define como razón media de convergencia
1
βm = lı́m |rk − r∗ | k
k→∞

Para la sucesión geométrica rk = c ak , 0 < a < 1 se cumple βm = a.


Si βm < 1 [βm = 0] , hablamos de convergencia lineal [superlineal] en promedio.
Nos restringimos mayormente a los conceptos que se refieren a un solo paso, pues
para algoritmos iterativos es natural comparar un paso con el próximo.
Además, si las sucesiones se comportan bien y en las definiciones los lı́mites existen,
entonces generalmente se cumplirá p = pm , β = βm .
78 5. INTRODUCCIÓN A LOS MÉTODOS ITERATIVOS

4. Velocidad de convergencia en Rn
Sea xk ∈ Rn , k ∈ N una sucesión que converge a x∗ . Las propiedades de
convergencia de tal función se definen con respecto a una función determinada
que convierte {xk } en una sucesión numérica. Si f : Rn → R es una función
continua dada, entonces xk → x∗ implica que f (xk ) → f (x∗ ), y las propiedades de
convergencia de xk se obtienen analizando la convergencia de f (xk ) a f (x∗ ).
La función usada de este modo para medir la convergencia de {xk } se llama función
de error.
Si {xk } es una sucesión generada por un algoritmo para resolver un programa
matemático
P : mı́n{F (x)/x ∈ S}
se elige con frecuencia la función objetivo F como función de error. Si k · k es una
norma determinada se usa también g(x) = kx − x∗ k2 o f (x) = kx − x∗ k como
función de error.
Generalmente el orden de convergencia de una sucesión no depende de la función
de error elegido. Pero en el caso de la convergencia lineal, la razón de convergencia
β sı́ depende de a función de error.
Sin embargo, la razón media de convergencia no depende sensiblemente de la función
de error. Esto es el contenido de la siguiente
Proposición 5.1. Sean f y g dos funciones de error con g(x∗ ) = f (x∗ ) = 0,
tales que existen constantes 0 < a1 ≤ a2 tales que
(20) a1 g(x) ≤ f (x) ≤ a2 g(x), ∀x ∈ Rn .
Si la sucesión {xk } converge linealmente a x∗ con razón media βm con respecto a
una de las dos funciones, entonces lo hace también con respecto a la otra función.
Demostración. Como (20) es equivalente a
1 1
g(x) ≤ f (x) ≤ g(x),
a2 a1
la afirmación es simétrica con respecto a f y g. Asumimos por esta razón que xk
converge a x∗ de manera lineal con razón media βm con respecto a f y demostramos
que esto también es cierto con respecto a g. Se tiene:
βm = lı́m f (xk )1/k ≤ lı́m (a2 )1/k (g(xk ))1/k
k→∞ k→∞
= lı́m g(xk )1/k
k→∞
βm = lı́m f (xk )1/k ≥ lı́m (a1 )1/k (g(xk ))1/k
k→∞ k→∞
= lı́m g(xk )1/k
k→∞

Por consiguiente βm = lı́m g(xk )1/k . 


k→∞

Como ejemplo consideramos g(x) = kx − x∗ k2 , donde k · k es la norma Eu-


clideana, y f (x) = (x − x∗ )t Q(x − x∗ ), donde Q = Qt es una matriz definida
positiva.
Si a1 , a2 son el menor y el mayor valor propio de Q, entonces 0 < a1 ≤ a2 y se
cumple (∗). Por consiguiente, se puede aplicar la proposición precedente.
Bibliografı́a

[1] R. L. Burden and D. J. Faires. Numerical Analysis. Brooks Cole, December 2004.
[2] D. R. Kincaid and E. W. Cheney. Numerical Analysis. Brooks/Cole Publishing Company,
1991.
[3] J. Stoer and R. Bulirsch. Introduction to numerical analysis, volume 12 of Texts in Applied
Mathematics. Springer-Verlag, New York, third edition, 2002. Translated from the German by
R. Bartels, W. Gautschi and C. Witzgall.

79
Índice alfabético

Algoritmo, 8 elemental, 9
actualización Gauss-Jordan, 25 remanente, 13
de Aitken Neville, 58 Matriz de Householder, 36
de Cholesky, 33
de diferencias divididas, 57 Número de condición, 11
de Gauss-Jordan, 24 de una matriz, 30
de Givens, 40 Números de máquina, 6
de Householder, 37 Norma
de Romberg, 60 de Fröbenius, 20
resolución sistema triangular, 23 de Hölder, 18
resolver sistema LU x = b, 25 de vectores, 17
solución sistemas tridiagonales, 34 euclidiana, 18
Aproximación lineal, 49 matricial subordinada, 18
problema de, 49 normas equivalentes, 17
tratamiento numérico, 51 Operaciones
de punto flotante, 8
Computadoras
elementales, 8
analógicas, 5
elementales en matrices, 23
digitales, 5
Overflow, 7
Conjunto de operandos, 9
Polinomio interpolante, 53
Dı́gitos significativos, 6
de Lagrange, 54
Determinante de Vandermonde, 54
de Newton, 56
Diferenciación numérica, 59
error del, 59
método de Romberg, 60
existencia y unicidad del, 53
Diferencias divididas
Polinomios básicos de Lagrange, 54
tabla de, 56
Precisión de la máquina, 7
Eliminación de Gauss, 22 Radio espectral de una matriz, 21
Error, 5 Recta mı́nimo cuadrática, 49
absoluto, 11 Representación de números
análisis diferencial, 10 con punto fijo, 6
del polinomio interpolante, 59 con punto flotante, 6
influencia de errores, 29 normalizada, 6
relativo, 11 Rotaciones de Givens, 38
Espectro de una matriz, 21
Esquema de Horner, 57 Sistema tridiagonal, 34
Estabilidad de un algoritmo, 14
Underflow, 7
Factorización
A = LU , 25 Vector de permutaciones, 24
A = QR, 35
QR de Givens, 38
QR de Householder, 36
de Cholesky, 33

Longitud de palabra, 6

Mantisa de un número, 6
Mapeo

81