Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metodos 120622134126 Phpapp01
Metodos 120622134126 Phpapp01
Facultad de Ciencias
Kay Tucci
kay@ula.ve
SUMA Facultad de Ciencias Universidad de Los Andes (ULA) Merida, 5101 - VENEZUELA
Bibliografa y Materiales
Bibliografa Kincaid D. & Cheney W. An Introduction to Numerical Analisys Atkinton Kendall E. An Introduction to Numerical Analisys
Burden R. y Faires D. Analisis Numerico Trevisan M. C. Notas de Analisis Numerico
Materiales
http://www.matematica.ula.ve/publicaciones/index.html http://webdelprofesor.ula.ve/ciencias/kay
Recomendaciones Generales
Algunos conceptos
Problema numrico: Descripcin precisa de la relacin funcional entre un conjunto nito de datos de entrada y un conjunto nito de datos de salida. Algoritmo: secuencia ordenada y nita de pasos, excenta de ambigedades, que seguidas en su orden lgico nos conduce a la solucin de un problema especco Mtodo numrico: Procedimiento para transformar un problema matemtico en numrico y resolver este ltimo
Pasos Generales
El anlisis numrico se utiliza generalmente cuando no se puede resolver el problema matemtico, es decir hallar una relacin funcional entre el conjunto de entrada y el de salida. Los pasos a seguir son: 1. Estudio terico del problema: existencia y unicidad de la solucin. 2. Aproximacin: Crear una solucin para un nmero nito de valores existencia y unicidad estabilidad y convergencia 3. Resolucin: Eleccin de un algoritmo numrico Eleccin del algoritmo: Costo y estabilidad Codicacin del algoritmo Ejecucin del programa
Analisis Numerico p. 5/196
Sistemas numricos
Los sistemas numricos ms antiguos son: Babilnico: base 60 Romano: (I, V, X, L, C, D y M) Hind y rabe: decimal El extendido uso del sistema decimal oculta la existencia de otros sistemas numricos: Binario: base 2 Octal: base 8 Hexadecimal: base 16 ...
Analisis Numerico p. 7/196
ai bi ;
i=
donde, a es el valor absoluto del nmero real a representar, 0 ai b 1 en el dgito que ocupa la posicin i en a contadas a partir del punto decimal, positivos a la izquierda y negativos a la derecha; y n en la posicin ms a la izquierda ocupada por un dgito an = 0 Ambigedades: a.ccccc = a + 1 ; c=b1
Analisis Numerico p. 8/196
El computador
CPU
Acum
PC
CU
ALU
Registros Instrucciones
Registros
Memoria Principal
RAM ROM Bus Control
Cache
Bus Datos
Controlador I/O Controlador I/O Controlador I/O
Cache
Controlador de Discos
Controlador I/O
Interfaz Entrada/Salida
Memoria Secundaria
del ingles Binary digIT, representa un dgito binario. Ademas, el bit es la unidad mnima de informacin empleada en la teora de la informacin. Generalmente se reere a 8 bits. Formalmente es una secuencia de bits contiguos, cuyo tamao depende del cdigo de informacin o de carcteres en que est usando.
byte u octeto:
Signo Magnitud:
El bit ms signicativo representa el signo (0 = +) y (1 = ) y los restantes n 1 bits representan el valor absoluto del nmero. En los nmeros negativos cada dgito se escribe como [d]b = (b 1) (di )b [N ]b de un nmero (N )b se dene como: [ N ] b = b n (N )b ,
Complemento a la Base:
donde, S representa el bit de signo, E el exponente y F la parte fraccin binaria del nmero. presicin simple doble signo 1 1 exponente 8 bits 11 bits 10308 10308 1039 1038 mantisa 23 bits 52 bits 7 cifras dec. 16 cifras dec.
Desbordamiento
Los resultados que en valor absoluto son menores que el valor mnimo que soporta el formato de representacin son considerados underows, mientras los que son mayores que el valor mximo permitido se consideran overows.
x 1 ; i 0 Repita | ant x x 1
i 0
Mientras (1 + x > 1 ) | x x / 2
| i i + 1
| Escribir(i, x)
Fuentes de errores
En los datos de entrada En los cdigos Temperamento del computador: El programa no quiere correr Cuantizacin del sistema de numeracin de redondeo o truncamiento: 2 2 1 3 3 = 0.6666666 0.6666667 = 0.0000001 Aproximacin en los algoritmos:
n n x x ex = = n ! n! n=0 n=0 N
,x = 0
m es una cota del error absoluto si: m > 0 y |x x| m m es una cota del error relativo si: m > 0 y
x x x
m, x = 0
Cifras signicativas
Decimos que a es la representacin normalizada de un nmero real no nulo x si x = 0.a1 a2 a3 10e , donde, a1 es un dgito del 1 al 9; ai , i = 2, 3, . . . , son dgitos del 0 al 9 y e Z es el exponente. a aproxima a a con t decimales correctos si t es el mayor entero no negativo para el cual: |a a| 0.5 10t a aproxima a a con t cifras signicativas si t es el mayor entero no negativo para el cual: |a a| < 0.5 10et donde, a el valor aproximado de una cantidad a
Propagacin de errores
Sean x , y los valores aproximados de x, y ; y x , y 1 sus respectivos errores relativos.
Suma / Resta
Multiplicacion
: xy
Division
: x/y
Propagacin de errores
Para evitar la propagacin rdida de los errores hay que tener en cuenta que en la aritmtica del computador la propiedad asosiativa no se cumple. Resta de nmeros muy parecidos 2c b + b2 4ac = x1 = 2a b + b2 4ac Sumatorias largas de nmeros 1 x = 5 10 1 xi = 100 i=1
105 99 j =0
1 100
100
xi+100j
i=1
y los errores de redondeo dependen del precisin de la mquina maq y van como red N maq Entonces, el error total t viene dado por, t = aprox + red + N maq N
Empricamente, comparamos los valores calculados con N y 2N iteraciones. Cuando se alcanza el valor asimttico y el error de redondeo no es signicativo se tiene que, fN (x) f2N (x) , N
En un grco log10 (fN f2N ) vs log10 (N ) esto es una recta. En la grca anterior, el punto No en el que cambia la pendiente indica aproximadamente el nmero ptimo de iteraciones, y el log10 (No ) aproxima al nmero de cifras signicativas del resultado numrico.
Analisis Numerico p. 22/196
Smbolos O y o
Decimos que f es de orden O grande con respecto a g cuando x a si existe una constante K > 0 tal que, f (x) K, g (x) para x = a en un entorno de a. Pondremos f = O(g ) cuando x a. Decimos que f es de orden o pequea con respecto a g cuando x a si, f (x) = 0. lim xa g (x) Pondremos f = o(g ) cuando x a.
Smbolos O y o
Ejemplo: f = O(1) cuando x a signica que f (x) se mantiane acotada cuando x a f = o(1) cuando x a signica que f (x) tiende a cero cuando xa Propiedades: Si f = o(1) cuando x a entonces f = O(1) cuando x a Si f = O(xn ) cuando x 0 para algn n Z+ entonces f = O(xn1 ) cuando x 0
Estabilidad y Condicin
Los algortmos numricos debe dar resultados precisos y exactos. Estabilidad: Un algoritmo es estable si cambios pequeos en los datos iniciales producen cambios pequeos en los resultados Condicin: Algunos algoritmos son estables solamente para un conjunto de condiciones iniciales. Estos algoritmos son condicionalmente estables Crecimiento del error: Si 0 denota el error inicial y n el error despues de n iteraciones, decimos que el error crece: linealmente si n kn0 exponencialmente si n k n 0
Ecuaciones no Lineales
Introduccin Mtodo de biseccin Mtodo de la secante Mtodo de Newton Mtodos iterativos de un punto Raices mltiples Clculo de races de polinomios
Ecuaciones no Lineales
En las Matemticas aplicada frecuentemente se debe hallar soluciones de la ecuacin f(x) = 0 , donde, x Rn y f : Rn Rm es una funcin no lineal. En particular, en este curso nos centraremos en la busqueda de las raices o ceros de funciones unidimensionales, m = 1, y monovaluadas n = 1; es decir, f (x) = 0 , donde, x R y f : R R
Analisis Numerico p. 27/196
Ecuaciones no Lineales
Ecuaciones algebraicas: x2 x + 2 = 0 x6 = x 1 sin(x)
x 2
Ecuaciones tracendentes: =0
tan(x) = ex Slo existen soluciones exactas en casos muy particulares y generalmente, se tendrn que utilizar mtodos numricos, en particular, metodos iterativos.
Metodo Iterativo
Es aquel mtodo numrico en el que partiendo de un valor x0 arbitrario, se calcula una sucesin x0 , x1 , x2 , . . . de forma recurrente, mediante una relacion de la forma xn+1 = g (xn ) , n = 0, 1, 2, . . . ; donde, xi R y g : R R Los mtodos iterativos tambin se utilizan en otros problemas numricos y, en general, son muy poco vulnerables al crecimiento del error por redondeo Iteracin: Los pasos que se dan, en un algoritmo, para calcular un iterado, xn+1 , a partir del iterado anterior, xn .
Analisis Numerico p. 29/196
Orden de convergencia
Sea {xn } n=0 una sucesin que converge a y n = xn . Si existe una constante C (0, 1) tal que |n+1 | =C, lim n |n | entonce, la sucesin converge a linealmente con una tasa o velocidad de convergencia C Si lo anterior ocurre para C = 0, entonces se dice que la sucesin converge superlinealmente.
Orden de convergencia
Sea {xn } n=0 una sucesin que converge a y n = xn . Si existe un p 1 y una constante C tal que |n+1 | =C, lim n |n |p entonce, {xn } n=0 converge a con orden p. En particular, la convergencia con orden p = 2 se le llama cuadrtica y la con orden p = 3 cbica En general los mtodos que generen sucesiones con alto orden de convergencia se aproximan ms rpidamente a la solucin que aquellos que generen sucesiones con bajo orden.
Analisis Numerico p. 31/196
Mtodo de biseccin
Entrada: a, b, t, n Salida: c, error leer(a, b, t, n) i 1 fa f(a) repita | c a+(b-a)/2 | fc f(c) | i i + 1 |si (sign(fa)sign(fc)>0) | | fa fc ; a c | sino | | b c hasta (in)(fc=0)(|b-a|/2t) si (fc=0)(|b-a|/2t) | escribir(c) sino | escribir(error)
y=f(x)
a3 a2 a1 a1= a2 a= a1 c2= a3 c2
c3
b3 b2 c1 b1
c3 b2 = b3 c1= b2 b= b1
Mtodo de biseccin
Convergencia Como f (a)f (b) 0 sabemos que existe un [a, b] tal que f () = 0. Partiendo del algoritmo y mediante induccin se puede ver que bn+1 an+1 = 1 (b n a n ) 2 y que bn an = 1 2n1 (b 1 a 1 )
Combinando las dos equaciones anteriores tenemos que |cn | Lo que implica que
n
1 2n1
(b 1 a 1 )
n1
lim cn =
1 2
Mtodo de biseccin
Comentarios del mtodo de biseccin: Hay que dar dos valores iniciales, uno a cada lado de la raiz que se est buscando. Esto es un problema, especialmente si no se tiene ninguna idea del comportamiento de la funcin o si esta presenta raices muy similares o mltiples. Errores de redondeo o de cuanticacin pueden causar problemas cuando el intervalo de bsqueda se vuelve pequeo Al evaluar la funcin cerca de la raiz, f (x) 0, para el clculo del cambio de signo, los errores por operar con nmeros muy pequeos pueden hacerse presentes
y=f(x)
a3 a2 a1 c1 c2
c3
b3 b2 b1 b1 = b2 b= b1 b2 = b3
c3 a= a1 c1= a2 c2= a3
Sean a = b = c, diferencia dividida de primer orden: f [a, b] = diferencia dividida de segundo orden: f [a, b, c] = f (b ) f (a ) ba f [b, c] f [a, b] ca
Propiedades:
f [a, b] = f [b, a] f [a1 , a2 , a3 ] = f [ai , aj , ak ] con i = j = k y i, j, k {1, 2, 3} si f es continua en [a, b] y derivable en (a, b), existe (a, b) tal que f [a, b] = f ( ) (Teorema del valor medio) si f es derivable en (min(a, b, c), max(a, b, c)), existe tal que f [a, b, c] = f ( )
segn sea caso del estremo del intervalo [a, b] que no se modique, entonces el mtodo converge linealmente. an+1 C (an ) , si = b o bn+1 C (bn ) , si = a
Teorema: Sea f dos veces continuamente diferenciable en [a, b] con la nica raiz en [a, b]. Suponiendo que f (a)f (b) < 0, f () = 0 y f no cambia de signo en [a, b]. Si f (x) C= 2 maxx[a,b] f (x) < 1 , con = a o = b ,
Mtodo de la secante
Entrada: a, b, t, n Salida: c, error leer(a, b, t, n) i 1 fa f(a) fb f(b) repita | c b-fb(b-a)/(fb-fa) | i i + 1 | a b; fa fb | b c; fb f(c) hasta (in)(fc=0)(|b-a|/2t) si (fc=0)(|b-a|/2t) | escribir(c) sino | escribir(error)
y=f(x)
a3 b2 a1 c1
b3 c3 c2 a2 b1 b1= a2 b= b1
Mtodo de la secante
Convergencia Del mtodo tenemos que: c = b f (b ) ba , f (b ) f (a )
donde, usando diferencias divididas, el error se calcula como ba 1 f ( ) c= b = (a )(b ) , f (b ) f (a ) 2 f ( ) sustituyendo c = xn+1 , b = xn , a = xn1 tenemos que n+1 f (n ) = n n1 2f (n ) , (a, b)
Teorema: Supongamos que f : R R es una funcin C 2 en una vecindad de para la cual f () = 0 y f () = 0. Entonces si x0 y x1 se seleccionan sucientemente cerca de las iteraciones del mtodo de la secante convergen a . Adems, n+1 f () p1 1+ 5 lim 1.62 = , p= n (n )p 2f () 2
Analisis Numerico p. 40/196
Mtodo de la secante
Demostracin de la convergencia:Sea f (x) M = max x I = [ , + ] , > 0 2f (x) y supongamos que x0 y x1 son escogidos de forma tal que = max{M |0 |, M |1 |} < 1 Como |2 | M |1 ||0 | tenemos que M |2 | M 2 |1 ||0 | 2 < < 1 = |2 | < < M
Suponiendo que xi I , i = 1, 2, . . . , n, lo que signica que M |i | < , entonces |n+1 | M |n ||n1 | M |n+1 | M 2 |n ||n1 | 2 < < 1 = |n+1 | < lo que indica que xn I n
Analisis Numerico p. 41/196
< M
Mtodo de la secante
Demostracin de la convergencia: M |0 | M |0 |M |1 | M |1 |M |2 | = = = = . . . = 2 3 5 8 . . . qn1 +qn 2
M |1 |
M |2 |
M |3 |
M |4 |
M |5 | . . .
. . .
M |3 |M |4 | . . . M |n1 |M |n |
M |2 |M |3 |
. . .
2 3
3 5 . . . qn1 qn
M |n+1 |
Mtodo de la secante
Demostracin de la convergencia: As que qn |n | con < 1 , obtenemos que lim |n | = 0 n M Como 1 qn = 5 entonces ( qn )p = qn+1 y calculando la convergencia tenemos que
1 qn+1 n+1 M = lim ` 1 lim = lim qn p n n (n )p n M 1 qn+1 M 1 qn+1 Mp
!n+1 1+ 5 1+ 5 , p= 2 2
= M p1
Mtodo de la secante
Comentarios del mtodo de la secante: Hay que dar dos valores iniciales, a pesar de que no tienen que encerrar a la raiz que se est buscando, los puntos tienen que estar sucientemente cerca de la raiz para garantizar que el mtodo converja. Si la derivada de la funcin, cerca de la raiz, tiene un valor muy alto el clculo de b a puede causar problemas por perdida de cifras signicativas. De igual modo, si la derivada de la funcin, cerca de la raiz, tiene un valor muy bajo el clculo de f (b) f (a) puede causar problemas por perdida de cifras signicativas
Mtodo de Newton-Raphson
Entrada: x, t, n Salida: x, error leer(x, t, n) i 0 repita | i i + 1 | xa x | x xa - f(xa)/fp(xa) hasta (in)(|x-xa|t) si (|x-xa|t) | escribir(x) sino | escribir(error)
y y=f(x) g (x)=f(x )(x x i ) + f(x i i ) i
x0
x3
Mtodo de Newton-Raphson
Convergencia Del mtodo de Newton-Raphson tenemos que xn+1 = xn Expandiendo a f (x) alrededor de xn : (x xn )2 f (x) = f (xn ) + (x xn )f (xn ) + f (n ) 2
f (xn ) f (xn )
n0
n [xn , x] o [x, xn ]
n+1 =
2 n
f (n ) 2f (xn )
Analisis Numerico p. 46/196
Mtodo de Newton-Raphson
Convergencia Teorema: Sea f C 2 [a, b]. Si [a, b] es tal que f () = 0 y f () = 0, entonces existe un > 0 tal que el mtodo de Newton-Raphson genere una sucesin {xn } n=1 que converge cuadrticamente a para cualquier valor inicial x0 I = [ , + ] Demostracin: Denamos a f (n ) 1 M = max 2 xI f (xn )
Ahora si suponemos que xn I y que M |n | < 1 tenemos |n+1 | (M |n |)2 < |n | , lo que implica que xn+1 I
Mtodo de Newton-Raphson
Demostracin de la convergencia: De lo anterior concluimos que xn I , M |n | < 1 n y M |n+1 | (M |n |)2 (M |0 |)2n
lim xn =
Mtodo de Newton-Raphson
Trampas Cambio de concavidad f (x) = 0
y y=f(x)
y y=f(x)
Raiz no real
x4 x2 x0 x1 x3 x5
x0 x2 x4 x1 x3 x5
lim xn =
lim (xn+1 ) = 0
, y como xn tiende a ,
lim (xn+1 xn ) = 0
Es decir, cuando el nmero de iteraciones se vuelve muy grande la diferencia entre dos aproximaciones sucesivas xn y xn+1 de la raiz debe aproximarse a cero. Esta condicin es necesaria para que los procesos iterativos converjan a la raiz.
y=f(x)
x2=g(x1 ) x0
x1=g(x0 ) x3 =g(x2 )
x5 x4 x3 x2
x1
x0
x1
x3 x5
x4 x2
x0
Convergencia Monotnica
y y=g(x)
Convergencia Oscilante
y y=g(x)
x1 x0 x1 x2 x3 x4 x5 x3 x0
x2 x4
Divergencia Monotnica
Divergencia Oscilante
lim M n |x1 xo | = 0 ,
y como |x1 xo | = 0 a menos que x0 = tenemos que |g (x)| M < 1 x en un entorno de que contenga a x0 Es condicin suciente, ms no necesaria, para la convergencia
Si se elige a x0 sucientemente cerca de el mtodo iterativo de un punto converge a con un orden de al menos p y se cumple n+1 g ( p) ( ) lim p = n n p!
con n entre xn y . Como g (j ) () = 0j < p y g () = , obtenemos (xn )p (p) xn+1 = g (n ) (p)! Como el mtodo converge por ser g () = 0 < 1, xn y por lo tanto n+1 g ( p) ( ) xn+1 = lim lim p = n n n (xn )p p!
Analisis Numerico p. 58/196
lim q (x) = 0
Esencialmente q (x) representa la parte de f (x) que no contribuye al cero de la funcin. Teorema: La funcin f C m [a, b] tiene un cero de multiplicidad m en (a, b) ssi f ( j ) ( ) = 0 j < m y f m ( ) = 0
Analisis Numerico p. 59/196
Luego, aplicamos algn mtodo iterativo usando (x) como sustituta de f (x). Por ejemplo para el mtodo de Newton-Raphson tendramos que (x) f (x)f (x) g (x) = x =x 2 (x) (f (x)) f (x)f (x) Note que se requiere evaluar tambin a f (x)
de Aitken
El mtodo 2 de Aitken sirve para acelerar la convergencia lineal de una sucesin {xn } n=0 a su lmite . Para valores sucientemente grandes de n tenemos que xn+2 xn+1 xn xn+1 (xn+1 xn )2 xn xn+2 2xn+1 + xn
Teorema: Sea una sucesin que converge a . La sucesin {yn }, denida por (xn+1 xn )2 yn+1 = xn xn+2 2xn+1 + xn converge a ms rapidamente que la sucesin {xn }, esto es yn =0 n xn lim
Analisis Numerico p. 61/196
de Aitken
Demostracin: Sustituyendo en la denicin los trminos xn = n + tenemos: n n+2 2 n+1 yn = + n+2 2n+1 + n Por su parte, xn+1 = (xn ) +n (xn )
n+1 n n
con
xn+1 = n xn lim
| | < 1
lim n = 0 ;
de Aitken
Demostracin: entonces n+1 = ( + n )n y n+2 = ( + n+1 )( + n )n
Sustituyendo esto ltimo en la denicin ( + n+1 )( + n ) ( + n )2 yn = n ( + n+1 )( + n ) 2( + n ) + 1 por lo que ( + n+1 )( + n ) ( + n )2 yn = =0 lim n xn ( + n+1 )( + n ) 2( + n ) + 1
Mtodo de Steffensen
Resolviendo el problema f (x) + x = x y dado x0 , se calculan x1 = f (x0 ) + x0 , x2 = f (x1 ) + x1 , (x1 x0 )2 y1 = x0 x2 2x1 + x0
para calcular x3 no utilizamos el valor de x2 como lo hariamos con el mtodo de punto jo, sino usamos 2 -Aitken ya que suponemos que y1 es una mejor aproximacin de la raiz que x2 , x3 = y1 , x4 = f (x3 ) + x3 , x5 = f (x4 ) + x4
y as sucesivamente
(x4 x3 )2 y2 = x3 x5 2x4 + x3
Mtodo de Steffensen
En la n-esima iteracin tendremos que x3n = yn , x3n+1 = f (x3n ) + x3n yn+1 , x3n+2 = f (x3n+1 ) + x3n+1 ,
Mtodo de Steffensen
Entrada: x, t, n Salida: x, error leer(x, t, n) i 0 repita | i i + 1 | fx f(x) | y x - (fxfx / (f(fx + x) - fx)) | epsilon |x-y| | x y hasta (in)(epsilon t) si (epsilont) | escribir(x) sino | escribir(error)
Secante (Mtodo iterativo de dos puntos) xn xn1 g (xn , xn1 ) = xn f (xn ) f (xn ) f (xn1 ) Steffensen: Si se resuelve el problema x = f (x) + x entonces (f (xn ))2 g (xn ) = xn f (f (xn ) + xn ) f (xn )
Analisis Numerico p. 67/196
Raices de polinomios
Sea P (x) = an xn + an1 xn1 + + a1 x + a0 , an = 0
Teorema fundamental del lgebra: Si P (x) es un polinomio de grado m 1 con coecientes reales o complejos, entonces existe al menos un valor R o C tal que P () = 0 Corolario: Existen un conjunto de constantes nicas {1 , 2 , k } R o C y un conjunto {1 , 2 , k } N+ tales que
k
P (x) = an (x 1 )1 (x 2 )2 (x k )k
y m=
i=1
Corolario: Sean P (x) y Q(x) polinomios de grado m. Si existe un conjunto de n > m valores distintos {x1 , x2 , xn }, tales que P (xi ) = Q(xi ) xi entonces P (x) = Q(x) x
Analisis Numerico p. 68/196
Evaluacin de polinomios
Divisin sinttica o regla de Rufni: al evaluar P (x) = 3x3 4x2 7x + 1 , ralizaremos 2 multiplicaciones para calcular x3 y x2 ms 3 multiplicaciones entre los coecientes y las potencias de x, adems realizamos 3 sumas o restas de los trminos del polinomio. En general, para un polinomio de grado m se realizaran (2m 1) multiplicaciones y m sumas o restas. Si escribimos el polinomio de la siguiente forma P (x) = ((3x 4) x 7) x + 1 , Reducimos el nmero de multiplicaciones a 3, manteniendo el nmero de sumas y restas en 3.
Analisis Numerico p. 69/196
Evaluacin de polinomios
Divisin sinttica: En general, si un polinomio de grado m se representa en la forma
m
P (x) =
i=0
ai xi ,
se realizaran (2m 1) multiplicaciones y m sumas o restas para evaluarlo. En cambio si se representa como P (x) = ( ((am x + am1 ) x + am2 )) ) x + a0 , realizaremos solamente m multiplicaciones y m sumas o restas; Cul es la principal ventaja de reducir el nmero de operaciones?
Evaluacin de polinomios
Divisin sinttica Para evaluar el polinomio P (x) = 3x3 4x2 7x + 1
x= 2 3 4 7 1 x 6 + 3 2 2 x 3=6 4 + 6 = 2 2 x 2=4 7 + 4 = 3 x= 2 3 4 7 1 6 4 6 3 2 3 5 = P(x) 2 x 3 = 6 1 + 6 = 5 = P(x)
, en
x =2 b3 b2 b1 b0 = a3 = a2 + a3 x = a2 + b3 x = a1 + (a2 + a3 x ) x = a1 + b2 x = a0 + b1 x = P ( x) = a0 +
Evaluacin de polinomios
Divisin sinttica Para un polinomio de grado m, cuyos coecientes son am , am1 , . . . , a1 , a0 tenemos bm = am , bi = ai + bi+1 x , i = (m 1), (m 2), . . . , 1, 0 ,
donde, el ltimo trmino que se calcula, b0 = P ( x) El nombre divisin sinttica viene del hecho de que los nmeros bm , bm1 , . . . , b1 representan los coecientes de otro polinomio
N umerador m1 i=0 Cociente i
Q(x) =
bi+1 x =
P (x) (x x )
Denominador
b0 xx
Resto
Evaluacin de polinomios
Divisin sinttica Algoritmo de un subprograma que recibe un arreglo a[0..m] con los coecientes del polinomio P (x), su grado m y el valor donde se quiere evaluar x y retorna el arreglo b[0..m] con el resultado de la evaluacion en su primer campo b[0], y los coecientes de polinomio Q(x) en el resto de sus campos, b[1], b[2], . . . , b[m]
Entrada: a, m, x Salida: b divSintetica(a, m, x, b) | b[m] a[m] | para i m-1 hasta 0 | | b[i] a[i] + b[i+1] x
Mtodo de Horner
De lo anterior tenemos que b0 P (x) = Q(x) + xx xx Multiplicando por (x x ) obtenemos P (x) = Q(x)(x x ) + b0 La derivada de lo anterior es P (x) = Q (x)(x x ) + Q(x) y evaluando la derivada en x = x obtenemos P ( x) = Q( x)
Mtodo de Horner
Se utiliza para calcular raices de polinomios con el mtodo de Newton-Raphson. Mediante la divisin sinttica se calcula P (x) = Q(x) y se evalua en un valor dado a P (x) y Q(x) Entrada: a, m, x Salida: b, px, qx horner(a, m, x, b, px, qx) | b[m-1] a[m] | qx a[m] | para i m-1 hasta 1 | | b[i-1] a[i] + b[i] x | | qx b[i] + qx x | px a[0] + b[0] x A medida que se hace la divisin sinttica para evaluar a P (x) en x, se obtienen los coecientes de Q(x) que son usados dentro la misma iteracin para evaluar Q(x) en x. Al nalizar obtenemos
px = P (x) , qx = Q(x) = P (x)
Mtodo de Horner
Si el mtodo obtiene una aproximacin a una raiz P (1 ) 0, entonces P (x) = (x 1 )Q1 (x) + P (1 ) (x 1 )Q1 (x) Este proceso se llama deacin. Si aplicamos la deacin a Q1 (x) tendremos una aproximacin a una nueva raiz Q1 (2 ) P (2 ) 0, y si lo repetimos k = m 2 veces se podra tener P (x) (x 1 )(x 2 ) (x k )Qk (x) , donde, Qk (x) es un polinomio de grado 2, cuyas raices se pueden calcular usando una expresin analtica.
Mtodo de Horner
Entrada: m, a, x, t, n Salida: Las m raices de P (x) deflacion(m, a, x, t, n) si (m > 2) | i 0 | repita | | i i + 1 | | xa x | | horner(a, m, xa, | | b, px, qx) | | x xa - px/qx | hasta (in)(|x-xa|t) | si (|x-xa|t)
| | escribir(x) | | deflacion(m-1, b, x, | | t, n) | sino | | escribir(error) sino | d=sqrt(a[1]a[1] | - 4a[2]a[0]) | si(d 0) | | escribir((-a[1] d) | | /(2a[2]) El subprograma deflacion debe ser llamado por otro programa.
Analisis Numerico p. 77/196
Mtodo de Horner
Comentarios del mtodo: Una raiz aproximada i , ms que una aproximacin a una raiz de P (x), es efectivamente una aproximacin a una raiz de Qi1 (x) que a su vez se obtiene iterativamente mediante la deacin aproximada de P (x). Esto trae como consecuencia que a medida que i aumenta los errores se acumulan y las aproximaciones i a los valores reales de las raices,en general, sern cada vez peores. Por lo general los polinomios tiene raices complejas. Para calcularlas utilizando este mtodo (Newton-Raphson) hay que operar usando nmeros complejos. Las raices mltiples se van encontrando una a una.
Mtodo de Mller
Teorema: Si z = + i es una raiz compleja de multiplicidad del polinomio P (x) entonces z = i tambin es una raiz de multiplicidad de P (x) y el polinomio D (x) = (x2 2x + 2 + 2 ) es un factor de P (x), es decir, P (x) = Q(x) D (x) Con este resultado podemos pensar en generalizar la divisin sinttica para que los trminos sean polinomios cuadrticos. El mtodo de Mller se basa sobre esta idea, pero a diferencia del mtodo de Horner tambin permite calcular las raices complejas del polinomio. En cambio de aproximar a la funcin con una recta, como en el mtodo de la secante, se aproxima usando un polinomio cuadrtico
Analisis Numerico p. 79/196
Mtodo de Mller
Sean x0 , x1 y x2 los tres puntos iniciales del mtodo y D (x) = a(x x2 )2 + b(x x2 ) + c que pasa por (x0 , P (x0 )), (x1 , P (x1 )) y (x2 , P (x2 )), tenemos que b2 4ac D (x x2 ) = 0 x x2 = 2a Para evitar problemas de errores por la resta de nmeros parecidos y seleccionando el valor de x3 = x tal que sea la raiz ms cercana a x2 1, si b < 0 2c x3 = x2 , sig (b) = 2 1, si b 0 b + sig (b) b 4ac b
Analisis Numerico p. 80/196
Mtodo de Mller
Como P (x0 ) P (x1 ) P (x2 ) = = = a(x1 x2 ) + b(x1 x2 ) + c a(x0 x2 ) + b(x0 x2 ) + c
a(x2 x2 ) + b(x2 x2 ) + c = c
P (x2 )
(x0 x2 )(P (x1 ) P (x2 )) (x1 x2 )(P (x0 ) P (x2 )) (x1 x2 )(x0 x1 ) {z } |
a(x0 x2 )
Mtodo de Mller
Entrada: x0,x1,x2,t,n Salida: x2, error leer(x0,x1,x2,t,n) repita | c P(x2) | P02 P(x0)-c ; x02 x0-x2 | P12 P(x1)-c ; x12 x1-x2 | a (x02P12 - x12P02) | /(x02x12(x0-x1)) | b P02/x02 - ax02 | x0 x1 | x1 x2 | x2 = x2 - 2c/(b + sig(b) | sqrt(bb - 4ac)) hasta (in)(|x2-x1|t) si (|x2-x1|t) escribir(x2) sino escribir(error)
y y=f(x) D(x) = a(xx2)2+ b(xx ) + c
2
x0
x1
x2
x3
x4 x5
Nota: x0, x1 y x2 son variables complejas. En caso de que el lenguaje no las soporte hay que modicar el algoritmo
Algebra Lineal
Introduccin Mtodos Directos Regla de Crammer Eliminacin Gaussiana Factorizacin LU Factorizacin de Cholesky Matrices tridiagonales Normas y errores Mtodos Iterativos Renamiento iterativo Jacobi Gauss-Seidel Errores y Convergencia Aceleracin S.O.R.
Regla de Cramer
det(Ai ) xi = , det(A) donde, Ai es la matriz A con la i-esima columna remplazada por b Nmero de operaciones para el clculo de cada determinante se requieren (n 1)n! multiplicaciones y (n! 1) sumas evaluar (n + 1) determinantes realizar n divisiones En total son (n2 + n)n! 1 operaciones
Eliminacin de Gauss
transformar mediante operaciones lineales entre las a Ax = b donde, L 2 l11 6 6 l 21 6 6 . 6 . 6 . 6 6 6 ln11 4 ln 1 0 l22 . . . ln12 ln 2 0 0 .. . .. . ln1n1 lnn1 0 0 . . . 0 lnn 3 7 7 7 7 7 7 7 7 7 5 2 6 6 6 6 6 6 6 6 6 4 u11 0 . . . 0 0 u12 u22 .. . .. . 0 0 U u1n1 u2n1 . . . un1n1 0 u1n u2n . . . un1n unn 3 7 7 7 7 7 7 7 7 7 5 en Lx = c o en Ux = d ,
Triangular Inferior
Triangular Superior
Eliminacin de Gauss
Sustitucin hacia atrs Triangular Inferior x1 = c1 /l11 i = 2, 3, . . . , n xi = (ci
i1 j =1 lij xj )/(lii )
uij xj )/(uii )
Para obtener, por ejemplo, la matriz U y el vector d a partir de A y b se procede de la siguiente forma sobre la matriz ampliada = A|b aij = aij a1j ai1 /a11 ,
(1) (1) (0) (0) (0) (0)
i = 2, 3, . . . , n ,
j = 1, 2, . . . , n + 1 ;
donde, aij es el elemento que est en la la i, columna j de luego de aplicarle una transformacin y aij es el elemento original.
Analisis Numerico p. 87/196
(0)
Eliminacin de Gauss
Note que ai1 = 0 i > 1. En este paso a a11 se le conoce como el pivote. Para acomodar la segunda columna de usamos a a22 como pivote aij = aij a2j ai2 /a22 ,
(2) (1) (1) (1) (1)
i = 3, 4, . . . , n ,
j = 2, 3, . . . , n + 1 ;
Repitiendo este proceso para tenemos que aij = aij con k = 1, 2 . . . , n 1 , donde, akk
(k1) (k ) (k1)
akj
i = k + 1, k + 2, . . . , n ,
j = k, k + 1, . . . , n + 1 ;
Eliminacin de Gauss
Asi que
(0) a11 (0) a12 (1) a22 (0) a13 (1) a23 (2) a33
U =
0 0 . . . 0
0 . . . 0
..
.. . 0
. . . ann
(n1)
d=
. . . ann+1
(n1)
Note que para que la eliminacin de Gauss funcione todos los n 1 (k1) tienen que ser distintos de cero. Pero en la prctica esto pivotes akk no es todo, porque pivotes pequeos pueden provocar que el error de redondeo aumente
Eliminacin de Gauss
Crecimiento del error por pivotes pequeosa 1.406 0.0004 1.402 x , 1 = x2 2.501 0.4003 1.502
Aplicando la eliminacin de Gauss tenemos que 1.406 0.0004 1.402 x 1 = 1404 0 1405 x2 de donde se obtiene que x2 =
a
Eliminacin de Gauss
4 3 2 Soluci on exacta
x2
1 0 1 2 0 5
Soluci on aproximada
10
15
20
x1
Analisis Numerico p. 91/196
Eliminacin de Gauss
Crecimiento del error por pivotes pequeosa Si ahora usamos la eliminacin de Gauss con una matriz L tenemos 1.406 0.0004 1.402 x 1.402 , 1 = = 0.9334 1.502 2.501 0.4003 1.502 x2
Aplicando la eliminacin de Gauss tenemos que 3.74 x 0.374 0 de donde se obtiene que 1 = 2.501 x2 0.4003 1.502 x1 =
a
Eliminacin de Gauss
Estrategias de pivoteo Pivoteo Parcial: Se escoje r tal que ark
(k1)
= max ( aik
k in
(k1)
luego se intercambian la la k con la la r Menos efectivo, menos costoso, ms usado Pivoteo Total: Se escoje r y s tales que
(k1) ars = max ( aij ki,j n (k1)
Eliminacin de Gauss
Entrada: n, A[n,n+1] Salida: Las x[n] gauss(n, A, x) para k 1 hasta n | f[k] k para k 1 hasta n-1 | r k | para i k+1 hasta n | | si (A[i,k] > A[r,k] | | | r i | | si A[r,k] = 0 | | | escribir("Singular") | | | retornar | | si (k = r) | | | aux f[k] | | | f[k] f[r] | | | f[r] aux
| | m A[f[i],k]/A[f[k],k] | | para j k hasta n+1 | | | A[f[i],j] A[f[i],j] | | | - mA[f[k],j] si A[f[n],n] = 0 | escribir("Singular") x[n] A[f[n],n+1]/Af[n],n] para i n-1 hasta 1 | x[i] 0 | para j i+1 hasta n | | x[i] x[i] | | + A[f[i],j]x[j] | x[i] (A[f[i],n+1] | - x[i])/A[f[i],i] retornar
Analisis Numerico p. 94/196
Eliminacin de Gauss
Comentarios
2 El nmero de operaciones es aproximadamente 2 n 3
Si se quieren resolver varios sistemas con la misma matriz A la matriz ampliada ser = A|b1 |b2 |
Para el clculo de la inversa de la matriz A aplicamos el mtodo de la eliminacin de Gauss a la matriz ampliada = A|I, donde I es la matriz identidad
det(A) = (1)s
akk
k=1
(k1)
donde s es el nmero de intercambios de las realizados por las estrategia de pivoteo parcial
Analisis Numerico p. 95/196
Factorizacin LU
Si la matriz A se usa varias veces es conveniente factorizarla usando una matriz triangular inferior L y una triangular superior U A = LU ; Ax = b Ly = b , Ux = y
L=
lik =
(k1)
, si i k , si i < k
ln12 ln2
> :0
Factorizacin LU
U=
(0) a11 (0) a12 (1) a22 (0) a13 (1) a23 (2) a33
0 0 . . . 0
0 . . . 0
..
.. . 0
. . .
ann
(n1)
Teorema: La factorizacin LU de una matriz A no singular en nica. Corolario: det(A) = det(LU) = det(L) det(U) =
n k=1
aij = aij
(k )
(k1)
lik akj
(k1)
k = 1, 2, . . . , n 1 i, j = k + 1, k + 2 . . . n
akk
(k1)
Si se utilizan estrategias de pivoteo parcial o total, la factorizacin LU ser de la matriz permutada PA donde la matriz P, llamada matriz de permutacin, es el resultado de realizar las permutaciones hechas en A en la matriz identidad I
Analisis Numerico p. 97/196
Mtodo de Cholesky
Si la matriz A es simtrica y denida positiva no es necesario aplicar estrategias de pivoteo Teorema de Cholesky: Sea A una matriz simtrica denida positiva. Entonces existe una nica matriz triangular inferior L con lii = 0 tal que A = LLT A es simtrica si: A = AT , aij = aji i, j
Mtodo de Cholesky
A es denida positiva si: xT Ax > 0 aii > 0 i AT es denida positiva A1 siempre existe A1 es denida positiva x=0
Las submatrices principales son denidas positivas det(A) > 0 Los menores principales son positivos
Una matriz simtrica es denida positiva si y solo si todos sus menores principales son positivos (Teorema de Sylvester) Para la demostracin del teorema de Cholesky ver las notas del curso "Anlisis Numrico", de la Prof. Mara C. Trevisan. http://www.matematicas.ula.ve/publicaciones/guias/cursonum.pdf
Analisis Numerico p. 99/196
Mtodo de Cholesky
El mtodo requiere n3 /3 operaciones, la mitad de las 2n3 /3 operaciones requeridas para la factorizacin LU Se deben calcular n raices cuadradas Los elementos lii de L pueden ser diferente de 1 Si se quiere eliminar el clculo de las n raices cuadradas se puede modicar la factorizacin a A = LDLT , donde, lii = 1 , li1 = ai1 y lij = aij
i1 k=1 2 ljk dkk
/dii
2 lij djj
Mtodo de Cholesky
Entrada: n, A[n,n],b[n] Salida: Las x[n] cholesky(n, A, b x) para i 1 hasta n | para j 1 hasta i-1 | | v[j] = l[i,j]d[j] | d[i] A[i,i] | para j 1 hasta i-1 | | d[i] d[i] | | - l[i,j]v[j] | para j i+1 hasta n | | l[i,j] A[j,i] | | para k 1 hasta i-1 | | | l[i,j] l[i,j] | | | - l[j,k]v[k] | | l[i,j] l[j,k]/d[i]
para i 1 hasta n | y[i] b[i] | para j 1 hasta i-1 | | y[i] y[i] | | - l[i,j]y[j] para i 1 hasta n | z[i] y[i]/d[i] para i n hasta 1 | x[i] z[i] | para j i+1 hasta n | | x[i] x[i] | | - l[j,i]x[j] retornar
Matrices Tridiagonales
a11 a21 0 A= . . . 0 0 a12 a22 a32 .. . 0 a23 a33 .. . 0 0 0 0 a34 .. . an1n2 0 .. . .. . an1n1 ann1 0 0 . . . 0 an1n ann
Matrices Tridiagonales
L .. . .. . .. . 0 U 0 0 v3 .. . 0 0
donde, vi = aii+1 ,
1 l 1 0 0 . . . 0
0 1 l2 0 .. .
0 0 1 .. .. . .
0 0 . . . 0 1 ln1
0 0 . . .
0 0 1
u1 0 0 . . . 0 0
v1 u2 0 .. . 0
0 v2 u3 .. . 0
.. . .. . .. . un1 0
0 . . . 0 0 vn1 un
u1 = a11 ,
ai+1i li = , u i1
ui = aii li vi1
x La norma La norma x x
p= i=1 2
|xi |p
1 in
max |xi |
xy
p= i=1
|xi yi |p
xy
1 in
max |xi yi |
0.1081665 ,
xy
0.1
0.1 ,
xy
0.1
lim xi
(k )
= xi
n
i = 1, 2, . . . , n
.
|xj |. x
2
2 =
x2 j
x2 i = x
i=1
2 2
2 x2 j = nxj = n i=1
Denicin: Dada una norma vectorial en Rn , se dene la norma matricial inducida pora dicha norma vectorial como A = max
x=0
a
Ax x
= max
x =1
Ax
1=
max
j i=1
|aij |
max
i j =1
|aij |
((AT A) ,
donde, (A) es el radio espectral de A y se dene como (A) = max || y (A) es el espectro de autovalores de A
(A)
Analisis Numerico p. 108/196
Errores
Por lo general, la solucin calculada numricamente x = A1 b x =br , Ax
donde r es el vector residual. Se puede pensar erroneamente que un vector residual pequeo est asociado a un error pequeo, por ejemplo, si la solucin numrica el sistema 0.9999x1 x1 1.0001x2 x2 =1 =1 ,
= (1 , 0)T , el vector residual r = (0.0001 , 0)T es pequeo y a es x pesar de esto el error, que viene dado por la expresin x=x A 1 b , x es grande, ya que la solucin exacta es x = (0.5 , 0.5)T
Analisis Numerico p. 109/196
Errores
Error Absoluto es una aproximacin de la solucin de Ax = b y A es Teorema: Si x una matriz no singular, entonces para cualquier norma subordinada el error absoluto r xx A , Demostracin: De la denicin del vector residual tenemos que = Ax Ax = A(x x ) r = b Ax de donde se obtiene = A1 r A1 xx r = A1 r xx
Errores
Error Relativo es una aproximacin de la solucin de Ax = b y A es Teorema: Si x una matriz no singular, entonces para cualquier norma subordinada el error relativo xx x r b A A1 , si x = 0, b = 0
Demostracin: Como b = Ax b A x x b b A / A ,
Errores
Nmero de condicin Denicin: El nmero de condicin de una matriz no singular A relativo a la norma es K (A ) = A A1 Con esta denicin los errores absoluto y relativo se pueden escribir como r K (A ) xx A , xx x r b A A1
Una matriz A est bien condicionada si K(A) esta cerca de 1 y est mal condicionada si K(A) 1 Un buen condicionamiento garantiza que un vector residual pequeo implica que el error de la solucin aproximada es pequeo. Calcule el nmero de condicin para la matriz del problema anterior
Analisis Numerico p. 112/196
Metodos Iterativos
Para resolver el problema Ax = b , un mtodo iterativo comienza con una aproximacin inicial de la solucin x(0) , y genera una sucesin de vectores {x(k) } k=0 que converge a la solucin x; convirtiendo el problema en uno equivalende de la forma x = Bx + c , donde, B es una matriz constante n n y c es un vector columna tambin constante. Si una sucesin de vectores {x(k) } k=0 tiende a x, es decir que
k
lim
x(k ) x = 0 ,
Mtodos Iterativos
Veremos que para generalizar, es conveniente expresar a la matriz A como A = D(L + I + U) , donde,I en la matriz identidad; aii dij = 0 aij /aii , si j < i lij = 0 , si j i
uij =
Mtodos Iterativos
Despejamos por cada una de las equaciones una variables diferente, por ejemplo 4x1 + 3x2 + x3 x1 + 5x2 x3 2x1 + 3x2 + 3x3 = = = 1 2 4 x1 x2 x3
3 1 = x + 2 4 4 x3 1 x1 + 1 = 5 5 x3 + 2 x1 x2 + = 3 1 4 2 5 4 3
aij xj /aii
i = 1, 2 . . . , n
Mtodo de Jacobi
Para calcular la sucesin de vectores {x(k) } k=0 comenzamos con un vector inicial x(0) y usando la expresin anterior calculamos i = 1, 2, . . . , n (k+1) (k ) xi = bi aij xj /aii , k = 0, 1, . . . j =i Escrito en forma vectorial tenemos x(k+1) = (L + U)x(k) + D1 b , es decir que en la expresin iterativa x(k+1) = Bx(k) + c , k = 0, 1, . . .
Mtodo de Jacobi
Entrada: n,A[n,n],b[n],x[n],t,m Salida: x[n], e jacobi(n, A, b, t, m, x, e) k 0 repita | k k + 1 | para i 1 hasta n | | xa[i] x[i] | para i 1 hasta n | | x[i] b[i] | | + A[i,i]xa[i] | | para j 1 hasta n | | | x[i] x[i] | | | - A[i,j]xa[j] | | x[i] x[i]/A[i,i]
| para i 1 hasta n | | d[i] x[i] - xa[i] | si(norma(n,d)> tol) | | e verdadero | sino | | e falso hasta(( e) (k>m)) retornar
Note que para la condicin de parada estamos usando la funcin norma que calcula la norma vectorial de e
Mtodo de Gauss-Seidel
Para calcular la sucesin de vectores {x(k) } k=0 comenzamos con un vector inicial x(0) , pero a diferencia del mtodo de Jacobi donde para (k+1) calcular el valor de xi se usan solamente los valores estimados en (k+1) la iteracin anterior, en este mtodo para calcular el valor de xi usamos los xj , j = 1, 2, . . . i 1 valores ya calculados de la iteracin actual y xj , j = i + 1, i + 2, . . . n valores de la iteracin anterior. n i1 i = 1, 2, . . . , n (k+1) (k ) (k+1) aij xj xi aij xj /aii , = bi k = 0, 1, . . . j =i+1 j =1 Escrito en forma vectorial tenemos x(k+1) = Lx(k+1) Ux(k) + D1 b ,
Mtodo de Gauss-Seidel
de donde y por lo tanto (I + L)x(k+1) = Ux(k) + D1 b , ,
x(k+1) = (I + L)1 Ux(k) + (I + L)1 D1 b es decir que en la expresin iterativa x(k+1) = Bx(k) + c , k = 0, 1, . . .
la matriz de iteracin B y el vector c vienen dados por BGS = (I + L)1 U , cGS = (I + L)1 D1 b
Mtodo de Gauss-Seidel
Entrada: n,A[n,n],b[n],x[n],t,m Salida: x[n], e gs(n, A, b, t, m, x, e) k 0 repita | k k + 1 | para i 1 hasta n | | xa[i] x[i] | para i 1 hasta n | | x[i] b[i] | | para j 1 hasta i-1 | | | x[i] x[i] | | | - A[i,j]x[j] | | para j i+1 hasta n | | | x[i] x[i] | | | - A[i,j]xa[j]
| | x[i] x[i]/A[i,i] | para i 1 hasta n | | d[i] x[i] - xa[i] | si(norma(n,d)> tol) | | e verdadero | sino | | e falso hasta(( e) (k>m)) retornar
Note que para la condicin de parada estamos usando la funcin norma que calcula la norma vectorial de d
Mtodos Iterativos
Unicidad La ecuacin vectorial x = Bx + c tiene una nica solucin ya que (I B)1 existe. Para Jacobi viene expresada como I BJ = L + I + U = D1 A y para Gauss-Seidel como I BGS = I + (I + L)1 U = (I + L)1 (I + L) + (I + L)1 U = (I + L)1 (L + I + U) = (I + L)1 D1 A
Convergencia Lema 1: Si el radio espectral (B) < 1 entonces (I B)1 existe y adems (I B)1 = I + B + B2 + =
Bk
k=0
Analisis Numerico p. 121/196
Mtodos Iterativos
Convergencia Lema 2: Las siguientes armaciones son equivalentes 1. limk ak ij = 0 2. limk 3. (A) < 1 Lema 3: (A) < A , para cualquier norma inducida Prueba: Sea tal que (A) = || y u su autovector asociado. Entonces Au = u Au = || u (A) = || = Au u max
x=0
Ak = 0 x
4. limk Ak x = 0
Ax x
= A
Mtodos Iterativos
Convergencia Teorema: Para cualquier x(0) Rn , la sucesin {x(k) } k=0 determinada por x(k+1) = Bx(k) + c , k = 0, 1, . . . y c=0
converge a una solucin nica, x = Bx + c, si y slo si (B) < 1 Demostracin x(1) x(2) x(3) . . . x(k) = = = . . . = Bx(0) + c Bx(1) + c = B2 x(0) + (B + I)c Bx(2) + c = B3 x(0) + (B2 + B + I)c . . . Bx(k1) + c = Bk x(0) + (Bk1 + + B + I)c
k 1 j =0
= Bk x(0) +
Bj c
Mtodos Iterativos
Convergencia Si (B) < 1, lim x(k) = lim Bk x(0) + lim
k k lema2
k 1 j =0
lema1
Bj c
entonces,
k
Mtodos Iterativos
Convergencia Por otro lado, sea {x(k) } k=0 tal que
k
lim x(k) = x
entonces, x = Bx + c y x(k) = Bx(k1) + c, y el error viene dado por x x(k ) = = = = Bx + c Bx(k1) c = Bx Bx(k1) = B(x x(k1) ) B(Bx + c Bx(k2) c) = B2 (x x(k2) ) Bk (x x(0) ) Por lo que
k
y como el error inicial es arbitrario, del lema 2 tenemos que (B) < 1
Mtodos Iterativos
Convergencia Por el lema 3 tenemos que Corolario: Una condicin suciente para que un mtodo iterativo estacionario x(k) = Bx(k1) + c converja para toda aproximacin inicial x(0) es que B < 1 para alguna norma matricial inducida; y el error est acotado por x x(k ) B x x(k )
k
B 1 B
x x(0)
x(k) x(k1)
La segunda cota viene de x x(k) = B(x x(k1) ) = B(x x(k) ) B(x(k) + x(k1) ) x x(k) B x x(k) + B x(k) + x(k1)
Analisis Numerico p. 126/196
Mtodos Iterativos
Convergencia La convergencia de los mtodos iterativos estacionarios es lineal x x(k) B El criterio de parada viene dado por B 1 y para estimar el valor de B B x(k) x(k1) tenemos que para k grande x(k1) x(k2) x + x(k1)
Metodo de Relajacin
En trminos del vector residual el mtodo de Gauss-Seidel se puede escribir como xi con
(k ) ri (k+1)
= xi
(k )
+ ri
(k )
i = 1, 2, . . . , n
i1 j =1
n (k ) aij xj
+
j =i+1
i = 1, 2, . . . , n k = 0, 1, . . .
= xi
(k )
+ ri
i = 1, 2, . . . , n
Metodo de Relajacin
B = (I + L)1 ((1 )I U) , c = (I + L)1 D1 b
Para ciertos valores de la convergencia del mtodo mejora Para 0 < < 1, el mtodo se llama de subrelajacin y logra converger para algunos casos en los que el mtodo de Gauss-Seidel diverge Para > 1, el metodo se llama de sobrerelajacin o S.O.R Succesive Over-Relaxation y acelera la convergencia Teorema de Kahan: Si aii = 0 i, entonces (B ) | 1|. Es decir que para que el mtodo converja, (B ) < 1, nesesariamente 0 < < 2. Demostracin: Por un lado tenemos que det(B ) = 1 2 n ,
Metodo de Relajacin
Por otro lado, det(B ) = det (I + L)1 ((1 )I U) = det (I + L)1 det ((1 )I U) = (1 )n ,
de lo anterior tenemos que |1 |n = |1 ||2 | |n | (B )n 1 es decir, 0<<2 Teorema de Ostrowski-Reich: Si A es una matriz n n denida positiva y 0 < < 2, entonces el mtodo de relajacin converge para cualquier x(0) Rn
Metodo de Relajacin
Teorema: Si A es una matriz denida positiva y tridiagonal, entonces (BGS ) = ((BJ ))2 < 1, y el valor ptimo de para el mtodo de relajacin es 2 = 1 + 1 ((BJ ))2 Con lo que (B ) = 1
Mtodo de Relajacin
Entrada: n,A[n,n],b[n],w,x[n],t,m Salida: x[n], e | | x[i] (1-w)xa[i] sor(n, A, b, w, t, m, x, e) | | + wx[i]/A[i,i] k 0 | para i 1 hasta n repita | | d[i] x[i] - xa[i] | k k + 1 | si(norma(n,d)> tol) | para i 1 hasta n | | e verdadero | | xa[i] x[i] | sino | para i 1 hasta n | | e falso | | x[i] b[i] hasta(( e) (k>m)) | | para j 1 hasta i-1 retornar | | | x[i] x[i] Note que para la condicin de | | | - A[i,j]x[j] parada estamos usando la fun| | para j i+1 hasta n cin norma que calcula la nor| | | x[i] x[i] ma vectorial de d | | | - A[i,j]xa[j]
Analisis Numerico p. 132/196
Errores
Se puede demostrara que si usamos aleminacin gaussiana con aritmtica de t dgitos, que el vector residual r de la solucin de Ax = b puede aproximarse a aproximada x r 10t A x
Para calcular una aproximacin del nmero de condicin K(A) resolvemos el sistema Ay = r, cuya solucin aproximada A1 r = A1 (b Ax ) = A1 b A1 Ax =xx ; y lo que implica que xx y A 1 r 10t A1
K(A)
a
Forsythe G.E., Moler C.B., Computer solution of linear algebraic systems, Prentice-Hall, Englewood
Errores
de donde obtenemos que K(A) 10
t
y x
Ejemplo: En el sistema lineal siguiente tiene por solucin a x = (1, 1)T 1 1 2999 6666 x1 x2 = 3000 6667
Aplicando eliminacin de Gauss con aritmtica de t = 5 dgitos 0.5501 0 1 6666 x1 x2 = 0.49489 6667
Errores
= (0.89964, 1)T La solucin aproximada del sistema es x es El vector resudual correspondiente a x = r = b Ax 0.10036 0.10036 , r
=
0.10036
y x
= 10036 ;
K(A) = 12117.69
Teora de Interpolacin
Interpolacin polinomial Forma de Lagrange del polinomio interpolatorio Diferencias divididas. Forma de Newton del polinomio de interpolacin Diferencias progresivas y regresivas. Diferencias divididas con nodos repetidos Convergencia de los polinomios interpolatorios. Nodos de Polinomios de Chebyshev Interpolacin con funciones splines. Splines cbicas
Interpolacin
Denicin: proceso de obtencin de nuevos puntos partiendo del conocimiento de un conjunto discreto de puntos. Problemas: Teniendo de cierto nmero de puntos, obtenidos por muestreo o a partir de un experimento, se quiere construir una funcin que los ajuste. Aproximacin de una funcin complicada, es decir una funcin cuyo clculo resulta costoso; por una ms simple. Esto se logra partiendo de un cierto nmero de sus valores e interpolar dichos datos construyendo una funcin ms simple En general, se trata de obtener una funcin f (x), denominade funcin interpolante, a partir de n puntos distintos (xk , yk ), llamados nodos, tal que f (xk ) = yk , k = 1, . . . , n
Interpolacin de Taylor
Usa el desarrollo de Taylor de una funcin en un punto,x0 para construir un polinomio de grado n que la aproxima.
n
P (x) =
i=1
f (i) (x0 ) (x x0 )i i!
Ventajas: Slo necesita de un punto x0 de la funcin El clculo es sencillo comparado con otras formas de interpolacin polinmica Desventajas: Se debe conocer a la funcin Requiere que la funcin sea sucientemente diferenciable en un entorno a x0 El error de interpolacin por lo general crece al alejarse de x0
Analisis Numerico p. 140/196
Interpolacin de Taylor
2
sin(x)
P1 (x)
P5 (x)
f (x) = sin(x)
P1 (x) = x P3 (x) = x
x3 6
P5 (x) =
P3 (x)
2 2 0 2
x3 x5 x 6 + 120
Interpolacin de Taylor
(x) = | sin(x) Pn (x)|
100 10 1 0. 1
P3 (x) P1 (x)
(x)
0.01 0.001 0.0001 1e 05 2 0
x
Analisis Numerico p. 142/196
Interpolacin Lineal
Es la ms simple de las interpolaciones. Supongamos que se quiere calcular el valor una funcin f ( x), de la cual conocemos un conjunto de puntos {(xi , f (xi )}, i = 0, 1, . . . , m; con xi < xi+1 i < m, y xi < x < xi+1
El polinomio interpolatorio lineal que aproxima a f ( x) viene dado por la expresin x xi (f (xi+1 ) f (xi )) P (x) = f (xi ) + xi+1 xi
a1
, reordenando
a0
Interpolacin Lineal
f (x) =
1 x
1 0. 8
f (x)
0. 6 0. 4 0. 2 0 1 3 5 7 9 11
x
Analisis Numerico p. 144/196
Interpolacin Polinomial
En general, una mejor aproximacin a f (x) se puede obtener con un polinomio de grado mayor. Teorema: Dados n + 1 puntos distintos {(xi , f (xi )}, i = 0, 1, . . . , n existe un nico polinomio de grado n que interpola a f (x) Demostracin: Supongamos que existen dos polinomios P (x) y Q(x) que interpolan al conjunto de puntos. la diferencia entre los dos polinomios viene dada por R(x) = P (x) Q(x) , donde, R(x) es un polinomio de grado n. Como f (xi ) = P (xi ) = Q(xi ), i = 0, 1, . . . , n; entonces R(x) tiene n + 1 ceros, sin embargo como el grado de R(x) es a lo sumo n solamente podra tener n ceros, As que R(x) no puede existir a menos que sea igual a cero. Es decir P (x) = Q(x)
Analisis Numerico p. 145/196
Interpolacin Polinmica
Conocidos m + 1 puntos, x0 , x1 , . . . xm ; si se usan: 2 puntos P (x) = a0 + a1 x 3 puntos P (x) = a0 + a1 x + a2 x2 ...
4 puntos P (x) = a0 + a1 x + a2 x2 + a3 x3 n + 1 puntos con n m P (x) = a0 + a1 x + a2 x2 + + an1 xn1 + an xn A diferencia del caso lineal, el clculo de los n + 1 coecientes de los polinomios de grado n > 1 no es tan fcil de calcular Existen diferentes mtodos para el clculo de los coecientes
Mtodo Directo
Con los n + 1 puntos podemos plantear el sistema de ecuaciones
n1 + an xn Pn (x0 ) = a0 + a1 x0 + a2 x2 0 0 + + an1 x0 n1 n Pn (x1 ) = a0 + a1 x1 + a2 x2 + + a x + a x n 1 n 1 1 1 . . . . . . . . . n1 Pn (xn ) = a0 + a1 xn + a2 x2 + an xn n + + an1 xn n
Note que las n + 1 incognitas son los coecientes de los polinomios ai y no las xi , como es lo acostumbrado La matriz del sistema, Vm a , viene dada por 2 n 1 x0 x0 x0 n x 1 x1 x2 1 1 Vn a = f(x) donde Vn = . . . . . . . . . . . . . . . 1 xn x2 n xn n
a
Mtodo de Lagrange
El polinomio interpolatorio de Lagrange tiene la forma
n
Pn (x) = f (x0 )L0 (x)+ f (x1 )L1 (x)+ + f (xn )Ln (x) =
donde, Li (x), i = 0, 1, . . . , n son polinomios construidos para que 1 , si i = j Li (xj ) = 0 , si j = i (x x0 )(x x1 ) (x xi1 )(x xi+1 ) (x xn ) (xi x0 )(xi x1 ) (xi xi1 )(xi xi+1 ) (xi xn )
Mtodo de Lagrange
Ejemplo: Conocidos los puntos (0, 0); (/6, 1/2); (/3, 3/2) y (, 1); calcular el polinomio interpolador de grado 3 que pasa por los 4 punto. P (x) = +
(x/6)(x/3)(x ) (0/6)(0/3)(0 ) 0
(x0)(x/3)(x ) 1 (/60)(/6/3)(/6 ) 2
(x0)(x/6)(x ) 3 (/30)(/3/6)(/3 ) 2
Mtodo de Lagrange
2 10 1 1 0. 1
f (x)
(x)
0.01 0.001
1 2 2
1e 04 0 2 1e 05 0 /2
Rojo f (x) = sin(x). Azul polinomio interpolatorio de grado 3. Verde Polinomio de Taylor de grado tres en x0 = 0
Mtodo de Lagrange
Ejemplo: dados los puntos (1, 1), (1.2, 0.8333), (3, 0.3333), (5, 0.2), (6, 0.1667) y (9, 0.1111) calcular el valor de la funcin en x =4
0. 4 1 0.35 0. 8 0. 3
f (x)
0. 6 0. 4 0. 2 0 1 3 5 7 9 11
f (x)
0.25 0. 2 0.15 3 3. 5 4 4. 5 5
( x) ( ) (n + 1)!
donde, (x) = (x x0 )(x x1 ) (x xn ). Demostracin: Si x = xi el error ( x) y no es necesario interpolar. Para x = xi , i = 0, 1, . . . , n denamos una nueva funcin g (x) tal que f ( x) Pn ( x) g (x) = f (x) Pn (x) (x) ( x) La funcin g (x) tiene (n + 2) raices en el intervalo I : g (xi ) = 0 , i = 0, 1, . . . , n y g ( x) = 0
Analisis Numerico p. 152/196
As que si g (x) tiene (n + 2) ceros en I , entonces g (x) tendr (n + 1) ceros en I , g (x) tendr (n) ceros en I y as sucesivamente hasta g (n+1) (x) que tendr 1 ceros en I . Llamemos a este punto donde g (n+1) ( ) = 0
(x) = f
(n+1)
(x) +
f ( x) Pn ( x) ( x)
Evaluando en x = tenemos g (n+1) ( ) = f (n+1) ( ) + (n + 1)! de donde obtenemos ( x) = f ( x) Pn ( x) = f (n+1) ( ) ( x) (n + 1)! f ( x) Pn ( x) =0, ( x)
Solamente se puede usar en funciones donde la (n + 1) derivada tiene una cota conocida en el intervalo I .
Mtodo de Newton
Algortmicamente, el mtodo de Lagrange, presenta un problema: para pasar de un polinomio de interpolacin de grado n a uno de grado (n + 1) hay que iniciar los clculos desde el principio, es decir que no se pueden utilizar los coecientes de Pn para calcular los de Pn+1 . El mtodo de Newton, que es algortmicamente ms eciente, construye el polinomio de interpolacin Pn cuando se conoce el polinomio de interpolacin de grado (n 1).
Pn1 (x)
Pn (x)
Pn (x)
Mtodo de Newton
Usando la notacin de diferencias divididasa tenemos P0 (x) P1 (x) P2 (x) = f (x0 ) = f [x0 ] = f (x0 ) + = f (x0 ) +
f (x1 )f (x0 ) (x x1 x0 f (x1 )f (x0 ) (x x1 x0
x2 x0
(x x0 )(x x1 )
a1 = f [x0 , x1 ] ,
a2 = f [x0 , x1 , x2 ]
Mtodo de Newton
Siguiendo con polinomios de grado cada vez mayor obtenemos Pn (x) donde, an = f [x0 , x1 , . . . , xn ] = f [x0 ] + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 )+ f [x0 , x1 , . . . , xn ](x x0 )(x x1 ) (x xn1 )
Mtodo de Newton
Ejemplo: dados los puntos (1, 1), (1.2, 0.8333), (3, 0.3333), (5, 0.2), (6, 0.1667) y (9, 0.1111) calcular el valor de la funcin en x =4 x f f [, ] f [, , ] f [, , , ] f [, , , , ] f [, , , , , ] 1 1 -4.167 1.2 0.8333 0.6945 2.778 -0.09425 3 0.3333 0.3175 0.006084 0.06665 0.06383 0.0002426 0.2 0.01112 0.008025 5 0.0333 -0.001238 6 0.1667 0.003693 -0.01853 9 0.1111
Analisis Numerico p. 158/196
Mtodo de Newton
Diferencias Divididas Entrada: f[n], x[n], n Salida: a[n]
difDiv(f, x, n, a) para i 0 hasta n | a[i] f[i] para i 1 hasta n | para j n hasta i | | a[j] (a[j]-a[j-1]) | | /(x[j]-x[j-i])
El subprograma poliInter() recibe como entrada al vector a[] que previamente calcula el subprograma difDiv
Mtodo de Newton
Cuando los nodos estn igualmente espaciados podemos usar el operador de Diferencias Progresivas Denida como de orden k 1 se dene con 0 f (x) = f (x) por lo que tenemos `k Pk k j k f (x + jh) f (x) = j =0 (1) j
k f (x0 ) k!hk
Diferencias Regresivas Denida como de orden k 1 se dene con 0 f (x) = f (x) por lo que tenemos `k Pk j k f (x) = j =0 (1) j f (x jh) Lema: f [xnk , . . . , xn1 , xn ] =
k f (xn ) k!hk
f (x) = f (x + h) f (x)
k f (x) = k1 f (x + h) k1 f (x)
Lema:
f [x0 , x1 , . . . , xk ] = donde, k 0
Mtodo de Newton
Diferencias Progresivas Prueba del Lema: Para k = 0 tenemos 0 f (x0 ) f [x0 ] = f (x0 ) = 0!h0 Para k = 1 tenemos f (x + h) f (x) 1 f (x0 ) f (x1 ) f (x0 ) = = f [x0 , x1 ] = x1 x0 h 1!h1 Supongamos que cierta la k y probemos para k + 1 f [x0 , x1 , . . . , xk+1 ] = k f (x1 ) k f (x0 ) k !hk k !hk f [x1 , x2 , . . . , xk+1 ] f [x0 , x1 , . . . , xk ] = xk+1 x0
Mtodo de Newton
Diferencias Progresivas: Sea x = x0 + sh entonces x xi = (s i)h Pn (x) = f [x0 ] + f [x0 , x1 ] s h + f [x0 , x1 , x2 ] s(s 1) h2 +
s (2 )2! f [x0 , x1 , x2 , x3 ] s(s 1)(s 2) h3 + +
(s 1)1!
Entonces,
n
s k f (x0 ) k
Analisis Numerico p. 162/196
Mtodo de Newton
Diferencias Regresivas: Como tarea demuestre en primer lugar el lema para el clculo de las diferencias regresivas y luego demuestre que el polinomio de interpolacin de Newton para diferencias regresivas tiene la forma
n
k=0
(1)
s k f (xk ) k
Fenmeno de Runge
Runge descubri que el polinomio de interpolacin Pn (x) de algunas funciones construido usando puntos equidistantes oscila hacia los extremos del intervalo que si se interpola. Este fenmeno lo observ con la funcin 1 f (x) = 1 + 25x2 usando puntos equidistantes xi [1, 1] tal que 2 xi = 1 + i , n i {0, 1, 2, . . . , n}
Con esta funcin, el error de interpolacin tiende a innito cuando crece el grado del polinomio:
n
lim
1x1
= .
Fenmeno de Runge
2 1. 5 1 0. 5 0. 5 0 0 0. 5 1 0. 5 0. 5 0 0. 5 1 1 1 0. 5 0 0. 5 1 P2 P5 P10 f 2 1. 5 1 P10 f
El error entre la funcin f (x) y el polinomio de interpolacin Pn (x) est limitado por el n-esima derivada de f (x). Para el caso de la funcin de Runge la magnitud del valor mximo de las derivadas en el intervalo [1, 1] aumenta al incrementarse el orden, por lo que la cota del error crece a medida que aumenta el grado de Pn (x)
Fenmeno de Runge
La oscilacin se puede minimizar usando nodos de Chebyshev en lugar de nodos equidistantes. En este caso se garantiza que el error mximo disminuye al crecer el orden polinmico. El fenmeno demuestra que los polinomios de grado alto no son, en general, aptos para la interpolacin. El problema se puede evitar usando curvas spline que son polinomios por partes. Cuando se intenta reducir el error de interpolacin se puede incrementar el nmero de partes del polinomio que se usan para construir la s pline, en lugar de incrementar su grado.
Nodos de Chebyshev
El polinomio de interpolacin que resulta del uso de los nodos de Chebyshev reduce al mnimo el problema generado por el fenmeno de Runge. Los nodos de Chebyshev xk = cos (2k + 1) 2(n + 1) , k = 0, 1, . . . , n
son las races del polinomio de Chebyshev de primer tipo Tn+1 (x) = 2xTn (x)Tn1 (x) , Teorema: Tn (x) = cos(n arccos(x)) , de donde Tn (cos( )) = cos(n ) , n = 0, 1, . . . n 0 y x [1, 1] n > 2 con T0 (x) = 1 y T1 (x) = x
Nodos de Chebyshev
Demostracin: Como cos((n + 1) ) = cos( ) cos(n ) sin( ) sin(n ) cos((n 1) ) = cos( ) cos(n ) + sin( ) sin(n ) tenemos que cos((n + 1) ) = 2 cos( ) cos(n ) cos((n 1) ) Denamos fn (x) = cos(n arccos(x)) con x = cos( ) entonces f0 (x) = cos(0 ) = 1 , f1 (x) = cos( ) = x , fn+1 = cos((n + 1) arccos(cos( ))) = cos((n + 1) ) = 2 cos( ) cos(n ) cos((n 1) )
x Tn (x) Tn1 (x)
Nodos de Chebyshev
Como los nodos de Chebyshev estn contenidos en el intervalo x k [1, 1], para obtener los nodos en un intervalo arbitrario xk [a, b] usamos la transformacin 1 1 xk = (a + b) + (b a) cos 2 2
2 1. 5 1 0. 5 0.01 0 0. 5 1 0.001 1 T10 P10 f
2k 1 . 2n
0. 1
0. 5
0. 5
0. 5
0. 5
Nodos de Chebyshev
Teorema: Si Pn (x) es un polinomio mnicoa de grado n, entonces Pn (x)
= 1x1
Tn (x) 2n1
1 2n1
Demostracin: Supongamos que existe un polinomio mnico Pn (x) de grado n tal que |Pn (x)| 1 2n1 , x [1, 1] , denamos
Como (Tn (x))/(2n1 ) y Pn (x) son mnicos de grado n entonce el grado de Q(x) es (n 1). En los puntos extremos de Tn (x) xk = cos
a
k n
tenemos que
Tn (xk ) = (1)k
=1
Analisis Numerico p. 170/196
Un polinomio monico es aquel cuyo termino de mayor grado an xn tiene por coeciente an
Nodos de Chebyshev
Entonces Tn (xk ) (1)k Q(xk ) = n1 Pn (xk ) = n1 Pn (xk ) 2 2 y como Pn (xk ) < 1/2n1 tenemos que Q(xk ) 0 , si k es impar 0 , si k es par , cambia de signo al menos (n + 1) veces,
es decir, que Q(x) tiene al menos n raices. Pero como Q(x) es a lo sumo de grado (n 1) entonces tenemos que Tn (xk ) Pn (xk ) n1 2 Este resultado adems nos permite acotar el error de interpolacin
donde, (x) = (x x0 ) (x xn ) es un polinomio mnico de grado (n + 1). Si los xi son los nodos de Chebyshev, por el teorema anterior max |(x)| = 2n , y en consecuencia max((x)) = max |f (x) Pn (x)| = f (x) Pn (x)
xI xI
Spline
La Interpolacin por Splines usa secciones de varios polinomios en distintos intervalos de la funcin a interpolar para evitar problemas de oscilacin como el Fenmeno de Runge.Por ejemplo [0] , si x [x0 , x1 ] Pm (x) [1] Pm (x) , si x [x1 , x2 ] Sm (x) = . . . [n1] Pm (x) , si x [xn1 , xn ]
Denicin: Sea a = x0 < x1 < < xn = b un conjunto de puntos en [a, b]. La funcin spline o trazador de grado m con nodos en los punto xi , con i = 0, 1, . . . , n es la funcin Sm (x) que cumple con Si x [xi , xi+1 ] entonces Sm (x) = Pm (x)
[i ]
Spline
S0 S1 S3 f
0.75
0.75
0. 5
0. 5
0.25
0.25
0 1
0. 5
0. 5
0 1
0. 5
0. 5
Spline Cbico
El spline cbico S3 (x), que llamaremos S (x), es la ms comn de las interpolaciones por trazadores Condiciones: S (x) = P [i] (x) para xi x xi+1 , donde P [i] (x) es un pol. cbico S (xi ) = f (xi ) para i = 0, 1, . . . , n P
[i+1]
(xi+1 ) para i = 0, 1, . . . , n 2
Y una de estas condiciones de frontera se satisface S (x0 ) = S (xn ) = 0 (Frontera natural o libre) S (x0 ) = f (x0 ) y S (xn ) = f (xn ) (Frontera sujeta)
Spline Cbico
Sea y denamos hi = (xi+1 xi ) para i = 0, 1, . . . , n 1. Entonces de la 2da condicin tenemos ai = P [i] (xi ) = S (xi ) = f (xi ) , P [i] (x) = ai + bi (x xi ) + ci (x xi )2 + di (x xi )3
i = 0, 1, . . . , n 1 i = 0, 1, . . . , n 2 i = 0, 1, . . . , n 2
Derivando a P [i] (x) y aplicanco la 4ta condicin tenemos bi+1 = bi + 2ci hi + 3di h2 i ,
Volviendo a derivar a P [i] (x) y aplicando la 5ta condicin obtenemos ci+1 = ci + 3di hi , i = 0, 1, . . . , n 2
Analisis Numerico p. 176/196
Spline Cbico
Operando con las 4 ecuaciones previas obtenemos hi1 ci1 + 2(hi1 + hi )ci + hi ci+1 3 3 (ai ai1 ) = (ai+1 ai ) hi hi1
con i = 1, 2, . . . , n 1. Como los ai y los hi estn determinados por los (n + 1) puntos, nos queda un sistema de (n + 1) incognitas, ci , con (n 1) ecuaciones. Las dos ecuaciones restantes las obtenemos aplicando alguna condicin de frontera de tal forma que el problema se reduzca a un sistema de ecuaciones lineales de la forma Mc = z , donde, M es una matriz tridiagonal (n + 1) (n + 1), c es el vector que contiene a los coecientes ci y z es un vector columna. Conocidos todos los ai y los ci usando las ecuaciones anteriores se pueden calcular los bi y los di
Analisis Numerico p. 177/196
Spline Cbico
Si enumeramos las (n + 1) las de M desde la 0 hasta la n, los trminos de M vienen dados por hi1 , si i = j 1 y i = 1, 2, . . . , n 1 , si i = j y i = 1, 2, . . . , n 1 2(hi1 + hi ) mij = hi , si i = j + 1 y i = 1, 2, . . . , n 1 depende del borde , para (i, j ) = (0, 0); (0, 1); (n, n 1); (n, n) 0 , en otros casos zi =
3 hi (ai+1
ai1 ) , si i = 1, 2, . . . , n 1 , si i = 0 o i = n
Spline Cbico
Borde m00 m01 mnn1 mnn z0 zn Natural 1 0 0 1 0 0 Sujeto 2h0 h0 hn1 2hn1 3 ( a a ) 3 f (x0 ) 1 0 h0 (an an1 ) 3f (xn ) hn3 1
Como la matriz M es estrictamente diagonal dominante, entonces en no singular, por lo que el sistema de ecuaciones lineales tiene una solucin y esta es nica Se pueden establecer otras condiciones de borde pero esto implica un clculo de todos los trminos de las ecuaciones 0 y n del sistema lo que puede traer como consecuencia la perdida de la forma tridiagonal de M
Analisis Numerico p. 179/196
Polinomio de Interpolacin
Comentarios No se mejoran los resultados tomando un numero elevado de puntos en un mismo intervalo, pues veremos que esto acarrea mejoras en determinadas zonas pero notables mermas de precision en otras, fenomeno Runge: el error de interpolacion es menor en la zona central del intervalo y mayor en los extremos. Desde el punto de vista numerico es preferible, en vez de generar un nico polinomio interpolador en base a muchos puntos de un intervalo, dividir el intervalo en otros de modo que por medio de varios polinomios lograr mejorar la precision en la interpolacion. Debemos seleccionar un intervalo de interpolacion tal que el punto que queremos aproximar se encuentre en la zona central del soporte. No debemos usar el polinomio para aproximar valores que esten fuera del intervalo de interpolacion.
Analisis Numerico p. 180/196
Integracin Numrica
Frmulas de integracin basadas en interpolacin. Anlisis del error Cuadratura gaussiana. Mtodo de Monte Carlos
I=
a
f (x)dx
A diferencia del caso analtico, el problema numrico es mucho ms sencillo tanto as que numricamente podemos decir: Deriva el que puede e integra el que sabe Denicin de la integral Riemman ba
b
h
I=
En general, la idea es aproximar la integral por el rea bajo la curva medida en cuadrculas
f (x)dx = lim h
h0
i=0
f (xi )
, con xi = a + ih
1 0.75 0. 5 0.25 0 1
f (x)dx f
1 0.75 0. 5 0.25 0 1
1 1
f (x)dx f
0. 5
0. 5
0. 5
0. 5
I=
a
f (x)dx
n1 i=0
f (xi )wi
a xi b
dx
Usando los dos primeros trminos tendremos una aproximacin la funcin con rectas y la expresin anterior queda
n1 i=0 xi +h xi
f (x)dx
n1 i=1
xi+1 xi n1 i=0
h h = f (x0 ) + hf (xi ) + hf (x2 ) + + hf (xn2 ) + hf (xn1 ) + f (xn ) 2 2 donde, los pesos wi vienen dados por h h w = , h, h, . . . , h, h, 2 2
1 0.75 0. 5 0.25 0 1
1 1
f (x)dx f (x)
0. 5
0. 5
0. 5
0. 5
Ii =
xi
f (x)dx ,
Ai = h
1 1 f (xi ) + f (xi+1 ) 2 2
y al error como
Ei = |Ai Ii |
Analisis Numerico p. 186/196
Entonces Ai =
h 2
(f (xi ) + f (xi+1 )) =
h2 2 f (xi )
h 2
h3 f (xi ) 22!
1 3 i h f (xi ) 12
1 0
n
Analisis Numerico p. 188/196
Mtodo de Simpson
Si extendemos la aproximacin de la funcin hasta el trmino cuadrtico tenemos
b
I=
a
f (x)dx =
n2 i=0
xi +2h xi
f (xi ) + xf (xi ) +
1 2 x f (xi ) + O(x3 ) dx 2!
donde, h = (b a)/2n. Esto equivale a aproximar a f (x) usando un polinomio de grado 2 en cada intervalo [xi , xi+2 ]. I
n2 i=1 xi+2
donde , Li =
es un polinomio de Lagrange
Mtodo de Simpson
El nmero de divisiones debe ser par y los pesos wi seran w= 1 4 2 4 2 4 2 1 h, h, h, h, h, . . . , h, h, h 3 3 3 3 3 3 3 3
1 0
256
216
224
n
Analisis Numerico p. 190/196
f (x)dx =
a i=1
wi f (xi )
Cuadratura Gaussiana
Gauss determin que la seleccin de puntos equidistantes en los mtodos de Newton-Cotes y Romberg limita su exactitud
f(x) f(a) f(x) a<c<d<b f(d) 111111111 000000000 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 f(c)
111111111 000000000 f(b) 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111
a
b
I=
a
Cuadratura Gaussiana
Podemos obtener resultados exactos al integrar funciones de grado (2n 1), mediante la seleccin de n puntos xi y n pesos wi . En el intervalo [1, 1], la integral vienen dada por
1 1 n 1
f (x) dx
wi f (xi ) ,
i=1
wi =
1 j =i
x xj dx ; xi xj
donde, los n puntos xi son las raices de un polinomio perteneciente a la familia de polinomios ortogonales de Legendre. P0 (x) = 1 , 1 dn 2 n Pn (x) = n ( x 1) . 2 n! dxn
f (t) dt
ba 2 ba 2
R1
1 Pn i=1
` ba
2
wi f
x+ ` ba
2
a+ b 2
xi +
dx a+ b
2
Analisis Numerico p. 193/196
Cuadratura Gaussiana
Los valores de xi y wi de cuadratura Gaussiana para valores pequeos de n son Nmero de Puntos, n Puntos, xi Pesos, wi 1 2 3 4 5 0 1/3 0 3/5 0.339981044 0.861136312 0 0.538469 0.906180 2 1 8/9 5/9 0.652145155 0.347854845 0.568889 0.478629 0.236927
Cuadratura Gaussiana
El problema de la cuadratura Gaussiana se puede expresar de forma ms general si introducimos una funcin de peso W (x)
b a n
W (x) f (x) dx
wi f (xi ) ,
i=1
donde, si a = 1, b = 1, y W (x) = 1, tenemos el caso anterior. Intervalo [a, b] [1, 1] (1, 1) (1, 1) Peso W (x) 1 (1 x) (1 + x) , , > 1 Familia de Polinomios Legendre Jacobi Chebyshev de primer tipo Chebyshev de segundo tipo Laguerre Hermite
Analisis Numerico p. 195/196
[1, 1] [0, ) (, )
1 1x2
1 x2 ex 2 ex
I=
a
f (xi ) ,
i=1
[a, b]
1 103 106 10 10
9
1 0
real double Simpson
6x x6 dx = 5 t h1
12
256
216
224