ndice general
1. Teora de errores
1.1. Importancia de los mtodos numricos 1.2. Conceptos bsicos 1.2.1. Cifras significativas 1.2.2. Precisin y exactitud 1.2.3. Incertidumbre y sesgo 1.3. Tipos de errores 1.3.1. Error absoluto y relativo 1.3.2. Error por redondeo 1.3.3. Error por truncamiento 1.3.4. Error numrico total 1.4. Software de computo numrico 1.4.1. Software de acceso libre 1.4.2. Software comercial 1.4.3. Bibliotecas de funciones 1.5. Mtodos iterativos
Debido a la gran variedad de aplicaciones y especialidades atendidas por los metodos numericos, podemos encontrar en la literatura terminos asociados como los siguientes: Matematicas numericas Algoritmos numericos Computacion cientfica Analisis numerico Matematicas algortmicas
Analisis Estadstico Matematicas financieras Analisis de elemento finito Analisis estructural Qumica computacional Investigacion de operaciones Electromagnetismo computacional Mecanica computacional Procesamiento de imagenes Procesamiento de seales Simulacion por computadora Computacion multi-escala Metereologa
Definicion 1.2.2 (Aproximacion con t cifras significativas). Sean xv y xc los valores verdadero y calculado de una cierta cantidad, con xv 6= xc. Decimos que xc aproxima a xv con t cifras significativas si t es el mayor entero no negativo para el cual xv xc xv -5 10t (1.1) Para el caso xv = xc, xc aproxima xv con las cifras significativas propias. Como se observa en esta definicion dada para decimales puede extenderse para cualquier base dada.
x = (1)s(1 + f)2e (1.3) donde s es el signo, f es la fraccion en binario y e el exponente. La precision de un numero esta directamente relacionada con el numero de dgitos en su representacion de punto flotante.
1.4.1.
Entre los sistemas de acceso libre orientados al software numrico se podemos incluir: Axiom: sistema de algebra computacional (con MathAction) Calc3D: software para calculo y traficacin orientado a geometra y estadstica EULER: poderoso laboratorio de computacin numrica (con Yacas) FreeMat: Coleccin de funciones bsicas para matemticas GnuPlot: Excelente graficador de dominio pblico (no GNU) Jacal: Sistema de algebra computacional basado en Scheme Mathscribe: herramientas para mentes cientficas NonEuclid: software interactivo en Java para geometra hiperblica Octave: excelente sistema afin a MATLAB PyLab: una coleccin de funciones para calculo numrico y visualizacin. Basado en Python RLab: laboratorio para computacin numrica Sage: Sistema integrador de gran potencia y versatilidad que incluye otros paquetes matemticos Open Source de alta calidad. http://www.sagemath.org Scilab: uno de los paquetes de computacin numrica y cientfica ms importantes y exitosos (desarrollado en el instituto francs INRIA) Singular: un sistema de algebra computacional para computacin con Polinomios Surf: software para visualizacin de geometra algebraica real Winplot: un programa sencillo pero muy verstil para graficar funciones matemticas wxMaxima: un paquete clsico para matemticas numricas y computaci on simblica. Sistema basado en Lisp
estndar en aplicaciones de ingeniera Scientific Workplace: Excelente editor cientfico de gran flexibilidad y que integra MAPLE como su ncleo de computacin simblica
Cuando para encontrar la solucin a una ecuacin, digamos f(x) = 0 partimos de un intervalo [a, b] dentro del cual sabemos que se encuentra la solucin, y paso a paso reducimos dicho intervalo hasta obtener [an, bn] tal que |bn an| < _, para _ > 0 como la tolerancia, decimos que hemos utilizado un mtodo de intervalo o mtodo cerrado. El mtodo de intervalo clsico es el mtodo de biseccin de Bolzano, que veremos en la seccin siguiente. Como se menciono en la seccin 1.2.2, recientemente se han desarrollado mtodos basados en intervalos (en general hiper-cajas) que van encerrando la solucin en regiones cada vez ms pequeas, logrando con ello lo que actualmente se conoce como computacin confiable (en ingl. reliable computing). Para mayores detalles sobre estos nuevos mtodos se recomienda consultar.
condicin f(a)f(b) < 0 y en cada iteracin bisecarlo para obtener un nuevo intervalo [a1, b1] que tambin cumple con f(a1)f(b1) < 0 , hasta obtener un intervalo [an, bn] que cumple f(an)f(bn) < 0 pero ademas |b a| _ _, para un _ correspondiente a la tolerancia del error.
|_n+1| |_n|_ = K, K > 0 (2.3) para algunos nmeros fijos _, K, entonces _ es el orden de convergencia para {xn}, y K es la constante asinttica o factor de convergencia.
En base a la definicin anterior, destacamos los casos para cuando _ = 1, y _ = 2 que corresponden a convergencia lineal, y convergencia cuadrtica respectivamente.
En general, este mtodo consiste en encontrar iterativamente factores cuadrticos de la forma (Az2 + Bz + C) para pn(z), reduciendo cada vez en dos el grado del polinomio, es decir, en cada iteracin encontramos un polinomio pn2(z) de grado n2. Como las races complejas se presentan en pares conjugados, tenemos que: [z (a + ib)][z (a ib)] = z2 + 2az + (a2 + b2) = z2 + Bz + C En lo sucesivo usaremos B = r y C = s, en conformidad con la notacin propia del mtodo. As buscaremos un pn2(z) que cumpla: pn(z) = (z2 rz s)pn2(z) (2.8) Repetiremos el proceso anterior hasta llegar al caso cuando el grado k del polinomio reducido pk(z), cumpla con k _ 2 que se resuelve de manera directa. Para encontrar los valores de r y s que cumplan con la ecuacin 2.8, empezaremos con valores iniciales r0 y s0. Si realizamos la divisin de pn(z) entre el factor cuadrtico z2 r0z s0, obtenemos el polinomio: qn2(z) = bnzn2 + bn1zn3 + + b3z + b2 de manera que: pn(z) = (z2 r0z s0)qn2(z) + R donde en residuo est determinado por: R = b1(z r0) + b0 (2.9) y los coeficientes {bi}n 0 se calculan recursivamente con las formulas siguientes, considerando k = 0: bn = a n bn1 = an1 + rkbn bi = ai + rkbi+1 + skbi+2, para i = n 2, n 3, . . . , 0
Si resulta que R = 0, hemos encontrado el factor cuadrtico deseado con r = r0 y s = s0, en caso contrario, utilizamos el mtodo de NewtonRaphson para sistemas de ecuaciones (ver seccin 3.3.1) hasta encontrar los valores rk y sk que logren que R = 0, para algn k > 0. En cuyo caso r = rk, s = sk y como R = 0, entonces pn2(z) = qn2(z) es el siguiente polinomio a iterar.
podemos despejar la variable xi para obtener una expresin que relacione x(k+1) i con x(k) i:
El mtodo de Jacobi consiste bsicamente en aplicar la ecuacin 3.2 para cada una de las variables, empezando con los valores iniciales correspondientes.
El mtodo de Gauss-Seidel consiste bsicamente en aplicar la ecuacin 3.8 para cada una de las variables, empezando con los valores iniciales correspondientes. La forma matricial se deriva de forma similar al mtodo de Jacobi. De la ecuacin 3.3, despejamos ahora el termino (D + L)x para obtener: (D + L)x(k+1) = Ux(k)+b (3.9) de donde despejando, encontramos la ecuacin de una iteracin del mtodo de Gauss-Seidel: x(k+1) = (D + L)1Ux(k)+(D + L)1b (3.10) Ya que asumimos que aii 6= 0, para 1 _ i _ n, sabemos que D + L es no singular y x(k) est bien definida para toda iteracin k.
3.3. Iteracin y convergencia en sistemas de Ecuaciones 3.3.1. Mtodo de Newton-Raphson para sistemas
El mtodo de Newton-Raphson visto en la seccin 2.4.1 tambin se generaliza a sistemas de ecuaciones, bsicamente se requiere extender el concepto de derivada de una funcin, al jacobiano de una funcin vectorial.
utilizando valores pequeos de h. Para determinar el error de dicha aproximacin , podemos auxiliarnos con el Teorema de Taylor (1.3.1). Si aproximamos f(x+h) por su polinomio de Taylor de primer orden alrededor de x, tenemos:
donde _ es un valor entre x y x + h. Despejando f0(x) obtenemos la aproximacin dada por la frmula 4.1, la cual sabemos ahora (por la ecuacin anterior) que tiene un error del orden O(h) ya que f00(_)
La aplicacin del mtodo del trapecio a la sucesin de particiones, nos lleva a las siguientes ecuaciones de Romberg:
Una manera de definir el algoritmo de Romberg, es utilizar la sucesin de valores Ri,i generados por la ecuacin y detener el proceso en la iteracin i que cumpla |Ri,i Ri1,i1| < _ para un _ dado.
esto es necesario, debido a que utilizaremos funciones ortogonales en el intervalo [1, 1], en particular utilizaremos los polinomios de Legendre de grado n, que denotaremos Pn(x) para aproximar la integral buscada, es decir:
En lugar de utilizar puntos equidistantes para particionar el intervalo de integracin [1, 1] (como fue el caso en los mtodos anteriores) ahora consideramos los nodos xi y los pesos wi como parmetros para optimizar la aproximacin, es decir:
Los valores de los nodos xi corresponden a los ceros de los polinomios de Legendre Pn(x) y los pesos wi se pueden calcular con la ecuacin:
donde R = {(x, y)|a _ x _ b, c _ y _ d}, para ciertas valores a, b, c, d 2 R Para este caso, un mtodo de solucin es aplicar primero la regla compuesta de Simpson (ecuacin 4.12) para aproximar
donde asumimos xi como constante. Subdividiendo [c, d] en un numero par m de sub intervalos, con k = (d c)/m, entonces yj = c + jk para 0 _ j _ m, y podemos escribir:
Donde:
Ahora aplicamos de nuevo la regla compuesta de Simpson, a cada una de las integrales del lado derecho, donde cada una de ellas tiene la forma siguiente y se aplican para yj con 0 _ j _ m
Este se obtiene de considerar una aproximacin lineal a la para la solucin exacta Y (x) del problema de valor inicial (ecuacin 5.1. Es decir, consideramos qu Y (x0) = y0 y:
Denotando Y (x+h) como yn+1 y f[x, y(x)] por f(xn, yn) obtenemos la formula del mtodo de Euler (ecuacin 5.3) El mtodo de Euler es uno de los ms bsicos, por lo que es solo un punto de partida en nuestro estudio. Veamos dos metodos1 que de manera directa mejoran el mtodo de Euler: Mtodo de Heun. Mejora el clculo de la pendiente, utilizando dos puntos (inicial y final de cada intervalo) para luego obtener un promedio, es decir:
Mtodo del punto medio. En este caso se mejora la estimacin de la pendiente, utilizando el punto medio entre xi y xi+1. Por tanto, la formula de iteracin puede escribirse como:
donde _(xi, yi, h) se denomina funcin incremento y representa una aproximacin de la pendiente del intervalo [xi, xi+1]. Dicha aproximacin se calcula como una combinacin lineal de las pendientes en puntos especficos del intervalo. Mtodo de Runge-Kutta de cuarto orden Este es uno de los mtodos ms utilizados, ya que resuelve el problema de valor inicial con un error del orden O(h4)
Donde:
donde m > 1, h = (b x0) y n = m 1, m, . . . ,N 1. Es un mtodo de m pasos siempre que a2 m1 + b2 m1 > 0. Si c = 0 el mtodo es explicito o abierto, en caso contrario, el mtodo es implcito o cerrado.
Considerando que estamos en la iteracin n y que hemos obtenido la solucin exacta Yn = y(xn), podemos integrar la ecuacin anterior desde xn a xn+1:
de donde encontramos:
Para estimar la integral de la ecuacin anterior, utilizaremos un polinomio interpolador de Lagrange pn(x) determinado por los puntos
donde Fi = F(xi), 0 _ i _ n, cumple con Fi = Y 0(xi) = f[xi, Y (xi)]. Desarrollando las diferencias divididas en trminos de Fn obtenemos la formula de diferencias regresivas de Newton siguiente:
Para demostrar la existencia y unicidad de la solucin al problema anterior, es necesario que las funciones fi cumplan con la condicin de Lipschitz para funciones de varias variables.