You are on page 1of 196

Anlisis Numrico

Facultad de Ciencias
Kay Tucci
kay@ula.ve

SUMA Facultad de Ciencias Universidad de Los Andes (ULA) Merida, 5101 - VENEZUELA

Analisis Numerico p. 1/196

Programa del Curso


Fuente y propagacin de errores Solucin de ecuaciones no lineales de una variable Solucin de sistemas de ecuaciones lineales Teora de interpolacin Integracin numrica

Analisis Numerico p. 2/196

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

Analisis Numerico p. 3/196

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

Analisis Numerico p. 4/196

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

Fuente y propagacin de errores


Sistemas numricos Aritmtica del computador Fuentes de errores Errores de redondeo y discretizacin Propagacin de errores Estabilidad e inestabilidad numrica

Analisis Numerico p. 6/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

Sistemas numricos de posicin


Los sistemas nmericos actuales, decimal, binario, octal, hexadecimal, entre otros; representan a los nmeros reales mediante un sistema de posicin con base b.
n

x = (an bn + an1 bn1 + an2 bn2 + . . . ) =

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

Sistema numricos de posicin


Conversin de base 10 a base b: convertir el nmero 12.312510 a base 2 1. Dividir, sucesivamente, la parte entera del nmero (1210 ), entre la nueva base (2), hasta obtener un cociente ms pequeo que esta ltima (2), asignando sucesivamente los restos de la divisin entera a a0 = 0, a1 = 0, a2 = 1, a3 = 1. 1210 = 11002 2. Multiplicamos la parte fraccionaria del nmero decimal (0.312510 ) por la nueva base b (2), restando y asignando sucesivamente la parte entera del producto a a1 = 0, a2 = 1, a3 = 0, a4 = 1 0.312510 = 0.01012 12.312510 = 1100.01012

Analisis Numerico p. 9/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

Analisis Numerico p. 10/196

Sistema de numeracin binario


Utiliza solamente dos dgitos o smbolos: 0 y 1, y su base es 2. Deniciones:
bit:

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:

Analisis Numerico p. 11/196

Sistema de numeracin binario


Nombre kilo mega giga tera peta exa zetta yotta bronto geop Abrev. K M G T P E Z Y B Ge Factor 210 220 230 240 250 260 270 280 290 2100 Valor 1024 1048576 1073741824 1099511627776 1125899906842624 1152921504606846976 1180591620717411303424 1208925819614629174706176 1237940039285380274899124224 1267650600228229401496703205376
Analisis Numerico p. 12/196

Sistema de numeracin binario


Existen variantes del sistema de numeracin binario
Binario puro:

Solamente se pueden representar nmeros no negativos

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 = bn (N )b ,

Complemento a la Base Disminuida:

Complemento a la Base:

donde, n es el nmero de dgitos de (N )b


Analisis Numerico p. 13/196

Sistema de numeracin binario


En 1985 la IEEE establece el Binary Floating Point Arithmetic Standard 754-1985, donde se establecen los formatos para representar nmeros punto otantes de precisin simple (32 bits) y doble (64 bits) Los nmeros se distribuyen de forma exponencial en la recta real (1)S 2E127 (1 + 0.F ) | (1)S 2E1023 (1 + 0.F )

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.

Analisis Numerico p. 14/196

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 | x 2*x | Escribir(i, ant, x) hasta(ant > x)

| i i + 1

| Escribir(i, x)

Analisis Numerico p. 15/196

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 = 0.6666666 0.6666667 = 0.0000001 3 Aproximacin en los algoritmos: xn xn ex = = n! n! n=0 n=0
N

Analisis Numerico p. 16/196

Errores relativo y absoluto


Sea x el valor aproximado de una cantidad x Error absoluto: |x x| Error relativo:
x x x

,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

Analisis Numerico p. 17/196

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

Analisis Numerico p. 18/196

Propagacin de errores
Sean x , y los valores aproximados de x, y; y x , y 1 sus respectivos errores relativos.
Suma / Resta

: xy y (x y ) (x y) x = x y = xy xy xy (x y ) (xy) = = x + y + x y x + y = xy (x /y ) (x/y) x y = = = x y x/y 1 + y

Multiplicacion

: xy

Division

: x/y

Analisis Numerico p. 19/196

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

Ordenar los terminos de menor a mayor

Analisis Numerico p. 20/196

Error total e iteraciones ptimas


Generalmente en los algoritmos iterativos los errores de aproximacin dependen del nmero de iteraciones N y pueden modelarse como, aprox , N

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

El nmero de iteraciones ptima se alcanza cuando t sea mnimo

Analisis Numerico p. 21/196

Clculo del error


Cmo se propagan el errores de los datos x cuando se calcula f (x) f = f ( x) xi |xi | xi f (x)

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.

Analisis Numerico p. 23/196

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

Analisis Numerico p. 24/196

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

Hay que evitarlo

Por lo general es inevitable el crecimiento lineal del error.

Analisis Numerico p. 25/196

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

Analisis Numerico p. 26/196

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.

Analisis Numerico p. 28/196

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 } una sucesin que converge a y n = xn . n=0 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.

Analisis Numerico p. 30/196

Orden de convergencia
Sea {xn } una sucesin que converge a y n = xn . n=0 Si existe un p 1 y una constante C tal que |n+1 | =C, lim n |n |p entonce, {xn } converge a con orden p. n=0 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

Analisis Numerico p. 32/196

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 (bn an ) 2 y que bn an = 1 2n1 (b1 a1 )

Como [an , cn ] o [cn , bn ] tenemos que |cn | an cn = cn bn = 1 (an bn ) 2

Combinando las dos equaciones anteriores tenemos que |cn | Lo que implica que
n

1 2n1

(b1 a1 )

n1

lim cn =
1 2

es decir, convergencia lineal, p = 1 con una velocidad de convergencia C =

Analisis Numerico p. 33/196

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

Analisis Numerico p. 34/196

Mtodo de la posicin falsa


Entrada: a, b, t, n Salida: c, error leer(a, b, t, n) i 0; c a fa f(a); fb f(b) repita | i i + 1; ant c | c b-fb(b-a)/(fb-fa) | fc f(c) |si (sign(fa)sign(fc)>0) | | fa fc ; a c | sino | | fb fc ; b c hasta (in)(|c-ant|t) si (|c-ant|t) | escribir(c) sino | escribir(error)

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

Analisis Numerico p. 35/196

Mtodo de la posicin falsa


Convergencia Diferencias divididas:
Denicion:

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 ()

Analisis Numerico p. 36/196

Mtodo de la posicin falsa


Convergencia Del mtodo tenemos que: c = b f (b) donde el error se calcula como ba 1 f () c= b = (a )(b ) , f (b) f (a) 2 f () , (a, b) ba , f (b) f (a)

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 ,

Analisis Numerico p. 37/196

Mtodo de la posicin falsa


Comentarios del mtodo de la posicin falsa: 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. Si la funcin es convexa o cncava en [a, b] uno de los extremos de intervalo no se mover por lo que el mtodo solamente aproxima a la raiz por uno de los lados. 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

Analisis Numerico p. 38/196

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

b2= a3 c2= b3 a= a1 c1= b2 c3

Analisis Numerico p. 39/196

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 |

Se tiene que {qn } es la sucesin de Fibonacci cuya solucin positiva es 1 qn = 5 !n+1 1+ 5 2

Analisis Numerico p. 42/196

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 p = lim n n (n )p n qn M 1 qn+1 M 1 qn+1 Mp

!n+1 1+ 5 1+ 5 , p= 2 2

= M p1

Analisis Numerico p. 43/196

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

Analisis Numerico p. 44/196

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 i)(x x ) + f(x ) i i i

x0

x3

f(x ) x1=x f(x ) 0 x2=x 1 1 0 f (x ) f (x ) 0 1

Analisis Numerico p. 45/196

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 ]

Para x = , f () = 0 y dividiendo lo anterior entre f (xn ) tenemos


f (xn ) 2 f (n ) + ( xn ) +( xn ) =0 (x ) | {z } 2f (xn ) f n | {z } n n+1

Que es lo mismo que

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 f (x ) 2 xI n

, y escojamos a x0 I tal que M |0 | < 1

Sustituyendo en la ecuacin de la sucesin {n } tenemos |1 | (M |0 |)2 < |0 | , lo que implica que x1 I

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

Analisis Numerico p. 47/196

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

obteniendo que |n | = 0 cuando n ya que M |0 | < 1, lo que equivale a


n

lim xn =

Adems, n+1 1 f () lim = n 2 2 f () n Es decir, el mtodo tiene un orden de convergencia 1 f () p = 2 con C = 2 f ()

Analisis Numerico p. 48/196

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

Analisis Numerico p. 49/196

Mtodo iterativo de un punto


Partiendo de la ecuacin general f (x) = 0 , cuyas raices se quieren encontrar. Supongamos que es una de sus raices y que existe otro valor x0 que no satisface la ecuacin. f () = 0 , f (x0 ) = 0

Realizando algunas operaciones algebraicas transformaos la ecuacin f (x) = 0 en g(x) = x ,

donde, g(x) es una nueva funcin que cumple con g() = , g(x0 ) = x0
Analisis Numerico p. 50/196

Mtodo iterativo de un punto


Al evaluar un valor cualquiera x0 en g(x) obtenemos un nuevo valor x1 = g(x0 ) , donde, si el nuevo valor x = x 1 0 x1 = x0

, encontramos la raiz x0 = , es lo que generalmente pasa

Si repetimos el proceso obtenemos x1 = g(x0 ) , x2 = g(x1 ) , . . . , xn = g(xn1 )

Analisis Numerico p. 51/196

Mtodo iterativo de un punto


La sucesin {xn } converge a la raiz si
n

lim (xn ) = 0 , es decir,

lim xn =

Si la expresin anteriror es cierta, debe valer tambin para xn+1


n

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.

Analisis Numerico p. 52/196

Mtodo iterativo de un punto


Entrada: x, t, n Salida: x, error leer(x, t, n) i 0 repita | i i + 1 | xa x | x g(xa) hasta (in)(|x-xa|t) si (|x-xa|t) | escribir(x) sino | escribir(error)
y y=g(x) g(x) se obtiene al transformar f(x)=0 en g(x)=x

y=f(x)

x2=g(x1 ) x0

x1=g(x0 ) x3 =g(x2 )

Analisis Numerico p. 53/196

Mtodo iterativo de un punto


y y y=g(x) y=g(x)

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

Analisis Numerico p. 54/196

Mtodo iterativo de un punto


Criterio de convergencia Del teorema del valor medio sabemos que g(xn ) g(xn1 ) = g (n )(xn xn1 ) , donde, n regin entre xn y xn1 y g (x) es la derivada de g(x). Como g(xn ) = xn+1 y g(xn1 ) = xn podemos decir |xn+1 xn | = |g (n )||(xn xn1 )| Si suponemos que |g (n )| M , es decir est acotada en el entorno de la raiz tenemos que |xn+1 xn | M |xn xn1 | M 2 |xn1 xn2 |

Analisis Numerico p. 55/196

Mtodo iterativo de un punto


Criterio de convergencia Continuando con la sustitucion hasta el termino M |x1 xo | tenemos |xn+1 xn | M n |x1 xo | Como sabemos que para que la serie converja xn+1 xn debe tender a cero, entonces
n

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

Analisis Numerico p. 56/196

Mtodo iterativo de un punto


Criterio de convergencia Teorema: Sea una raiz de x = g(x), con la funcin g(x) p 2 veces continuamente diferenciable en un entorno de . Adems, supongamos que g (j) () = 0 j<p

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!

Analisis Numerico p. 57/196

Mtodo iterativo de un punto


Criterio de convergencia Demostracin: Expandiendo a g(xn ) con una serie de Taylor alrededor de tenemos xn+1 (xn )p (p) (xn )p1 (p1) g ()+ g (n ) , = g()+(xn )g ()+ + (p 1)! (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

Mtodo iterativo de un punto


Raices mltiples: Cuando un mtodo iterativo se aproxima a una raiz de f (x) el orden de convergencia del mtodo se pierde cuando la raiz es mltiple. Denicin: Decimos que es un cero de multiplicidad m de f (x) si f (x) = (x )m q(x) x = , donde,
x

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

Mtodo iterativo de un punto


Raices mltiples: Para resolver este problema se dene una funcin (x )m f (x) (x) = f (x) m(x )m1 q(x) + (x )m q (x) (x) = (x ) q(x) mq(x) + (x )q (x)

que tiene un nico cero en , ya que q() = 0

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)

Analisis Numerico p. 60/196

de Aitken
El mtodo 2 de Aitken sirve para acelerar la convergencia lineal de una sucesin {xn } a su lmite . Para valores sucientemente n=0 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 ;

Analisis Numerico p. 62/196

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

Analisis Numerico p. 63/196

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

Analisis Numerico p. 64/196

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 ,

Sustituyendo para usar la sucesin {yn } n=1 yn+1

(x3n+1 x3n )2 = x3n x3n+2 2x3n+1 + x3n

(f (yn ) + yn yn )2 = yn f (f (yn ) + yn ) + f (yn ) + yn (f (yn ) + yn ) + yn (f (yn ))2 g(xn ) = yn f (f (yn ) + yn ) f (yn )


Analisis Numerico p. 65/196

Simplicando y aplicando en mtodo de punto jo a yn tenemos

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)

Analisis Numerico p. 66/196

Mtodo iterativo de un punto


Comentarios: A medida que |g (x)| sea ms cercana a cero la sucesin {xn } coverge a ms rapidamente. Newton-Raphson g(xn ) = xn
f (xn ) f (xn )

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?

Analisis Numerico p. 70/196

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 +

Analisis Numerico p. 71/196

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

Q(x) =
i=0

bi+1 x =

P (x) (x x)
Denominador

b0 xx
Resto

Cociente

Analisis Numerico p. 72/196

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

Analisis Numerico p. 73/196

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 () = Q() x x

Analisis Numerico p. 74/196

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)

Analisis Numerico p. 75/196

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.

Analisis Numerico p. 76/196

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.

Analisis Numerico p. 78/196

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 4ac 1, si b 0 b + sig(b) b 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

resolviendo el sistema de tres equaciones obtenemos a =


(x0 x2 )(P (x1 )P (x2 ))(x1 x2 )(P (x0 )P (x2 )) (x0 x2 )(x1 x2 )(x0 x1 )

P (x0 )P (x2 ) (x0 x2 )

P (x2 )

(x0 x2 )(P (x1 ) P (x2 )) (x1 x2 )(P (x0 ) P (x2 )) (x1 x2 )(x0 x1 ) {z } |
a(x0 x2 )

En general podemos tener xn+1 = xn 2c b + sig(b) b2 4ac


Analisis Numerico p. 81/196

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

D(x) = a(xx3)2+ b(xx ) + c


3

x0

x1

x2

x3

x4 x5

D(x) = a(xx4)2+ b(xx ) + c


4

Nota: x0, x1 y x2 son variables complejas. En caso de que el lenguaje no las soporte hay que modicar el algoritmo

Analisis Numerico p. 82/196

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.

Analisis Numerico p. 83/196

Algebra Lineal Numrica


Los problemas ms importantes que son atacados con el lgebra lineal nmerica son: Resolucin de sistemas de ecuaciones lineales Clculo de valores propios Ajuste de rectas El problema bsico se puede resumir en Ax = b , donde, A es una matriz n n, y x y b son dos vectorer columna n 1, siendo A y b conocidos

Analisis Numerico p. 84/196

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

Analisis Numerico p. 85/196

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 ln1 0 l22 . . . ln12 ln2 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

Analisis Numerico p. 86/196

Eliminacin de Gauss
Sustitucin hacia atrs Triangular Inferior x1 = c1 /l11 i = 2, 3, . . . , n xi = (ci
i1 j=1 lij xj )/(lii )

Triangular Superior xn = dn /unn i = n 1, n 2, . . . 1 xi = (di


n j=i+1

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

(k1) (k1) (k1) aik /akk

i = k + 1, k + 2, . . . , n ,

j = k, k + 1, . . . , n + 1 ;

es el pivote de la k-esima transformacin


Analisis Numerico p. 88/196

Eliminacin de Gauss
Asi que
(0) a11 (0) a12 (1) a22 (0) a13 (1) a23 (2) a33

U =

0 0 . . . 0

0 . . . 0

..

.. . 0

(0) a1n (1) a2n (2) a3n

. . . ann
(n1)

d=

(0) a1n+1 (1) a2n+1 (2) a3n+1

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

Analisis Numerico p. 89/196

Eliminacin de Gauss
Crecimiento del error por pivotes pequeosa 1.406 0.0004 1.402 x , 1 = x2 2.501 0.4003 1.502

0.4003 = 1001 0.0004

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

1.406 1.402 0.9993 1404 = 0.9993 y x1 = = 12.5 1405 0.0004


Analisis Numerico p. 90/196

usando aritmetica de punto otante de cuatro cifras decimales

Eliminacin de Gauss
4 3 2 Solucin exacta o

x2

1 0 1 2 0 5

Solucin aproximada o

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

3.74 2.501 0.4003 10 = 10 y x1 = =1 0.374 1.502


Analisis Numerico p. 92/196

usando aritmetica de punto otante de cuatro cifras decimales

Eliminacin de Gauss
Estrategias de pivoteo Pivoteo Parcial: Se escoje r tal que ark
(k1)

= max ( aik
kin

(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,jn (k1)

Se intercambian la la k con la r y la columna k con la s Ms efectivo, ms costoso, menos usado


Analisis Numerico p. 93/196

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 El nmero de operaciones es aproximadamente 2 n2 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

El determinante de A se puede calcular a partir de la diagonal de la matriz triangular


n

det(A) = (1)s
k=1

akk

(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

Donde, conocidas L y U se requieren n2 operaciones para resolver el sistema Ax = b


2 1 6 6 6 l21 6 6 l 6 31 6 . 6 . 6 . 6 6 6 ln11 4 ln1 0 1 l32 0 0 1 .. . ln3 0 0 0 .. . ln1n2 . . . 1 lnn1 0 7 7 0 7 7 0 7 7 7 , 7 7 7 7 0 7 5 1 3

L=

lik =

8 > a(k1) < ik


akk

(k1)

, si i k , si i < k

ln12 ln2

> :0

Analisis Numerico p. 96/196

Factorizacin LU
U=
(0) a11 (0) a12 (1) a22 (0) a13 (1) a23 (2) a33

0 0 . . . 0

0 . . . 0

..

.. . 0

(0) a1n (1) a2n (2) a3n

. . .

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

A1 , si existe es simtrica Las submatrices principales de A son simtricas

Analisis Numerico p. 98/196

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,
i1

lii = 1 ,

li1 = ai1

y lij =

aij

2 ljk dkk k=1

/dii

y D es una matriz diagonal con


i1

d11 = a11

dii = aii

2 lij djj j=1


Analisis Numerico p. 100/196

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

Analisis Numerico p. 101/196

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

Si la matriz A es no singular entonce podemos factorizarla A = LU , donde,

Analisis Numerico p. 102/196

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 = , ui1

ui = aii li vi1

Analisis Numerico p. 103/196

Normas Vectoriales y Matriciales


Denicin: Una norma vectorial en Rn es una funcin, R con las siguientes propiedades: x 0 ax = |a| x = 0 si y slo si x = 0 x + x+y x y a R y x Rn x, y Rn x Rn , de Rn en

Denicin: Sea x = (x1 , x2 , . . . , xn )T un vector en Rn , las normas x p y x vienen dadas por


n 1/p

x La norma La norma x x

p= i=1 2

|xi |p

1in

max |xi |

se conoce como norma Euclidiana se conoce como norma uniforme


Analisis Numerico p. 104/196

Normas Vectoriales y Matriciales


Denicin: Sean x = (x1 , x2 , . . . , xn )T y y = (y1 , y2 , . . . , yn )T dos vectores en Rn , las distancias lp y l entre x y y vienen dadas por
n 1/p

xy

p= i=1

|xi yi |p

xy

1in

max |xi yi |

Ejemplo 1: Si x = (1, 1, 1)T y y = (1.1, 0.99, 1.04)T xy


2=

0.1081665 ,

xy

0.1

Ejemplo 2: Si x = (1, 1, 1)T y y = (1.1, 0.999999, 1.0000001)T xy


2

0.1 ,

xy

0.1

Analisis Numerico p. 105/196

Normas Vectoriales y Matriciales


Denicin: Se dice que una sucesin {x(k) } converge a x k=1 respecto a la norma si dado cualquier > 0, existe un entero N () tal que x(k) x < , k N () . Teorema: La sucesin de vectores {x(k) } converge a x respecto a la norma si y slo si
k

lim xi

(k)

= xi
n

i = 1, 2, . . . , n
.

Teorema: Para todo x R , x x 2 n x Demostracin: Sea xj la coordenada de x tal que x Entonces


n n

|xj |. x
2

2 =

x2 j

x2 = x i
i=1

2 2

x2 = nx2 = n j j
i=1

Analisis Numerico p. 106/196

Normas Vectoriales y Matriciales


Denicin: Una norma matricial en Rn,n es una funcin, en R tal que: A 0 A = 0 si y slo si A = 0 aA = |a| A + B A+B A AB A B a R y A Rn,n A, B Rn,n A, B Rn,n A Rn,n , de Rn,n

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

Tambien se le llama subordinada a la norma vectorial

Analisis Numerico p. 107/196

Normas Vectoriales y Matriciales


Teorema: Si A = (aij ) es una matriz n n, entonces
n

1=

max
j i=1

|aij |

Teorema: Si A = (aij ) es una matriz n n, entonces


n

max
i j=1

|aij |

Teorema: Si A = (aij ) es una matriz n n, entonces A


2=

((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 x = A1 b Ax = b r ,

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 ,

es x = (1 , 0)T , el vector residual r = (0.0001 , 0)T es pequeo y a pesar de esto el error, que viene dado por la expresin x x = x A1 b , es grande, ya que la solucin exacta es x = (0.5 , 0.5)T
Analisis Numerico p. 109/196

Errores
Error Absoluto Teorema: Si x es una aproximacin de la solucin de Ax = b y A es una matriz no singular, entonces para cualquier norma subordinada el error absoluto xx r A , Demostracin: De la denicin del vector residual tenemos que r = b Ax = Ax Ax = A(x x) de donde se obtiene x x = A1 r A1 r x x = A1 r

Analisis Numerico p. 110/196

Errores
Error Relativo Teorema: Si x es una aproximacin de la solucin de Ax = b y A es 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 ,

Dividiendo al error absoluto por x y a su cota por tenemos que xx r A A1 x b

Analisis Numerico p. 111/196

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 x x K(A) 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) } que k=0 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) } tiende a x, es decir que k=0
k

lim

x(k) x = 0 ,

entonces, x(k) es solucin de x = Bx + c y Ax = b


Analisis Numerico p. 113/196

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

, si j = i ; , si j = i aij /aii 0 , si j > i , si j i

uij =

Analisis Numerico p. 114/196

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 = x2 + 1 x3 4 4 1 = 5 x1 + 1 x3 + 5 2 = 3 x1 x2 + 1 4 2 5 4 3

En general podemos decir que xi = bi


j=i

Ordenando las equaciones de tal forma que todos los aii = 0

aij xj /aii

i = 1, 2 . . . , n

Analisis Numerico p. 115/196

Mtodo de Jacobi
Para calcular la sucesin de vectores {x(k) } comenzamos con un k=0 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, . . .

la matriz de iteracin B y el vector c vienen dados por BJ = (L + U) , cJ = D1 b


Analisis Numerico p. 116/196

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

Analisis Numerico p. 117/196

Mtodo de Gauss-Seidel
Para calcular la sucesin de vectores {x(k) } comenzamos con un k=0 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) bi aij xj xi aij xj /aii , = k = 0, 1, . . . j=i+1 j=1 Escrito en forma vectorial tenemos x(k+1) = Lx(k+1) Ux(k) + D1 b ,

Analisis Numerico p. 118/196

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

Analisis Numerico p. 119/196

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

Analisis Numerico p. 120/196

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 = 0 ij 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

Analisis Numerico p. 122/196

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
k1 j=0

= Bk x(0) +

Bj c

Analisis Numerico p. 123/196

Mtodos Iterativos
Convergencia Si (B) < 1, lim x(k) = lim Bk x(0) + lim
k k lema2

k1 j=0

lema1

Bj c

entonces,
k

lim x(k) = (I B)1 c

es decir, la sucesin {x(k) } converge si (B) < 1 k=0

Analisis Numerico p. 124/196

Mtodos Iterativos
Convergencia Por otro lado, sea {x(k) } tal que k=0
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

lim x x(k) = lim Bk (x x(0) ) = 0


k

y como el error inicial es arbitrario, del lema 2 tenemos que (B) < 1

Analisis Numerico p. 125/196

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)

x(k) x(k1) B por lo que B

x(k) x(k1) x(k1) x(k2)


Analisis Numerico p. 127/196

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

Si modicamos el mtodo anterior a xi


(k+1)

i1 (k) aij xj j=1

+
j=i+1

(k1) /aii aij xj (k)

i = 1, 2, . . . , n k = 0, 1, . . .

= xi

(k)

+ ri

i = 1, 2, . . . , n

cuya forma matricial es x(k+1) = x(k) + (Lx(k+1) Ux(k) Ix(k) ) + D1 b , obtenemos


Analisis Numerico p. 128/196

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 ,

donde, 1 , 2 , . . . , n ; son los autovalores de B


Analisis Numerico p. 129/196

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

Analisis Numerico p. 130/196

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

Analisis Numerico p. 131/196

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 aproximada x de Ax = b puede aproximarse a r 10t A x

Para calcular una aproximacin del nmero de condicin K(A) resolvemos el sistema Ay = r, cuya solucin aproximada y A1 r = A1 (b Ax) = A1 b A1 Ax = x x ; lo que implica que y xx A1 r 10t A1
K(A)
a

Forsythe G.E., Moler C.B., Computer solution of linear algebraic systems, Prentice-Hall, Englewood

Cliffs, NJ, 1967, 148 pp

Analisis Numerico p. 133/196

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

Analisis Numerico p. 134/196

Errores
La solucin aproximada del sistema es x = (0.89964, 1)T El vector resudual correspondiente a x es r = b Ax = 0.10036 0.10036 , r
=

0.10036

Para estimar el nmero de condicin resolvemos el sistema Ay = r , obteniendo y = 0.10036 0

Utilizando la estimacin tenemos que K(A) 10


5

y x

= 10036 ;

K(A) = 12117.69

Analisis Numerico p. 135/196

Mtodo de Renamiento Iterativo


Para el clculo aproximado del nmero de condicin estimamos el error mediante la expresin xxy El mtodo consiste en calcular a partir de un valor inicial de x el vector residual r, luego con este ltimo calculamos el vector y y nalmente usamos a y para calcular una nueva solucin aproximada x r(k) LUy(k) x(k+1) = b Ax(k) = r(k) = x(k) + y(k)

En general, x + y aproxima mejor a x que x.

Analisis Numerico p. 136/196

Mtodo de Renamiento Iterativo


Comentarios: Una vez factorizada la matriz A = LU en cada iteracin se requieren 2n2 operaciones Si el sistema est bien condicionado con una o dos iteraciones se obtiene la solucin exacta. Con aritmtica de t dgitos, un sistema con K(A) 10q luego de k iteraciones el nmero de dgitos correctos en la solucion es aproximadamente min(t, k(t q)) En general la solucin en sistemas mal condicionados puede mejorarse signicativamente excepto cuando K(A) > 10t

Analisis Numerico p. 137/196

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

Analisis Numerico p. 138/196

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

Analisis Numerico p. 139/196

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!

f (n+1) ((x)) (x) = (x x0 )n+1 (n + 1)!

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)

P13 (x) f (x)


0

P1 (x) = x P3 (x) = x
x3 6

P5 (x) =

P3 (x)
2 2 0 2

x3 x5 x 6 + 120

Analisis Numerico p. 141/196

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

P5 (x) P13 (x)

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 (), de la x 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 () viene dado por x la expresin x xi (f (xi+1 ) f (xi )) P (x) = f (xi ) + xi+1 xi
a1

, reordenando
a0

f (xi+1 ) f (xi ) f (xi+1 ) f (xi ) P (x) = x + f (xi ) xi+1 xi xi+1 xi P (x) = a1 x + a0


Analisis Numerico p. 143/196

Interpolacin Lineal
f (x) =
1 x

1 0.8 0.6 0.4 0.2 0 1 3 5 7 9 11

f (x)

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

Analisis Numerico p. 146/196

Mtodo Directo
Con los n + 1 puntos podemos plantear el sistema de ecuaciones Pn (x0 ) = a0 + a1 x0 + a2 x2 + + an1 xn1 + an xn 0 0 0 Pn (x1 ) = a0 + a1 x1 + a2 x2 + + an1 xn1 + an xn 1 1 1 . . . . . . . . . Pn (xn ) = a0 + a1 xn + a2 x2 + + an1 xn1 + an xn n n n = f (x0 ) = f (x1 ) . . . . . . = f (xn )

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 1 x1 x2 xn 1 1 . Vn a = f(x) donde Vn = . . . .. . . . . . . . . . 1 xn x2 n xn n
a

Llamada matriz de Vandermonde

Analisis Numerico p. 147/196

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) =

f (xi )Li (x)


i=0

Una forma de construirlos es usando la expresin Li (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 )

Los Li (x) se llaman polinomios de Lagrange


Analisis Numerico p. 148/196

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

(x0)(x/6)(x/3) (0)(/6)(/3) 1

P (x) = 1.0204287x 0.065470801x2 0.11387190x3

Analisis Numerico p. 149/196

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

Analisis Numerico p. 150/196

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 0.6 0.4 0.2 0 1 3 5 7 9 11

f (x)

f (x)
0.25 0.2 0.15 3 3.5 4 4.5 5

Rojo f (x) = 1/x. Verde P1 (x).

Azul P2 (x). Violeta P3 (x)


Analisis Numerico p. 151/196

Error del polinomio interpolatorio


Teorema: Sean f (x) una funcin (n + 1) veces continuamente diferenciable en el intervalo I = (mini=0:n (xi ), maxi=0:n (xi )); Pn (x) el polinomio de interpolacin de f (x) en los puntos x0 , x1 , . . . , xn ; y x un punto en el intervalo I. Entonces existe un I tal que () = f () Pn () = f x x x
n+1

() x () (n + 1)!

donde, (x) = (x x0 )(x x1 ) (x xn ). Demostracin: Si x = xi el error () y no es necesario interpolar. x Para x = xi , i = 0, 1, . . . , n denamos una nueva funcin g(x) tal que f () Pn () x 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() = 0 x
Analisis Numerico p. 152/196

Error del polinomio interpolatorio


Note que () = 0 y f (x), Pn (x) y (x) son continuas y diferenciables x entonces g(x) es contnua y diferenciable podemos aplicar el Teorema de Rolle o del Valor Medio: Sea g(x) y su derivada g (x) continuas en el intervalo [a, b]. Entonces existe al menos un valor x = en [a, b] tal que g () = g(b) g(a) . ba

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

Analisis Numerico p. 153/196

Error del polinomio interpolatorio


Derivando (n + 1) veces a g(x) respecto a x tenemos g
(n+1)

(x) = f

(n+1)

(x) +

(n+1) Pn (x) + (n+1) (x) 0 (n+1)!

f () Pn () x x () x

Evaluando en x = tenemos g (n+1) () = f (n+1) () + (n + 1)! de donde obtenemos () = f () Pn () = f (n+1) () x x x () x (n + 1)! f () Pn () x x =0, () x

Solamente se puede usar en funciones donde la (n + 1) derivada tiene una cota conocida en el intervalo I.

Analisis Numerico p. 154/196

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)

= a0 + a1 (x x0 ) + a2 (x x0 )(x x1 ) + + an (x x0 )(x x1 ) (x xn1 ) = Pn1 (x) + an (x x0 )(x x1 ) (x xn1 )

Pn (x)

Analisis Numerico p. 155/196

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

x0 ) = f [x0 ] + f [x0 , x1 ](x x0 ) x0 ) +


f (x2 )f (x1 ) f (x1 )f (x0 ) x2 x1 x1 x0

x2 x0

(x x0 )(x x1 )

= f [x0 ] + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 ) donde, a0 = f [x0 ] ,


a

a1 = f [x0 , x1 ] ,

a2 = f [x0 , x1 , x2 ]

Estudiada en el metodo de biseccion para el calculo de raices

Analisis Numerico p. 156/196

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 )

Analisis Numerico p. 157/196

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])

Polinomio de Newton Entrada: a[n], x[n], n, xx Salida: Pn


poliInter(a, x, n, xx,Pn) Pn a[n] para i n-1 hasta 0 | Pn a[i] + Pn(xx - x[i])

El subprograma poliInter() recibe como entrada al vector a[] que previamente calcula el subprograma difDiv

Analisis Numerico p. 159/196

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 ` Pk kj k f (x + jh) k 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 ` Pk j k f (x jh) k f (x) = j=0 (1) j Lema: f [xnk , . . . , xn1 , xn ] =
k f (xn ) k!hk

f (x) = f (x + h) f (x)

f (x) = f (x) f (x h) k f (x) = k1 f (x) k1 f (x h)

k f (x) = k1 f (x + h) k1 f (x)

Lema:

f [x0 , x1 , . . . , xk ] = donde, k 0

Analisis Numerico p. 160/196

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

k+1 f (x0 ) k f (x0 + h) k f (x0 ) = /(r+1)h = (r + 1)!hk+1 (r + 1)!hk+1

Analisis Numerico p. 161/196

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

(s)3! 3 f [x0 , . . . , xk ] s(s 1) . . . (s k + 1) hk + +


s (k)k! f [x0 , . . . , xn ] s(s 1) (s n + 1) hn s (n)n!

Entonces,
n

Pn (x) = Pn (x0 + sh) =


k=0

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

Pn (x) = Pn (xn sh) =

(1)
k=0

s k f (xk ) k

Analisis Numerico p. 163/196

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

max |f (x) Pn (x)|

= .

Analisis Numerico p. 164/196

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)

Analisis Numerico p. 165/196

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.

Analisis Numerico p. 166/196

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

Analisis Numerico p. 167/196

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)

= Tn+1 (x) = 2xTn (x) Tn1 (x)


Analisis Numerico p. 168/196

Nodos de Chebyshev
Como los nodos de Chebyshev estn contenidos en el intervalo xk [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

|f (x) T10 (x)| |f (x) P10 (x)|

0.1

0.5

0.5

0.5

0.5

Analisis Numerico p. 169/196

Nodos de Chebyshev
Teorema: Si Pn (x) es un polinomio mnicoa de grado n, entonces Pn (x)
= 1x1

max |Pn (x)|

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

Q(x) = (Tn (x))/(2n1 ) Pn (x)

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

Analisis Numerico p. 171/196

Error del polinomio interpolatorio


Suponiendo que el intervalo de interpolacin sea el I = [1, 1], con x I, el error (x) = |f (x) Pn (x)| = |f n+1 ()| max |(x)| |(x)| max |f n+1 (x)| (n + 1)! (n + 1)!

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

f n+1 (x) 2n (n + 1)!

Es decir, el error de interpolacin usando los nodos de Chebyshev est acotado.

Analisis Numerico p. 172/196

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]

Las primeras (m 1) derivadas de Sm (x) son continuas


Analisis Numerico p. 173/196

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

Analisis Numerico p. 174/196

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]

P [i+1] (xi+1 ) = P [i] (xi+1 ) para i = 0, 1, . . . , n 2 (xi+1 ) = P


[i]

P [i] (xi ) = P [i+1] (xi ) para i = 0, 1, . . . , n 2

(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)

Analisis Numerico p. 175/196

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

De lo anterior y la 3ra condicin tenemos ai+1 = ai + bi hi + ci h2 + di h3 i i ,

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 , si i = j 1 y i = 1, 2, . . . , n 1 hi1 2(h i1 + hi ) , si i = j y i = 1, 2, . . . , n 1 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

y los trminos del vector z vienen dados por ai )


hi1 (ai 3

depende del borde

ai1 ) , si i = 1, 2, . . . , n 1 , si i = 0 o i = n

Analisis Numerico p. 178/196

Spline Cbico
Borde m00 m01 mnn1 mnn z0 zn Natural 1 0 0 1 0 0 Sujeto 2h0 h0 hn1 2hn1 3 (a1 a0 ) 3f (x0 ) h0 3 3f (xn ) hn1 (an an1 )

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

Analisis Numerico p. 181/196

Integracin basada en interpolacin


El problema a resolver numricamente es
b

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

Analisis Numerico p. 182/196

Integracin basada en interpolacin


1 1

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

La expresin general para la integracin numrica es


b n1

I=
a

f (x)dx

f (xi )wi
i=0

a xi b

donde wi son los pesos asociados al mtodo.


Analisis Numerico p. 183/196

Integracin basada en interpolacin


Uno de los esquemas es el cerrado de Newton-Cotes para funciones razonablemente bien comportadas. Los puntos, xi se toman igualmente espaciados en el intervalo [a, b] con x0 = a y xn = b, as tenemos xi+1 = xi + h = x0 + ih , con h = ctte y n = (b a)/h

Si expandimos a f (x) en series de potencias obtenemos


n1 xi +h xi

I=
i=0

x2 x3 f (xi ) + xf (xi ) + f (xi ) + f (xi ) + 2! 3!

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 (xi ) + xf (xi ) + O(x2 ) dx

Analisis Numerico p. 184/196

Mtodo de los trapecios


Una forma de trazar las rectas, si se desconoce la derivada de la funcin, es mediante el polinomio de interpolacin de primer orden. Luego para calcular numricamente la integral calculamos el rea bajo los segmentos de recta, es decir las reas de los trapecios.
b a n1 xi+1 xi n1

f (x)dx

i=1

x xi+1 x xi f (xi ) + f (xi+1 ) dx xi xi+1 xi+1 xi h 1 1 f (xi ) + f (xi+1 ) 2 2 ,

=
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

Analisis Numerico p. 185/196

Mtodo de los trapecios


1 1

f (x)dx f (x) 1 0.75 0.5 0.25 0 1

1 0.75 0.5 0.25 0 1

1 1

f (x)dx f (x)

0.5

0.5

0.5

0.5

Para calcular el error del mtodo denamos


xi+1

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

Mtodo de los trapecios


Expandiendo a f(x) alrededor de xi para calcular xi+1 tenemos (xi+1 xi )2 f (xi ) + f (xi+1 ) = f (xi ) + (xi+1 xi )f (xi ) + 2!
h h

Entonces Ai =
h 2

(f (xi ) + f (xi+1 )) =
h2 2 f (xi )

h 2

f (xi ) + f (xi ) + hf (xi ) + h2 f (xi ) + +


h2 2! F (xi )

= hf (xi ) + por otro lado Ii

h3 f (xi ) 22!

= F (xi ) + F (xi + 1) = F (xi ) + F (xi ) + hF (xi ) +


f (xi ) f (xi ) f (xi )

= h F (xi ) + h F (xi ) + h F (xi ) + 2! 3!


Analisis Numerico p. 187/196

Mtodo de los trapecios


Si tenemos que h3 h3 i = |Ai Ii | = f (xi ) f (xi )+O(h4 ) 2 2! 3!
1 103 real double

1 3 i h f (xi ) 12

1 0

106 109 1012 1 256 216 224

6x x6 dx = 5 = t + maq maq h2/3 t h2

n
Analisis Numerico p. 188/196

Mtodo de Simpson
Si extendemos la aproximacin de la funcin hasta el trmino cuadrtico tenemos
b n2 xi +2h xi

I=
a

f (x)dx =
i=0

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 ].
n2 xi+2

(Li f (xi ) + Li+1 f (xi+1 ) + Li+2 f (xi+2 )) dx


i=1 xi (xxi+1 )(xxi+2 ) (xi xi+1 )(xi xi+2 ) n2

donde , Li =

es un polinomio de Lagrange

=
i=0

1 4 1 f (xi ) + f (xi+1 ) + f (xi+2 ) 3 3 3


Analisis Numerico p. 189/196

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 103 106 109 1012

real double trapecios

1 0

6x x6 dx = 5 = t + maq maq h2/3 t h4

256

216

224

n
Analisis Numerico p. 190/196

Integracin basada en interpolacin


Los pesos de los mtodos integracin usando polinomios de interpolacin son Mtodo Ordel Pesos en [xi , xi+1 ] h h Trapecios 1 2, 2 h 4h h Simpson 2 3, 3 , 3 3h 9h 9h 3h 3/8 3 8 , 8 , 8 , 8 14h 64h 24h 64h 14h Milne 4 45 , 45 , 45 , 45 , 45 Si contamos con n + 1 puntos en [a, b] y usamos un mtodo de orden p n, podemos hallar los pesos w, tales que
b n

f (x)dx =
a i=1

wi f (xi )

siempre que f (x) sea de grado p

Analisis Numerico p. 191/196

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 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 000000000 f(c)

111111111 000000000 f(b) 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

a
b

I=
a

f (x)dx wc f (c) + wd f (d)

ahora tenemos 2n incongnitas


Analisis Numerico p. 192/196

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 Pn (x) = n (x2 1)n . 2 n! dxn

Para cambiar el intervalo de la integral podemos usar la expresin


Rb
a

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

Analisis Numerico p. 194/196

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) [1, 1] [0, ) (, ) 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 1x2

1 x2 ex 2 ex

Mtodo de Monte Carlo


Se basa en el teorema del valor medio para las integrales
b n

I=
a

(b a) dxf (x) = (b a)f () n


w=ctte

f (xi ) ,
i=1

[a, b]

donde, los n puntos xi son seleccionados aleatoriamente.

1 103 106 10 10
9

1 0
real double Simpson

6x x6 dx = 5 t h1

= t + maq maq h2/3


Analisis Numerico p. 196/196

12

256

216

224