Tema 1: Conceptos generales del Análisis Numérico Asignatura: Cálculo Numérico I 1er. curso Grado en Matemáticas Anna Doubova Dpto. EDAN, Universidad de Sevilla 5 de febrero de 2018 A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 1 / 25
Cálculo Numérico (Análisis Numérico) Encontrar soluciones (aproximadas) a problemas complejos mediante muchos pasos fáciles Resolución enfocada al uso del ordenador Necesidad de traducir las Matemáticas a un lenguaje comprensible para la máquina (un ordenador es capaz de realizar sólo determinadas acciones sencillas: sumar, comparar, transferir datos,..., pero los problemas que normalmente interesa resolver son más complejos) Descripción y análisis de los algoritmos Preciso: estar compuesto de pasos bien definidos (no ambiguos) y ordenados Definido: si se sigue dos veces, se obtiene el mismo resultado cada vez Finito: tener un número finito de pasos A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 2 / 25
Algoritmo Un algoritmo es un método para resolver un problema mediante una secuencia de pasos bien definidos, ordenados y finitos Un método no constructivo permite afirmar la existencia de la/s solución/es, sin proporcionar la forma de calcularla Ejemplo Demostrar que ax 2 + bx + c = 0, con a, b, c R, a 0 y b 2 4ac > 0 tiene exactamente 2 soluciones reales 1 Método No constructivo: basado en el Teorema de Bolzano 2 Método constructivo: fórmulas para calcular las soluciones x = b ± b 2 4ac 2a A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 3 / 25
Métodos directos e iterativos Los algoritmos pueden ser: 1 Directos: se obtiene la solución exacta en un número finito de pasos (por ejemplo la resolución de la ecuación de 2 o grado) 2 Iterativos: se obtiene la solución aproximada con la precisión deseada (en un número finito de pasos) B. Resolución numérica de ecuaciones Ejemplo: método de Newton para resolver f (x) = 0 (x0,f(x0)) (x1,f(x1)) a x 1 x 0 b a A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 4 / 25
Representación de números en el ordenador El ordenador almacena solamente ceros y unos El BIT= BInary unit es la unidad mínima de información: 0, 1 Agrupaciones de 4 bytes = 32 bits y 8 bytes = 64 bits: PALABRA Los ordenadores almacenan la información en sistema binario: Representación decimal N = 3459 = 3 10 3 + 4 10 2 + 5 10 1 + 9 10 0 R = 0.325 = 3 10 1 + 2 10 2 + 5 10 3 Representación binaria N = 10111 = 1 2 4 + 0 2 3 + 1 2 2 + 1 2 1 + 1 2 0 = 23 R = 0.111 = 1 2 1 + 1 2 2 + 1 2 3 = 0.875 (consulta la Sección 1.7 de http: //departamento.us.es/edan/php/asig/grafis/gfipc/tema1fispc.pdf) A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 5 / 25
Almacenamiento de números enteros En palabras de 32 bits: 1 bit para el signo del número (0 si es positivo, 1 si es negativo) los 31 bits restantes son para almacenar los dígitos binarios del número sin signo. Ejemplo N = 77 (10) = 1001101 (2) A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 6 / 25
Almacenamiento de números reales coma flotante (floating point): consiste en trasladar la coma (o punto) decimal hasta la posición de la primera cifra significativa (la primera, comenzando por la izquierda, que no es nula) a la vez que se multiplica el número por la potencia adecuada de la base de numeración. Ejemplo 17.02625 = 0.1702625 10 2 (en numeración decimal) 0.0000000234 = 0.234 10 7 (en numeración decimal) 101.11000101 = 0.10111000101 2 3 (en numeración en base 2) A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 7 / 25
Almacenamiento de números reales R = (±)0.m 1 m 2 m 3... m k 2 ±e, m 1 m 2 m 3... m k se llama la mantisa e es el exponente (el número de lugares que hay que trasladar la coma a derecha o izquierda para obtener el número inicial) m 1 = 1 Ejemplo R = 5.625 (10) = 101.101 (2) = 0.101101 2 3 A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 8 / 25
Almacenamiento de números reales R = (±)0.m 1 m 2 m 3... m k 2 ±e 1 bit para el signo del número (0 positivo, 1 negativo). 23 bits para la mantisa (en realidad 24, pues m 1 = 1...) 8 bits para el exponente con su signo (se guarda codificado como un número entero). A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 9 / 25
Almacenamiento de números reales Mayor exponente positivo que se puede almacenar: 2 7 1 = 127 Menor exponente negativo: 2 7 = 128 Número de mayor magnitud: 2 127 10 38 Número de menor magnitud: 2 128 10 38 A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 10 / 25
Overflow y underflow Cantidad finita de números (palabras de 32 bits) Overflow: fenómeno que se produce cuando el resultado de un cálculo es un número real con exponente demasiado grande ( > 127). Cuando se produce un overflow durante la ejecución de un programa, los ordenadores modernos generan un evento de error y como resultado devuelven el símbolo Inf. Underflow: fenómeno que se produce cuando el resultado de un cálculo es un número real con exponente demasiado pequeño ( < 127). Cuando se produce durante la ejecución de un programa, normalmente se sustituye el número por cero. A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 11 / 25
Errores de redondeo La representación binaria (o decimal) de un número puede tener infinitas cifras no nulas: R = 1/5 = 0.2 = 0. 0011 (2) = 0.001100110011001100110011...... R = 0.1 (10) = 0.0 0011 (2) = 0.00011001100110011... La memoria de ordenador es finita!! Sólo podemos almacenar una cantidad finita de números Cada número se representa con una cantidad máxima de cifras binarias (palabras), luego sólo se guardan de forma exacta los números que no excedan ese máximo. Por ejemplo, los números con infinitas cifras binarias, deben ser aproximados (por redondeo o truncamiento) por otros con un número finito de cifras. Este hecho da lugar a los errores de redondeo que tenemos que tener en muy cuenta a la hora de realizar los cálculos en un ordenador. A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 12 / 25
Errores Errores de redondeo: debidos a la cantidad finita de números que podemos representar en un ordenador. R = 0.1 (10) = 0.0 0011 (2) = 0.00011001100110011... = = 0. 110011001100110011001100 }{{} 1100 2 3 R no es un número-máquina (su mantisa binaria tiene infinitos dígitos). La aproximación de R por redondeo es: R = 0. 110011001100110011001101 }{{} 2 3. 24 dígitos 24 A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 13 / 25
Tipos de errores 1 Errores en toma de datos: mediciones, datos estadísticos, etc. 2 Errores de aproximación (de discretización) 1 Por ejemplo, para calcular el número e = se toma el valor k! k=0 aproximado e N = N k=0 1 k! y se comete un error e e N = k=n+1 3 Errores de redondeo: producidos por el ordenador (que tiene memoria limitada...!!!) 1 k! A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 14 / 25
Error absoluto y error relativo Para medir la proximidad de dos cantidades numéricas se usan: Error absoluto ( x x) E a = x x Error relativo ( x x) E r = x x x si x 0 o bien E r = x x x si x 0 Ejemplos (a): x = 3, x = 3.1 E a = 3 3.1 = 0.1, E r = 0.1 3 = 0.03333... (b): x = 3100, x = 3000. E a = 100, E r = 100 3000 = 0.03333... Hay que conocer la magnitud de los datos que se está manejando!!! A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 15 / 25
Cifras decimales exactas En los cálculos es habitual aproximar un número real con m cifras decimales por otro con n < m cifras decimales. Como criterio de proximidad de dos números reales no es objetivo fijarse en el número de cifras decimales coincidentes. Por ejemplo, los números x = 0.999 y x = 1.1 son próximos y no tienen ninguna cifra decimal en común. x aproxima a x con s cifras decimales exactas si s es el mayor entero no negativo tal que: E a = x x 0.5 10 s Ejemplos (a): x 1 = 0.1, x 1 = 0.10005, coinciden en 4 cifras decimales E a = 0.00005 = 0.5 10 4 (b): x 2 = 1000, x 2 = 1000.5, E a = 0.5 10 0 :0 cifras decimales exactas (c): x 3 = 3.141592, x 3 = 3.1415 E a = π 3.1415 = 0.000092 < 0.0005 = 0.5 10 3 coinciden en 3 cifras decimales A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 16 / 25
Cifras significativas exactas El criterio de cifras decimales exactas puede ser engañoso, ya que no tiene en cuenta la magnitud de los números. En este caso se usa otro criterio de comparación basado en el concepto del error relativo x es una aproximación de x con s cifras significativas exactas si s es el mayor entero no negativo tal que: E r = x x x 5 10 s Ejemplos (a): x 2 = 1000, x 2 = 1000.5, x 2 x 2 = 0.0005 = 5 10 4 x 2 coinciden en 4 cifras significativas (b): x 4 = 124.45, x 4 = 123.45 123.45 124.45 123.45 = coinciden en 2 cifras significativas 1 = 0.0081 < 5 10 2 123.45 A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 17 / 25
Consistencia, Convergencia, Estabilidad En relación a los tres tipos de errores (errores en toma de datos, errores de aproximación, errores de redondeo) cualquier método numérico debe verificar que los errores no conduzcan a soluciones no deseadas. Un algoritmo tiene que cumplir: 1 Convergencia (ligada al error de aproximación): si nos sirve para aproximar bien la solución. Hace referencia a la convergencia de la sol. aproximada a la sol. exacta cuando n + (velocidad de convergencia, estimaciones del error en cada iteración, etc.) 2 Consistencia (se verá en cursos próximos): si la solución exacta es consistente (coherente) con el algoritmo 3 Estabilidad (ligado al error de aproximación y de redondeo): si la acumulación de errores no influye en el resultado del algoritmo, es decir pequeños cambios en los datos producen pequeños cambios en la solución del problema. Si no se verifica: problema/algoritmo mal condicionado A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 18 / 25
Problemas mal condicionados I Ejemplo 1(R.S. Wilson): Consideramos el sistema lineal Ax = b, con 10 7 8 7 32 A = 7 5 6 5 8 6 10 9 b = 23 33 7 5 9 10 31 Sean ahora otros dos SL: Ã x 1 = b (varía A) y A x 2 = b (varía b), con 10 7 8.1 7.2 32.1 Ã = 7.08 5.04 6 5 8 5.98 9.89 9 b = 22.9 33.1 6.99 4.99 9 9.98 30.9 Las correspondientes soluciones no se parecen en nada!! 1 81 x = 1 1, x 1 = 137 34, x 2 = 1 22 9.2 12.6 4.5 1.1 A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 19 / 25
Problemas mal condicionados II Ejemplo 2: Consideramos la ecuación x 2 60x + 900 = (x 30) 2 = 0 cuyas raíces son x 1 = x 2 = 30 La ecuación variada ligeramente : 1.1x 2 60x + 900 = 0 tiene como raíces x 1 =27.2727+8.6244i x 2 =27.2727 8.6244i Este problema es inestable (mal condicionado) respecto a las variaciones en el coeficiente de mayor potenica A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 20 / 25
Algoritmos numéricos inestables I Estabilidad depende del algoritmo: pequeños cambios en los datos deben producir pequeños cambios en la solución que proporciona el algoritmo Ejemplo 3: Sean A, B R dados y sea {x n } n 0 definida por { x0 = A, x 1 = B x n+2 = 10.1x n+1 x n, n 0 Se puede comprobar que el término general de la sucesión es: x n = 0.1A + B 9.9 10 n + 10A B 0.1 n 9.9 Para A = 10 y B = 1, x n = 10 n+1 0 cuando n + Para A = 10 y B = 1 + ε, x n cuando n +!!!: sucesión es divergente, ya que el término dominante es 10 n. Algoritmo inestable A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 21 / 25
Algoritmos numéricos inestables II Ejemplo 4: { x0 = 1, x 1 = 1/3 x n+2 = 13 3 x n+1 4 3 x n, n 0 Se puede comprobar que el término general de la sucesión es: (1) Usando (1), obtenemos: x n = 1 0 cuando n + (2) 3n x 0 = 1 x 5 = 0.004117 x 1 = 0.333333 x 6 = 0.001379 x 2 = 0.111111 x 7 = 0.000486 x 3 = 0.037037... x 4 = 0.012346 x 15 = 1.877063!!! Usando (2), obtenemos: x n 0 (x 15 = 0.00000) Algoritmo sensible a los errores de redondeo A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 22 / 25
Ejemplos de problemas de Cálculo Numérico I Resolución de sistemas lineales: Ax = b, A R N N, b R N Si hay solución única, podemos calcularla usando la regla de Cramer: x j = D j, j = 1,..., n donde D = det(a) D D j es como D pero reemplazando la columna j ésima por el vector b Regla de Cramer necesita aproximadamente 2(n + 1)! operaciones. Cuando N es grande Cramer es inviable incluso para un ordenador!!! Por ejemplo, con un ordenador capaz de realizar 10 9 operaciones por segundo, se necesitarían en torno a 12 horas para resolver un sistema de dimensión n = 15 (aprox. 4 10 13 operaciones) por este método, y en torno a 3240 años para un sistema de dimensión n = 20 (aprox. 10 20 operaciones). Conclusión: Hay que buscar otros métodos menos costosos A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 23 / 25
Ejemplos de problemas de Cálculo Numérico II Resolución de ecuaciones y sistemas no lineales: f (x) = 0, siendo f : R R (o f : R N R N ) no lineal. En general, No hay fórmulas explícitas para calcular las soluciones Conclusión: Obtener métodos numéricos para calcular soluciones aproximadas Cálculo de integrales definidas: b a f (x) dx En general, No se puede aplicar la regla de Barrow: b a f (x) dx = F (a) F(b), F (x) = f (x) (por ejemplo b a e x 2 dx) Conclusión: Idear fórmulas de integración numérica para calcular aproximaciones de las integrales Interpolación y ajuste de datos, etc. A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 24 / 25
Procedimiento de resolución de un problema 1 Estudio teórico del problema 2 Construcción del problema aproximado 3 Estudio teórico del problema aproximado 4 Estudio numérico: consistencia, estabilidad y convergencia 5 Resolución del problema aproximado: iteraciones, tests de parada Ejemplo: Determinar α tal que f (α) = 0, con f (x) = e x + x... A. Doubova (Dpto. EDAN) Conceptos generales del Análisis Numérico Cálculo Numérico I 25 / 25