Documente Academic
Documente Profesional
Documente Cultură
• Autovalores y autovectores.
Referencias:
Aula:
Teoría: martes 11:30 a 1:30 - AUL019
jueves 11:30 a 1:30 - AUL103
Laboratorio: viernes 7:30 a 9:30 - MYS Sala A
Evaluación:
2 Parciales con valor de 32 puntos cada uno (semanas 6 y 11)
8 Laboratorios evaluados con valor de 3 puntos cada uno.
1 proyecto con valor de 12 puntos
Representación de números
Representación en base 10
−1 −2 −3 1 1
0.10110 = 1 ⋅ 10 + 0 ⋅ 10 + 1 ⋅ 10 = + = 0.101
10 1000
Representación en base 2
1 1
0.1012 = 1 ⋅ 2−1 + 0 ⋅ 2−2 + 1 ⋅ 2−3 = + = 0.62510
2 8
11011.012 = 1 ⋅ 24 + 1 ⋅ 23 + 0 ⋅ 22 + 1 ⋅ 21 + 1 ⋅ 20 + 0 ⋅ 2−1 + 1 ⋅ 2−2
1
= 16 + 8 + 2 + 1 + = 27.2510
4
En general
x = (a n a n −1 a1a 0 . a −1a −2 a −m )2 =
a n ⋅ 2n + a n −1 ⋅ 2n −1 + + a1 ⋅ 21 + a 0 ⋅ 20 + a −1 ⋅ 2 −1 + a −2 ⋅ 2−2 + + a −m ⋅ 2 −m
Representación de números
x = (ana n −1 a1a 0 )2 = an ⋅ 2n + an −1 ⋅ 2n −1 + + a1 ⋅ 21 + a 0 ⋅ 20 =
2(an ⋅ 2n −1 + a n −1 ⋅ 2n −2 + + a1 ) + a 0
x = 2 ⋅ x1 + r0
con
x1 = a n ⋅ 2n −1 + a n −1 ⋅ 2n −2 + + a1 y r0 = a 0
x1 = an ⋅ 2n −1 + a n −1 ⋅ 2n −2 + + a1 = 2 ⋅ x2 + r1
con
x2 = a n ⋅ 2n −2 + an −1 ⋅ 2n −3 + + a 2 y r1 = a1
Representación de números
x1 = 12 ⇒ x1 = 2 ⋅ 6 + 0 ⇒ a1 = 0
x2 = 6 ⇒ x2 = 2 ⋅ 3 + 0 ⇒ a 2 = 0
x3 = 3 ⇒ x 3 = 2 ⋅ 1 + 1 ⇒ a 3 = 1
x4 = 1 ⇒ x4 = 2 ⋅ 0 + 1 ⇒ a 4 = 1
x5 = 0 finaliza
Representación de números
Representación de números
Representación en base 8
decimal 0 1 2 3 4 5 6 7
octal 0 1 2 3 4 5 6 7
Representación de números
x = (.b−1b−2b−3b−4b−5b−6 )2
= b−1 ⋅ 2−1 + b−2 ⋅ 2−2 + b−3 ⋅ 2−3 + b−4 ⋅ 2−4 + b−5 ⋅ 2−5 + b−6 ⋅ 2−6 +
= (4b−1 + 2b−2 + b−3 )⋅ 2−3 + (4b−4 + 2b−5 + b−6 )⋅ 2−6 +
= (4b−1 + 2b−2 + b−3 )⋅ 8 −1 + (4b−4 + 2b−5 + b6 )⋅ 8 −2 +
notar que los b-i, i=1,2,3,…, son los números 0 o 1, y la operación entre
paréntesis produce dígitos entre 0 y 7
x = σ (a 0 .a1a 2 a t )β β E
donde
σ representa el signo de x
(a1a 2 a t )β la mantisa en base β
(E)β el exponente en base β
a 0 es un número entero entre 1 y β -1
x = (110001.1101)2 = (1.100011101)2 25
5 posiciones
1 1 1 1 1 1 1 1 = 1 ⋅ 27 + 1 ⋅ 26 + + 1 ⋅ 21 + 1 ⋅ 20 =
128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255
A fin de que estos números se puedan representar, se resta 127 del exponente,
de manera que el intervalo del exponente es en realidad [-127, 128].
0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
es
0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
49. 81249618530273
y el siguiente número de máquina mayor es
0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
49. 81250381469727
Esto significa que nuestro número de máquina original representa no sólo a
49.8125 sino también a los números que están en el intervalo entre corchetes
(línea azul).
[ ]
49. 81249618530273 49.8125 49. 81250381469727
0 1 2 3 4 5 6 7 8 9 A B C D E F
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Cualquier número real y que este dentro del rango numérico del computador se
le puede asociar una representación de punto flotante fl(y).
y = ( 0.d1d2 dk dk +1 ) × 10n
Ejemplo:
p = 0.3000 × 101 p = 0.3000 × 10−3
p* = 0.3100 × 101 p* = 0.3100 × 10−3
EA = 0.1 EA = 0.1 × 10−4
ER = 0.3333 × 10−1 ER = 0.3333 × 10−1
Observaciones:
• el error relativo en ambos casos es el mismo, mientras los errores absolutos
son diferentes
• como medida de precisión el error absoluto puede ser engañoso, en cambio
el error relativo puede ser más significativo
Prof. Saúl Buitrago y Oswaldo Jiménez
19
De manera similar, una cota para el error relativo, cuando se usa aritmética
de redondeo de k dígitos,
Las cotas para el error relativo cuando se usa aritmética de k dígitos, son
independientes del número que se está representando.
Esto se debe a la manera en que los “números de máquina decimal” o
“números de punto flotante” están distribuidos a lo largo de R.
Debido a la forma exponencial de la característica, se usa la misma cantidad
de “números de máquina decimal” para representar cada uno de los
intervalos
[0.1,1], [1,10], [10,100], , [10n −1,10n ]
( ] [ )
p* p p*
p − p*
| | < 5 ⋅10 − 4 ⇒ p* ∈ ( p − p 5 ⋅10 −4 , p + p 5 ⋅10 −4 )
p
p − p*
| | ≥ 5 ⋅10 −5 ⇒ p* ∈ ( −∞ , p − p 5 ⋅ 10 −5
] ∪ [ p + p 5 ⋅ 10 −5
,+∞)
p
Finalmente
p* ∈ ( p − p 5 ⋅10 −4 , p − p 5 ⋅10 −5 ] ∪ [ p + p 5 ⋅10 −5 , p + p 5 ⋅10 −4 )
Prof. Saúl Buitrago y Oswaldo Jiménez clase 1
25
x ⊕ y = fl ( fl (x ) + fl (y ))
x Θ y = fl ( fl (x ) − fl (y ))
x ⊗ y = fl ( fl (x )× fl (y ))
x ∅ y = fl ( fl (x )/ fl (y ))
Ejemplo:
Consideremos la siguiente suma:
0.99 + 0.0044 + 0.0042.
Con aritmética exacta, el resultado es 0.9986.
Sin embargo, si usamos una aritmética de tres dígitos, y las operaciones se
realizan siguiendo el orden de izquierda a derecha, encontramos que
(0.99+0.0044)+0.0042 = 0.994+0.0042 = 0.998.
Por otra parte, si operamos primero los dos últimos números, tenemos que:
0.99+(0.0044+0.0042) = 0.99+0.0086 = 0.999,
lo cual demuestra el efecto del error por redondeo en un caso tan simple
como éste.
(¿Por qué sucede esto?).
Ejemplo:
Consideremos x2 + 62.10 x + 1 = 0, cuyas raíces tienen los valores
aproximados
x1 ≈ -0.01610723 y x2 ≈ -62.08390
Ejemplo (cont.):
Esta dificultad puede evitarse racionalizando el numerador en la fórmula
cuadrática
(∆ − b )(∆ + b ) (∆2 − b 2 ) −4 −2
x1 = = = = .
2(∆ + b ) 2(∆ + b ) 2(∆ + b ) (∆ + b )
Se obtiene en este caso
− 2.000 − 2.000
x1 = = = −0.01610,
62.10 + 62.06 124.2
con un error relativo de ≈ 6.2 × 10-4, mucho menor que el anterior.
Por otro lado, el cálculo de x2 implica la suma de dos números casi iguales.
− b y − b 2 − 4.
Pero esto no representa problema alguno, pues
− 62.10 − 62.06 − 124.2
fl (x2 ) = = = −62.10,
2.000 2.000
que tiene un error relativo pequeño de ≈ 3.2 × 10-4.
Prof. Saúl Buitrago y Oswaldo Jiménez
31
Algoritmos y convergencia
Algoritmos y convergencia
Ejemplo:
algoritmo para calcular la suma de los números x1 al xn, es decir,
n
∑x
i =1
i = x1 + x2 + + xn
Algoritmos y convergencia
diseño de algoritmos y
Análisis Numérico →
estudio de su eficiencia
• requerimiento de memoria,
Eficiencia → • tiempo de cálculo (rapidez)
• estimación del error (precisión)
errores de errores
errores de errores de
entrada + almacenamiento + algoritmo = de
(en medidas) salida
a analizar
Algoritmos y convergencia
Algoritmos y convergencia
Condicionamiento
Diremos que un problema está mal condicionado cuando pequeños cambios
en los datos dan lugar a grandes cambios es las respuestas. Para estudiar el
condicionamiento de un problema se introduce el llamado número de
condición de ese problema, especifico del problema, que es mejor cuando
más cerca de 1 (el problema está bien condicionado) y peor cuando más
grande sea (mal condicionado).
La gravedad de un problema mal condicionado reside
en que su resolución puede producir soluciones muy
dispares en cuanto los datos cambien muy poco.
Estabilidad
Todo algoritmo que resuelve un problema numéricamente produce en cada
paso un error numérico.
Un algoritmo se dice inestable cuando los errores que se cometen en cada
etapa del mismo van aumentando de forma progresiva, de manera que el
resultado final pierde gran parte de su exactitud.
Un algoritmo es estable cuando no es inestable (está controlado).
Prof. Saúl Buitrago y Oswaldo Jiménez
36
Algoritmos y convergencia
Sistema mal condicionado
Ejemplo:
10x1 + 7x2 + 8x3 + 7x4 = 32 x1 = 1
7x1 + 5x2 + 6x3 + 5x4 = 23 x2 = 1
sistema 1
8x1 + 6x2 + 10x3 + 9x4 = 33 ⇒ x3 = 1
7x1 + 5x2 + 9x3 + 10x4 = 31 x4 = 1
sistema 2 sistema 3
10 x1 + 7 x2 + 7.983 x3 + 7.019 x4 = 32 10 x1 + 7 x2 + 8 x3 + 7 x4 = 32.1
7.08 x1 + 5.04 x2 + 6 x3 + 5 x4 = 23 7 x1 + 5 x2 + 6 x3 + 5 x4 = 22.9
8 x1 + 5.98 x2 + 9.89 x3 + 9 x4 = 33 8 x1 + 6 x2 + 10 x3 + 9 x4 = 32.98
6.99 x1 + 4.99 x2 + 9 x3 + 9.98 x4 = 31 7 x1 + 5 x2 + 9 x3 + 10 x4 = 31.02
⇒
⇒
Pequeños cambios en los datos en algunos elementos producen grandes cambios en las
soluciones:
• entre los sistemas 1 y 2 cambios del orden de 11 centésimas (en la matriz) producen
variaciones de hasta 136 unidades en la solución,
• entre los sistemas 1 y 3 cambios del orden de 1 décima (en el término de la derecha)
producen variaciones de hasta de 10 unidades en la solución.
Prof. Saúl Buitrago y Oswaldo Jiménez condicionamiento.m
37
Algoritmos y convergencia
Estabilidad
Algoritmos y convergencia
Estabilidad
Consecuencias:
• Un algoritmo que exhibe crecimiento lineal del error es ESTABLE
• Un algoritmo en el que el crecimiento del error es exponencial es
INESTABLE
|En| ≈ kn ε → Inestable
|En|
|En| ≈ c n + ε → Estable
ε
Algoritmos y convergencia
Algoritmos y convergencia
p− p*
error en este cálculo δ =| | < 0.5 ⋅ 10−3 = 5 ⋅ 10−4
p
Prof. Saúl Buitrago y Oswaldo Jiménez
41
Algoritmos y convergencia
x ∈ [0,1]
n +1 xn x n +1
n∈ N ⇒ x ≥x n
⇒ ≥
x+5 x+5
x n +1
1 1
xn
⇒ ∫ dx ≥ ∫ dx ⇒ yn ≥ yn +1
0
x+5 0
x+5
x ∈ [0,1]
1
xn así, la integral de una xn
≥0 función positiva es positiva, yn = ∫ dx ≥ 0
x+5 x+5
es decir, 0
Algoritmos y convergencia
Consideremos el 1 yn
yn −1 = − .
algoritmo 5n 5
En este caso el error estaría, en cada paso, dividido por -5 (aunque
necesitaremos un valor de entrada).
1 1
y 9 + 5y 9 = ⇒ y9 ≈ ≈ 0.017
10 60
Observemos directamente de la
1 y9
definición de yn , que la misma y8 = − ≈ 0.019
decrece cuando n aumenta. 45 5
Por lo que podemos asumir que, 1 y8
y7 = − ≈ 0.021
cuando n es grande, yn+1 ≈ yn . 40 5
De esta manera, podemos por y 6 ≈ 0.025, y 5 ≈ 0.028,
conveniencia suponer que y10 ≈ y9 ,
y 4 ≈ 0.034, y 3 ≈ 0.043,
de donde sigue que
y 2 ≈ 0.058, y1 ≈ 0.088,
y 0 ≈ 0.182
¡bueno!
estable_regresivo.m clase 2
Prof. Saúl Buitrago y Oswaldo Jiménez
44
0 ≤ x t x − 2λy t x + λ2y t y
λ = (y t x ) (y t y )
−1
Tomando se obtiene
0 ≤ x t x − 2λy t x + λ2y t y = x t x − y t x ( ) (y y )
2 t −1
De donde
t
y x
2
(
≤ x t x y ty)( )
Prof. Saúl Buitrago y Oswaldo Jiménez
51
Si ahora se 2 −1 7 0
crea una B11 B12 ¿el resultado
B= 3 0 4 5 = anterior para AB
partición de B
− 2 1 − 3 1 B21 B22
sigue siendo
como
válido?
Prof. Saúl Buitrago y Oswaldo Jiménez
53
A11 A12 B11 B12 A11 B11 + A12 B21 A11 B12 + A12 B22
C = =
A21 A22 B21 B22 A21 B11 + A22 B21 A21 B12 + A22 B22
1 2 −1 1 3 6
A11 A12 A
t
A21
t
A = 3 − 4 − 3 = ⇒ At = 2 − 4 5 = 11t
A t
6 5 0 A21 A22 − 1 − 3 0 12 A22
1 2 0 0 1 3 0 0
3 4 0 0 U 0 2 4 0 0 U t 0
A= = ⇒ A =
t
=
t
0 0 2 3 0 V 0 0 2 4 0 V
0 0 4 5 0 0 3 5
matrices nula
Ejemplo:
2 0 1 1 1 -2 es un autovalor de la matriz 3×3
5 − 1 2 3 = −2 3 dada, y el vector (1,3,-4)T es el
− 3 2 − 5 / 4 − 4 − 4 autovector correspondiente.
Prof. Saúl Buitrago y Oswaldo Jiménez
56
x ≥ 0 para todo x ∈ R n
x = 0 si y sólo si x = (0, 0) = 0
α x = α x para todo α ∈ R y x ∈ R n
x +y ≤ x + y para todo x, y ∈ R n
x+y
y x +y ≤ x + y
x
Prof. Saúl Buitrago y Oswaldo Jiménez
58
Ejemplo:
n +
La función de R en R definida a partir del producto interno de vectores
1/ 2
n
x = x t x = ∑ xi2
es una norma. i =1
= (x + y) (x + y) = x
2 t 2 2
x+y + y t x + x ty + y
i =1
• La norma l1 n
x 1 = ∑ xi -1 1
i =1
• La norma l∞
x ∞
= max xi -1
1≤i ≤n
x 2
=1 x 1 =1
Ejemplo: x = (1,−1,3)
x 1 = 1 + − 1 + 3 = 5, x 2
= 1 + 1 + 9 = 11, x ∞
= max{1,1,3}= 3
Prof. Saúl Buitrago y Oswaldo Jiménez
60
Ax 1 Ax
A = sup A = sup 2
1
x ≠0 x1 2
x ≠0 x 2
Ax
A = sup ∞
∞
x ≠0 x ∞
* Ax ≤ A x para todo A ∈ M n , x ∈ R n
* Existe un vector x ∈ R
n
para el cual se da la igualdad, es decir,
Ax = A x
* Para I la matriz identidad I =1
* ρ (A ) ≤ A para todo A ∈ M n
• Normas matriciales subordinadas a las normas vectoriales 1, 2 y ∞
n
* A 1
= max ∑ a ij * A 2
= ρ (A * A ) = ρ (AA * ) = A *
1≤ j ≤n 2
i =1
n ρ (A * A ) es el radio espectral de A * A
* A ∞
= max ∑ a ij
1≤i ≤n
j=1
Las normas 1 e ∞ se calculan a partir de los elementos de la matriz,
la norma 2 no. Es inmediato que AT = A . 1
∞
Prof. Saúl Buitrago y Oswaldo Jiménez
63
2 1 − 7 0.5054
eig(A’ * A)
A A= 1 5 4
T
Autovalores: 5.2530
− 7 4 53 54.2416
A 2
= ρ (A * A ) = 7.3649 norm(A,2)
∑a
2
A F
= ij
i , j =1
∑ aij
2
A F
= = 1 + 49 + 4 + 4 + 1 + 1 = 60 = 7.7460
i , j =1
Condicionamiento de sistemas
La existencia de un sistema mal condicionado es una fuente de posibles
errores y dificultades a la hora de resolver un sistema lineal mediante
métodos numéricos.
Condicionamiento de sistemas
Observemos
Axˆ = b + δb = Ax + δb
⇔ Axˆ − Ax = δb ⇔ A( xˆ − x) = δb ⇔ A(δx) = δb (3)
De la relación (6)
parece deducirse que el número κ (A ) = A −1 A
es el factor determinante en la relación, ya que si este es pequeño
tenemos el efecto deseado:
si cuando δb es pequeña, δx también lo es.
De (7)
∆x ∆A ∆A
≤ A −1
A = κ (A ) . (8)
error relativo vectorial x + ∆x A A
en los resultados
error relativo
vectorial en los datos
De nuevo el factor determinante en la relación es κ (A )
ya que si este es pequeño tenemos el efecto deseado.
Prof. Saúl Buitrago y Oswaldo Jiménez clase 4
75
κ1(A ) = A −1 A 1
= 13.5 cond(A,1)
n 1
A = max ∑ a ij
1 1≤ j ≤n
i =1
n
κ 2 (A ) = A −1 A 2
= 10.3599 cond(A,2)
2
A ∞
= max ∑ a ij
κ ∞ (A ) = A −1 = 15.3333
1≤i ≤n
j=1
A ∞
cond(A,inf)
∞
κ F (A ) = A −1 A F
= 11.4564 cond(A,’fro’)
F
25 − 41 10 − 6
− 41 68 − 17 10
−1
A = , κ1 ( A) = 4488
10 − 17 5 −3
− 6 10 − 3 2
¡mal condicionado!
Prof. Saúl Buitrago y Oswaldo Jiménez
79
1 1+ ε
A = , con ε > 0
1 − ε 1
1 1 − ε − 1 n
La inversa A −1
= 2 A = max ∑ a ij
ε ε − 1
∞
1 1≤i ≤n
j=1
n n
2+ε
A = max ∑ a ij = 2 + ε A −1
= max ∑ a ij =
∞ 1≤i ≤n
j=1
∞ 1≤i ≤n
j=1 ε2
(2 + ε )2 4
κ ∞ (A ) = A −1
A = > 2
∞ ∞
ε 2
ε
Si ε ≤ 0.01 entonces κ ∞ (A ) > 40000
Esto indica que una perturbación de los datos de 0.01 puede
originar una perturbación de la solución del sistema de 40000.
Prof. Saúl Buitrago y Oswaldo Jiménez
80
Métodos directos
MAx = Mb
Método de Gauss.
El método de Gauss es un método general de resolución de un sistema
lineal de la forma
Ax = b
donde A es una matriz invertible.
Matrices de permutación.
1 2 0 1
A = P = matriz de permutación
3 4 1 0
1 2 0 1 2 1
AP = = intercambia las columnas 1 y 2
3 4 1 0 4 3
COMPLETAR !!!!!!
0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0
P1 = E = E = P = 0 0
0 1 0 −1 0 1 0 2 0 1 1 0 0 1
1 3
0
0 0
0
0 0 1 0
0 0 1 0 −1
0 1 1 0
F1 ↔ F2 F3 ← −1 ⋅ F1 + F3 F3 ← 1 ⋅ F 2 + F 3 F3 ↔ F 4
F 4 ← −1 ⋅ F 2 + F 4
0 1 0 0
En la práctica la matriz M no se
1 0 0 0
calcula, sino que se obtiene
M = P3E 2E 1P1 =
−1 0 0 1 directamente MA y Mb.
1 −1 1 0
Ax = b ⇔ MAx = Mb
6 −2 2
4 16
12 − 8 6 10
26
A= , b=
3 − 13 9 3 − 19
−6 4 1 − 18 − 34
A = [6 -2 2 4; 12 -8 6 10; 3 -13 9 3; -6 4 1 -18]
operaciones elementales sucesivas: b = [16; 26; -19; -34]
F2 ← −2.F1 + F2 6 − 2 2 4 16
F3 ← − 1 .F1 + F3 0 − 4 2 2 − 6
A= , b=
2 0 − 12 8 1 − 27
0 3 − 14 − 18
F4 ← −(−1).F1 + F4 2
F3 ← −3.F2 + F3 6 − 2 2 4 16
0 − 4 2 2 −6
F4 ← − − 1 .F2 + F4 A=
0 0 2 −5
, b=
−9
2
0 0 4 − 13 − 21
6 − 2 2 4 16
F4 ← −2.F3 + F4 0 − 4 2 2 − 6
A= , b=
0 0 2 − 5 −9
0 0 0 − 3 − 3
6 − 2 2 4 16
0 − 4 2 2 − 6
sistema triangular superior: MA = , Mb =
0 0 2 − 5 −9
0 0 0 − 3 − 3
1 0 0 0
F3 ← −3.F2 + F3
0 1 0 0
E2 =
F4 ← − − 1 .F2 + F4 0 − 3 1 0
2
0 1 / 2 0 1
E2 = [1 0 0 0; 0 1 0 0; 0 -3 1 0; 0 1/2 0 1]
1 0 00
0 1 00
F4 ← −2.F3 + F4 E3 =
0 0 1 0
0 0 − 2 1
E3 = [1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 -2 1]
Prof. Saúl Buitrago y Oswaldo Jiménez
88
1 0 0 0 1 0 0 0
−1 2 1 0 0 −1 −1 −1 2 1 0 0
E1 = y E1 E2 E3 =
1/ 2 0 1 0 1/ 2 3 1 0
−1 0 0 1 −1 −1/ 2 2 1
F2 ← −1⋅ F1 + F2
F3 ← −3 ⋅ F2 + F3
F3 ← −2 ⋅ F1 + F3
Leer A y b
Para k = 2 hasta n
Buscar un índice i0 tal que (k − 1 ≤ i0 ≤ n) y (ai0,k −1 ≠ 0)
Permutar la fila k-1 con la fila i0
Para i = k hasta n estrategia de pivoteo
α = ai,k −1 / ak −1,k −1
Para j = k hasta n
ai, j = ai, j − α ak −1, j
Obs. La mejor manera de escoger
Fin para i0 es tal que
bi = bi − α bk −1
a i0 , k −1 ≥ a i , k −1 para k − 1 ≤ i ≤ n
Fin para
Fin para Prof. Saúl Buitrago y Oswaldo Jiménez
92
Fin para
Para i = k hasta n
α = ci ,k −1 / ck −1,k −1
modificar elementos de
Para j = k hasta n+1 las filas k a la n y
ci , j = ci , j − αck −1, j
columnas k a la n+1
Fin para
Fin para
Fin para
Prof. Saúl Buitrago y Oswaldo Jiménez
93
En forma de ecuaciones
x1 + 2x2 + x3 + 3x4 = 0 x1 = −2x2 − x3 − 3x4 37.5
x2 + 2x3 + x4 = 1 x2 = 1 − 2x3 − x4 − 15.3333
⇔ ⇔ x=
11.1667
6x3 + 11x4 = 1 x3 = (1 − 11x4 )/ 6
− 6
− x4 = 6 x 4 = −6
xn = dn / unn
Algoritmo general n
para resolver el xi = (di − ∑u x ij j )/ uii
sistema U x = d j =i +1
para i = n − 1 hasta 1
Algoritmo
xn = bn / unn
n
xi = (bi − ∑u x
j =i +1
ij j )/ uii
n (n − 1) n 3 − n n 2 − n n 3 n 2 5n
= nop1 + n (n − 1) − = + = + −
2 3 2 3 2 6
n 3 n 2 5n
nop2 = + −
3 2 6 (10)
De (9) y (10) el número total de operaciones: nop
n 3 − n n 3 n 2 5n 2n 3 n 2 7n
nop = nop1 + nop2 = + + − = + − (11)
3 3 2 6 3 2 6
Prof. Saúl Buitrago y Oswaldo Jiménez
99
Observaciones:
125 x 109 / 200 x 106 = 625 segundos aprox. para obtener la solución. Esto
equivale a un poco más de 10 minutos, lo cual es un tiempo considerable,
sobre todo si se deben resolver varios sistemas de tamaño similar. Cabe
destacar que este valor de n no es demasiado grande; de hecho, los
problemas reales clásicos manejan sistemas lineales del orden de cientos
de miles
¿Cálculo de los flops en matlab? Prof. Saúl Buitrago y Oswaldo Jiménez clase 7
101
1
− e2,1
1
− ei +1,i
L = E 1−1 E n−1−1 =
1
− e j +1, j
1
− e − en ,i − en , j − en ,n −1 1
n ,1
Leer A
Algoritmo para calcular L y U
simultáneamente. Para k = 2 hasta n cálculo de L
Para i = k hasta n
Al final del proceso U está a i ,k −1 = a i ,k −1 / a k −1,k −1
almacenada en la parte Para j = k hasta n
triangular superior de A y L a i , j = a i , j − a i ,k −1a k −1, j
en la parte triangular inferior
estricta de A (no se incluye la Fin para
diagonal) Fin para cálculo de U
Fin para
Ejemplo: egs_LU.m
Prof. Saúl Buitrago y Oswaldo Jiménez
105
Teorema:
Sea A = (a ij )1≤i , j ≤n una matriz invertible. Denotemos por App la
submatriz de A siguiente
A pp = (a ij )1≤i , j ≤ p , 1 ≤ p ≤ n
0. 2. 0. 1.
A = A =
3. 1. 0. 2.
A es invertible, det(A) = -6. A no es invertible, det(A) = 0.
1. 0. 3. 1. 0. 1. 1. 0. 0. 1.
L = , U = , P = L = , U =
0. 1 . 0. 2 . 1 . 0. 0. 1 . 0. 2.
A = PLU A = LU
Definición:
Una matriz A de orden n×n es diagonal dominante estricta si
n
a ii > ∑a
j =1, j ≠i
ij , 1≤ i ≤ n
Consecuencia:
1. Si A es diagonal dominante estricta entonces todas la matrices
equivalentes obtenidas en el método de Gauss, también son diagonal
dominante estrictas. En este caso no se requiere pivoteo para el
método de Gauss.
2. Si A es diagonal dominante estricta entonces A es invertible
3. Si A es diagonal dominante estricta entonces A admite una
descomposición LU.
Definición:
Una matriz A de orden n×n es definida positiva si
x T Ax > 0 para todo x ∈ R n − {0 }
Consecuencia:
• Si A es simétrica, entonces A es definida positiva si y sólo si existe
una matriz L invertible triangular inferior tal que A = L L
T
Ejemplo:
La matriz
7 2 0
A = 3 5 −1
0 5 − 6
n
es diagonal dominante estricta, ya que a ii > ∑a
j =1, j ≠i
ij , 1≤ i ≤ n
7 > 2+0
5 > 3 + −1
−6 > 0 + 5
7 3 0 7 > 3+0
A = 2 5
T
5 5< 2+5
0 − 1 − 6
− 6 > 0 + −1
Prof. Saúl Buitrago y Oswaldo Jiménez
110
Ejemplo:
La matriz
2 −1 0
A = − 1 2 − 1
0 −1 2
2 − 1 0 x1 2x1 − x2
x T Ax = ( x1 x2 x3 ) − 1 2 − 1 x2 = ( x1 x2 x3 ) − x1 + 2x2 − x3
0 −1 2 x − x + 2x
3 2 3
= 2x12 − 2x1x2 + 2x22 − 2x2x3 + 2x32
= x12 + (x1 − x2 )2 + (x2 − x3 )2 + x32
Teorema:
Sea A = (a ij )1≤i , j ≤n una matriz simétrica. Denotemos por App la
submatriz de A siguiente
A pp = (a ij )1≤i , j ≤ p , 1 ≤ p ≤ n
2 ⋅ 10−5 1 1 1.00002
A1 = −5 −5
−5
con solución x =
1 ⋅ 10 1 ⋅ 10 2 ⋅ 10 0.99998
chequear
Gauss 2 ⋅ 10−5 1 1 0
sin
0
5
⇒ x = error del 100%
pivoteo − 0.5 ⋅ 105 − 0.5 ⋅ 10 1
Gauss 1 1 2 1
con ⇒ x = solución aceptable
pivoteo 0 1 1 1
2 ⋅ 10−5 1 1
A1 = −5
−5
1 ⋅ 10 1 ⋅ 10−5 2 ⋅ 10
2 105 105 0
⇒ x = error del 100%
0 − 0.5 ⋅ 105 5
− 0.5 ⋅ 10
1
D1AD2y = D1b
El sistema (*) es equivalente al sistema
x = (D2y )
Prof. Saúl Buitrago y Oswaldo Jiménez
116
Obs.
• La escogencia de D1 y D2 matrices diagonales corresponde
únicamente a una razón de facilidad en los cálculos
• Usualmente se utilizan las cantidades
d1i = (maxa ij )−1 i-ésimo elemento de la diagonal de la matriz D1
1≤ j ≤n
2 ⋅ 10−5 1 1
A =
−5
b =
−5
2 ⋅ 10
−5
1 ⋅ 10 1 ⋅ 10
1 0
D1 = 5
calculada usando d1i = (maxa ij )−1
0 10 1≤ j ≤n
u1 j
u2 j n min( i , j )
aij = ( li1 li 2 li 3
lin ) u3 j = ∑ lis u sj = ∑ lis u sj
(14)
s =1 s =1
ceros
s>i u ceros
nj s > j
k −1
Fijamos i=j=k en la ecuación (14) a kk = ∑ lks usk + lkk ukk (15)
(elemento en la diagonal) s =1
* Ly = b y1 = b1 / l11
* Ux = y Para i = 2 hasta n
Resolver
i −1
Algoritmo para resolver
yi = bi − ∑ lij y j / lii
Ly=b
Fin para
j =1
LUx = b xn = yn / unn
Para i = n-1 hasta 1
Resolver
n
xi = yi − ∑ uij x j / uii Ux=y
Fin para j =i +1
i =1
Ax = 0 ⇒ x = 0
Hemos visto que una matriz A no singular, la cual puede ser factorizada
como LLT, cumple que A es definida positiva.
El inverso es también verdad. Esto se enuncia a continuación.
Teorema:
Si A es una matriz simétrica y definida positiva, entonces
A = L LT ,
donde L es una matriz triangular inferior con los elementos de la
diagonal positivos. Además esta descomposición es única.
U = LT
de donde, para cualquier índice k entre 1 y n, se cumple que:
l11
l l
21 22
L = l 31 l 32 l 33
ukk = lkk
l ukj = l jk , para k + 1 ≤ j ≤ n
n1 ln 2 ln 3 lnn
u11 u12 u13 u1n uik = lki , para k + 1 ≤ i ≤ n
u22 u23 u2n
U = u33 u3n
unn
Prof. Saúl Buitrago y Oswaldo Jiménez
129
0 si i + p ≤ j
a ij = para 1 < p, q < n
0 si j + q ≤ i
Fin para
ln ,n −1 = an ,n −1 n-ésima fila de L
lnn = a nn − ln ,n −1un −1,n
Ejercicio:
• Calcular el número de operaciones elementales involucradas en el algoritmo.
• Modificar el algoritmo anterior usando un conjunto de vectores para las
matrices A , L y U (no almacenar los ceros).
Prof. Saúl Buitrago y Oswaldo Jiménez
135
∆b = A x − b = A x − Ax = A∆x con ∆x = x − x.
Podemos aplicar el procedimiento anterior para resolver A∆x = ∆b
∆x ← proc(A, ∆b ),
así, ∆x es una aproximación del verdadero error ∆x.
(3) ¿Una matriz que tiene uno o más ceros en su diagonal principal
puede tener descomposición LU?
0 1
(1) (Falso). Si la matriz A =
1 2
tuviera una descomposición LU, se tendría algo así:
0 1 a 0 d e
=
1 2 b c 0 f
A = L ⋅ U
ad = 0
ae = 1
de donde . Así, a=0 ó d=0. Cualquiera de estas dos
bd = 1 posibilidades genera una contradicción con
be + cf = 2 las ecuaciones ae=1 y bd=1. Por lo tanto,
la matriz en cuestión no puede tener una
descomposición LU.
0 1
(2) (Falso). La matriz A = es invertible,
1 2
ya que su determinantes es -1≠ 0.
eje x
La reflexión de x a través de la
recta L es − αu + β v
La reflexión de u a través de la recta L es − u
La reflexión de v a través de la recta L es v
Prof. Saúl Buitrago y Oswaldo Jiménez
144
Pv = (u u ) v = u (u v ) = u 0 = 0
t t
t
Construimos la matriz Q = I − 2P = I − 2u u ∈ R
2x 2
Se verifica:
Qu = u − 2Pu = u − 2u = −u
Qv = v − 2Pv = v
Para x = αu + βv ∈ R 2 se tiene
Qx = Q ( αu + β v ) = αQ ( u ) + β Q (v ) = −αu + β v
Q es la matriz que refleja vectores a través de la recta L.
Prof. Saúl Buitrago y Oswaldo Jiménez
145
t
Definición. Si u ∈ R , u = 1, Q = I − 2u u
n
n
Teorema 2. Si x e y ∈ R , x ≠ y, x 2 = y 2 , entonces
existe un reflector o transformación de Householder Q, tal que Qx = y.
n ×n
Teorema 4. Sea A ∈ R , esta puede ser expresada como A = QR
donde Q es ortogonal y R triangular superior.
Obs.
• Toda matriz n×n tiene descomposición QR. Lo mismo no puede decirse
para la existencia de su descomposición LU.
• Dada la descopmposición A=QR, resolver Ax=b se reduce a resolver
Rx=Qb (probarlo). Esto se lleva a cabo usando sustitución hacia atrás.
• El costo de aplicar la descomposición QR es “alto” (este requiere el
doble del número de operaciones elementales del método de
descomposición LU). clase 10
Prof. Saúl Buitrago y Oswaldo Jiménez
148
Métodos iterativos
Métodos iterativos
x = M −1Nx + M −1b.
Se propone el método iterativo siguiente
x (i +1) = Hx (i ) + c (3)
con H = M −1N y c = M −1b.
Prof. Saúl Buitrago y Oswaldo Jiménez
151
Métodos iterativos
(i )
Obs. Si la sucesión {x } definida en (3) converge a un vector y,
entonces y es la solución de (1) (el método es consistente con (1)).
Prueba.
Dado que (3) es cierto para todos los índices i, se puede tomar límite a
ambos lados de dicha ecuación, lo cual nos dice que:
lim x(i +1) = lim (Hx(i) + c)
i →∞ i →∞
Como lim x(i +1) = lim x(i) (es la misma sucesión) se tiene que:
i →∞ i →∞
i →∞
( i →∞
)
lim x ( i +1) = H lim x (i ) + c ⇒ y = Hy + c
⇒ y = M −1 Ny + M −1b ⇒ My = Ny + b
⇒ ( M − N ) y = b ⇒ Ay = b
Sea M = I, N = M − A = I − A
x (i +1) = x (i ) + r (i ) (4)
0 x i − x i −1 ≤ eps
x = 0 x10 = ( 0.279 0.279 0.279)
0
usando T
0
x198 = ( 0.333 0.333 0.333)
T
1 1
0 − −
2 3
1 1 5
Notar que I − A = − 0 − ⇒ I−A∞ = <1
3 2
1 6
1
− − 0
2 3
richardson.m
Prof. Saúl Buitrago y Oswaldo Jiménez
155
cálculo de la norma
cálculo de x(i+1) a
s = s + aij * xij
partir de x(i)
aij = -aij / aii Fin para s = abs(xi - xii)
Fin para Para j = i+1 hasta n
Si s > vecdif
Para j = i+1 hasta n s = s + aij * xii
vecdif = s
construcción
de donde
n
x(ji +1) = 1 bj − ∑ a jk xk(i) , (j = 1,2, , n).
a jj k =1
k≠ j
0 x i − x i −1 ≤ eps
x198 = ( 0.333 0.333 0.333)
T
usando x = 0
0
0
Obs. En este ejemplo la matriz
de iteración coincide con la de
Richardson. 1 1
0 − −
2 3
1 1 5
Notar que D −1 ( E + F ) = − 0 − ⇒ D −1 ( E + F ) = <1
3 2
1
∞ 6
1
− − 0
jacobi.m 2 3
Prof. Saúl Buitrago y Oswaldo Jiménez
160
1 1 11
1 A = [1,1/2,1/3; 1/3,1,1/2; 1/2,1/3,1]
Resolver 2 3 y1 18
1 1 11 b = [11/18; 11/18; 11/18]
el
3
1
y2 =
sistema 2 18
1 1 y 3 11
1
2 3 18
0 x i − x i −1 ≤ eps
x = 0 x 36 = ( 0.333 0.333 0.333)
0 T
usando
0
0 − 0.5 − 0.333
⇒ ( D − E ) F ∞ = 0.833 < 1
−1
Notar que ( D − E ) −1 F = 0 0.167 − 0.389
0 − 0.194 0.296
gsmp.m
Prof. Saúl Buitrago y Oswaldo Jiménez
163
Se propone la iteración
{D − ωE }x (i +1) = {ωF + (1 − ω )D }x (i ) + ωb (7)
M N
Mx (i +1) = Nx(i ) + ωb (7a)
Obs.
• La iteración (7) se conoce como SOR hacia delante: se tomó
M = D - ωE y N = ωF + (1-ω)D.
• Si tomamos en (7a)
M = D - ωF y N = ωE + (1-ω)D
el método se denomina SOR hacia atrás.
Matriz −1
D 1 − ω
H=M-1N=I-M-1A D −1(E + F ) = I − D −1 A (D − E ) F−1
−E D+F
ω ω
método iterativo
Descripción ( D − ωE ) x (k +1)
de una Dx (k +1) = (E + F )x (k ) + b ( D − E ) x (k +1) = Fx (k ) + b
iteración = ( (1 − ω ) D + ωF ) x (k ) + ωb
Veremos 3 esquemas de
almacenamiento para la
matriz A.
XA = ( 0.1 1.1 − 5.0 3.0 1.0 4.3 5.2 − 1.0 4.8 0.3 − 2.0)
IF = (1 4 6 7 10 12)
IC = (1 2 5 1 2 3 1 4 5 3 5)
F = (1 1 2 2 3 3 4 4 5 5 5 )
C = ( 2 4 1 3 1 5 4 5 1 3 5)
S = ( − 1.0 2.0 1.1 − 3.6 2.1 1.0 − 100.0 − 2.0 − 2.7 5.1 − 2.7 )
Es de hacer notar que la matriz A fue recorrida por filas para generar el
almacenamiento coordenado.
Prueba (cont.):
x (k ) − x = (I − M −1 A )(x (k −1) − x ).
de donde se tiene
0 ≤ lim x (k ) − x ≤ lim δ k (x (0 ) − x ) = 0
k →∞ k →∞
ya que 0 < δ < 1
Lema 1. Si δ = I − M
−1
A < 1, entonces la sucesión producida por el
método (8) cumple: δ
x (k ) − x ≤ x (k ) − x (k −1)
1− δ
Prueba: Como x es solución de Ax = b, también es solución de
x = (I − M −1A )x + M −1b.
Ahora la iteración (8) es equivalente
x (k ) = (I − M −1A )x (k −1) + M −1b.
Restando las ultimas ecuaciones se obtiene
x (k ) − x = (I − M −1A )(x (k −1) − x ).
Así, tomando norma sigue
x (k ) − x ≤ (I − M −1 A ) (x (k −1) − x ) = δ (x (k −1) − x ) (13)
Prueba (cont.)
Pero
x (k −1) − x = x (k −1) − x (k ) + x (k ) − x ≤ x (k −1) − x (k ) + x (k ) − x ,
usando (13)
x (k −1) − x ≤ x (k −1) − x (k ) + δ x (k −1) − x
⇔ (1 − δ ) x (k −1) − x ≤ x (k −1) − x (k )
1
⇔ x (k −1) − x ≤ x (k −1) − x (k ) . (14)
(1 − δ )
De (13) y (14)
δ
x (k ) − x ≤ x (k ) − x (k −1)
1− δ
Teorema 2.
Si A es diagonal dominante, entonces la sucesión producida por la
iteración de Jacobi
x (i +1) = D −1(E + F )x (i ) + D −1b
(0 )
converge a la solución de Ax = b para cualquier vector inicial x .
(0 )
converge a la solución de Ax = b para cualquier vector inicial x .
⇔ I − M −1A = M N −1
<1
∞ ∞
Cotas de Error.
i
a) x − x ≤ H
(i )
x (0 ) − x ,
i
H
b) x − x ≤
(i )
x (1) − x (0 ) , si H < 1
1− H
Obs.
La desigualdad en a) coincide con la ecuación (12) de la prueba del
Teorema 1. Por lo tanto, la demostración de dicha desigualdad es
exactamente igual a la deducción de la ecuación (12).
Obs.
En la desigualdad a), si se parte del vector inicial nulo, se obtiene una
cota superior del error relativo de aproximar x por x(i) :
x (i ) − x i
≤ H
x
Esto permite calcular aproximadamente el número de iteraciones
necesarias para alcanzar una tolerancia dada.
Como H <1
x (0 ) − x = x (0 ) − x (1) + x (1) − x ≤ x (0 ) − x (1) + x (1) − x
x (0 ) − x ≤ x (0 ) − x (1) + H x (0 ) − x
⇒ (1 − H ) x (0 ) − x ≤ x (0 ) − x (1)
1
⇒ x (0 )
−x ≤ x (0 ) − x (1)
(1 − H )
Combinando con la desigualdad (a) i
i H
x −x ≤ H
(i )
x (0 )
−x ≤ x (0 ) − x (1)
(1 − H )
Prof. Saúl Buitrago y Oswaldo Jiménez
184
Obs.
En la desigualdad b) se obtiene una cota superior del error absoluto de
aproximar x por x(i) :
i
H
x −x ≤
(i)
x(1) − x(0)
1− H
H GS ∞
≤ HJ ∞
<1
−1
donde H GS = (D − E ) F y H J = D −1(E + F ) para A = D -E -F.
Teorema 5. Si a ij ≤ 0 si i ≠ j y a ii > 0 si 1 ≤ i ≤ n ,
entonces se satisface una y solamente una de las condiciones siguientes
a) 0 < ρ (H GS ) < ρ (H J ) < 1
Obs. O ambos métodos convergen
b) 1 < ρ (H J ) < ρ (H GS ) o ambos divergen, y cuando
convergen, Gauss-Seidel es más
c) ρ (H GS ) = ρ (H J ) = 1
rápido de Jacobi, para este tipo de
d) ρ (H GS ) = ρ (H J ) = 0 matrices.
Prof. Saúl Buitrago y Oswaldo Jiménez
186
H J = D −1 ( E + F ) = I − D −1 A
Autovalores y Autovectores
Obs. Para x, y , z ∈ C n y λ ∈ C
a ) x, y = y , x
b ) x, λ y = λ x, y
c ) x + y , z = x, z + y , z
Autovalores y Autovectores
j =1
entonces
n n
= ∑ xj xj = ∑ xj
∗ 2 2
c ) x x = x, x = x 2
j =1 j =1
Prof. Saúl Buitrago y Oswaldo Jiménez
195
Autovalores y Autovectores
Si la ecuación
Ax = λx (1)
Ejemplo:
2 0 1 1 1 -2 es un autovalor de la matriz 3×3
5 − 1 2 3 = −2 3 dada, y el vector (1,3,-4)T es un
− 3 2 − 5 / 4 − 4 − 4 autovector correspondiente.
Autovalores y Autovectores
Autovalores y Autovectores
Cálculos con MATLAB:
Ejemplo: M = sym('[-1,10;0,-2]')
determ = det(M)
pc = poly(M)
factores = factor(pc)
Localizando autovalores.
Teorema de Gerschgorin.
El espectro de una matriz A de orden n (conjunto de todos los autovalores
de A) está contenido en la unión de los discos Di, i=1,…,n en el plano
complejo, donde
n
Di = z ∈ C : z − a ii ≤ ∑ a ij para 1 ≤ i ≤ n
j =1
j ≠i
Además, la unión de cualesquiera k de estos discos que no intersecte a
los (n-k) restantes, debe contener exactamente k autovalores (contando
multiplicidades)
Prueba.
λ autovalor de A y sea x el autovector asociado con x ∞ = 1, entonces
Ax=λx y existe i tal que xi = 1. Como ( Ax ) i = λxi sigue
n n n
∑a
j =1
ij x j = λxi ⇔ a ii xi + ∑ a ij x j = λxi ⇔ (λ − a ii )xi = ∑ a ij x j
j =1 j =1
j ≠i j ≠i
Prof. Saúl Buitrago y Oswaldo Jiménez
199
D1 = {z ∈ C : z − (−1 + i ) ≤ 1/ 4}
− 1 + i 0 1/ 4
Ejemplo. Si A = 1 / 4 1 1/ 4 se tiene D2 = {z ∈ C : z − 1 ≤ 1/ 2}
1 1 3
D3 = {z ∈ C : z − 3 ≤ 2}
D3
D1 λ1 = -1.0540 + 0.9888i
λ3 = 3.1780 + 0.0141i
D2 λ2 = 0.8761 - 0.0030i
A = [-1+i,0,1/4; 1/4,1,1/4;1,1,3]
Prof. Saúl Buitrago y Oswaldo Jiménez
200
Método de la Potencia
Según (a), los autovalores λ1,…, λn pueden ser reordenados tal que
λ1 > λ2 ≥ ≥ λn .
{
Según (b), existe una base u , , u
(1) (n )
} para Cn tal que
Au ( j ) = λ j u ( j ) para 1 ≤ j ≤ n. (5)
Si x (0 ) ∈ C n entonces
x (0 ) = a1u (1) + + an u (n ) con a1 ≠ 0. (6)
Método de la Potencia
Construimos la sucesión
x (1) = Ax (0 ), x (2) = Ax (1), , x (k ) = Ax (k −1).
Entonces
x (k ) = A k x (0 ). (7)
Método de la Potencia
Método de la Potencia
Entonces, de (10)
[
ϕ ( x (k ) ) = λ1k ϕ (u (1) ) + ϕ (ε (k ) ) , ] (11)
rk =
ϕ ( x (k +1) )
= λ1
[
ϕ (u (1) ) + ϕ (ε (k +1) )
→ λ1.
]
ϕ(x ) (k )
[
ϕ (u ) + ϕ (ε )
(1) (k )
]
Esto constituye el método de la potencia para calcular λ1.
Obs.
(k ) (1)
Como la dirección del vector x tiende a la dirección de u
cuando k → ∞ (usando (10)), el método nos permite calcular el
(1)
autovector u .
Método de la Potencia
Método de la Potencia
Ejemplo. Calcular el autovalor mayor y un autovector correspondiente para A
Ax = λx
6 5 − 5
x = ( − 1, 1, 1)
T
vector inicial
A = 2 6 − 2
2 5 − 1 ϕ : C n → C , ϕ (x ) = x2
A = [6,5,-5; 2,6,-2; 2,5,-1]
Método de la Potencia
A = [1.5,0.5; 0.5,1.5]
Ejemplo. Calcular
el autovalor mayor
y un autovector
correspondiente
para A
Método de la Potencia
Método de la Potencia
Obs (cont.).
Ax ( k ) , x ( k )
de donde λ1 = = Ax ( k ) , x ( k )
x(k ) , x(k )
La nueva versión del algoritmo de la potencia es la siguiente:
Fin para
Método de la Potencia
Obs.
El teorema anterior sugiere una manera de calcular el autovalor más
pequeño de A. Supongamos que los autovalores de A satisfacen
λ1 ≥ λ2 ≥ ≥ λn −1 > λn > 0.
Esto garantiza que A es no singular, ya que 0 no es un autovalor de A.
Tenemos que los autovalores de A-1 son los números λ j , y estos se
−1
Método de la Potencia
Obs. (cont.)
Ahora podemos aplicar el método de la potencia a A-1 para calcular su
autovalor más grande λn , es decir, hemos calculado λn el autovalor
−1
más pequeño de A.
En este caso no es buena idea calcular la inversa de A, es decir A-1, para
(k +1)
luego calcular x usando la iteración
x (k +1) = A −1x (k ).
En lugar de esto, procedemos así:
Obtenemos x
(k +1)
resolviendo el sistema Ax (k +1) = x (k ),
mediante el método de descomposición LU (esto se lleva a cabo una sola
vez), seguido por la resolución de 2 sistemas triangulares, donde el vector
de la derecha cambia en cada iteración.
Método de la Potencia
Método de la Potencia
Ejemplo. Calcular el autovalor menor y un autovector correspondiente para A
6 5 − 5 1 0 0 6 5 -5 Ax = λx
x = ( 3 7 − 13) vector inicial
T
A = 2 6 − 2 = 1/3 1 0 0 13/3 - 1/3
2 5 − 1 1/3 10/13 1 0 0 12/13 ϕ : C n → C , ϕ (x ) = x1
En cada paso del algoritmo se calcula x (k +1) a partir de LUx (k +1) = x (k ).
(k +1)
A continuación se calcula en r = x1(k +1) / x1(k ).
(k +1)
Antes de continuar con el siguiente iterado, se normaliza x
dividiendo entre su norma infinito.
k = 1, r (1) = −5.8889, x (1) = ( − 0.80165 − 0.00826 − 1.00000)
k = 2, r (2) = 1.19759, x (2) = ( − 0.95089 − 0.01774 − 1.00000)
k = 3, r (3) = 1.02750, x (3) = ( − 0.98759 − 0.00712 − 1.00000)
…
k = 6, r (6 )
= 1.00012, x (6) = ( − 0.99980 − 0.00017 − 1.00000)
…
k = 11, r (11) = 1.00000, x (11) = ( − 1.00000 0.00000 − 1.00000)
El menor autovalor de A es 1 y un autovector es (-1, 0, -1)T.
Prof. Saúl Buitrago y Oswaldo Jiménez
214
Método de la Potencia
Ejemplo. Calcular
el autovalor menor
y el autovector
correspondiente
para A
Método de la Potencia
Método de la Potencia
Método de la Potencia
Método de la Potencia
potencia
autovalor más
inverso (A − µI )x (k +1) = x (k )
cercano a µ
desplazado
Método de la Potencia
Ejercicio.
Dados una matriz A de dimensión n×n, µ un número complejo,
escribir procedimientos para MATLAB que permita calcular el autovalor
más cercano y más alejado de µ, usando los métodos de la potencia
inverso desplazado y de la potencia desplazado. Aplicarlo a la matriz A
dada para calcular el autovalor más cercano a 3.
6 5 − 5
A = 2 6 − 2 Autovalores: 6, 4 y 1
2 5 − 1
potencia 3 5 − 5
inverso
x(0)=(1,1/2,1)T ( A − 3I ) = 2 3 − 2
desplazado 2 5 − 4
(A − µI )x (k +1) = x (k ) A-3I = [3,5,-5; 2,3,-2; 2,5,-4]
Prof. Saúl Buitrago y Oswaldo Jiménez
220
semana 8
Sistemas de Ecuaciones Lineales
x(0)=(1,1,1)T
n ×n
Teorema. Sea A ∈ R no singular, entonces ésta puede ser expresada
como
A = QR
En Matlab:
donde Q es ortogonal y R triangular superior. [Q,R] = qr(A)
1 2
Ejemplo. Encontrar Q ortogonal y R triangular superior para A =
1 3
− 0.7071 − 0.7071 − 1.4142 − 3.5355
Q = R =
− 0.7071 0.7071 0 0.7071
Matrices similares.
n ×n
Definición. Sean A y B ∈ R no singular, decimos que A y B son
−1
similares si existe un matriz M no singular tal que se cumple A = M B M
8 2 8.7647 − 1.0588
Ejemplo. Sean A = y B =
2 5 − 1.0588 4.2353
A y B son similares, ya que existe M tal que A = M −1 B M
en MATLAB:
− 0.9701 − 0.2425 A = sym('[8,2;2,5]')
M = pcA = poly(A)
− 0.2425 0.9701 B = sym('8.7647,-1.0588;-1.0588,4.2353')
pcB = poly(B)
−1
− 0.9701 − 0.2425 8.7647 − 1.0588 − 0.9701 − 0.2425 8 2
M −1 B M = =
− 0.2425 0.9701 − 1.0588 4.2353 − 0.2425 0.9701 2 5
Prof. Saúl Buitrago y Oswaldo Jiménez
223
Ak = R k Ak −1R k−1
Los Ak todos tienen los mismos autovalores.
Todas son matrices similares.
Prof. Saúl Buitrago y Oswaldo Jiménez
224
− 0.9999 − 0.108
Q 5 =
Descomponer − 0.0108 0 .9999 8.996 − 0.0434
A4 = Q5R 5 − 8.9986 − 0.1409
⇒ A5 = R 5Q 5 ≅
R 5 = − 0.0434 4.0004
0 4.0006
Prof. Saúl Buitrago y Oswaldo Jiménez
225
Obs.
• En el algoritmo del método QR se puede utilizar como criterio de
parada la verificación de que la matriz Ak es triangular superior.
• Si todos los autovalores de A tienen distinto módulo, es decir
λ1 > λ2 > > λn −1 > λn > 0,
el límite de la sucesión es una matriz triangular superior en la que los
elementos de su diagonal son los autovalores de la matriz.
• Si existen autovalores de A de igual módulo la matriz límite es una
matriz triangular superior por bloques, en la que cada bloque de orden
k de su diagonal es una matriz cuyos autovalores son todos los k
autovalores de igual módulo de la matriz A.
2 3 5 autovalores: 7 − 3.8378 − 5.5850
A = 1 4 6 1.4142, -1.4142, A1000 = 0 1.4456 − 0.0527
−1 3 1 7.0000 0 1.7021 − 1.4456
Prof. Saúl Buitrago y Oswaldo Jiménez
226
Matrices en MATLAB
Funciones que actúan sobre matrices: A una matriz de dimensión m×n
Ejemplo.
4 5 9 6 1
3 1 2 9 8 Al aplicarle el método QR después de
A = 3 0 1 6 4 100 iteraciones se obtiene:
3 4 8 8 8
22.7159 1.4858 3.1296 − 5.0027 − 4.4042
3 8 2 0 7
0 − 6.6466 4.6148 1.1541 − 2.4864
A100 = 0 0 3.9861 − 2.8897 5.1189
0 0 0 0.1132 − 4.9856
0 0 0 0.7807 0.8314
Los autovalores de A:
22.7159
-6.6466
0.4723 + 1.9399i
mismo módulo
0.4723 - 1.9399i
3.9861
Obs.
• El costo de aplicar la descomposición QR es “alto” (este requiere el
doble del número de operaciones elementales del método de
descomposición LU).
• Si A = QR, Q ortogonal y R triangular inferior, entonces
n
det(A ) = ± det(R ) = ±∏ rii
i =1
ya que det(Q) = ±1.
• La convergencia del método QR puede ser lenta
• Dada la lentitud del método QR, se plantea como técnica para
acelerarlo, la transformación de la matriz A a una matriz similar con
estructura Hessenberg superior.
En Matlab: >> A = hess(A);
Luego, es a ésta matriz Hessenberg superior a la cual se le aplica el
método QR.
Prof. Saúl Buitrago y Oswaldo Jiménez
229
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
2 1
Mejor aproximación (mínimos cuadrados): y * ( x) = + x
3 2
Prof. Saúl Buitrago y Oswaldo Jiménez
232
Aproximación de Funciones
4 2
2 1
y * ( x) = + x
3 2
“minimax” y
“mínimos cuadrados”
no son lo mismo
Aproximación de Funciones
Ejemplo
Una compañía que repara computadoras pequeñas requiere desarrollar un
mecanismo para proveer a sus clientes del tiempo estimado de reparación.
Número de Tiempo de
observación componentes reparación
1 1 23
2 2 29 Gráfico de dispersión
180
3 4 64
4 4 72 160
5 4 80 140
Tiempo de reparación
6 5 87 120
7 6 96 100
8 6 105
80
9 8 127
10 8 119 60
11 9 145 40
12 9 149 20
13 10 165 0
14 10 154 0 2 4 6 8 10 12
Número de componentes
Aproximación de Funciones
Aproximación de Funciones
4 4 72 160
Tiempo de reparación
5 4 80 140
6 5 87 120
7 6 96 100
8 6 105 80
9 8 127
60
10 8 119
40
11 9 145
20
12 9 149
13 10 165 0
0 2 4 6 8 10 12
14 10 154
Número de componentes
Aproximación de Funciones
i =1 i =1 i =1
y yˆ = ax + b
ŷi
ei
yi distancia en y
xi x
Aproximación de Funciones
∂E (a , b ) ∂ n
∂E (a , b ) ∂ n
0=
∂a
=
∂a
∑ (y
i =1
i − axi − b ) 2
y 0=
∂b
= ∑
∂b i =1
(yi − axi − b )2
n n
⇒ 0 = 2∑ (y i − axi − b )(−xi ) y 0 = 2∑ (yi − axi − b )(−1).
i =1 i =1
Aproximación de Funciones
Aproximación de Funciones
i xi yi 160
Tiempo de reparación
1 1 23 140
2 2 29 120
3 4 64 100
4 4 72 80
5 4 80 60
6 5 87 40
7 6 96
20
8 6 105
0
9 8 127 0 2 4 6 8 10 12
10 8 119
Número de componentes
11 9 145
12 9 149 S yx = 130.60 S xx = 7.98
13 10 165 S yx
14 10 154 a= = 15.198 b = y − ax = 7.711
S xx
suma 86 1415
promedio 6,14 101,07 y = 15.198 x + 7.711
Prof. Saúl Buitrago y Oswaldo Jiménez
240
Aproximación de Funciones
i =0 i =0 j = 0 i = 0 j =0
m n m n n m
= ∑ y − 2∑ a j (∑ y i x ) + ∑ ∑ a j a k (∑ xij +k )
2
i i
j
i =0 j =0 i =0 j =0 k =0 i =0
Aproximación de Funciones
∂a j i =0 k =0 i =0
Esto da n+1 ecuaciones para las n+1 incógnitas aj, que se conocen como
ecuaciones normales,
n m m
∑ a (∑ x
k =0
k
i =0
i
j +k
) = ∑ y i xij
i =0
para j = 0, , n.
Aproximación de Funciones
i 0 1 2 3 4 Ajustar con un
polinomio de mínimos
xi 0 0.25 0.5 0.75 1.00 cuadrados de grado 2
yi 1.00 1.248 1.6487 2.117 2.7183 P (x ) = a 0 x 0 + a1x1 + a 2x 2
4 0 4 4
4 0
∑ xi ∑x 1
i ∑ x 2
i ∑ y i i
x
i =0 i =0 i =0 a0 i = 0
4 1 4 4
3
4
1
∑ xi ∑ i ∑ = ∑ i i Las ecuaciones
2
x x a
i 1 y x
i =4 0 i =0 i =0
a2 i =4 0 normales
x2
4 4
4
y x2
∑ i ∑ i ∑ ∑ i i
3
x xi
i =0 i =0 i =0 i =0
5 2 .5 1.87 a0 8.732
2 .5 1.875 1.5625 a1 = 5.4424
1.875 1.5625 1.3828 a 4.3993
2
Prof. Saúl Buitrago y Oswaldo Jiménez
244
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
f +ε
f −ε
a b
Aspectos importantes para considerar la clase de polinomios en la
aproximación de funciones:
• es sencillo determinar la derivada
• es sencillo determinar la integral indefinida
En ambos casos el resultado sigue siendo un polinomio.
Prof. Saúl Buitrago y Oswaldo Jiménez
247
Aproximación de Funciones
Polinomio de Taylor
Consideremos el problema de encontrar un polinomio de grado
especifico que este “cerca” de una función dada, alrededor de un punto.
Un polinomio p coincidirá con una función f en el punto x0 cuando
p(x0 ) = f (x0 ).
El polinomio tendrá la misma “dirección” que la función f en (x0,f(x0)) si
p′(x0 ) = f ′(x0 ).
El polinomio de grado n que mejor aproxime a la función f cerca de x0,
tendrá tantas derivadas en x0, como sea posible que coinciden con las de f.
Esta es precisamente la condición que satisface el polinomio de Taylor de
grado n para la función f en x0:
(x − x0 )
2 n
(x − x0 )
pn (x ) = f (x0 ) + f ′(x0 )(x − x0 ) + f ′′(x0 ) + + f (n )(x0 ) ,
2! n!
(x − x0 )n +1
el cual tiene un término de error pn (x ) − f (x ) = Rn (x ) = f
(n +1)
(ξ ) ,
(n + 1)!
para algún número ξ(x) entre x0 y x.
Prof. Saúl Buitrago y Oswaldo Jiménez
248
Aproximación de Funciones
Polinomio de Taylor
Ejemplo:
El polinomio de Taylor de grado 3 alrededor de x0=0 para f(x)=(1+x)1/2
x2 x3 1 1 1 3
p3 (x ) = f (0) + f ′(0)x + f ′′(0) + f ′′′(0) = 1 + x − x2 + x
2! 3! 2 8 16
Si queremos aproximar
1 1 1
1.1 = f (0.1) ≈ p3 (0.1) = 1 + 0.1 − (0.1)2 + (0.1)3 = 1.0488125
2 8 16
donde el error
(0.1)4 15 −7 / 2 (0.1)
4
R 3 (0.1) = f (ξ )
(4 )
= − (1 + ξ )
4! 16 24
15
≤ (0.1)4 max (1 + ξ )−7 / 2 ≤ 3.91 × 10−6
16 ⋅ 24 ξ ∈[0,0.1]
Aproximación de Funciones
Polinomio de Taylor
Ejemplo (cont.):
x 0.1 0.5 1 2 10
p3 (x ) 1.048813 1.2266 1.438 2.00 56.00
f (x ) 1.048809 1.2247 1.414 1.73 3.32
p3 (x ) − f (x ) 0.000004 0.0019 0.024 0.27 52.68
(x − x0 )n +1
Rn (x ) = f (ξ )
(n +1)
, 1 1 1 3
(n + 1)! p3 (x ) = 1 + x − x2 + x
2 8 16
La razón para que esta técnica de
aproximación falle es que el
término del error crece en valor
absoluto conforme n crece.
f (x ) = 1 + x
Esto resulta de que x=10 no está
lo suficientemente cerca de x0=0.
Prof. Saúl Buitrago y Oswaldo Jiménez
250
Aproximación de Funciones
Función “taylor”
Calcula el desarrollo en serie de Taylor alrededor de un punto dado, para
una función simbólica dada. Por defecto el polinomio es de grado 5 y
alrededor del cero.
>> syms x;
>> taylor(exp(-x), 6, 0) retorna
ans = 1-x+1/2*x^2-1/6*x^3+1/24*x^4-1/120*x^5
>> syms t;
>> taylor(x^t, 3, t) retorna
(grado 2, respecto a la variable t y alrededor de 0)
ans = 1+log(x)*t+1/2*log(x)^2*t^2
Aproximación de Funciones
Polinomio de Taylor
Ejemplo: Aproximar ln2 con un error absoluto menor que 10-8.
(n + 1)!
,
Se tiene f
(k )
(x ) = (−1)k −1 (k − 1)!x −k , k ≥1 ⇒ f (k )
(1) = (−1)k −1 (k − 1)!
de donde
(−1)k −1 (k − 1)!
n n
(−1)k −1
pn (x ) = ∑ (x − 1)k = ∑ (x − 1)k
k =1 k! k =1 k
n +1
(−1) n ! ξ
n −(n +1)
1 1
R n (x ) = (x − 1)n +1 = (x − 1)n +1
(n + 1)! n +1ξ
Prof. Saúl Buitrago y Oswaldo Jiménez
253
Aproximación de Funciones
Polinomio de Taylor
Ejemplo (cont.): Aproximar ln2 con un error absoluto menor que 10-8.
f (2) = pn (2) + R n (2) ⇒ ln 2 = f (2) ≈ pn (2) para n grande
n +1 n +1
1 1 1 1
R n (2) = (2 − 1)n +1 =
n +1ξ n + 1 ξ con 1 < ξ
1 1
sigue < 1 ⇒ R n (2) <
ξ n +1
1
Si se quiere R n (2) < 10 −8 , basta que < 10 −8 ⇒ n > 10 8 − 1
n +1
(100 millones de términos del polinomio de Taylor)
Aproximación de Funciones
Interpolación polinómica
Aproximación de Funciones
Dados los puntos del plano (x0,f0), (x1,f1), …, (xn,fn), donde los xi son
distintos. Determinar un polinomio p que satisface
a ) grado(p ) ≤ n (7)
b ) p(xi ) = f i , i = 0, , n.
Aproximación de Funciones
Interpolación polinómica
Ejemplo. En la determinación del polinomio cuadrático de interpolación
para
xo = 100, x1 = 101, x2 = 102,
1 x0 x02 a 0 f o
la matriz del sistema es
1 x1 x1 a1 = f1 .
2
1 100 10000 1 x
x22 a 2 f 2
V = 1 101 10201 . 2
Aproximación de Funciones
x = [ 1, 2, 3, 4 ]; y = [ 2, 3, .5, 8 ] 1 1 1 1
1 2 4 8
V = [1, 1, 1, 1; 1, 2, 4, 8; 1, 3, 9, 27; 1, 4, 16, 64] V =
1 3 9 27
1 4 16 64
El número de condición de V es aproximadamente 1.171×103.
sol = inv(V)*y'
→ sol = -16.0000 31.0000 -15.2500 2.2500
p(x ) = 2.25x 3 − 15.25x 2 + 31x − 16
cond(V,inf) = 1.9267e+003
p = polyfit(x, y, 3)
→ p = 2.2500 -15.2500 31.0000 -16.0000
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Como f (x0 ) = f (2) = 0.5, f (x1 ) = f (2.5) = 0.4, f (x2 ) = f (4) = 0.25
2
p(x ) = ∑ f (xi )L i (x )
i =0
0.4 0.25 2
= 0.5(x 2 − 6.5x + 10) + (−4x 2 + 24x − 32) + (x − 4.5x + 5)
3 3
= 0.05x 2 − 0.425x + 1.15
Prof. Saúl Buitrago y Oswaldo Jiménez
264
Aproximación de Funciones
Ejemplo (cont.).
1
p(x ) = 0.05x 2 − 0.425x + 1.15 f (x ) =
x
1
es p(3) = 0.05 ⋅ 3 − 0.425 ⋅ 3 + 1.15 = 0.325
2
Una aproximación a f (3) =
3
1
f (x ) =
x
Aproximación de Funciones
Una dificultad que surge al usar estos polinomios es que como es difícil
trabajar con el término de error dado por (16), no se sabe generalmente el
grado del polinomio necesario para lograr la precisión deseada hasta que
los cálculos han sido completados.
La práctica usual consiste en comparar los resultados obtenidos de varios
polinomios hasta que se obtiene una concordancia apropiada.
Aproximación de Funciones
Sea f una función definida en x0, x1,…, xn, y supongamos que m1, m2,…, mk
son k enteros distintos con 0 ≤ mi ≤ n.
El polinomio de Lagrange de grado menor que k que coincide con f en los
puntos xm1 , xm2 , , xmk se denota por Pm1,m2 ,,mk (x ).
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Interpolación polinómica
(x j − x0 ) (x j − x j −1 )(x j − x j +1 ) (x j − xn )
Aproximación de Funciones
Interpolación polinómica
Aproximación de Funciones
Interpolación polinómica
Obs. Tenemos:
• el polinomio interpolante natural es difícil de calcular, pero es fácil de evaluar
• el polinomio interpolante de Lagrange es fácil de determinar, pero difícil de
evaluar
La pregunta que surge es:
¿Existe un polinomio interpolante que sea fácil de determinar y fácil de
evaluar? La respuesta es si.
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
f [ xi +1 , , xi + k ] − f [ xi , , xi + k −1 ]
f [ xi , , xi + k ] =
xi + k − xi
Polinomio interpolante de Newton
diferencia dividida
cero uno dos tres cuatro cinco
x0 f [x0 ]
f [x0 , x1 ]
x1 f [x1 ] f [x0 , x1, x2 ]
f [x1, x2 ] f [x0 , x1, x2 , x3 ]
x2 f [x2 ] f [x1, x2 , x3 ] f [x0 , x1, x2 , x3 , x4 ]
f [x2 , x3 ] f [x1, x2 , x3 , x4 ] f [x0 , x1, x2 , x3 , x4 , x5 ]
x3 f [x3 ] f [x2 , x3 , x4 ] f [x1, x2 , x3 , x4 , x5 ]
f [x3 , x4 ] f [x2 , x3 , x4 , x5 ]
x4 f [x4 ] f [x3 , x4 , x5 ]
f [x4 , x5 ]
x5 f [x5 ]
Los elementos de la diagonal son los coeficientes del polinomio (27),
5 k −1
p(x ) = f [x0 ] + ∑ f [x0 , , xk ]∏ (x − x j ) .
k =1 j =0
Aproximación de Funciones
Aproximación de Funciones
Ejemplo:
diferencia dividida
Aproximación de Funciones
f (n +1)(ξ (x ))
f (x ) − p(x ) = (x − x0 ) (x − xn ). (28)
(n + 1)!
Prof. Saúl Buitrago y Oswaldo Jiménez
283
Aproximación de Funciones
Veamos la manera de cómo usar la acotación del error dado por (28) en
un caso sencillo. Sea l(x) el polinomio lineal interpolante de f(x) en x0 y x1 y
supongamos además que
f ′′(x ) ≤ M
en el intervalo de interés. Entonces, de (28)
f ′′(ξ ) M
f (x ) − l (x ) = (x − x0 )(x − x1 ) ≤ (x − x0 )(x − x1 ). (29)
2 2
El problema del estudio de esta acotación depende en que x este fuera o
dentro del intervalo [x0,x1].
Si x esta fuera de [x0,x1], se dice que estamos extrapolando para
aproximar a f. Como |(x-x0)(x-x1)| crece rápidamente a medida que x se
aleja del intervalo [x0,x1], extrapolación es un riesgo.
Si x esta dentro de [x0,x1], se dice que estamos interpolando para
aproximar f. Prof. Saúl Buitrago y Oswaldo Jiménez
284
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
La magnitud de las derivadas de orden alto para esta función crecen más.
f (n +1)(ξ (x ))
Vimos que f (x ) − p(x ) = (x − x0 )(x − xn ),
(n + 1)!
por lo tanto, la cota del error de interpolación cuando se usan polinomios
de grado alto crece mucho.
Aproximación de Funciones
Dado m, los m puntos de Chebyshev en el intervalo [-1,1], es decir x0, x1, xm-
1 se definen como
2i − 1
xi −1 = cos π , 1 ≤ i ≤ m. (31)
2m
Aproximación de Funciones
0 -1.0000 0.0385
1 -0.5000 0.1379 0.1989
2 1.0000 1.7241 1.5252
3 +0.0000 0.1379 -1.7241 -3.4483 -3.3156
4 0.0385 -0.1989 1.5252 3.3156 3.3156
+0.5000
polinomio interpolante de Newton
p+1.0000
(x ) = 0.0385 + 0.1989(x − x0 ) + 1.5252(x − x0 )(x − x1 )
− 3.3156(x − x0 )(x − x1 )(x − x2 ) + 3.3156(x − x0 )(x − x1 )(x − x2 )(x − x3 )
Aproximación de Funciones
puntos de Chebyshev
diferencia dividida
0 -0.9511 0.0424
1 -0.5878 0.1038 0.1691
2 0.0000 1.0000 1.5248 1.4255
3 +0.5878 0.1038 -1.5248 -2.5941 -2.6121
4 +0.9511 0.0424 -0.1691 1.4255 2.6121 2.7465
Aproximación de Funciones
Caso 5 puntos en [-1, 1]
puntos igualmente espaciados puntos de Chebyshev
-1.0000 -0.5000 0.0000 0.5000 1.0000 -0.9511 -0.5878 0.0000 0.5878 0.9511
0.0385 0.1379 1.0000 0.1379 0.0385 0.0424 0.1038 1.0000 0.1038 0.0424
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Claramente S j (x j ) = a j = f (x j ),
y aplicando la condición (b), se tiene que para j = 0, …, n-2
a j +1 = S j +1(x j +1 ) = S j (x j +1 ) = a j + b j (x j +1 − x j ) + c j (x j +1 − x j )2 + d j (x j +1 − x j )3 .
Aproximación de Funciones
Aproximación de Funciones
Despejando dj de (35)
c j +1 − c j
dj = (36)
3h j
y sustituyendo en (33) y (34) se tiene que para cada j = 0, …, n-1
h 2j
a j +1 = a j + b j h j + (2c j + c j +1 ) (37)
3
b j +1 = b j + h j (c j + c j +1 ) (38)
Aproximación de Funciones
Aproximación de Funciones
h0 2(h 0 + h1 ) h1 c0
h1 2(h1 + h 2 ) h2
hn −2 2(hn −2 + hn −1 ) hn −1 cn
3 3
(a 2 − a1 ) − (a1 − a 0 )
h1 h 0
3 3
(a − a ) − (a − a ) . (41)
= h2
3 2
h1
2 1
3 3
h (a n − a n −1 ) − h (an −1 − a n −2 )
n −1 n −2
El sistema (41) de n-1 ecuaciones tiene como incógnitas los ci, j = 0, …, n,
ya que los valores de hj y aj están dados por el espaciamiento entre los
nodos y el valor de f en los nodos.
Aproximación de Funciones
Una vez determinados los cj, los bj se calculan usando (39) y los dj de (36)
1 hj c j +1 − c j
bj = (a j +1 − a j ) − (2c j + c j +1 ) dj =
hj 3 3h j
para cada j = 0, , n − 1.
Aproximación de Funciones
Teorema: Sea f una función definida en [a, b], entonces f tiene un único
spline cúbico S con condición de frontera libre, o sea un único spline cúbico
que satisface las condiciones S’’(a) = S’’(b) = 0.
Aproximación de Funciones
Teorema: Sea f una función definida en [a, b], entonces f tiene un único
spline cúbico S con condición de frontera amarrada, o sea un único spline
cúbico que satisface las condiciones S’(a) = f’(a) y S’(b) = f’(b).
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Estructura cs:
x = -4:4; y = [0 .15 1.12 2.36 2.36 1.46 .49 .06 0];
form: 'pp'
cs = spline(x,[0 y 0]); breaks: [-4 -3 -2 -1 0 1 2 3 4]
xx = linspace(-4,4,101); coefs: [8x4 double]
pieces: 8
plot(x,y,'o',xx,ppval(cs,xx),'-');
order: 4
dim: 1
Prof. Saúl Buitrago y Oswaldo Jiménez
311
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Obs.
• Cuando n=0, el polinomio osculante que aproxima a f es simplemente el
polinomio de Taylor de grado m0.
• Cuando mi=0 para i=0, …, n, el polinomio osculante es el polinomio que
interpola a f en x0, x1, …, xn, es decir el polinomio de interpolación.
• El conjunto de los polinomios osculantes es una generalización de los
polinomios de interpolación.
• Cuando mi=1 para cada i=0, …, n, da una clase de polinomios
particulares de Hermite. Para una función f, estos polinomios no sólo
coinciden con f en x0, x1, …, xn, sino que, como sus primeras derivadas
coinciden también con las de f, tienen la misma apariencia que la función
f en (xi, f(xi)) (las rectas tangentes al polinomio y a la función coinciden).
Aproximación de Funciones
Aproximación de Funciones
Aproximación de Funciones
Supongamos que se dan n+1 puntos distintos x0, x1, …, xn, junto con sus
valores de f y f’. Definimos una nueva sucesión z0, z1, …, z2n+1 por
z 2i = z 2i +1 = xi , para i = 0, , n.
diferencia dividida
nodo cero uno dos tres …
z 0 = x0 f [z 0 ] = f (x0 )
f [z 0 , z1 ] = f ′(x0 )
z1 = x 0 f [z1 ] = f (x0 ) f [z 0 , z1, z 2 ]
f [z1, z 2 ] f [z 0 , z1, z 2 , z 3 ]
z 2 = x1 f [z 2 ] = f (x1 ) f [z1, z 2 , z 3 ]
f [z 2 , z 3 ] = f ′(x1 ) f [z1, z 2 , z 3 , z 4 ] …
z 3 = x1 f [z 3 ] = f (x1 ) f [z 2 , z 3 , z 4 ]
f [z 3 , z 4 ] f [z 2 , z 3 , z 4 , z 5 ]
z 4 = x2 f [z 4 ] = f (x2 ) f [z 3 , z 4 , z 5 ]
f [z 4 , z 5 ] = f ′(x2 )
z 5 = x2 f [z 5 ] = f (x2 )
2n +1 k −1
H 2n +1(x ) = f [z 0 ] + ∑ f [z
k =1
0 , , z k ]∏ (x − z j ),
j =0
Prof. Saúl Buitrago y Oswaldo Jiménez
317
Aproximación de Funciones
z4 = 2 f [z 4 ] = 6 =7
p(x ) = 2 + 3(x − 1) + (x − 1)2 + 2(x − 1)2 (x − 2) − (x − 1)2 (x − 2)2
Prof. Saúl Buitrago y Oswaldo Jiménez clase 17
319
Aproximación de Funciones
Curvas paramétricas
x2 y 2 x(t ) = a cos t
+ 2 =1
a 2
b y (t ) = b sin t
Representación cartesiana Representación paramétrica
r : R → R2 Función vectorial
de 1 variable
r (t ) = (x(t ),y (t ))
x(t ) = sin(2t )
y (t ) = cos t
curva de Lissajous
Aproximación de Funciones
Curvas paramétricas
x(t ) = sin(2t )
y (t ) = cos(3t )
Curva suave
x(t ) = cos(t ) + t
y (t ) = sin t
Aproximación de Funciones
Curvas paramétricas
* Deltoide (Euler)
x(t ) = a (2 cos(t ) + cos(2t )) ; y (t ) = a (2 sin(t ) − sin(2t ))
única
* Cardiode diferencia
x(t ) = a (2 cos(t ) + cos(2t )) ; y (t ) = a (2 sin(t ) + sin(2t ))
* Astroide
x(t ) = a cos3 (t ) ; y (t ) = a sin 3 (t )
Aproximación de Funciones
Curvas de Bézier
Dados los puntos P0 y P1, una curva lineal de Bézier es una línea recta
entre los dos puntos. La curva viene dada por la expresión:
B (t ) = P0 + (P1 − P0 )t = (1 − t )P0 + tP1, t ∈ [0,1]
Aproximación de Funciones
Curvas de Bézier
Aproximación de Funciones
Curvas de Bézier
= (1 − t ) 2 P0 + t (1 − t ) P1 + t (1 − t ) P1 + t 2 P2 , t ∈ [0,1]
= (1 − t ) 2 P0 + 2t (1 − t ) P1 + t 2 P2 , t ∈ [0,1]
2
2 i
B (t ) = ∑ t (1 − t ) 2−i Pi t ∈ [0,1].
i =0 i
Aproximación de Funciones
Curvas de Bézier
Aproximación de Funciones
Curvas de Bézier
Una curva cúbica de Bézier es el camino trazado por la función B(t), dados
los puntos: P0, P1, P2 y P3.
B (t ) = (1 − t )3 P0 + 3t(1 − t )2 P1 + 3t 2 (1 − t )P2 + t 3P3 , t ∈ [0,1]
3
3 i
B (t ) = ∑ t (1 − t ) 3−i Pi t ∈ [0,1].
i =0 i
Aproximación de Funciones
Curvas de Bézier
Aproximación de Funciones
Curvas de Bézier
n n n −1 n n
= (1 − t ) P0 + t(1 − t ) P1 + + t Pn , t ∈ [0,1].
n
0 1 n
Esta ecuación puede ser expresada de manera recursiva como sigue:
sea la expresión B P0 Pn que denota la curva de Bézier determinada
por los puntos P0, …, Pn. Entonces
Aproximación de Funciones
Curvas de Bézier
Aproximación de Funciones
Curvas de Bézier
P1 P2
S = { P0 , P1, P2 , P3 }
capsula convexa de S
P0 P3
Aproximación de Funciones
Curvas de Bézier
Aproximación de Funciones
Curvas de Bézier
4
4
B (t ) = ∑ t i (1 − t ) 4−i Pi t ∈ [0,1].
i =0 i
Aproximación de Funciones
Curvas de Bézier
−1 3 − 3 1 P0
3 −6 3 0 P1
B (t ) = (t 3 t 2 t 1) t ∈ [0,1].
−3 3 0 0 P2
1 0 0 0 P3
P0 x0 y 0
P
1 1 x y 1
=
P x y
2 2 2
P x y
3 3 3
FIN