ANÁLISIS NUMÉRICO I

Universidad Juárez Autónoma de Tabasco División Académica de Ciencias Básicas Maestría en Ciencias en Matemáticas Aplicadas

Justino Alavez Ramírez1 y Jesús López Estrada2

Última actualización: 23 de noviembre de 2010

1 2

División Académica de Ciencias Básicas – UJAT Facultad de Ciencias – UNAM

Presentación
La computación científica es una disciplina de las matemáticas aplicadas que involucra -prácticamente- a todos las áreas de la matemática, a varias ramas de la computación y a la modelación matemática, la cual desempeña un papel relevante en el desarrollo científico y tecnológico de todo país. Y es la modelación matemática el medio que permite a esta disciplina vincular a la matemática con las ciencias y las tecnologías. Pero resulta que en las aplicaciones tienen lugar problemas matemáticos prácticos que involucran varios áreas de las matemáticas básicas, cuya solución -aún cuando se sepa que existe y es única- muy rara vez se puede obtener explícitamente (es decir, se puede expresar analíticamente); así, no queda otra alternativa que calcular -de manera eficiente, en tiempo y precisión- una solución numérica aproximada de tal solución mediante la ayuda de una computadora digital. Es aquí, precisamente, en donde interviene la parte medular de la computación científica, el análisis numérico. Esto es, el conjunto de herramientas matemáticas e instrumentos de cálculo -computadora y software- que permiten resolver numéricamente de manera eficaz problemas matemáticos. Por otro lado, la presente nota es el resultado de los apuntes presentados en los cursos de Análisis Numérico I que se imparte en la Facultad de Ciencias de la Universidad Nacional Autónoma de México, y de Análisis Numérico I que se imparte en la Maestría en Ciencias en Matemáticas Aplicadas, en la División Académica de Ciencias Básicas de la Universidad Juárez Autónoma de Tabasco. La versión preliminar se presentó en el semestre Febrero Junio de 2008, y desde entonces se ha venido corrigiendo y ampliándose cada semestre que se imparte el curso. Quedaremos agradecidos con el lector por su comprensión al poner a su disposición unas notas aún en desarrollo, y por sus valiosos comentarios y sugerencias.

Justino Alavez Ramírez justino.alavez@basicas.ujat.mx Jesús López Estrada jele@lya.fciencias.unam.mx

ii

Índice general
Presentación 1. Introducción a la computación científica y el análisis numérico 1.1. Repaso de FORTRAN 77 . . . . . . . . . . . . . . . . . . . . . . . 1.1.1. El compilador WATFOR-87 . . . . . . . . . . . . . . . . . 1.1.2. Prácticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Modelos matemáticos . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Fuentes de aproximación . . . . . . . . . . . . . . . . . . . . . . . 1.4. Error absoluto y error relativo . . . . . . . . . . . . . . . . . . . . 1.5. Propagación del error de los datos y error computacional . . . . . 1.6. Nociones de análisis de error prospectivo y retrospectivo . . . . . 1.7. Nociones de sensibilidad numérica y número de condición . . . . . 1.8. Nociones de estabilidad y exactitud . . . . . . . . . . . . . . . . . 1.9. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Aritmética de punto flotante 2.1. Representación de números reales en bases arbitrarias . 2.2. Sistemas de punto flotante . . . . . . . . . . . . . . . . 2.2.1. Números subnormales . . . . . . . . . . . . . . 2.3. Redondeo . . . . . . . . . . . . . . . . . . . . . . . . . 2.4. Operaciones básicas de punto flotante . . . . . . . . . . 2.5. Cancelación numérica . . . . . . . . . . . . . . . . . . . 2.5.1. Ecuación de segundo grado . . . . . . . . . . . . 2.6. Sumas . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.1. Análisis de estabilidad numérica . . . . . . . . . 2.6.2. Algunas aplicaciones . . . . . . . . . . . . . . . 2.6.3. Análisis de estabilidad numérica en el cálculo de 2.7. Análisis de primer orden de la sensibilidad numérica . . 2.7.1. Símbolos de Landau . . . . . . . . . . . . . . . 2.7.2. Análisis de primer orden . . . . . . . . . . . . . 2.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . iii . . . . . . . . . . . . . . . . . . . . ex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii 1 1 1 4 11 13 15 16 18 19 23 24 25 25 28 30 31 34 35 35 36 36 40 42 43 43 44 46

. . . Interpolación global uniformemente espaciada . . . . . . .3. . 3. 5. .2. . . . . . . . . . . Interpolación polinomial y splines cúbico 5.2.1. . . .2. .7. . . . . . . . . . . . . . . . . . . . .1.6. . . Convergencia local del método de Newton 4. Sistemas lineales de ecuaciones algebraicas 3. . . . . . . . 3. . . . . .4. . . . . . . Regla de Cramer y métodos de eliminación Gaussiana . . . . . . . . . 5. Ejercicios . . . . . . .2. . . . . .1. . . . . . . . . 5. . . . . . . . .4. 3. . . Residuales . . .2. . . . . . . . . . . . Normas vectoriales . . . . . . . . . . . . . Regla de Cramer . . . . . . . . . . . . . . . 3. . . . . . . . . . . . . 5. . . . . . Cálculo del spline cúbico interpolante . . . . . . . . . Interpolación por splines cúbico . . . . . . .6. . . . . . . . Ejercicios . . . . . . . . . . . algebraicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . . . .5. . . . . . .3. . Planteamiento del problema . . . . . Método de Newton . . . . . Método de Newton . . . . . . . Método de eliminación Gaussiana sin pivote .6. . . . . . . . . Número de condición de una matriz .5. . . . . . . . . . 3. . . . . . . . . . . . . . . . . . . 4. . . . . . . . . .3. . . . . . . . . . . .3. . . . . . 4. . . 4. . . . . . .4. . . . . . . . . . .1. . .1. . . . . Interpolación polinomial por pedazos . 3. . . . . . . . . . . . . . . . . . . . . Existencia. . . . . .1. . . . Método de la secante . . . . . . . . . 3. . . . . . . . Ejercicios . . . . . . .3. .4. . . . . . . . . . Sistemas de ecuaciones no lineales . 3. . . . . . 5. . . Interpolación polinomial global . . . . . . . . .2. . . . 4. . 5. . . . . . . . 4. . . . . . . . . . . 4. . . . . . . . . . . . . . Método de bisección . . . . . . . . . . . . . .6. . . . Normas matriciales . . . .6. . . . . . . unicidad y condicionamiento 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Factorización LU . . . . . . . . . . . . 3. . . . . . . .iv ÍNDICE GENERAL 61 61 61 62 64 64 66 68 68 69 71 73 78 82 91 91 91 96 101 103 103 103 105 107 108 111 111 111 112 119 120 122 122 123 128 128 3. . . . . . Normas vectoriales y matriciales . . . 5. 3. . . . . . . .1.3. . Algoritmo de eliminación Gaussiana con pivote (parcial) 3. . . . . . . . .5. 4. . . . . . . . . . . . . . . . Ceros de funciones 4. . . . . . . . . . .2. . . . . . . . . . . . . . . 4. . . . . . .1.3. . . . . . . .1. . . . . . . . . . . . . . . . . .1. . . . . . . . . . . Método de interpolación cuadrática inversa . . . . . . . . . . . . . . . . . . . . .6. . . . . . . . . . Función de Runge . . . . . . . . .2. . . . Análisis de sensibilidad de sistemas lineales de ecuaciones 3. .2. . . . .3. . . . . . . . . . . . . . . . . . . . . . . 5. . . . . Existencia y unicidad .1. . . . . . . . . . . . . . . . . . 4. . . . . . . . . . . . . .2. . . . . . . . .1. Factorización de Cholesky . . . . . . . . . . . . . . . . . . . . . . . Interpolación global sobre puntos de Tchebyshev 5. . . . . . . Teoremas de Faber .1. . . . . . . . . . .3. . . . . . . . . . . .

. . . . .1. . . . . . . . . . Fórmulas de cuadratura numérica . . . . . . . . . . . . . . .1. . . . . . . . 6. . . . . . . Comportamiento numérico . . .2. . . . . . .3. . . . Error de aproximación . . . . . .3. . . . . . . . . . . . .1. . . . . . . Fórmulas de cuadratura compuesta . . . . . . . 6. . . . . . . . . . . . . . . . .6. . . . . . .2. . . 6. . . . . . . . . . . . . . . . . . Integración y diferenciación numérica 6.4. 6. .1. . . . . . . . . . . .1. . . 6. . . . 6. . . . Integración numérica . . . .2. . . Comportamiento numérico . . . . .2. . . . . Aplicaciones a problemas de valores iniciales . . . . . . . . . . 6. . .2.3. . . . . . . . 6. . . . . . . Referencias v 136 136 136 138 141 143 143 145 145 145 145 146 148 151 . Ejercicios . . . Estabilidad numérica del método de cuadratura 6. . . . . .1. . . . . . .1. . . . . . .1. . . . . . . . . . . . . . . 6. . . . . . . . . . . .2. . . . .ÍNDICE GENERAL 6. . . . . . . . . . . . Fórmulas de diferencias finitas . . . . . . . . . .5. . . . 6. . . . Fórmulas adaptivas recurrentes . . . . . Diferenciación numérica . . . . . . . . . .1. . .

vi ÍNDICE GENERAL .

Más aún. puede haber varias continuaciones de línea. Cualquier declaración más allá de la columna 72 es ignorado.obj) resulta también transparente al usuario. Se puede usar cualquier caracter salvo el cero en la columna 6 de la siguiente línea para indicar la continuación. desde el mismo WATFOR se edita y compila. 1. y se deberá seguir las siguientes reglas para que el programa pueda ser compilado y ejecutado en el compilador WATFOR87.com. Por ejemplo.Capítulo 1 Introducción a la computación científica y el análisis numérico 1. Las etiquetas deben ser enteros positivos. no se requiere tener en . Cuando se requiere escribir una declaración o fórmula muy larga. el contenido de la línea se toma como un comentario.1. 2. compilar y ejecutar programas. o bien.exe. Si la columna 1 contiene un asterisco (*) o la letra mayúscula C. Las columnas del 7 al 72 se usan para escribir las declaraciones de FORTRAN 77. 1 . 3. Permite realizar fácilmente tres tareas rutinarias: editar. Ver figura 1.1. Para capturar un programa en FORTRAN 77 se recomienda usar el editor Edit. La columna 6 se usa para indicar la continuación de una declaración. se edita compila y ejecuta. Repaso de FORTRAN 77 El compilador WATFOR-87 El compilador WATFOR-87 (WATerloo FORtran 77) con editor integrado es un compilador muy cómodo para el programador principiante en lenguaje FORTRAN ESTRUCTURADO (FORTRAN 77). siendo la compilación (PASS ONE. el comando LINK para ligar un programa principal con una biblioteca de programas (los cuáles.1. PASS TWO en MSFOR) transparente al usuario. Las columnas del 1 al 5 se reservan para etiquetas o niveles de las declaraciones. 1.1. para WATFOR.

FOR en WATFOR87.FOR (el nombre debe contener máximo 8 caracteres)..1. Todas las declaraciones en FORTRAN 77 deben escribirse en MAYÚSCULAS. C PROGRAMA MINOMBRE. CHARACTER NOMBRE*20 C WRITE(*.FOR C C2345678. por ejemplo. pregunta su nombre y le da las gracias hablándole por su nombre. Ejemplo 1. Para más información.10X. por ejemplo: MINOMBRE.com que está en el directorio de WATFOR87. Para capturar el programa usa el editor Edit.1X. El primer programa saluda al usuario. Cuando termine la captura se recomienda guardar su programa.*)’DAME TU NOMBRE ENTRE APOSTROFE: ’ READ(*.10)NOMBRE 10 FORMAT(/.1: Características de un programa en FORTRAN 77 para ser compilado y ejecutado en el compilador WATFOR-87.’GRACIAS’.*)NOMBRE PAUSE WRITE(6. puede consultar a Etter (1992) [7] o a Page (2003) [20].1. en el directorio: C:\WATFOR87\TRABAJO\ con un nombre apropiado y con extensión . siga los siguientes cuatro pasos: .1.*)’HOLA’ PAUSE WRITE(*. Repaso de FORTRAN 77 6 Columnas 7 − 72 Declaraciones de FORTRAN 77 Caracter para continuación de línea Etiquetas o niveles Figura 1.FOR.2 Columnas 1−5 1.A) END Para compilar y ejecutar su programa MINOMBRE..

FOR.FOR tuvo errores. en este caso es: SYS CHDIR C:\WATFOR87\TRABAJO\ Con esto. Por ejemplo. el cual casi nunca ocurre la primera vez que se ejecuta un programa.FOR Enseguida aparecerá el listado de su programa en la pantalla. Para ello. presiona la tecla F9 para ingresar la zona del programa y hacer las correcciones pertinentes.exe 2. Compile y ejecute su programa como: RUN MINOMBRE. Ejecute WATFOR87. Si quiere cambiar de directorio. Introducción a la computación científica y el análisis numérico 3 1. Edite su programa MINOMBRE. Para corregir los errores en el programa. enseguida aparecerán los resultados del programa en la pantalla. para regresar al listado de su programa. se trabajará únicamente con el directorio TRABAJO durante la sesión. y le sea difícil retenerlo en su memoria para las correcciones. 4. una salida es: HOLA DAME TU NOMBRE ENTRE APOSTROFE: GRACIAS JUSTINO ALAVEZ Si su programa MINOMBRE. Especifica el directorio donde está guardado su programa MINOMBRE.FOR como: EDIT MINOMBRE. Se recomienda generar un listado de su programa junto con los errores para que sea más fácil analizarlo y corregirlo. Para generar dicho listado. deberá correrlo de nuevo como en el Paso 4. Es posible que la lista de errores generados en su programa halla sido muy grande. deberá guardar su programa. Presione la tecla ENTER. no habrá ningún resultado hasta que el programa esté libre de errores). haga lo siguiente desde la ventanilla de comandos: . y desde ahí guardará su programa como: PUT MINOMBRE. Una vez hechas las correcciones.FOR Una vez guardado el programa. Si guardó su programa en el directorio WATFOR87. aparecerá en la pantalla una lista de todos los posibles errores (desde luego. 3.1. de nuevo presione la tecla F9 para regresar a la ventanilla de comandos. deberá especificarlo como antes.FOR Si todo está bien. no necesita especificar el directorio.

FOR.1. d) y (e.C. f ).1. Puede cambiar el color de fondo de la pantalla durante la sesión de WATFOR87.LST Con esto tendrá un lista completo del programa y los errores si las hubo. 1.B. deberá guardarlo para poder ejecutarlo de nuevo. o bien desde la ventanilla de comandos como: EDIT MINOMBRE. escriba desde la ventanilla de comandos la palabra: HELP y enseguida presione la tecla ENTER. Para abandonar el listado y regresar al programa MINOMBRE. Lo anterior va acompañado con cambios de color para las fuentes. e imprima también el área del triángulo con vértices (a. b. Piensa todas tus variables y cálculos en precisión doble.E. un listado completo y los resultados del programa si no hubo errores. Repaso de FORTRAN 77 RUN/LIST/NOXTYPE MINOMBRE. o bien. Puede editarlo como cualquier otro archivo de texto. (c.FOR Dale todos los datos en el orden en que deben ir. Las primeras líneas ejecutables del programa pueden ser: DOUBLE PRECISION A. Para otros tipos de ayuda.LST en el directorio TRABAJO.D. pero se generó y se guardó automáticamente un programa con el mismo nombre pero con extensión .pdf . que se realiza al presionar simultáneamente las teclas SHIFT y F3. Finalmente aparecerá nada en la pantalla. hasta encontrar un color que le agrade. c.F. Práctica 1. Sugerencia. Prácticas Objetivo. únicamente las variables.B) DEL TRIANGULO:’ . y configurarlo como se indica en el TutorialWatfor87. Escribe un programa que lea e imprima los números a. presionando las teclas SHIFT y F4 simultáneamente. b).AREA WRITE(*.2. escriba desde la ventanilla de comandos la palabra: BYE y luego presione la tecla ENTER. Aprender a programar las instrucciones básicas de FORTRAN 77 mediante la solución de problemas simples de aplicaciones numéricas. d.4 1. Después de hacer las correcciones en su programa.zip e instalarlo en su equipo de cómputo.*) ’DAME EL VERTICE (A. Para realizar las actividades descomprimir el compilador WATFOR87. Las declaraciones de tipo de variables en FORTRAN 77 son: INTEGER {Lista de variables} REAL {Lista de variables} DOUBLE PRECISION {Lista de variables} COMPLEX {Lista de variables} LOGICAL {Lista de variables} CHARACTER {Lista de variables} Las llaves { } no se escriben. e y f .

*) C. C C2345678.B. Es importante tener en cuenta que antes de la entrada de datos del problema.B 5 Las instrucciones WRITE y READ están en formato estándar. hay que declarar todas las variables que se van a utilizar.B) DEL TRIANGULO:’ READ(*.1.B WRITE(*.D) DEL TRIANGULO:’ READ(*.F WRITE(*. El segundo asterisco indica un identificador de formato (FMT).D WRITE(*.AREA WRITE(*.FOR C CALCULA EL AREA DEL TRIANGULO CON VERTICES: C (A..F.C. Introducción a la computación científica y el análisis numérico READ(*..*) ’DAME EL VERTICE (A.D) y (E.F) C USANDO LA FORMULA: C | A B 1 | C AREA = 1/2 * ABS | C D 1 | C | E F 1 | C ENTRADA: COORDENADAS DE LOS VERTICES DEL TRIANGULO.B).*) E.*) A. C SALIDA: LOS VERTICES Y EL AREA DEL TRIANGULO. Más información en Page (2003) [20] página 105. La estructura general que debe tener todo programa de cómputo es el siguiente: {Documentación del programa} {Entrada de datos} {Procesamiento de los datos por algún algoritmo numérico} {Salida de resultados} En la documentación del programa hay que especificar el objetivo del programa.D. y también puede ser un número entero positivo donde se especifique dicho formato en el programa.*) E. el significado de cada una de las variables involucradas.B WRITE(*.E. El programa completo de la práctica 1 es el siguiente: C PROGRAMA EJER1− 1.*) ’DAME EL VERTICE (E.*) A.D WRITE(*.F C . y puede ser también cualquier número entero positivo que se refiera a una unidad de entrada/salida válido. (C. El primer asterisco indica un identificador de unidad (UNIT en inglés).F) DEL TRIANGULO:’ READ(*. DOUBLE PRECISION A. y en lo posible las referencias bibliográficas.*) C.*) A.*) A.*) ’DAME EL VERTICE (C.B WRITE(*.

si x3 + x2 − 7x + 6.D23.10) AREA FORMAT(1X. la más simple es: IF ({Expresión lógica}) {Instrucción ejecutable} Si se requieren varias instrucciones ejecutables la construcción es: IF ({Expresión lógica}) THEN {Bloque de instrucciones} ENDIF o la construcción de la combinación IF-THEN-ELSE: IF ({Expresión lógica}) THEN {Primer bloque de instrucciones} ELSE {Segundo bloque de instrucciones} ENDIF La construcción más general del IF es: IF ({Expresión lógica}) THEN . = . Para realizar esta actividad necesita de algunos de los operadores lógicos: .GE. si que lea e imprima un número real x.6 AREA=DABS(0.5D0*(A*(D-F)-C*(B-F)+E*(B-D))) C C C 10 SALIDA DE RESULTADOS 1. si f (x) =  3 x − x + 8. +’ UNIDADES CUADRADAS’) END Práctica 2.EQ.LT.OR. o (uno o ambos) .16.2X. = . > .NOT.GT. < . no y de la construcción de IF. 0≤x≤1 1<x≤2 x<0 o x>2 ´ Sugerencia.LE. ≤ . Escribe un programa en precisión simple e imprima el valor de:  3  x − 2x2 + 3x − 5.NE.AND. Repaso de FORTRAN 77 WRITE(6.2X. y . ≥ . Existen varias forma de construir el IF en FORTRAN 77.’ EL AREA DEL TRIANGULO ES:’.1.

6X.D23. + 8X./. REAL H.. Escribe una función h(f. + 8X.7X.F10.’ EL VALOR DE X ES:’. ELSEIF ({Expresión lógica}) THEN {Penúltimo bloque de instrucciones} ELSE ({Expresión lógica}) {Ultimo bloque de instrucciones} ENDIF Práctica 3. A.’ EL VALOR DE G(X) ES:’./.. + 8X. .H 10 FORMAT(//.E14. x) que regrese el valor h(x) = (f ◦ g)(x).*)X A = G(X) H = F(A) WRITE(6.4X.16.*)’DAME UN NUMERO REAL ARBITRARIO:’ READ(*. Un programa completo de la práctica 3 puede ser de la siguiente forma: C EJEMPLO DE COMPOSICION DE FUNCIONES REALES C C2345678.7. entre otros.1X. Imprima x. Una función externa (External functions or function subprograms) en FORTRAN 77 tiene la estructura: {Tipo} FUNCTION {Nombre} ({Lista de variables}) {Declaraciones de tipos de variables} {Bloque de instrucciones} RETURN END El tipo es opcional aunque se puede especificar como: REAL. CHARACTER*(*).1. DOUBLE PRECISION. g.’**************************************’. g(x) y h(x)./. Sugerencia. X WRITE(*.10)X. .’**************************************’) . + 6X./. Considera dos funciones arbitrarias f y g de R en R dadas como programas “function” en FORTRAN 77. Más información en Coleman and Van Loan (1988) [2] y Page (2003) [20].’ EL VALOR DE F(G(X)) ES:’.A.5. Introducción a la computación científica y el análisis numérico 7 {Primer bloque de instrucciones} ELSEIF ({Expresión lógica}) THEN {Segundo bloque de instrucciones} .

. Consulta el programa Calendar.0*X + 8. Repaso de FORTRAN 77 FORMATOS RECOMENDABLES DE ESCRITURA SIMPLE PRECISION: E14. También puede consultar a Coleman and Van Loan (1988) [2] o a Page (2003) [20].for que viene incluido en WATFOR87. . MONTH (30.16 ESTANDAR: F10.34..5 STOP END C C **************************************************** C REAL FUNCTION G(X) REAL X G = X**2 .0 RETURN END C C **************************************************** C REAL FUNCTION F(Y) REAL Y F = SQRT(ABS(Y)) RETURN END Práctica 4. .1. Diseña un algoritmo .8 C C C C C C C 1. Práctica 5. 5) imprimirá: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Sugerencia. Supóngase que A ∈ Rn×n y que x ∈ Rn×1 son dados. START) que lea el número de días en un mes en LENGTH y el día de comienzo del mes (1= Domingo.7 DOBLE PRECISION: D23. 7= Sábado) en START e imprima el calendario del mes. Por ejemplo. Escribe una rutina MONTH (LENGTH.

Se puede usar la instrucción PARAMETER para asignar una variable simbólica a la dimensión de los arreglos.3)/-10. También puede ser de tipo INTEGER o DOUBLE PRECISION.8/ donde se están escribiendo las entradas de una matriz A de tamaño 3 × 3 y las entradas de un vector X de dimensión 3. A(3.2)/-5. A(2. 200) indica que A es una matriz de tamaño 100 × 200 de tipo REAL.. {Paso} {Bloque de instrucciones} {Etiqueta} CONTINUE Un programa completo de la práctica 5 puede ser de la siguiente forma: C PROGRAMA EJER1− 5.. Por ejemplo. .3)/14.3)/-15. 7.2/.1)/-3. Sugerencia.4.N). Introducción a la computación científica y el análisis numérico 9 eficiente para calcular: n n S = x Ax T = i=1 j=1 aij xi xj y prográmalo en precisión simple.2/.FOR C CALCULA S=X’ AX C X VECTOR DE DIMENSION N C A MATRIZ DE DIMENSION N×N C C2345678. A(3. A(2.2/.2/. que se puede hacer mediante la instrucción DO cuyo formato es: DO {Etiqueta} {Variable entera}={Inicio}. entre otros. Para esta actividad se requiere del uso de arreglos para escribir la matriz A y el vector x.2)/10. A(3.2/.1.{Fin}.1)/4.0/ X/-2. por ejemplo: REAL A(100.0/ A(1. El formato es muy simple. X(N) La instrucción DATA se usa para inicializar variables y arreglos de dimensiones pequeñas.1)/2.1.2)/-4.0/ A(1. las primeras líneas ejecutables del programa pueden ser: INTEGER N PARAMETER (N=3) REAL A(N. 5. es decir con entradas en precisión simple. Para el cálculo de S se requiere de una iteración. Por ejemplo.2/. A(2. un fragmento del programa puede ser: DATA DATA DATA DATA A(1.

2/. A(2. A(3.’R E S U L T A D O S :’. x2 − 105 x + 1 = 0. A(3.I3.1.0/.’ EL PRODUCTO XT*A*X ES:’.N).3)/-15.1)/4.X(N). Escribe una función en FORTRAN 77 en precisión simple que resuelva la ecuación general de segundo grado: ax2 + bx + c = 0 para a.7. A(3. X/100*2.2/.2/.2X.2)/-4. b y c ∈ R dados.30) S. Usa tu función para calcular las raíces de las ecuaciones siguientes: A).B INTEGER I.2)/-5. .’*******************************************’. x2 − 4x + 3. 5.// + 6X.1)/2. A(2. 7. a = 0.0 DO 10 J=1.’*******************************************’) END Práctica 6.4./ + 6X. C). Repaso de FORTRAN 77 C 20 10 C C C 30 WRITE(6.N FORMAT(6X.N B=0.N B=B+A(I. Imprima los datos y resultados que obtuviste en cada ecuación.3)/14.2/.0/ + A(1. D).0/ + A(1.0 DO 20 I=1.10 INTEGER N PARAMETER (N=3) REAL A(N.2/.J C C DATA A/10000*1./ + 6X. A(2.3)/-10.0/ C DATA A(1.1.// + 6X.0/ DATA X/-2.1)/-3. B).8/ S=0. x2 + x + 1 = 0.J)*X(I) CONTINUE S=S+B*X(J) CONTINUE SALIDA DE RESULTADOS 1.99999 = 0.2/.E14. en base a la fórmula que aprendiste en la secundaria. x2 + x − 6 = 0.2)/10.S.’LA DIMENSION DEL VECTOR X ES:’.2X.

γ > 0 y δ > 0.1) es no lineal.2. Sin embargo. por ejemplo: polinomiales. Sin embargo. Es importantes notar que es posible probar que el problema de Cauchy determinado por el sistema (1.1. tiene solución. medicina.1. Donde x(t) denota la población de presas en el tiempo t. estudia la dinámica de dos poblaciones que interactúan entre sí a través de predador-presa. entonces tiene sentido el operador: o F : X −→ Y x −→ F (x) = y . en ecología el sistema de EDO’s1 : x = αx − βxy y = γxy − δy (1. x0 . biología. Existe solución y es única. existe un δ > 0 tal que x − x0 < δ implica que F (x) − F (x0 ) < ε. 1 Formuladas por primera vez en 1925 y son conocidas como las ecuaciones de Lotka-Volterra. aunque un problema matemático tiene solución única. Existe solución pero no es única. Los modelos matemáticos generalmente se expresan por medio de ecuaciones de algún tipo. Los problemas matemáticos se pueden distinguir por: A). entre muchos otros. C). Definición 1. y y(t) denota la población de predadores en el tiempo t. y0 . 1. β > 0. y por Y = {y ∈ Rm : y es soluci´n del problema P }. la solución es única y depende continuamente de los datos del problema formados por t0 . B). sistemas lineales de ecuaciones algebraicas. γ y δ. No tener solución.1) y las condiciones iniciales x(t0 ) = x0 y y(t0 ) = y0 . dado que el sistema de EDO’s (1. . entre otros) en problemas matemáticos (modelos matemáticos). Sea P un problema matemático que tiene solución para cada conjunto admisible de datos. Modelos matemáticos La modelación matemática es el proceso de reformular problemas científicos (de ingeniería. la solución puede no depender continuamente de los datos del problema. La solución de un problema matemático se dice que depende continuamente de un conjunto de datos x0 del problema si el operador F es continuo en x0 . EDP’s. Si se denota por X = {x ∈ Rn : x es un conjunto de datos admisibles del problema P }. Introducción a la computación científica y el análisis numérico 11 ¿Son correctos tus resultados? Comenta. α.2. EDA’s. es decir dado ε > 0 arbitrario.1) con α > 0. física. Por ejemplo. ecología. EDO’s. β. no es posible hallar expresiones analíticas para x(t) y y(t).

12

1.2. Modelos matemáticos

Se dice que la solución depende continuamente de los datos del problema, si depende continuamente de cada conjunto de datos x0 admisibles del problema. Definición 1.2.2. Un problema matemático se dice bien planteado (en el sentido de Hadamard2 ), si satisface las siguientes condiciones: A). Existe solución para cada conjunto admisible de datos. B). Para cada conjunto admisible de datos la solución es única. C). La solución depende continuamente con respecto de los datos. En términos del operador F , la existencia se traduce en decir que F −1 (Y ) = X, y la unicidad se traduce en decir que F −1 es inyectivo. Definición 1.2.3. Un problema matemático se dice mal planteado si no es bien planteado, es decir si no cumple alguna de las condiciones de Hadamard. Los problemas bien planteados son los que se pueden “resolver razonablemente bien” con la ayuda de una computadora. Sobre todo cuando la solución del problema no se puede hallar en forma analítica, como el problema de valores iniciales determinado por el sistema de EDO’s (1.1). Para ello, se necesita: A). Desarrollar métodos (algoritmos) para resolver las ecuaciones numéricamente. B). Implantar los métodos en un software numérico (programación). C). Ejecutar el software (o programa) en una computadora para simular numéricamente el proceso físico o de interés. D). Representar los resultados numéricos obtenidos en alguna forma comprehensible tales como visualización gráfica. E). Interpretar y validar los resultados numéricos obtenidos (confrontarlos con la realidad), repetir parte o todo el proceso numérico si es necesario. Durante el curso se abordará el estudios de métodos numéricos conocidos, y se implantarán algunos haciendo programas domésticos en FORTRAN o en MATLAB, y la implantación de otros usando rutinas profesionales también de FORTRAN y MATLAB. Para que un problema matemático se pueda resolver con la ayuda de una computadora a través de métodos numéricos, es necesario transformarlo a su vez en un problema computacional. El proceso de transformación se llama discretización del problema matemático. Una esquematización del proceso se muestra en la figura 1.2. Para discretizar un problema matemático se sigue algunas de las estrategias siguientes:
2

Jacques Salomon Hadamard, matemático francés, 1865-1963.

1. Introducción a la computación científica y el análisis numérico

13

Problemas científicos

Modelación matemática

Problemas matemáticos

Problemas bien planteados Discretización

Problemas computacionales

Métodos numéricos

Software numérico

Interpretación y validación

Visualización gráfica

Software numérico

Soluciones numéricas

Figura 1.2: Esquematización del proceso de solución numérica de un problema científico.

A). Reemplazar espacios de dimensión infinita a espacios de dimensión finita. B). Reemplazar procesos infinitos a procesos finitos (por ejemplo, una integral o una serie infinita en una suma finita). C). Reemplazar ecuaciones diferenciales (ordinarias o parciales) en ecuaciones algebraicas. D). Reemplazar problemas no lineales en problemas lineales. E). Reemplazar sistema de orden alto en sistemas de orden bajo. F). Reemplazar funciones complicadas en funciones simples (como polinomios). G). Reemplazar matrices generales en matrices que tienen formas simples (como triangular superior).

1.3.

Fuentes de aproximación

Se distinguen al menos cinco fuentes de aproximación que pueden generar errores que afectan los resultados de un problema científico. 1. De modelación. Durante el proceso de modelación es posible que se omitan o se simplifican algunas consideraciones importantes del problema bajo estudio (por ejemplo, fricción, viscosidad, resistencia del aire, entre otros). En el caso del modelo predador-presa (1.1), se

14

1.3. Fuentes de aproximación

obtuvo bajo el supuesto de que las presas disponen de una cantidad ilimitada de alimentos, y que interactúan con los predadores en un hábitat cerrado, entre otros. 2. De mediciones empíricas. Ocurren cuando hay necesidad de obtener datos en un laboratorio o en el campo experimental, pues todos los instrumentos de medición hasta ahora inventados son de precisión finita (errores sistemáticos). La exactitud de los datos puede estar fuertemente limitado por el tamaño de la muestra, o las lecturas pueden estar sujetos a ruidos aleatorios (errores accidentales). Por ejemplo, cuando hay necesidad de medir la temperatura durante una determinada hora del día durante un mes, o cuando hay necesidad de obtener el censo de población de un país. 3. De cálculos previos. Ocurren cuando los datos de entrada del problema fueron resultados de cálculos aritméticos previos cuyos resultados fueron únicamente aproximados. Estos tres tipos de fuentes de aproximación ocurren entre el problema científico y su planteamiento al problema matemático, por lo que en general, los errores que generan quedan fuera de control del analista numérico. Las otras dos fuentes de aproximación ocurren entre el problema matemático y la solución del problema computacional. Los errores que se generan en estas dos últimas fuentes pueden ser controlados por el analista numérico. 4. De discretización (aproximación o truncamiento). Ocurren cuando el problema matemático es transformado en un problema computacional, pues algunas características del modelo matemático pueden ser omitidos o simplificados. Por ejemplo, cuando una suma infinita
∞ N

an
n=1

es “reemplazado por la suma finita
n=1

an ,

o cuando una
b N

f (x)dx es “reemplazado por una suma finita de la forma
a n=1

ωn f (xn ) .

5. De redondeo. Ocurren al realizar una “infinidad” de operaciones aritméticas (manualmente, con una calculadora o computadora), para resolver problemas computacionales. Pues de nuevo todos los instrumentos de cálculo hasta ahora inventados son de precisión finita, por lo que tienen que aproximar los resultados de las operaciones aritméticas realizadas. Ejemplo 1.3.1. (Aproximaciones). Calcular la cantidad de m2 que ocupa el piso del salón. Solución. Por observación directa se puede suponer que el salón es rectangular (aproximación por modelación), por lo que su área será A = base × altura . Hay que medir la base y la altura en metros (mediciones empíricas). La exactitud de los datos dependerá del tipo de instrumento a usar (errores sistemáticos), y del lecturista de la

se introducen los conceptos de error absoluto y error relativo. 1. Suponiendo que la base = 4. |x| si x = 0 .35 m y la altura = 9. En términos de porcentajes. x si x = 0 . se tiene que E= |x − x| × 100. es el porcentaje de error con que x se aproxima a x.35 m × 9.4. por lo que tanto la base como la altura pueden ser el resultado de cálculos previos. se llama análisis de error. y el error relativo de x con respecto de x por Erel = x−x . Dado que el salón es bastante largo. . = Esto último se llama aproximación por redondeo y ocurren prácticamente en todas las operaciones aritméticas que se realizan. es necesario saber qué tan cerca se está del resultado deseado. Dos interpretaciones importantes del error relativo son: A). pero no tiene sentido su error relativo.1. se limitará con x en una dimensión. Por el momento. se dice que “ x se ha calculado con un E % de error”.4. entonces A = 4. Sea x el valor verdadero y x un valor aproximado de una cierta cantidad. Para ello. por lo que se define la magnitud del error relativo como x−x . Definición 1. Se define el error absoluto de x con respecto de x como ∆x = x − x . el error absoluto tiene sentido para ellos. Error absoluto y error relativo Para hacer el análisis de error en la solución de un problema matemático. se necesitará medir la longitud del salón por tramos.18 m.1. Generalmente. si sólo se dispone de una regla o cinta métrica de 3 metros. x si x = 0.18 m = 39. Introducción a la computación científica y el análisis numérico 15 medida (errores accidentales). Cuando x y x son vectores o matrices. 2 El estudio del efecto que producen las aproximaciones sobre los resultados de un problema científico o matemático.9330 m2 ∼ 40 m2 . donde · es algún tipo de norma.

. . mientras que otros pueden ser atribuidos a procesos computacionales subsecuentes. Ejemplo 1. Solución. aproximaciones por redondeo afectan tanto a los datos de entrada como resultados computacionales subsecuentes). significa que x coincide con x hasta p dígitos significativos aproximadamente.14159265 · · · = −0. Calcula el error absoluto y relativo de la aproximación x = 3. .00001375 · · · = −0.437 · · · × 10−3 % de error . . Aunque esta distinción no siempre es claro (por ejemplo. i ≥ 2 y e entero. se llaman dígitos significativos de x. |∆x| E= × 100 ∼ 0. d2 .5.d1 d2 · · · dt · · · ) × 10e .1375 · · · × 10−4 ∼ = = 0.1415789 − 3.4. |x| x = 0. = |x| 3.1415789 de π.16 B). = |x| lo que muestra la buena exactitud de x como aproximación de π.5. es sin embargo importante entender todos los efectos posibles de las aproximaciones en el cálculo numérico. Los dígitos d1 .1. 1. 0 ≤ di ≤ 9 . El error absoluto de la aproximación es ∆x = 3. Cuando 1. Propagación del error de los datos y error computacional |x − x| ∼ −p = 10 .437 · · · × 10−5 ∼ 10−5 . donde di son dígitos enteros.14159265 · · · lo que confirma que x coincide con π hasta 5 dígitos significativos. .1375 · · · × 10 −4 . La magnitud del error relativo es |∆x| 0. Dado que x = 0 se puede representar de manera única (salvo excepciones) como x = (±0. 1 ≤ d1 ≤ 9 . Además. Propagación del error de los datos y error computacional Algunos errores que ocurren en la solución de un problema científico pueden ser debido a las aproximaciones de los datos de entrada del problema.

Dado que hay errores en los datos verdaderos x. Ejemplo 1. se estaría resolviendo un problema aproximado (vecino): f : R −→ R x −→ f (x) . 1 Error total = 1 − 2 3 8 2 x2 . y f (x) − f (x) se le llama propagación del error de los datos. El error total en el proceso se puede descomponer como: f (x) − f (x) = [f (x) − f (x)] + [f (x) − f (x)] .1. f  1   f f .9239 = 0. donde f (x) − f (x) se llama el error computacional. y dado que también hay necesidad de discretizar el problema f como un problema computacional f . Un problema típico en una dimensión se puede modelar como el cálculo del valor de una función f : R −→ R . Estimar el error total.5. entonces en lugar del problema (1. 2 − cos π 8 ∼ 0. por el problema computacional f (x) = 1 − para x = π/8 y x = 3/8. = . x • x •   donde x ∈ R son los datos verdaderos del problema y f (x) la solución verdadera deseada. y es independiente de f . Solución. Introducción a la computación científica y el análisis numérico 17 Por simplicidad se considerarán únicamente problemas en una dimensión.9297 − 0.2).• f (x) • f (x) • f (x) Figura 1.1.3: Diagrama del problema f y f. tiene lugar la figura 1. el error computacional y la propagación del error de los datos al aproximar el problema matemático f (x) = cos x .3. se trabajará con datos aproximados x. (1.2) Dado que también tiene sentido en resolver el problema f con los datos aproximados x.0058 .

9239 = 0. Un desarrollo alternativo es considerar la solución aproximada y del problema original como la solución exacta de un problema modificado. El estudio del error prospectivo (o del error prospectivo relativo) se llama Análisis de error prospectivo. Sea el problema matemático (original): Al resolver este problema en la práctica para un x ∈ R dado.18 1.6. La relación entre error prospectivo y retrospectivo se esquematiza en el figura 1.4.9297 − 0. para que la solución exacta del problema modificado sea y ? En relación al dato verdadero x del problema original. = y la propagación del error de los datos es f (x) − f (x) = cos 3 8 − cos π 8 ∼ 0.0066 .0008 . Desde el punto de vista del error retrospectivo. Nociones de análisis de error prospectivo y retrospectivo Por otro lado. Nociones de análisis de error prospectivo y retrospectivo f : R −→ R x −→ y = f (x) . se obtiene una solución aproximada y. .6. El estudio del error retrospectivo (o del error retrospectivo relativo) se llama Análisis de error retrospectivo. significa encontrar una aproximación x de x tal que f (x) = y .9305 = −0. Surge de manera natural la pregunta: ¿Qué tanto se debe modificar el problema original. se le llama error prospectivo (progresivo o hacia delante).9305 − 0. el error computacional es 1 f (x) − f (x) = 1 − 2 3 8 2 − cos 3 8 ∼ 0. El error absoluto respecto a la solución verdadera y dado por: ∆y = y − y . el error retrospectivo relativo es suficientemente pequeño). La cantidad se llama error retrospectivo (regresivo o hacia atrás). ∆x = x − x . una solución aproximada de un problema es “bueno” si es la solución exacta de un problema vecino (es decir. = 1.

3.00505 · · · ∼ 1 % de error. Para el análisis de error prospectivo. Introducción a la computación científica y el análisis numérico 19 x • f Q Q Q 6 Q - • y = f (x) 6 Q f Error retrospectivo QQ ? Q Error prospectivo Q Q Q Q ? s Q .4 − 1.6. = = |y| 1. y es independiente del método f que se usa para resolver el problema.• y x • f = f (x) = f (x) Figura 1. Hacer el análisis del error retrospectivo y prospectivo del problema y = 2 si y = 1. Nociones de sensibilidad numérica y número de condición Sea f : R −→ R un problema matemático con datos verdaderos x y datos aproximados x. Para el análisis del error retrospectivo. Del diagrama de la figura 1. se tiene que f (x) − f (x) = [f (x) − f (x)] + “Error computacional” [f (x) − f (x)] “Propagaci´n del error de los datos” o La propagación del error de los datos depende únicamente de x.4142 · · · = −0.96 por lo que la solución y es razonablemente bueno. se tiene: ∆x = x − x = 1.0142 · · · |∆y| × 100 ∼ 1.7. y2 =x =⇒ x = (1.1.04 |∆x| × 100 = 0. √ Solución. √ Ejemplo 1. Estudiar este error se llama hacer análisis de . |x| ∆y = y − y = 1. se trata de encontrar x tal que y = x .4)2 = 1.4: Relación entre el error prospectivo y retrospectivo.96 − 2 = −0.02 × 100 = 2 % . y una aproximación f de f .4 es una solución aproximada.1.

7. depende del error de los datos de entrada y del método o algoritmo f que se usa para resolver el problema. Ejemplo 1. Un problema matemático se dice mal condicionado (sensible o mal comportado numéricamente). no siempre es posible obtener la igualdad en (1. Estudiar este error se llama hacer análisis de estabilidad del método. y = 0 . Se define el número de condición del problema matemático como: f (x) − f (x) y−y ∆y f (x) y y κ= ≡ ≡ . Así que un problema bien condicionado debe tener su número de condición razonablemente “pequeño”. . En este caso. f (x) − f (x) = f (x + ∆x) − f (x) ∼ = f (x)∆x .2.1. En la práctica. por lo que el número de condición es un factor de amplificación de la magnitud del error prospectivo relativo respecto de la magnitud del error retrospectivo relativo.3. es decir.7. si cambios relativos pequeños en los datos de entrada del problema causan cambios relativos pequeños en la solución del problema. x−x x−x ∆x x x x Así que ∆y ∆x =κ .7. el número de condición del problema puede ser arbitrariamente grande. Definición 1. x x = 0. Sea x = 0 un dato verdadero y x una aproximación de x. Análisis de sensibilidad del problema de evaluar una función diferenciable f : R −→ R. Un problema matemático se dice bien condicionado (insensible o bien comportado numéricamente).3). Definición 1. Definición 1. si cambios relativos pequeños en los datos de entrada del problema causan cambios relativos muy grandes en la solución del problema. (1. y x x = 0. y = 0 .1. y = 0 . Nociones de sensibilidad numérica y número de condición sensibilidad del problema.20 1. Solución.7. por lo que es suficiente con tener una estimación de la forma: ∆y y κ ∆x .M.V.3) x = 0.7. El error computacional depende de x y de f . ∆x = x − x =⇒ x = x + ∆x T.

entonces f (x) = 1 x y κ∼ = 1 .7.0001) = 9. . para x = 1. B). por lo que el problema de calcular raíces cuadradas es bien condicionado. x > 0 . por lo que el problema de calcular logaritmos es bien condicionado para x grande y para x “cercano” a 0. Si f (x) = x . κ= = x−x f (x) x f (x) = 0 .2.9985 × 10−5 Por lo que κ ∼ 104 = y y ∆x ∼ −4 = 10 .9998 × 10−4 y ∆y ∼ = 1. por lo que el error relativo de la solución se amplifica diez mil veces el error relativo del dato de entrada.0001 y x = 1.9995 × 10−5 y y = ln(1.0002) = 1. Por ejemplo. x > 0 . Si f (x) = ln x . y ∆y = y − y = 9. x ∆y ∼ 4 ∆x = 10 y x El número de condición es muy grande. Análisis de sensibilidad del problema de calcular raíces reales de funciones continuamente diferenciables f : R −→ R. depende de x. Problema matemático: hallar α ∈ R tal que f (α) = 0 . = x 2x 2 y x > 0. | ln x| x > 0. Introducción a la computación científica y el análisis numérico 21 Por lo tanto f (x) − f (x) f (x) ∼ xf (x) . Dos casos particulares: √ A). Ejemplo 1. entonces 1 f (x) = √ 2 x x √ x 1 2 x κ∼ √ = = .0002 : ∆x = x − x = 10−4 y y = ln(1. pero mal condicionado “cerca” de 1. f y f .1.

f (α) = 0 .7. Nociones de sensibilidad numérica y número de condición Solución. En particular. entonces f (α) = 0 ⇐⇒ α = f −1 (0) = g(0).22 1. 0) se muestra en la figura 1. Mal condicionado (muy sensible numéricamente) si f (α) es arbitrariamente pequeño. f (x) y = f (x) . Aplicando el análisis de sensibilidad al problema de evaluar la función diferenciable g en y = 0. 0) se muestra en la figura 1. se trabajará con el número de condición absoluto: |g(y) − g(0)| ∼ 1 κabs = . El comportamiento geométrico de raíces de multiplicidad impar “cerca” de (α. = |y − 0| |f (α)| A). Conclusión 1.7. T. y el comportamiento geométrico de raíces de multiplicidad par “cerca” de (α. el problema de hallar raíces de multiplicidad > 1 (f (α) = 0) es muy mal condicionado. 0). El problema de hallar una raíz α de una función continuamente diferenciable f : R −→ R es: Como el error relativo no está definido para y = 0. 0) X Figura 1. Y y = f (x) 0 (α.V. Geométricamente corresponde el caso en que la recta tangente a la gráfica de y = f (x) es casi horizontal en (α.5: Geometría de raíces de multiplicidad impar y muy mal condicionados. se tiene que: g(y) − g(y) = g(y + ∆y) − g(y) ∼ = Dado que interesa el caso y = 0. como se muestra en la figura 1. g (y)∆y = 1 ∆y .6. . por lo que existe la función inversa de f . Si g ≡ f −1 . Si f (α) = 0 (raíz simple).5. entonces f es localmente invertible en α.M.5. entonces g(y) − g(0) ∼ = 1 ∆y f (α) y ∆y = y − 0 = y .1.

un algoritmo es numéricamente estable si los resultados que produce es la solución exacta de un problema vecino (correctamente formulado). Definición 1.1. Desde el punto de vista del análisis del error retrospectivo.2. Bien condicionado (insensible numéricamente) si f (α) es razonablemente grande. B). es decir. Nociones de estabilidad y exactitud Definición 1. Introducción a la computación científica y el análisis numérico 23 Y y = f (x) 0 (α. Métodos numéricamente estables no necesariamente producen resultados exactos del problema original. Un algoritmo (método) numérico es numéricamente estable si los resultados que produce es relativamente insensible a perturbaciones debido a las aproximaciones hechas durante el proceso de cálculo. 1. ≤ f (x) − f (x) “Estabilidad num´rica del m´todo” e e + |f (x) − f (x)| “Sensibilidad del problema matem´tico” a .6: Geometría de raíces de multiplicidad par y muy mal condicionados. que las perturbaciones que ocurren durante el cálculo afectan menos que pequeños errores de los datos de entrada del problema dado.8. Se dice que y es exacta como solución del problema matemático f si la magnitud del error prospectivo |y − y| es “suficientemente pequeño”.8. Sea y la solución verdadera de un problema matemático f y y una solución aproximada obtenida por un método f . Puesto que |y − y| Entonces A). 0) X Figura 1.8.1.

Discuta si es falso o verdadero las afirmaciones 1.6 de la página 42 de Heath (2002) [12]. Ejercicios 1. Métodos numéricamente inestables aplicados a problemas bien condicionados pueden producir resultados inexactos del problema. Métodos numéricamente estables aplicados a problemas bien condicionados producen resultados exactos del problema.9. Ejercicios B).6 de la página 39 de Heath (2002) [12]. C). 1.1 al 1.9. 2. 3.17 de la página 40 de Heath (2002) [12].24 1. Contesta brevemente las preguntas 1. D).2 al 1. .12 al 1. Métodos numéricamente estables aplicados a problemas mal condicionados pueden producir resultados inexactos del problema. Resuelva los ejercicios 1.

= x4 + x−3 . x−1 x−2 x−3 x−4 x−5 x−6 =0 =1 =1 =1 =0 =1 . 8 y 16. por lo que el resultado es x = 1111011. 25 . .303. y la parte fraccionaria de arriba hacia abajo. x6 = 0. Tabla 2. .Capítulo 2 Aritmética de punto flotante 2. . Para convertir x0 a binario se aplica el algoritmo de la división consecutivamente. . como se indica en la tabla 2. x7 = 0. La parte entera binaria se lee de abajo hacia arriba.912.456.1: Parte entera x0 = 2(61) + 1 61 = 2(30) + 1 30 = 2(15) + 0 15 = 2(7) + 1 7 = 2(3) + 1 3 = 2(1) + 1 1 = 2(0) + 1 2 · x1 2 · x2 2 · x3 2 · x4 2 · x5 2 · x6 Parte fraccionaria = x2 + x−1 . x4 = 0. x2 = 0. = x3 + x−2 . entre otros.1.825. .1: Conversión de número decimal a binario. . sino que se han usado otros sistemas como el de base 20 y 60 entre otros. que se puede representar en forma normalizado como: x = (0. Representación de números reales en bases arbitrarias Un estudio sobre el desarrollo histórico del sistema de los números reales muestra que el sistema decimal no ha sido el único que se ha utilizado.011101 · · · .1. donde x0 ∈ Z+ y x1 ∈ R+ con x1 < 1.1. . En efecto.456 en el sistema binario. = x6 + x−5 . Ejemplo 2.213.606. Representar el número decimal periódico x = 123. Actualmente las computadoras usan sistemas de base 2.651. x5 = 0. x3 = 0. y para convertir x1 a binario se multiplica consecutivamente por 2. = x5 + x−4 . . se descompone x en dos partes x0 = 123 y x1 = 0. = x7 + x−6 .1111011011101 · · · ) × 27 .

pues por definición 0 < x1 < 1. se considera la regla β · xν = xν+1 + x−ν . lo que implica que 0 ≤ xν+1 < 1. y es el siguiente: a Para la existencia de la representación. El argumento inductivo anterior muestra que para cualquier n ∈ N. La primera propiedad es claro para ν = 1. β − 1}. . . ν ∈ N. β − 1} .2) Demostración. existe una única representación de tipo (2. Por lo que x−1 tiene la propiedad deseada.1. Se probará la segunda propiedad. x1 se puede expandir como n x1 = ν=1 x−ν β −ν + β −n xn+1 . Se supone cierto para ν > 1 y se probará para ν + 1. · · · .1) con x−1 = 0 y con la propiedad de que para cualquier n ∈ N. se tiene que 0 < x1 < 1 implica 0 < β · x1 < β. (2. Como β · xν+1 = xν+2 + x−(ν+1) . (2. . x = 0. entonces 0 ≤ β · x1 − x2 = x−1 < β − x2 ≤ β.1. (2. Representación de números reales en bases arbitrarias Teorema 2. donde 0 ≤ xν+1 < 1.1. 1. es decir x−ν ≤ β · xν < x−ν + 1. entonces x se representa en la forma β−cimal estandarizada: ∞ x=± x−ν β −ν ν=1 × β e ≡ ± (0. Así se producen dos sucesiones de números {xν }ν∈N y {x−ν }ν∈N con las propiedades 0 ≤ xν < 1 . sea x ∈ R. y si β · x1 = x2 + x−1 . Una prueba se da en H¨mmerlin and Hoffmann (1991) [11]. donde x−ν es el entero más grande que no excede a β · xν . donde x−ν es el entero más grande que no excede a β · xν .1. existe un ν ≥ n tal que x−ν = β − 1 . y el número entero e := min{k ∈ Z : |x| < β k }. entonces 0 ≤ β · xν − x−ν < 1.1) con e ∈ Z y x−ν ∈ {0. . Puesto que β · xν = xν+1 + x−ν .26 2. 0 ≤ xν+2 < 1 y x−(ν+1) es el mayor entero que no excede a β · xν+1 . Si β ≥ 2 es un entero y x ∈ R. x = 0. Entonces el signo de x queda únicamente determinado si x > 0 o x < 0. y se aplica a x1 el método de la parte fraccionaria del ejemplo 2. x−ν ∈ {0. Sea x1 := β −e |x| . La definición de e implica que β e−1 ≤ |x| < β e y que 0 < x1 < 1. con β en lugar de 2. Se supone que x−ν tiene la propiedad deseada para ν > 1 y se probará para ν + 1. Generalizando el método del ejemplo 2. 1.1.x−1 x−2 · · · ) × β e .1. Para ν = 1.3) . lo que muestra que x−(ν+1) tiene la propiedad deseada. Más aún. ν ∈ N. Así que 0 ≤ β · xν+1 < β y 0 ≤ β · xν+1 − xν+2 = x−(ν+1) < β − xν+2 ≤ β.1.

Sea z−ν := y−ν − x−ν para todo ν ∈ N. se supone que x1 tiene dos expansiones ∞ ∞ x1 = ν=1 x−ν β −ν y y1 = ν=1 y−ν β −ν . Esta contradicción muestra que la propiedad (2. se tiene la representación ∞ x1 = ν=1 x−ν β −ν . Suponga por el contrario que existe un primer índice n − 1 tal .2). se tiene que xn+1 = 1 que contradice con el hecho de que 0 ≤ xn+1 < 1.1). β−1 β−1 por lo que n x1 = ν=1 x−ν β −ν + β −n . · · · .2) se debe cumplir. que a su vez implica que 0 < β −e |x| < β −1 . lo que implica que 0 < x1 < β −1 . que existe un n ∈ N tal que x−ν = β − 1 para todo ν ≥ n + 1.1). se supone que no se satisface. Es claro que ∞ z−ν β −ν = 0. es decir. pues en caso contrario.2. Aritmética de punto flotante 27 con x−ν ∈ {0. Para probar la unicidad de la representación (2. 1. ν=n+1 donde ∞ ∞ β ν=n+1 −ν =β −n−1 ν=0 β −ν =β −n−1 1 1− 1 β =β −n−1 β β −n = . La elección del entero e implica que x−1 = 0. de donde resulta la representación (2.3). ν=1 Pasando al límite cuando n → ∞. Así que para cualquier n ∈ N n 0 ≤ x1 − x−ν β −ν < β −n . β − 1} y 0 ≤ xn+1 < 1. Comparando esta última igualdad con la fórmula (2. y hay que probar ν=1 que z−ν = 0 para todo ν ∈ N. Así que n ∞ x1 = ν=1 x−ν β −ν + (β − 1) β −ν . Para probar la propiedad (2. de donde 0 < |x| < β e−1 que contradice la elección de e. 0 < β · x1 = x2 < 1.

d1 d2 · · · dt × β e ∪ {±0. y por el supuesto anterior se debe tener que z−(n−1) = 1.2. . Note que si e ≥ 1. L. t también es un número entero > 0 que se le llama precisión del sistema. parte entera parte β−cimal 2. por lo que z−ν = −β + 1 . Algunos ejemplos típicos que se encuentran en la literatura se muestran en la tabla 2.2). A. t ceros donde β es un número entero ≥ 2 que se llama base del sistema. . β − 1}.4) La única posibilidad para que se cumpla la igualdad anterior es que y−ν = 0 y x−ν = β −1. por lo que z−ν = 0 para todo ν ∈ N. y m = 0. 00 · · · 0} . 10 (decimal) y 16 (hexadecimal) donde los dígitos en este último caso son 0.F. U ] es el rango del exponente e con L entero negativo y U entero positivo. C. 8 (octal).P. Las bases más usados son β = 2 (binario). U ).d1 d2 · · · dt × β e ∈ fl(β. . 1. por lo que se dice que los números punto flotante distintos de cero tienen formato normalizado. y [L. . entonces β −1 ≤ m < 1 . Así que las dos expansiones deben ser lo mismo. para todo ν ≥ n . . d1 = 0. · · · . U ) = ±0.    = β −(n−1) . t. L ≤ e ≤ U di ∈ {0. 2. Pero esto contradice con el supuesto de que x1 satisface la propiedad (2. Es claro que se puede suponer que z−(n−1) ≥ 1. .) se define por: fl(β.F.28 2. entonces (2. Puesto que ∞ ∞ ∞ z−(n−1) β −(n−1) = ν=n (−z−ν )β ∞ −ν ≤ ν=n |z−ν |β −ν ≤ ν=n (β − 1)β −ν = (β − 1) ν=n β −ν = (β − 1)β −n 1 1− 1 β entonces z−(n−1) ≤ 1. β − 1}. D. E y F. . Los elementos del S.d1 d2 · · · dt . . 9. Al número m se le llama mantisa de x.2. . L. t. Observación 2.4) realmente debe ser una igualdad. se llaman números punto flotante. para todo ν ≥ n.         (2. 1.2. B.1) se escribe simplemente en la forma β−cimal: x = ± x−1 x−2 · · · x−e .1. Esto significa que la desigualdad en (2.P. Sistemas de punto flotante d1 ∈ {1. Si x = ±0. i = 2 : t El sistema de punto flotante (S. Sistemas de punto flotante que z−(n−1) = 0. x−e−1 x−e−2 · · · .2.

REAL NUMERO.’ EL RESULTADO DE LA RAIZ ES:’. Inc. New York 10017. Aritmética de punto flotante 29 β 2 2 2 10 16 t L U 24 −126 127 53 −1 022 1 023 48 −16 383 16 384 12 −499 499 6 −64 63 Sistema IEEE SP IEEE DP Cray HP calculator IBM mainframe Tabla 2. 15 bits para el exponente y 64 bits para la mantisa m (equivalente entre 19 y 20 dígitos decimales significativos).2.. d1 es siempre 1 y no hay necesidad de almacenarlo. 11 bits para el exponente e y 52 bits para la mantisa m (equivalente entre 15 y 16 dígitos decimales significativos). El sistema IEEE DP (formato doble) es un sistema binario de 64 bits: 1 bit para el signo. El sistema IEEE1 SP (formato simple) es un sistema binario de 32 bits (ancho de campo): 1 bit para el signo.. RAIZC NUMERO = 145 RAIZC = -SQRT(NUMERO) WRITE(6.10)RAIZC 10 FORMAT(/. Los microprocesadores Intel realizan su aritmética con un formato extendido en hardware de 80 bits: 1 bit para el signo. 2002 [19]).2: Parámetros típicos de sistemas de punto flotante. El bit del signo es 0 para números positivos y 1 para los negativos.. En un sistema binario. pero aquí se sigue la notación de Buchanan and Turner (1992) [1].1204159E+02 C IMPRESION DE RESULTADOS EN PRECISION DOBLE The Institute of Electrical and Electronics Engineers. 345 East 47th Street.7) END Al ejecutar el programa imprime el resultado (nótese el formato): EL RESULTADO DE LA RAIZ ES: -. por lo que se gana un bit extra de precisión para un campo de ancho dado (así el número 1 se le considera un bit escondido). New York. Se presentan a continuación dos programas que imprimen resultados en formato simple y doble precisión. C IMPRESION DE RESULTADOS EN PRECISION SIMPLE C C2345678.1X. 8 bits para el exponente e y 23 bits para la mantisa m (equivalente a 7 dígitos decimales significativos). 1 . H¨mmerlin and Hoffmann (1991) [11]. a y Stoer and Bulirsch (1993) [24]. Existe una forma alternativa para normalizar los números punto flotante.E13.8X. en este caso d1 no está oculto (Overton.

1. que se les llama números subnormales. 2. t−1 ceros Dado que en el sistema binario: y se guarda su mantisa solamente los t − 1 ceros (el 1 está oculto).30 2. di ∈ {0. . 1 − β βt xmin = 1. 1}.d1 d2 · · · dt−1 × 2L−1 . En efecto: xmax = 0. Estos números no están normalizados y por consiguiente son menos precisos. Dos números importantes en el sistema fl(β.. i = 1 : t − 1 .’ EL RESULTADO DE LA RAIZ ES:’. U ) son el número positivo más chico y más grande respectivamente. 00 · · · 0 ×2L−1 .2. Números subnormales xmin = β L−1 y xmax = 1 − β −t β U ..15) END El resultado de la ejecución ahora es: EL RESULTADO DE LA RAIZ ES: -.1X.D21.8X.10)RAIZC 10 FORMAT(/.(β − 1)(β − 1) · · · (β − 1) × β U = = = 1 1 1 + 2 +···+ t β β β β−1 β−1 β−1 + +···+ 2 β β βt × βU (β − 1) × β U = (β t−1 + β t−2 + · · · + β + 1) β−1 × βU t β 1 − βt β − 1 × β U = (1 − β −t ) β U . RAIZC NUMERO = . DOUBLE PRECISION NUMERO. t.120415945787923D+02 Observa la diferencia entre los dos programas y las impresiones correspondientes. se aprovechan los espacios que ocupan dichos ceros para almacenar otros números más pequeños de la forma: ±0. Sistemas de punto flotante C C2345678.145D+3 RAIZC = -DSQRT(NUMERO) WRITE(6. L.2.

entonces d  dt dt+1  1 d2  x =  + 2 + · · · + t + t+1 + · · ·  × β e = x− + β β β  β mantisa de x− dt+1 +··· β t+1 × β e < x+ .3. Definición 2. Sea x ∈ R.F. Se define x− como el número punto flotante más cercano a x que es menor o igual a x.3. Definición 2. . βt En este caso se dice que x− se obtiene por truncamiento. x > 0 representado por x = (0. 0.1. di ∈ {0.3. Si el número más cercano es el 0.2.P. Redondeo xmin ≤ |x| ≤ xmax . En adelante. Demostración. y di = 0 para algún i ≥ t + 1. Teorema 2. i ≥ 2. entonces x− = 0.3. 00 · · · 0 1 t−1 ceros × βe .2. x+ = x − + 1 × β e = x− + β e−t . . Si x está en el intervalo normalizado del S.F. .d1 d2 · · · dt−1 dt × β e Más aún: x+ − x− = β e−t . Aritmética de punto flotante 31 2.d1 d2 · · · dt−1 dt dt+1 · · · ) × β e . Sea β ≥ 2 un entero par. Casos especiales . β − 1}. 2002 [19]). t ∈ Z+ y x ∈ R. se considerarán todos ellos como números punto flotante. 1. i ≥ t + 1.d1 d2 · · · dt−1 dt + 0. 2. . Dado que   y x+ = d1 ∈ {1. β − 1}. .1. y x+ como el número punto flotante más cercano a x que es mayor o igual a x. si: Los números ±0. ±∞ y los números subnormales no están en el intervalo normalizado de un sistema binario de punto flotante.P. pero todos son números punto flotante válidos. x = 0. Un número real x = 0 está en el intervalo normalizado del S. se establece el signo del 0 igual al de x (Overton.. pues simplemente se descartan los dígitos di . . . .

2. Si 0 < x < xmin . por ejemplo. y x+ es xmin o un número subnormal en el caso binario. entonces x+ se obtiene por truncamiento y x− = x+ − t × β e . Redondeo B). Y si x < −xmax . entonces x− = −∞ y x+ = −xmax . Redondeo al más cercano:   x−     x+ red(x) =  ∞     −∞ si |x| < xmax y |x − x− | < |x − x+ | si x > xmax si |x| < xmax y |x − x− | > |x − x+ | si x < −xmax En el caso de un empate |x − x− | = |x − x+ | : 1) En un sistema binario (β = 2). el valor correctamente redondeado de x depende de cuál de los siguientes cuatro modos de redondeo esté en efecto: i). y x+ = 0 o un número negativo subnormal en el caso binario. U ) ∪ {n´ meros subnormales} ∪ {±∞} . es decir: red : R −→ fl(β. si x < 0 y 1 −xmax < x < −xmin . u definido por A). β Si x < 0 pero −xmin < x < 0.32 A). L. 2002 [19]).3. iii). Redondeo hacia arriba (o hacia ∞): red(x) = x+ . C). Si x > xmax . entonces x− es 0 o un número subnormal en el caso binario. Redondeo hacia cero: ii). entonces la situación se invierte para x− y x+ . entonces x− = xmax y x+ = ∞ . entonces x− = −xmin o un número negativo subnormal en el caso binario. B). Valores correctamente redondeados El estándar IEEE define el valor correctamente redondeado de un número real x a través de una función que se denota como red o fl. . Si x < 0. entonces: red(x) = x . Si x es un número punto flotante. Si x no es un número punto flotante. t. Redondeo hacia abajo (o hacia −∞): red(x) = x− . red(x) = x− si x > 0 x+ si x < 0 iv). se escoge el red(x) como el flotante que tenga su bit menos significativo igual a 0 (Overton.

1.3. Sea β ≥ 2 un entero par. . 2.450) = −1. red(2. m Así que 1 e−t β red(x) − x |red(x) − x| 1 1 −t 1 1−t 1 −(t−1) 2 = ≤ = β ≤ β = β . y para romper el empate se escoge aquél cuyo bit final sea 0”. los bits finales de x− y x+ deben ser distintos. e x |x| m×β 2m 2 2 red(x) − x 1 ≤ β −(t−1) x 2 y red(x) − x 1 ≤ β −(t−1) . . d1 = 0.8 y red(−1.d1 d2 · · · dt · · · . entonces |x − x− | = |x − x+ |. Demuestra que A). β − 1}. El estándar IEEE usa por defecto el modo de redondeo al más cercano. Sea x en un sistema binario dado por x = (0. donde d1 ∈ {1. (2. Teorema 2. De donde 1 1< ≤β. . el red(x) puede ser más complicado pero una forma simple es elegir el flotante cuyo último dígito significativo sea par (redondeo al par más cercano).2.d1 d2 · · · dt · · · ) × β e . entonces red(x) = x+ .3.1. entonces −1 β ≤ m < 1. Redondeos al par más cercano con dos dígitos significativos: red(2.850) = 2. C). t ∈ Z+ y x ∈ R. si se escribe x = ±m × β donde m = 0. .4 . β − 1} y di ∈ {0. Entonces 1 |red(x) − x| ≤ β e−t .5) Ejemplo 2. es decir. 2 Demostración. i ≥ 2. y es la que se usa casi siempre en la práctica. con representación x = ±(0. . Si dt+1 = 0 entonces red(x) = x− . Aritmética de punto flotante 33 2) Si β > 2.750) = 2. 1.2. . Nótese que 1 1 |red(x) − x| ≤ (x+ − x− ) = β e−t . red(x) 2 Similarmente se verifica la tercera desigualdad. Si dt+1 = 1 y di = 1 para algún i > t + 1. . . B). .3. En adelante se referirá por redondeo a dicho modo.8. Si dt+1 = 1 y di = 0 para todo i ≥ t + 2. Ejercicio 2. x = 0. 2 2 e Por otro lado. “Los bits menos significativos.1b2 b3 · · · dt−1 dt dt+1 · · · ) × 2e .

las operaciones se realizan a precisión de la máquina”. Operaciones básicas de punto flotante a−a =δ a si y s´lo si o a = a(1 + δ) . Observación 2. Para la precisión extendida Intel (t = 64).2. U ): fl(a) ≡ red(a) = a(1 + δ) para alg´n |δ| ≤ u . u= Ejemplo 2. El supuesto básico sobre una operación binaria en el sistema de punto flotante fl (β.4.3. El número 2.4.3. −. está incluído el bit escondido.542 × 10−19 ∼ 10−19 . U ) es que para cualesquiera a. ×. = 2 que corresponde a aproximadamente 19 y 20 dígitos decimales significativos.34 Definición 2. y en precisión doble tiene entre 15 y 16 dígitos significativos decimales de precisión. = 2 y en precisión doble (t = 53): 1 × 2−52 = 2−53 = 1. se tiene: 1 × 2−63 = 2−64 = 0.4. Para a ∈ R. L. L. t. o / .11 × 10−16 ∼ 10−16 . U ). t. = 2 Por lo que el sistema de punto flotante IEEE en precisión simple tiene alrededor de 7 dígitos significativos decimales de precisión. b ∈ fl (β. L. “Con este criterio. epsilon de la máquina o exactitud relativa) de la aritmética de punto flotante del sistema fl(β.3. u 1 donde u := β −(t−1) es la unidad de redondeo del sistema. u= 2. Operaciones básicas de punto flotante 1 u = β −(t−1) . ¿Ocurre esto exactamente en la práctica? En ambos casos. . |δ| ≤ u . a = 0 : Así que en el sistema fl(β. t.3. 2 se le llama unidad de redondeo (precisión de la máquina. Ejemplo 2.3.4.2. t. U ): fl(a b) = (a b)(1 + δ). L.596 × 10−7 ∼ 10−7 . 2 Observación 2. En el sistema de punto flotante binario IEEE SP (t = 24) se tiene: u= 1 × 2−23 = 2−24 = 0. donde representa a cualquiera de las cuatro operaciones básicas: +.1.

son TALLER. a. Aritmética de punto flotante 35 Dos talleres numéricos que simulan la aritmética flotante en FORTRAN 77 y en MATLAB.3456782 y fl(a − b) = 0. y se pueden calcular con dos métodos diferentes: Método 1. resolver una ecuación de segundo grado. 2a .2 × 10 −6 .5. Cancelación numérica Sin embargo. y están dadas por: x1. y están dadas por: x1.F. Si ∆ > 0. ∆ = b2 − 4ac . de 7 dígitos significativos y redondeo al más cercano par se tiene fl(a) = 0. Por ejemplo. entre otros.00000012 = 0.m . 2. entonces ambas raíces son reales e iguales.2 = −b/2a . 2a Si ∆ = 0. fl(b) = 0.0000002 = 0. b. Aplicando la fórmula clásica: x1.5. si a = 0. Se recomienda hacer simulaciones con ellos. Al realizar la “resta” en el sistema de punto flotante. Ecuación de segundo grado cuyo discriminante cuando a = 0. Durante la resta se han perdido dígitos significativos que garantizaban la buena exactitud y precisión de los números.3456784. 2.12 × 10−6 .P. entonces ambas raíces son complejas y conjugadas.2 = − b ± 2a |∆| i. Si ∆ < 0.2.EXE y TALLER. está dada por: Se presenta el problema de cancelación catastrófica en el cálculo de las raíces de la ecuación polinomial cuadrática: ax2 + bx + c = 0. entonces ambas raíces son reales y distintas. y los resultados de a − b y fl(a − b) no coinciden ni por redondeo.2 √ −b ± ∆ = . resolver un sistema lineal de 2 ecuaciones algebraicas. se puede presentar un fenómeno numérico conocido como cancelación numérica. en una A.34567823.34567835 y b = 0. se tiene que a − b = 0. c ∈ R.1. En ellos se pueden simular las operaciones básicas.

L. se calculan: √ −b − ∆ x1 = . Para evitar dicho problema. 2. entonces n n n fl k=1 ak = k=1 ak ∗ (1 + εj ) j=k donde |εj | ≤ u. a2 . . ≡ ax1 −b + ∆ y El método 1 es numéricamente inestable.6. Sumas Método 2. . El algoritmo estándar para calcular la suma del problema 2.1 está dado por: sum ← 0. Para a1 .6. En el método 1. hacer sum ← sum + ak Terminar. calcular S= k=1 ak . se aplican las fórmulas de Vieta de la siguiente forma: A).1. U ). j = 1 : n.6.0 Para k = 1 : n. .6.1. Si ak ∈ fl (β. 2a x2 = 2c c √ . k = 1 : n.6.6. 2. Si b > 0. ε1 = 0. no se toma en cuenta el problema de la cancelación numérica en el cálculo de las raíces. Si b < 0. mientras que el método 2 es numéricamente estable. Sumas Análisis de estabilidad numérica n Problema 2. Algoritmo 2. Lema 2. .1. ≡− ax1 b+ ∆ y √ −b + ∆ x1 = . 2a x2 = B).36 2.1. .6. t. an en R. se calculan: c 2c √ .

6.01nu = 1. n+1 n n fl k=1 ak := fl fl k=1 n ak ak + an+1 = fl k=1 ak + an+1 (1 + εn+1 ) = fl k=1 n (1 + εn+1 ) + an+1 (1 + εn+1 ) n = k=1 n+1 ak ∗ (1 + εj ) (1 + εn+1 ) + an+1 (1 + εn+1 ) j=k n+1 = k=1 ak ∗ (1 + εj ).01nu . n Demostración.00501670833 · · · ) ≤ nu + 0.01)n−1 < nu + nu + + +···+ 2! 3! 4! n! 1 1 1 1 + + +···+ 200 60 000 24 000 000 n! × 102(n−1) = nu + nu ∼ nu + nu(0. y se probará la igualdad para n + 1. |εj | ≤ u.01 (0. = . Se supone cierta la hipótesis de inducción para n > 2. entonces |δn | ≤ 1. Inducción sobre n. Sea n entero positivo tal que nu < 0. resulta que δn = j=1 εj + i=j εi εj + i=j=k εi εj εk + · · · + ε 1 ε2 · · · εn .00001666 · · · + 0. Para n = 2 se tiene que fl(a1 + a2 ) = (a1 + a2 )(1 + ε2 ) = a1 (1 + ε1 )(1 + ε2 ) + a2 (1 + ε2 ) con ε1 ≡ 0 y |ε2 | ≤ u. Así que |δn | ≤ nu + = nu + n 2 u2 + n 3 u3 + · · · + n n un n(n − 1) 2 n(n − 1)(n − 2) 3 n(n − 1)(n − 2)(n − 3) 4 u + u + u + · · · + un 2! 3! 4! 0. j = 2 : n + 1 .01 y 0 < |εj | ≤ u para j = 1 : n.2. j=k ε1 = 0.000000041666 · · · + · · · ) = ∼ nu + nu(0.01nu.01)2 (0.005 + 0.2.01)3 (0. Lema 2. Aritmética de punto flotante 37 Demostración. Nótese que al desarrollar el producto. n Si j=1 (1 + εj ) = 1 + δn .

38 2.01. Del teorema 2. con |δn−k+1 | ≤ 1.01ju.1 se sigue que n n n fl k=1 ak − ak k=1 ≤ |a1 | ∗ |δn−1 | + k=2 |ak | ∗ |δn−k+1 | n ≤ |a1 | ∗ 1. ε1 ≡ 0 n n = k=1 ak ∗ (1 + δn−k+1 ) = ak + k=1 k=1 ak ∗ δn−k+1 . L.01(n − 1)u + n k=2 |ak | ∗ 1.01(n − 1)u . Por los lemas 2.6.6. Sumas Teorema 2. t. de donde se sigue la desigualdad (2. . (2. Observación 2. se tiene que n j=k (1 + εj ) = 1 + δn−k+1 . Para k = 3 : n. de donde δn = δn−1 y |δn−1 | ≤ 1.01(n − k + 1)u (2. j = 1 : n − 1 y δn = δn−1 . Demostración. U ).1 y 2. Si ak ∈ fl (β. Por otro lado n n 1 + δn = j=1 (1 + εj ) = j=2 (1 + εj ) = 1 + δn−1 .6.6) con |δj | ≤ 1.6).7) ≤ k=1 |ak | ∗ 1.2 : n n n fl k=1 ak = k=1 n ak ∗ (1 + εj ) .1.01(n − 1)u . y si nu < 0.6.01(n − k + 1)u . j=k |εj | ≤ u .6. entonces n n n fl k=1 ak − k=1 ak ≤ k=1 |ak | ∗ |δn−k+1 | . k = 1 : n.6.1 (Análisis de error prospectivo).

2. Aritmética de punto flotante

39

A). Así que cuando
n n

ak <<
k=1 k=1

|ak | ,

el lado derecho de (2.7) no necesariamente es pequeña. Por lo que no se garantiza la estabilidad del algoritmo 2.6.1 si en la sumatoria hay términos positivos y negativos. B). Si ak > 0, k = 1 : n, entonces de (2.7) se sigue que
n n n


k=1

ak

ak
k=1 k=1

ak ≤ 1.01(n − 1)u .

(2.8)

Por lo tanto, la suma de números positivos hecha en orden natural por el algoritmo 2.6.1 es numéricamente estable. Sin embargo, esto no garantiza que el resultado que se obtiene de la suma sea exacto. C). Si ak < 0, k = 1 : n, entonces
n n

ak =
k=1 k=1

|ak | .

Por lo que la desigualdad (2.8) sigue siendo válida, así que el algoritmo 2.6.1 también es numéricamente estable, para este caso. Teorema 2.6.2 (Análisis de error retrospectivo). Si ak ∈ fl (β, t, L, U ), k = 1 : n, y si nu < 0.01, entonces
n n


k=1

ak

=
k=1

ak ,

donde ak = ak (1 + δn−k+1 ), |δj | ≤ 1.01ju, j = 1 : n − 1, δn = δn−1 . Demostración. Se sigue de los lemas 2.6.1 y 2.6.2. Observación 2.6.2. Del teorema 2.6.2 o 2.6.1, se sigue que
n n


k=1

ak

ak
k=1

≤ |a1 | |δn−1 | + |a2 | |δn−1 | + |a3 | |δn−2 | + · · · + |an | |δ1 | ≤ 1.01u [(n − 1)|a1 | + (n − 1)|a2 | + (n − 2)|a3 | + · · · + 2|an−1 | + |an | ].

Nótese que el error por redondeo se minimiza si |a1 | ≤ |a2 | ≤ · · · ≤ |an | .

40

2.6. Sumas

A). En el caso de suma de números positivos, el error por redondeo se minimiza si se ordenan primero los números de menor a mayor. B). En el caso de suma de números negativos, el error por redondeo se minimiza si se ordenan primero los números de mayor a menor. Lo anterior sugiere construir algoritmos más efectivos que el algoritmo estándar 2.6.1 para la suma de n números arbitrarios. Investiga sobre el algoritmo “divide y vencerás”. Ejemplo 2.6.1. Calcula la suma en orden creciente y decreciente en el sistema fl(10, 4, −9, 9) con redondeo al par más cercano, de los siguientes números: a 1 = 1.234×101 , a2 = 3.453×100 , a3 = 3.441 × 10−2 , a4 = 4.667 × 10−3 y a5 = 9.876 × 10−4 . 12.34 + 3.453 = 15.793 15.79 + 0.03441 = 15.82441 15.82 + 0.004667 = 15.824667 15.82 + 0.0009876 = 15.8209876 0.0009876 + 0.004667 = 0.0056546 0.005655 + 0.03441 = 0.040065 Verifica que la 0.04006 + 3.453 = 3.49306 suma exacta es 3.4930 + 12.34 = 15.833 s = 15.8330646 .

Suma en orden decreciente = 15.82 . Suma en orden creciente = 15.83 . Porcentaje de error ∼ 0.08 % . Porcentaje de error ∼ 0.02 % . = =

2.6.2.

Algunas aplicaciones

Algunos ejemplos en donde se requiere el cálculo de una suma son: 1. Cálculo de ex . Usando la serie de Taylor ex = 1 + x + x2 x3 + +··· 2! 3!

Para x < 0, la serie de Taylor es alternante, por lo que puede haber resultados desastrosos por cancelación numérica. 2. Cálculo del producto punto. El producto punto de dos vectores x = (x1 , x2 , . . . , xn )T y y = (y1 , y2 , . . . , yn )T en Rn , está definido por
n

xT y =
k=1

xk y k .

(2.9)

En particular, el cálculo de la norma de un vector x = (x1 , x2 , . . . , xn )T en Rn :
n

A).

x

1

:=
k=1

|xk |

“Norma 1”

2. Aritmética de punto flotante
n

41

B).

x

2

:=
k=1

x2 k

“Norma Euclidiana”

3. Cálculo de la media y de la desviación estándar. La media de n números reales x1 , x2 , . . . , xn , está definida por: x= 1 n
n

xk ,
k=1

y la desviación estándar (varianza) está definida por 1 σ= n−1
n 1/2

k=1

(xk − x)

2

,

(2.10)

conocido como fórmula de dos pasos (uno para calcular la media y la otra para la desviación estándar). Para una mejor eficiencia, se puede usar la fórmula equivalente de un solo paso 1 σ= n−1
n 1/2

x2 k
k=1

− nx

2

.

(2.11)

4. Método de sustitución prospectiva. Un sistema triangular inferior está dada por
11 x1 21 x1 + ··· n1 x1 + 22 x2 ··· ··· n2 x2 + · · · +

= =
nn xn

c1 c2 ··· = cn

(2.12)

donde

kk

= 0 para k = 1 : n.

La solución del sistema triangular inferior (2.12) se obtiene mediante el método de sustitución prospectiva: x1 = c1
11

,

xk =

ck −

k−1 i=1 ki xi kk

,

kk

= 0, k = 2 : n .

5. Método de sustitución retrospectiva. Un sistema triangular superior está dada por r11 x1 + r12 x2 + · · · + r1n xn = d1 r22 x2 + · · · + r2n xn = d2 (2.13) ··· ··· ··· rnn xn = dn

k = n − 1 : −1 : 1 . el número de condición del problema se puede definir en este caso como κ := 1. y δn+1 = δn .2 que n y = fl(y) = k=0 xk (1 + δn−k+1 ) . Así que para x << −1. se sigue del lema 2.6.01(nu)e|x| . k! k! k=0 (2. 2.6.01ju. entonces de (2.14): |y − y| ≤ 1.01nu .42 donde rkk = 0 para k = 1 : n.1 y lema 2. n Así que |y − y| ≤ k=0 |x|k |x|k |δn−k+1 | ≤ 1.01.14) que el error apriori es acotado por |y − y| ≤ 1.01(nu) = 1. Sumas La solución del sistema triangular superior (2. Por lo que el método de la serie de Taylor es numéricamente estable para x ≥ 0. rnn xk = dk − n i=k+1 rki xi rkk .3. y se hará el análisis al realizar la suma con el algoritmo 2. se sigue de (2. rkk = 0. Bajo el supuesto de que cada xk /k! son bien calculados y que nu < 0. j = 1 : n.6. Análisis de estabilidad numérica en el cálculo de ex x2 xn +···+ .0.1. |y| y nuevamente bajo el supuesto de que x es capturado a precisión de la máquina: κ := e−2x > 1 .6. Si x < 0.6. 2.14) Si x ≥ 0. k! n con |δj | ≤ 1. . |y| Bajo el supuesto de que x es capturado a precisión de la máquina.01(nu) e−2x . el método de la serie de Taylor es numéricamente inestable.13) se obtiene mediante el método de sustitución retrospectiva: dn xn = . 2! n! Se considera el valor exacto de ex dado por el polinomio de Taylor y = ex = 1 + x + n = n(x) .

2 24 1 1 5 3). A).7. g : D ⊆ R → R. F ). C). f (x) = K · O(g(x)) para alguna K ∈ R ⇒ f (x) = O(g(x)).1. f (x) = + ⇒ f (x) = o(x) cuando x → 0. Se dirá que f (x) = O(g(x)) cuando x → x0 si existe una constante C > 0 y δ > 0 tal que f (x) ≤C. Aritmética de punto flotante 43 2. f (x) = . D). f (x) = O(g1 (x) · g2 (x)) ⇒ f (x) = g1 (x) · O(g2 (x)).7. Se tienen propiedades análogas (C) − (F ) para el símbolo “o”. f1 (x) = O(g1 (x)) y f2 (x) = O(g2 (x)) ⇒ f1 (x) · f2 (x) = O(g1 (x) · g2 (x)). Análisis de primer orden de la sensibilidad numérica Símbolos de Landau Sean f. Probarlos de ejercicio.1. Algunos ejemplos: x2 x4 + ⇒ f (x) = O(x2 ) cuando x → 0. f (x) = o(g(x)) ⇒ f (x) = O(g(x)). 2.2. Observación 2. 2. Demostración. g(x) para x ∈ D con x = x0 y |x − x0 | < δ. f (x) = O(f (x)). f (n) = n3 + n2 − n ⇒ f (n) = O(n3 ) cuando n → ∞. g(x) para x ∈ D con x = x0 y |x − x0 | < δ. 3 2 6 1). 2 24 x2 x4 2). E). f (x) = O(g1 (x)) y g1 (x) = O(g2 (x)) ⇒ f (x) = O(g2 (x)). Se dirá que f (x) = o(g(x)) cuando x → x0 si para cualquier constante C > 0 existe δ > 0 tal que f (x) ≤C. Algunas propiedades de los símbolos de Landau. B).7. 1. donde g(x) = 0 para x ∈ D.

. b a b a ∆z δa δb b = − + ψ(δx). . se llama análisis de error de primer orden para el problema y = f (x). . δxn )T . x2 . . δb) ∂a ∂b δa a = − 2 δb + ψ(δx) b b a δa δb b = − + ψ(δx) .15) cuando δx → 0 .15). ∆z = ∂z ∂z δa + δb + ψ(δx) . .7. z a b a de donde y . b = 0. Teorema 2. Se sigue de la fórmula de Taylor de primer orden (Marsden y Tromba. entonces x es una norma sobre Rn .44 2. δxk ≡ ∆xk := xk − xk .7. Demostración. . El análisis del error prospectivo dada por la fórmula (2. . ∆y := y − y ≡ f (x + δx) − f (x) = donde ψ(δx) −→ 0 δx ∞ k=1 ∂f (x) δxk + ψ(δx) .7. . Hacer el análisis de sensibilidad numérica del problema de calcular: z= Solución. xn )T ∈ Rn . .1. Ejemplo 2. entonces el error prospectivo en la evaluación de y = f (x) está dado por n ∞ = max{|x1 |. |xn |} . |x2 |. Si f : D ⊆ Rn → R es diferenciable en x ∈ D. . D abierto en Rn .7. Análisis de primer orden de la sensibilidad numérica 2.2. . 1991 [15]).1. . δx2 .1. k = 1 : n. Análisis de primer orden Lema 2. z a b a ∆z δa δb b ≤ + + |ψ(δx)| .7. δx = (δx1 . δx = (δa. a . b a = 0. ∂xk (2. Si x = (x1 .

Si b > 0. entonces δx 2 ∞ . . lo que implica que ψ ∗ (δx) = O 1. entonces −εb ≤ ∆b ≤ −ε ≤ ∆b ≤ ε. Si además. por lo que 2 max 1 + ∆b b ∆a ∆b . Por lo tanto. a b + ψ ∗ (δx) . Así que 1−ε≤1+ ∆b ≤ 1+ε. b + ∆b b ∆a − ∆b a z b 1+ ∆b b b ∆a − ∆b a = z 1 + ∆b b ∆a ∆b − a b .2. el problema es numéricamente bien condicionado. a b . z donde κ ≤ 2 es el número de condición del problema. entonces −ε|b| ≤ ∆ ≤ ε|b|. Aritmética de punto flotante 45 Así que ∆z ≤ 2 max z donde ψ ∗ (δx) = b b |ψ(δx)| = O a a δx 2 ∞ δa δb . b que también es válido para b < 0. b . de donde 1. Otra alternativa de hacer el análisis de sensibilidad del problema es escribir: z + ∆z = De aquí se sigue que ∆z = = de donde b a + ∆a a b∆a − a∆b a a ∆a − ∆b z − = = = b + ∆b b b(b + ∆b) b b + ∆b b + ∆b a + ∆a . ∆z 1 = z 1 + ∆b b ∆z z ≤ ∆a ∆b − a b . Si |∆b| ≤ ε|b| con 0 < ε εb. |δa| ≤ ε|a| y |δb| ≤ ε|b| con 0 < ε ∆z ≤ κ ε + O ε2 .

. ¿Qué problema práctico dio origen a los números racionales y reales? 2. 3. muy útil para realizar operaciones aritméticas elementales en base 5. resulta que 1 1 1 ≤ ≤ . 5 0 1 2 3 4 10 0 0 0 0 0 0 0 1 0 1 2 3 4 10 2 0 2 4 11 13 20 3 0 3 11 14 22 30 4 0 4 13 22 31 40 10 0 10 20 30 40 100 Tabla 2.46 y tomando inversos.625 y y = 2.41 6 en forma binario. En la tabla 2. por lo que se deduce de nuevo que el problema es numéricamente bien condicionado. Ejercicios 2 .3: Multiplicación en base 5. κ∗ es relativamente pequeño. a b . 4.1) no es única si la condición “xm = β − 1 para algún m ≥ n y cualquier n ∈ N” no se cumple. 3 y 4?. ∆b 1+ε 1−ε 1+ b Por lo tanto.3 se presenta la tabla de multiplicar en base 5. Reescribe los números decimales x = 11. 2 2. octal y hexadecimal. ¿Cuáles serán las tablas de multiplicación en bases 2. 2. Tablas similares se pueden construir en otras bases. ∆z z donde ≤ κ∗ max κ∗ = ∆a ∆b . Encuentre un número cuya representación (2. no puede haber más de dos representaciones de esta clase.8. Observe que en el caso par. Ejercicios Representación de números reales en bases arbitrarias 1.8. 1−ε que para 0 < ε 1.

00001011 011 . 14. 111.b1 b2 b3 · · · . 0 ≤ bk < β. 0 ≤ bk < β para k = 2 : t. demuestra que a ∈ Q. 9. . 111.00001011 y 0.123 . Escribe los números siguientes en bases 2 y 3. B).2. de la forma: ±(0.1111 . Sea β ∈ N.666 · · · )10 = ( ? )3 ¿Todo número decimal finito es binario finito? 6.25)10 = ( ? )2 .a1 a2 · · · ak b1 b2 . Si a ∈ R tiene representación β−cimal: a = b−m b−(m−1) · · · b0 . converge a un número real. 1 demuestra que: b−m b−(m−1) · · · b0 . −(m − 2). .. β > 1.. 15. Sugerencia: Use el algoritmo de la división de Euclides. D). (0. Demuestra que la representación β−cimal estandarizada de todo número racional es un número mixto periódico. en forma estandarizada: −17. (0.bs ) × β p . (0. ¿Es el número a = (0.b1 b2 · · · ) × β p . . Aritmética de punto flotante 47 5. β > 1. k = −(m − 1).30)10 = ( ? )3 .789 . β para todo n ≥ 1 y para todo k ≥ 1. p ∈ Z. es decir. Demuestra que la serie b−m β m + b−(m−1) β m−1 + · · · + b0 + b1 b2 b3 + 2 + 3 +··· β β β donde 0 < b−m < β. β k! 16. p ∈ Z.000001359 .010010001 y −0. β > 1. Escriba los números siguientes en forma estandarizada: −17. · · · . ¿Es la representación β−cimal de 2 mixta periódica? 11. . 7. Sea β ∈ N.b1 b2 · · · bt × β p . . C). 3. Si a = ±. 0 ≤ bk < β para k = 2.789 y −0.00001011 . Considera la sucesión {qn }n∈N ⊆ Q. 0 < b1 < β. −0.010010001 · · · )3 un número racional? 12. Sea a = (0. Sea β ∈ N. Demuestra que el número a = ∞ k=1 1 es irracional.30)10 = ( ? )2 . (0. 0 < b1 < β.123 . Escribe los siguientes números binarios en números decimales en su forma estandarizada: −101. 13.b1 b2 · · · bn ≤ a ≤ b−m b−(m−1) · · · b0 .b1 b2 · · · bn ) × β p . Convertir los números siguientes en base dada a otra indicada. qn = (0. 111. 8.b1 b2 · · · bk + k . √ 10. A).

−2. ¿Cuál es el espaciamiento entre los dos números consecutivos más grandes? Redondeo 23. y −0.1101×2−2 . 0. por el axioma del supremo. Considera a los números de punto flotante fl(10. U ). (·)T significa con truncamiento y (·)R con redondeo. n → ∞). t. Esto es. U ) con unidad de redondeo u. 21. C). L. Aquí. ¿Cuántos números subnormales distintos de cero hay en un sistema binario? 22. Considera al conjunto de números de punto flotante fl(β. Indica cuáles de los números siguientes no pertenecen a fl(2. concluye que a = a∗ ∈ R. Pruebe que la representación normalizada de un número positivo de punto flotante es única. 4. 0. Halla el elemento α positivo más chico. x = (3. Sistemas de punto flotante 17. L.01101×2−2 19. B). 7. 4. 2): −0. existe a∗ ∈ R tal que a∗ = sup qn (o bien que qn → a∗ ∈ R.48 2. 3). 1. A).1011×21 .7615×22 . ¿Cuál es el espaciamiento entre los dos números consecutivos más chicos? D). A). t. Demuestra que 0 ≤ a − qn ≤ β p−n . t. demuestra que u ∈ fl(β. U ). x = (9. Ejercicios A). L. que qn → a cuando n → ∞. . 24. Si 2 |β y 1 − t > L.2121×22 .)T .101×22 . A). −49.)R .99999)R y x = (π)R . t./7. Halla el elemento ω positivo más grande. −2. −0. 18. Demuestra que {qn }n∈N es una sucesión creciente y acotada. ¿Cuántos de ellos son enteros? D). 48). ¿Cuántos elementos tiene este sistema? B). Luego. L./3. Con respecto al sistema fl(10. Así. Verifica que los números subnormales positivos más pequeño y más grande que se pueden representar en un sistema binario son: smin = 2L−t y smax = 1 − 2−(t−1) 2L−1 . Considera el sistema de números punto flotante fl(β. cuando n∈N B). U ) ¿Es cierto que u < α? B). halla el fl(x) para x = (2. ¿Cuántos de ellos son irracionales? 20.8. Si α > 0 es el elemento más chico en fl(β.

y ejecútalo en tu máquina. y ejecútalo en tu máquina. 26. 24. hacer u ← u/2.0/3. 2 Algunos autores como Overton (2002) [19]. y ejecútalo en tu máquina. ¿En los estándares de IEEE 32 bits. o eps ← 2. Demuestra que si eps = min {ε ∈ fl(β. está basado en la fórmula (2.0 ∗ u A). Explica. u ← 1. u ∈ fl(2. El siguiente algoritmo para calcular la unidad de redondeo u. Escriba otro programa en FORTRAN 77 que implante este algoritmo en doble precisión.0 b ← a − 1.0 w ← 2.0 c←b+b+b u ← |c − 1. El algoritmo siguiente es debido a Moler y sirve para el cálculo de la unidad de redondeo u de la máquina: a ← 4. Resultados : precisi´n : n. B). y la precisión t de la máquina.3. .16) 1 eps. L. definen a eps como el epsilon de la máquina. U ) : fl(1 + ε) > 1} . unidad de redondeo : u.0 n←0 Mientras w > 1. t. C).2. 27. Compara tus resultados con los del ejemplo 2.0.0| A). Escriba otro programa en FORTRAN 77 que implante este algoritmo en doble precisión. B).16). 127)? 25.0 w ← 1. y ejecútalo en tu máquina. Escriba un programa en FORTRAN 77 que implante este algoritmo en simple precisión. −126.2.0 + u n←n+1 Termina. entonces u = (2. Escriba un programa en FORTRAN 77 que implante este algoritmo en simple precisión. Aritmética de punto flotante 49 C).

Calcula de nuevo la base β.P.3. Obtenga la subroutina MACHAR. halla la solución positiva más grande de la ecuación: fl(123.3.3204 en una A. En una aritmética de punto flotante (A. 28. 33. para algún δ con |δ| ≤ u.P.8. verifique que si: √ 1. LA SUBROUTINE MACHAR EN FORTRAN 77. En una A.414214 = 0. Recordando que fl(a) = a(1 + δ).FOR C). y la unidad de redondeo u de tu máquina en doble precisión usando el programa MACHAR.F.45 . ¿Qué concluye? 31. Compara tus resultados con los del ejemplo 2. C).F. A). exponentes L y U . y la unidad de redondeo u de tu máquina en simple precisión usando el programa MACHAR.P.45 + b) = 123. = 0.FOR. ¿Qué concluye? 32.F. Ejercicios C).P. de 7 dígitos significativos con redondeo.14159265359 1 ¿Cuánto vale δ? ¿Cuánto vale u (la unidad de redondeo)? ¿Es |δ| ≤ u? 2 30. En una A. precisión t.2 y de los ejercicios 26 y 27. Operaciones básicas de punto flotante 29.P. .P.25 B).50 2. A). Considera el caso a = 0. así como los números xmin y xmax . 3. Compara tus resultados con los del ejemplo 2. precisión t. de 5 dígitos significativos con redondeo.F.FOR D).3333333 D).4711325 × 104 . de 4 dígitos significativos con redondeo. En una A.F. Explica. Explica.2 y del ejercicio 26. considera a = 0.1234567 y b = 0.F. fl10 4. En una A. de 5 dígitos significativos con redondeo. B). fl10 1. Calcula la base β.8614 × 10−2 y b = 0. L y U . halla la solución positiva más chica de la ecuación: fl(123.) ¿Es cierto que: (b − (a + b)) + a = 0 ? Sugerencia. Sugerencia. fl10 2 = 1. así como los números xmin y xmax .45 + a) = a . fl10 (π) = 3. averigua la validez de la relación: a = (a + b) − b.

Sin embargo. C). etc. f (x) = x2 + 1 − x. Usando un polígono inscrito y un circunscrito de 96 lados. f (x) = ln(x − x2 − 1). a = ma · β e1 . . y 2. Cancelación numérica 35. Si e1 ≥ e2 + t. . Aritmética de punto flotante 51 34. A). para el cálculo de las raíces (reales o complejas) de la ecuación de segundo grado ax2 + bx + c = 0: 1.2. Evitando cancelación catastrófica. En general se evita la cancelación numérica con el fin de obtener métodos numéricamente estables.8717 y b = 0. Elabora un buen programa. β −1 ≤ |mb | < 1. D). ¿De qué otra manera se puede calcular c? 36. U ). x2 + 111. t. C). en precisión simple y doble. . 37. Existe una forma recursiva para estas estimaciones. calcula el punto medio c = 2 (a + b) del intervalo [a. .999999 = 0.1.01. Luego. usando sólo aritmética real. x2 − 2x + 0. Consideró un círculo con diámetro 1 y circunferencia π.125 × 10−9 . para x >> 1 . E). para x = 1. β −1 ≤ |ma | < 1.11x + 1. x2 − 3. = 39. = √ E). para x = 105 con t = 7 y redondeo al par más cercano.999x + 4 = 0.. de C. L. 10−19 . demuestra que fl(a + b) = a. x2 + 4 ∗ 104 x + 1 = 0. D). Prueba tu programa con las ecuaciones siguientes e imprima los resultados de cada una. B). b ∈ fl(β. Arquímedes consideró un octágono inscrito. Inscribió un cuadrado. cada una de las siguientes funciones: √ A). El perímetro del cuadrado es menor que la circunferencia. 0. F ). y este es una cota inferior de π. x2 − 4. b]. pudo mostrar que 223/71 < π < 22/7. √ B). x2 − 105 x + 4 = 0. En el año 250 A. Escribe la forma conveniente para evaluar. 0. existen casos en donde evitarla nos conduce a resultados sorprendentemente absurdos. para x ∼ 0 . f (x) = ex − x − 1.002x + 4 = 0..8719. f (x) = (a + x)n − an . un dieciseiságono. para x ∼ 0 . En una aritmética de punto flotante de 4 decimales con 1 redondeo. evitando cancelación numérica. cada vez duplicaba el número de lados del polígono inscrito y obtenía una mejor aproximación de π. para x = 0. Evalúa f (x) = (1 − cos x)/x2 .2121 = 0. f (x) = (tg x − sen x)/ x − 1 + x2 . Sean a. Sin evitar cancelación catastrófica. el matemático griego Arquímedes estimó el número π como sigue. para a = 0. 38. Estudia tus resultados. . b = mb · β e2 .

y a continuación el valor de y para x = 5 201 480. 3 3 y A).18) para calcular rn . 2 + 4 − rn r3 = 2/(2 + n ≥ 3. . p2 = 2 2. En general: pn+1 = 2n 2(1 − 1 − (pn /2n )2 ) .17) se puede mejorar (evitando la cancelación numérica). Sea pn el perímetro del polígono inscrito con 2n lados.0 5 201 478. al tomar √ pn+1 = 2n rn+1 donde rn+1 = 2(1 − Muestra que rn+1 = 1 − (pn /2n )2 ).18) se verá afectada también por errores de redondeo para n s grandes. .0 Es obvio que hay una línea recta que mejor se ajusta a estos puntos. y consecuentemente la fórmula (2.18) C). 4.8. (2. Entonces p2 es el perímetro √ del cuadrado inscrito. Para hallar la recta y = b + mx de ajuste óptimo. . . La fórmula (2. Explica tus resultados (este problema lo sugirió Alan Cline). . . n ≥ 2. y) del plano: x : 5 201 477. 90. según el criterio de mínimo de cuadrados. ¿Nos debemos preocupar por esto? 40. .52 2. 4. esta fórmula falla para calcular una aproximación de π. en simple presición y n = 3. .0 100 000. Ejercicios A). 550 en doble precisión. 4 − rn se redondeará a 4. √ 2) .0 100 001. rn √ . 550 en doble precisión (esta modificación lo propuso W. 4. . en simple presición y n = 3. 90. .17) Calcula pn para n = 3. (x2 + x2 + x2 ) − 1/3(x1 + x2 + x3 )2 1 2 3 1 m (y1 + y2 + y3 ) − (x1 + x2 + x3 ) .0 5 201 479. 4. D). Considera los tres puntos (x. Calcula los valores para b y m en aritmética real. Esto es. .0 y: 99 999. n = 3. Observa que eventualmente. Kahan). Usa la iteración (2. ¿Por qué? B). .0 . . . . se suelen usar las populares fórmulas: m= b= x1 y1 + x2 y2 + x3 y3 − 1/3(x1 + x2 + x3 )(y1 + y2 + y3 ) . . . (2.

8.0 Para k = 1 : n. Repite el inciso anterior. de 5 decimales con redondeo. Sean ak ∈ R. k = 1 : n.0 y y = 100 002.P. Haz un cuadro comparativo de tus resultados con los valores exactos: b = −5 101 478. Calcula la suma de los números siguientes: 1050. ak = 0.0 ¿Cuál es tu conjetura? 42. 48. pero sumando del número menor al mayor. n n fl k=1 ak = a1 k=2 n ak (1 + εk ) . ak . 51. Sumas 41. 9910. Comenta. Aritmética de punto flotante 53 B).P. k = 2 : n.0. k=1 Algoritmo 2. ak . calcular el producto: P = prod ← 1.0. k = 2 : n = k=1 donde a1 = a1 . de 3 decimales con redondeo A). 43. 3.0 . 100. n ≥ 0. para a = 1. El algoritmo estándar para calcular el producto P está dado por: Demuestra que: A). En una A.0. 547 y 145 ¿Cuál es el error relativo de tu resultado? ¿Cuántas cifras de tu resultado son correctas? B). n C).1.0. calcula el valor límite de la sucesión sn+1 = fl(sn + a). y 555.F. hacer prod ← prod ∗ ak Terminar. Análisis de estabilidad en el cálculo de un producto.2. En una A.F. Repita el inciso anterior usando para m la fórmula alternativa: m= x1 y1 + x2 y2 + x3 y3 − 1/3(x1 + x2 + x3 )(y1 + y2 + y3 ) . ak = ak (1 + εk ). [Análisis de error retrospectivo]. (x1 − x)2 + (x2 − x)2 + (x3 − x)2 m = 1. 44. . 4. 49. donde |εk | ≤ u. con s0 = 0. 38.

Demuestra que: A). Análisis de estabilidad en el cálculo del producto punto. es natural la pregunta ¿Cuánto vale θ ∗ tal que κ ≤ 10. |xT y| κ := 1 ≥ 1.01 y fl(xk − x) = xk − x.01. k = 1 : n . n 2 donde S2P ≡ k=1 (xk − x) (compare con la fórmula de dos pasos dado por (2. [Análisis de error prospectivo]. entonces n fl xT y − xT y ≤ 1.01nκu . k = 2 : n donde yk = yk (1 + δk ). Si (n − 1)u < 0. |cos θ| con θ el ángulo que forman los vectores x y y.01. demuestra que | fl(S2P ) − S2P | ≤ 1. entonces n n n 2.8. Escriba sus conclusiones. Si nu < 0.01(n + 1 − k)u.9). Ejercicios fl k=1 ak − k=1 ak ≤ δ ak . y ∈ Rn . Observando que κ = +∞.10)). Si nu < 0. y que κ = 1 para θ = 0 radianes. Concluya que k=1 |xk | |yk | ≤ 1. donde fl xT y − x T y ≤ 1. = xT y .01. para 0 ≤ θ ≤ θ ∗ ? 45. A). . D).01(nu)S2P . k=1 donde δ = (1 + u)n−1 − 1 < 1. para θ = π/2 radianes. Bajo el supuesto de que nu < 0. |δ1 | < 1. Análisis de estabilidad en el cálculo de la varianza. [Análisis de error retrospectivo]. [Análisis de error prospectivo].54 B). |δk | ≤ 1. entonces n fl x y T = k=1 xk yk (1 + δk ) . donde xT y está definido en (2. Sean x.01(nu).01(n − 1)u.01(nu) x 2 y 2 . B).01(nu) C). ¿Cuál será el número de condición? ¿Depende el error acumulado por el redondeo del orden de los factores ak ? 44.

hacer q ← fl(t ∗ q + ak ) Terminar.11). an = 0..01(2k + 1)u|ak | |t|k . Sea q(t) el resultado de evaluar en A. n n j=1 (1 + γj ) . y x = (x1 . es x σ 2 < κ(S1P ) < x σ 2 2 .. . . el polinomio p(t) = a0 + a1 t + · · · + an tn . C).2. 46. . x2 . donde σ es la desviación estándar dado por (2. demuestra que |q(t) − p(t)| ≤ k=0 1. Análisis de estabilidad del algoritmo de Hörner. an ∈ R. xn )T .01. de fácil interpretación. . Demuestra que n q(t) = a0 (1 + δn ) + a1 t(1 + δn−1 )(1 + γn ) + · · · + an t con |δk | ≤ u y |γk | ≤ u(2 + u). k = 1 : n. |S1P | donde nx 2 κ(S1P ) = 1 + . mediante el algoritmo siguiente debido a Hörner: A). Aritmética de punto flotante 55 B). con a0 .01(nu)κ(S1P ) .P.F. a1 .11)). y por ello de mayor importancia práctica. Para la expresión popular dada por S1P ≡ n x2 − nx2 (compare con la fórmula k=1 k de un solo paso dado por (2.2. demuestra que |fl(S1P ) − S1P | ≤ 1. y bajo el supuesto de que fl(S1P ) = fl ( n x2 )− k=1 k nx.10)-(2. ¿Es el algoritmo de Hörner numéricamente estable? .. . Algoritmo de Hörner (que se conoce popularmente como la división sintética): q ← an Para k = n − 1 : −1 : 0.8. Si (2n − 1)u < 0. B). t∈R Algoritmo 2. Demuestra ahora que una expresión alternativa para κ(S1P ). S1P Escriba sus conclusiones.

TERM SA=S S=S+TERM IF (. Una forma de evaluar ex . para x = −5.56 2. C CALCULO DE LA EXP(X) A TRAVES DE LA SERIE DE TAYLOR C2345678 REAL S.0) THEN KAPPA=EXP(-2.TERM. )k.LT. (ABS(S-SA) .*)X C CALL MOLER(TOL) C S=1.0 term ← 1. en base al segmento del algoritmo siguiente: s ← 1.*)K. term sa ← s s ← s + term A). El programa que se anexa está basado en el algoritmo anterior. para x pequeña. Ejercicios 47.5. 0. s. TOL*ABS(S))) GO TO 100 C EXPO=EXP(X) EAPOS=ABS(EXPO-S)/EXPO C IF (X .KAPPA. hacer: term ← x (term/k) k ←k+1 write( .EAPRIO INTEGER K WRITE(*.TOL.0 K=1 100 CONTINUE TERM=X*(TERM/K) K=K+1 WRITE(*.*)’DAME X:’ READ(*.0 TERM=1. por ejemplo. es vía su desarrollo en serie de Taylor.SA.X.0 k←1 Hasta que |sa − s| ≤ s tol.EAPOS.0 .8.EXPO.0*X) ELSE KAPPA=1. Captura el programa y pruébalo en WATFOR87 para un x dado.LE.S.NOT.

1250000 0.6250000 4.1669460E − 006 2.4775390 4.1875000 4.0033901 0.4816700 4.5 el siguiente esquema de resultados: K 2 3 4 5 6 7 8 9 10 11 12 13 X EXPO SUMA 1.KAPPA.5890940E − 005 2.K.5 0.5000000 3.0632813 0.4816880 SUMA K TERM 1.2.0 C=B+B+B TOL=ABS(C-1.5000000 1.4617190 4. Estudia el programa.EXPO.C C A=4.4809290 4.0) RETURN END C C ************************************************** 57 B).7086830E − 007 EAPOS KAPPA EAPRIORI 1.0593960E − 004 1.0000E + 00 0.EAPRIO STOP END C C ************************************************** C SUBROUTINE MOLER(TOL) REAL A.B.0006356 1.SA.5625000 0. Aritmética de punto flotante ENDIF EAPRIO=(1. para que imprima para x = 1.EAPOS.01*K)*KAPPA*TOL WRITE(*.4481689E + 01 0.0158203 0. documéntalo y agrégale un formato adecuado de impresión.2109375 0.3984380 4.4815650 4.*)X.4481688E + 01 13 0.4816860 4.0000000 2.1000E + 01 0.0/3.0 B=A-1.1565E − 05 .

¿Cuáles son los errores relativos apriori y aposteriori. κu ∼ β −(t−2) ).15) que lim ψ(δx) =0 δx ∞ s´ y s´lo si ı o ψ(δx) = o( δx ∞) δx→0 cuando δx → 0 .5? ¿De qué otra forma calcularías e−20. A). ±15. Desarrolla el análisis de sensibilidad numérica (usando análisis de primer orden) para el producto de dos números reales (i. si fl(a − b) ∈ fl(β. Si z = a − b y ∆z = [(a + ∆a) − (b + ∆b)] − (a − b) . ±10. en cada caso? Comenta.7. Sean a.5. Ahora. |a − b| donde β −(t−1) < κu < β −(t−3) . L. = |a| |b| . B).1.5 ? Comenta. ∞ 49. |z| |∆a| |∆b| . U ). b ∈ R. Demuestra para la función ψ de la fórmula (2. Usando el hecho de que fl(a − b) = (a + ∆a) − (b + ∆b). el análisis de sensibilidad de la función z = a · b). demuestra.8. (es decir.5. 50. t. |z| |z| =2 |a| . para fines prácticos. entonces ψ(δx) = O( δx Sugerencia. Demuestra que si f ∈ C 2 (D) en el teorema 2. Ejecuta tu programa para x = ±1. ±5. que |fl(a − b) − (a − b)| ≤ κu . b ∈ R.58 2.5. Comenta. sean a. a > b > 0 de órdenes distintos. .. a > b > 0 de órdenes distintos. Ejercicios C). Aplica la fórmula de Taylor de segundo orden. |a| |b| .5. Demuestra que ∆z ≤ κ · max z donde κ ≡ 2 · max es tal que 2 < κ < 2β 2 . con |∆a| ≤ au y |∆b| ≤ bu . 2 ). Análisis de primer orden de la sensibilidad numérica 48. ¿En qué paso de la recursión se da la cancelación numérica para x = −20.e. D).5 y ±20. 51.

2. y en consecuencia. . Las raíces de la ecuación x2 − 4x + 4 = 0. δc) → 0 . Análisis de sensibilidad numérica del problema de cálculo de raíces de una ecuación cuadrática con respecto a los coeficientes. están dadas por √ √ 2−2 ε 2+2 ε r1 = y r2 = . δc) → 0 . 2 − 2| / |2| = 2 ε. Luego. ¿Qué se concluye cuando r1 = r 2 ? 53. las raíces se ven perturbadas. son r1 = r2 = 2. en donde κ := 3 es el número de condición del problema del cálculo de la raíz r 1 . con 0 < ε 1. respecto a ε. y por lo tanto |δa| |δb| |δc| . están √ √ 1√ dadas por r1 = 2 − ε y r2 = 2 + ε. Y por lo tanto. Observa que es el mismo número de condición del problema del cálculo de la raíz r 2 . |δc| } |∆r1 | ≤ κ · max |r1 | cuando (δa. |δb|. demuestra que |δa| |δb| |δc| + + |a| |b| |c| + ψ∗ . ∂a ∂b ∂c con ψ −→ 0 max{|δa|. donde 0 < ε 1. δb. Aritmética de punto flotante 59 52. . por un factor de 103 . ψ∗ −→ 0 max{|δa|. para ε = 10−6 las raíces se ven perturbadas por un factor de 2·10 3 . Sea la ecuación ax 2 +bx+c = 0 con coeficientes reales con a = 0 tales que b2 − 4ac > 0. |a| |b| |c| |r1 | + |r2 | . ¿Qué puedes concluir cuando r1 es muy cercano a r2 ? En particular. B). se tiene que |r1. 1−ε 1−ε ∼ √ En consecuencia. Repite el análisis anterior para la ecuación x 2 − (4 + 2ε)x + 4 = 0. |δb|. y con raíces r1 y r2 (r1 = r2 ). |δc| } |∆r1 | |r1 | + |r2 | ≤ |r1 | |r2 − r1 | donde cuando (δa. si ε = 10−6 . con 0 < ε 1. Verifica que las raíces r1 y r2 de la ecuación x2 − 4x + (4 − ε) = 0. 2 − 2| / |2| = ε. Usando la aproximación del primer orden ∂r1 ∂r1 ∂r1 ∆r1 = δa + δb + δc + ψ . A). |r2 − r1 | + ψ∗ . Muestra que las raíces r1 y r2 de la ecuación (1 − ε)x2 − 4x + 4 = 0. se tiene que |r1. δb. C).

Usando el desarrollo de Taylor de la función φ(z) = z alrededor de z0 > 0. . . Ejercicios 54.. . . demuestra que |σ − σ| ≤ κ(σ)u + O u2 . (2. n − 1σ en donde x = (x1 .8. Si el número de condición κ(σ) para la varianza muestral de n valores observados x 1 . Compara la definición de κ(σ) con los resultados obtenidos en el ejercicio 45(C).19) . σ en donde κ(σ) está definido por (2.d. y suponiendo que |∆xk | ≤ u |xk | . x2 . . x2 . . xn de n variables aleatorias i. demuestra que κ(σ) ≥ 2 . k = 1 : n. .19) y σ denota la varianza muestral de los valores perturbados xk = xk + ∆xk . para k = 1 : n. xn )T y σ definido por (2. .60 2.10). se define como 2 x 2 κ(σ) := √ . √ 55.i.

3. Normas vectoriales y matriciales Normas vectoriales Definición 3. x ∈ Rn . 61 . ı o x.1. x ∈ Rn . y N (x) = 0 s´ y s´lo si x = 0. i=1:n = max |xi | . 2 e ∞ : x x x 1 2 ∞ = |x1 | + |x2 | + · · · + |xn | . N (α x) = |α|N (x) . Una clase importante de normas vectoriales son las p-normas definidas por x p = (|x1 |p + |x2 |p + · · · + |xn |p )1/p .1.1. los más importantes son las normas 1. Una norma en Rn es una función N : Rn → R que satisface las siguientes propiedades: A). De estos. α ∈ R . Una norma se denota generalmente por · . N (x) ≥ 0 . y ∈ Rn . B). N (x + y) ≤ N (x) + N (y) .1.Capítulo 3 Sistemas lineales de ecuaciones algebraicas 3.1. p ≥ 1. C). = |x1 |2 + |x2 |2 + · · · + |xn |2 .

A ∈ Rm×n . Ax m p ≤ A p x p . Propiedad 3. B ∈ Rm×n . √ Note que para la matriz identidad In×n : In×n F = n y In×n p = 1. Definición 3. por lo que se dice que que la norma matricial · α. x ∈ Rn . (3. Las normas más frecuentes son la norma de Frobenius (o de Schur) m n A y las p−normas A p F = i=1 j=1 |aij |2 . α ∈ R . Demostración. x ∈ Rn . Una norma en Rm×n es una función N : Rm×n → R que satisface las siguientes propiedades: A).β está subordinada a (o es consistente con) las normas vectoriales · α y · β . La norma de A ∈ Rm×n se denota generalmente por A . para cualesquiera dos normas vectoriales R . C).1. . Basta observar que ABx p = A(Bx) Bx p p Bx p . N (A) ≥ 0 .1. B ∈ Rn×q .2.2 (Submultiplicativa). A ∈ Rm×n . B).1. p ≥ 1 . x α A ∈ Rm×n .1.62 3.β sobre Rn y · β sobre = sup x=0 Ax β . N (α A) = |α|N (A) . A ∈ Rm×n .1) = sup x=0 Ax p .1. Propiedad 3. Bx = 0 . AB p ≤ A p B p .β x α . A ∈ Rm×n . y N (A) = 0 s´ y s´lo si A = 0 .2. ı o A. · α Más generalmente. Normas matriciales El espacio de las matrices reales m × n se denotará por Rm×n . x ∈ Rn . donde A α. se tiene Ax β ≤ A α. N (A + B) ≤ N (A) + N (B) . x p A ∈ Rm×n . Normas vectoriales y matriciales 3.1 (Consistencia).

j=1 x ∈ Rn . . . f1 (ej ) = Aej entonces 1 = (a1j . . el máximo de la función f∞ (x) = Ax ∞ se alcanza sobre alguno de los 2n vértices x = ±e1 ± e2 ± · · · ± en de la esfera unitaria en Rn con respecto a la norma ∞. Am · x    . ±e2 . amj )T m 1 = i=1 |aij | = f1 (−ej ). . el máximo de la función f1 (x) = Ax 1 se alcanza sobre alguno de los 2n vértices ±e1 . Por lo que una forma de calcular A es maximizar la función p fp (x) = Ax . .   . x ∈ Rn sobre la esfera unitaria en Rn con respecto a la p−norma. . n j=1 n j=1 ±amj T ∞ ±a1j . i = 1 : m. j   Ax =    · · · a1n  · · · a2n   = ··· ···   · · · amn Am A1 · x A2 · x . 0. Dado que f∞ (x) = Ax ∞ = = max = n j=1 ±a1j . n j=1 ±amj n j=1 |aij | . entonces Ai · ej = aij . Dado que m Si ej = (0. entonces A p = sup A x=0 p x x = max p p x p =1 Ax p . ±a2j . .  A1 A2 . 0)T ∈ Rn .1. . . . . .1. Sistemas lineales de ecuaciones algebraicas 63 Observación 3. . i = 1 : m . n j=1 n j=1 ±a2j . Si A ∈ Rm×n .. para alg´n i . ±en de la esfera unitaria en Rn con respecto a la norma 1. 1. . . ain ) . A ∈ Rm×n Para p = ∞. ai2 .  Ai = (ai1 . .3. . a2j . . j = 1 : n. . . 0. . Si a11 a12  a21 a22 A=  ··· ··· am1 am2     entonces Para p = 1. j = 1 : n A 1 = max j=1:n i=1 |aij | . . . n donde Ai · x = aij xj . · · · . 0. . . u . .

Combinando la desigualdad anterior con (3. x b x = 0. “El número de condición es una medida de sensibilidad del error relativo en la solución del sistema lineal (3. b b (3. Número de condición de una matriz A ∞ = max i=1:m j=1 |aij | .1. se obtiene ∆x ≤ A x A−1 ∆b ∆b = κ(A) .3).64 Así que en este caso n 3.4) . Si A ∈ Rn×n es no singular. A continuación se mostrará cómo se usan las normas para acotar la influencia debido a perturbaciones en A y en b sobre la solución x de un sistema lineal de ecuaciones algebraicas: Ax = b . 3. b ∈ Rn .2. con la convención que κ(A) = ∞ si A es singular. b = 0. Dado que A(x + ∆x) = b + ∆b . (3. (3. Demostración. Ax = b y A(x + ∆x) = b + ∆b.2. se sigue que ∆x = A−1 ∆b . A ∈ Rm×n . y A es no singular. Así que Y dado que b = Ax ≤ A ∆x ≤ A−1 ∆b . Número de condición de una matriz Análisis de sensibilidad de sistemas lineales de ecuaciones algebraicas En adelante se supondrá que A es una norma matricial submultiplicativa y consistente con la norma vectorial x .1.2) Lema 3.2.2) a cambios en el lado derecho b”.3) x =⇒ 1 A ≤ . b = 0.2. donde κ(A) := A A−1 se le llama número de condición de la matriz A. entonces ∆x ∆b ≤ κ(A) . 3. x b x = 0.

Si A ∈ Rn×n es no singular. A−1 A ∆A x x=0 . Derivando el sistema lineal parametrizado. x b A Demostración.1.1 muestra que κp (A) mide la inversa de la distancia relativa inducida por la p−norma de la matriz A al conjunto de matrices singulares E.2.2. Demostración. b = 0. x .2. Evaluando en t = 0 y reagrupando términos. b(t) = b + t∆b . se tiene A (t) x(t) + A(t) x (t) = b (t) =⇒ (∆A) x(t) + A(t)∆x = ∆b . resulta finalmente que . Una prueba se puede encontrar en Kahan (1966) [13]. Sean A(t) = A + t∆A . Demostración.2. b ∈ Rn . Si A ∈ Rn×n es no singular. entonces 1= I p = A−1 A p ≤ A−1 p A p := κp (A) . resulta ∆x = A−1 ∆b − A−1 (∆A)x ∆x A−1 ∆b ≤ + A−1 x x A ∆x ≤ x Dado que b ≤ A A−1 ∆b A + A x ∆b ∆A + b A ∆x ≤ A−1 ∆b + A−1 ∆A ∆A . t ∈ R y x(t) = x + t∆x solución del sistema lineal A(t) x(t) = b(t) . El teorema 3.2. Sistemas lineales de ecuaciones algebraicas 65 Observación 3.1. x = 0. Teorema 3. Teorema 3. Así que cuando κp (A) es “muy grande”. entonces κp (A) ≥ 1.3. x = 0. Ax = b y (A + ∆A)(x + ∆x) = b + ∆b. Una caracterización del número de condición en la p−norma es RCOND(A) ≡ 1 = min κp (A) E−A A p p : E es singular . x = 0. Dado que A−1 A = I. ∆x ≤ κ(A) x . Note que κp (I) = 1. b = 0. entonces ∆b ∆A ∆x ≤ κ(A) + . A se dice mal condicionada o cercanamente singular.

x A x “Así que cuando A es bien condicionada. y x ∈ Rn .2. Si los datos A ∈ Rn×n no singular y b ∈ Rn . ∆x = x − x = A−1 Ax − A−1 b = A−1 (Ax − b) = − A−1 r ≤ A−1 Dividiendo entre x y completando el lado derecho. . Es claro que si A es no singular.2. se tiene el resultado.2.2. ∆x y r pueden no ser simultáneamente pequeños. son exactos a precisión de la máquina.2. Así que se introduce la siguiente definición: Definición 3.1. Sin embargo.2) es muy mal condicionado si κ(A) >> 1 . Proposición 3. y x es solución aproximada de Ax = b . El residual relativo de la solución aproximada x de un sistema lineal Ax = b.1.2. Demostración. b = 0 . mientras que r = c(b − Ax) “puede ser arbitrariamente grande o pequeño”. un residual relativo pequeño implica un error relativo pequeño en la solución”. Residuales Definición 3. esto no necesariamente ocurre en la práctica. lo que dice que la solución calculada x pierde alrededor de log β (κ(A)) dígitos significativos con respecto de la exactitud de los datos de entrada. A x A ∈ Rn×n no singular. entonces r ∆x ≤ κ(A) .2. entonces ∆x = x − x = 0 si y sólo si r = 0 . está definido por r := b − Ax . se define como r rrel := . 3. El residual de la solución aproximada x de un sistema lineal Ax = b.66 3. b ∈ Rn .2. Número de condición de una matriz Conclusión 3.2. Conclusión 3.1. x = 0. El problema de resolver el sistema lineal (3. entonces una cota razonable para el error relativo en la solución del sistema lineal Ax = b es dado por x−x x 2κ(A)u = β logβ (κ(A))−t+1 . ya que cuando Ax = b se multiplica por una constante c = 0 su solución no cambia. y bien condicionado cuando κ(A) es “pequeño”. r . es decir. Si A ∈ Rn×n es no singular.2.

inf) = 1.457 0. 0. Si A ∈ Rn×n es no singular. · ∞ r = b − Ax r ∞ rrel −6 −4 T −4 0. κ∞ (A) = cond(A.0827 0.001 . El problema radica en que la matriz A es mal condicionada.62 × 10−4 1.330 x1 x2 = 0.98 × 10−4 Tabla 3. lo que significa que el algoritmo usado para calcular la solución x es numéricamente inestable”. los residuales y residuales relativos de las soluciones aproximadas del sistema lineal: Ax = 0. −1)T . y (A + ∆A)x = b .1: Residuales y residuales relativos. entonces r A x ≤ ∆A .254 0. se tiene que A ∞ = max {1. −2.5 (5. Demostración. donde las soluciones aproximadas son: xa1 = −0. A “Así que un residual relativo grande implica un error retrospectivo grande en la matriz A.001 (1.2. 7. Solución.999 −1. xa1 xa2 El residual y residual relativo más pequeño lo tiene xa1 .913 0.659 0.06 × 10 ) 2. y los demás resultados que se muestran en la tabla 3. sin embargo.127 = b.3. Ejemplo 3. b ∈ Rn .10 × 10 .696 × 104 . Calcule el número de condición de A. x .57 × 10−3 .3. Sistemas lineales de ecuaciones algebraicas 67 Para ver las implicaciones de un residual relativo grande. no es la mejor solución pues la solución exacta es x = (1.572.5 y xa2 = 0. De (A + ∆A)x = b se tiene que r = b − Ax = (∆A)x ≤ ∆A que al dividir entre A x se obtiene el resultado.87 × 10−4 )T 1.572 .2. Trabajando con la norma infinita y con MATLAB.787} = 1. .1.57 × 10−3 9.06 × 10 2. se tiene el siguiente: Teorema 3.1.

330 0. .254 0. . . (3.457 0.127 0. U ). an1 an2 · · · ann xn bn 3.08369 − 0.3. Por lo tanto.  . . b2 .68 3. como xk = donde ∆ = det(A) = a11 a12 · · · a1n a21 a22 · · · a2n .913 0. xn )T del s.F.P.3.l.a.  =  . .913 0. . k = 1 : n. .1. . .457 0. Regla de Cramer y métodos de eliminación Gaussiana 3. 4.5) cuando existe.330 0. ∆ Este método obtiene la solución x = (x1 . (3. de cuatro dígitos significativos con redondeo al par más cercano: Ax = Solución.7) = 0.08382 = −0. Regla de Cramer ∆k .3. . .254 = b. . Estos métodos se usan para solucionar un sistema lineal algebraico (s. el sistema tiene solución única en f l(10. cuando ∆ = 0. Ejemplo 3. . .659 0. ∆1 = 0..   . de la forma      a11 a12 · · · a1n x1 b1  a21 a22 · · · a2n   x2   b2       Ax =  . ..  .3012 − 0. . . . x2 . an1 an2 · · · ann .l.127 0. .13 × 10−3 . . . .   .659 x1 x2 = 0.  = b. (3.) de n ecuaciones con n incógnitas. .3013 = −10−4 .6) y ∆k es el determinante de la matriz que se obtiene de A al remplazar su columna k−ésima por el vector b = (b1 . y la inestabilidad de otros métodos como la regla de Cramer y el método de eliminación Gaussiana (sin pivoteo).5) .3. . L.330 0.a.659 = 0. bn )T .1. . . Regla de Cramer y métodos de eliminación Gaussiana Ilustrar la estabilidad del método de eliminación Gaussiana con pivoteo. . ∆ = 0. Resolver el siguiente sistema en una A. (3. . .

de cuatro dígitos significativos con redondeo al par más cercano. La segunda etapa consiste en obtener la solución del sistema triangular superior (3.  .913 0. que está dada por 0.  . respectivamente de la matriz aumentada (3.127 [A|b] := .P. 3.457 0.5) en un equivalente     r11 r12 · · · r1n x1 d1    x2   d 2 r22 · · · r2n      Rx =  .3 . .2.5) (sin intercambio de renglones salvo en el caso necesario).  .457 0. y reemplazando: a21 R1 R2 ← − R1 + R2 = −a21 ∗ + R2 .   . Aplicando la fórmula (3.3.659 0. . ∆ −10−4 x2 = ∆2 10−4 = = −1 .330 0. rii = 0. Se aplicarán operaciones elementales sobre la matriz aumentada del sistema (3.7): x1 = ∆1 −0. Resolver ahora el s.3.l.913 0.9) cuando existe.3.1160 = 10−4 .7). rnn xn dn (3. mediante el método de sustitución retrospectiva dn .7) en la misma A. Ejemplo 3.  =  . −1)T .13 × 10−3 = = 1. .10) 0.  aplicando operaciones elementales sobre el sistema (3. i = n − 1 : −1 : 1 .6) se obtiene la solución deseada del sistema (3.10). La primera etapa consiste en transformar el s.254 = 0.9) rii . Método de eliminación Gaussiana sin pivote sistema triangular superior     = d.a.a. . xn = rnn xi = di − n k=i+1 rik xk Este método consta de dos etapas. . xC = (1. (3.5).3.F.. (3.127 0. ∆ −10−4 (3. Sistemas lineales de ecuaciones algebraicas 69 ∆2 = 0. (3. a11 a11 . La solución así obtenida es solución del sistema lineal algebraico (3.2.1161 − 0. Solución.254 Sean R1 y R2 los renglones 1 y 2.8) Por lo tanto.l.

7221. 1 ∼ = 5.6593. Nótese que A 1 = max{1. ¿Cuál de las dos soluciones es mejor? Para dar una posible respuesta. xG = (1.620} = 1.457 0. (3.360 .519 0. 0. = 104 ∗ max{1. κ1 (A) lo que dice que la matriz A es cercanamente singular.127 − 0. −0.24 × 104 .3 × 10−3 donde −a21 ∗ .2779] = [−0.457 0.12) Por lo tanto. −1)T .7 × 104 .719 −0.2537] . 1 κ1 (A) = A A−1 1 = 1.70 3. Puesto que A y b son capturados exactamente en la máquina. 0. Y A−1 = inv(A) = 104 ∗ Por lo que A−1 Así que Y RCOND(A.9 × 10−5 .457 (3. Regla de Cramer y métodos de eliminación Gaussiana se obtiene la matriz equivalente (por filas) 0. 2 2 .11) con el método de sustitución retrospectiva.3.330 0.989} = 1. 0.370.913 ∗ [1.238.11) R1 = −. a11 Resolviendo el sistema triangular superior (3.127 −3 0 −0.3 × 10 0. se puede suponer que ∆A 1 A 1 donde u= Así que ∆x 1 x 1 κ1 (A) ∗ ∆A 1 ∆b 1 + A 1 b 1 17 .260 0. −0.457 0.37 . 1 1 × 10−(4−1) = × 10−3 .913. 1) = 1 −0. se obtiene la solución x2 = −1 y x1 = 0. 0. se calcula el número de condición de A.330(−1) = = 1. 0. u y ∆b 1 b 1 u.

Por otro lado. Remplazar los renglones R2 hasta Rn de la matriz A|b como Ri ← − ai1 R1 + R i . −1) r = (0. permutar el renglón k con el renglón 1 de [A|b] (este procedimiento se llama pivoteo).3. En este caso. En caso de que el elemento pivote ak1 = 0.) con el método de Eliminación Gaussiana (E. Mientras que. B).3. −0. 1)T son grandes. lo que confirma que es la solución exacta del sistema. a11 i = 2 : n. Sistemas lineales de ecuaciones algebraicas 71 Es decir.). .C.3.2740) 0. xC = (1. xG = (1.3. El algoritmo es el siguiente: A). entonces la matriz A es singular y el procedimiento se detiene. tanto el tamaño del residual como el residual relativo correspondiente a la solución xC = (1. el residual correspondiente a la solución xG = (1. Algoritmo de eliminación Gaussiana con pivote (parcial) Este procedimiento agrega un paso adicional que se le llama búsqueda del pivoteo parcial al método de eliminación Gaussiana. El resultado es una matriz A(1) |b(1) . 3.2.G. el residual r = b − Ax y el residual relativo de cada una de las soluciones se muestran en la tabla 3.C.4111 0.G. −1)T es el vector 0.3. M´todo Soluci´n estimada e o r = b − Ax r 1 rrel = r 1 / A T T R. No hay garantía de que alguna de las dos soluciones sea bueno. −1) r = (−0. La razón principal de la forma de elegir el pivote parcial es para garantizar la estabilidad numérica del método.1305 T T E. i=1:n Si tal elemento pivote ak1 = 0. Seleccionar el elemento pivote ak1 en la primera columna de la matriz aumentada [A|b] del sistema lineal algebraico (3. El resultado es la matriz A|b .1371. C).2: Comparación de la regla de Cramer (R. ∆x 1 × 100 x 1 1 700 % .5) como |ak1 | = max |ai1 | . lo que dice que la regla de Cramer es numéricamente inestable. 0) 0 0 1 x 1 Tabla 3.

Una de las causas de la inestabilidad de la regla de Cramer está en su costo computacional.457 0. Ejemplo 3.a (3.913 0. . . multiplicaciones y divisiones) (flops) que se requieren realizar para su aplicación.127 . b  A(1) |b(1) ˜ A una matriz (n − 1) × (n − 1).14) con el método de sustitución retrospectiva.10) se localiza en el segundo renglón y es a21 = 0. (B) y (C) sobre la matriz A|˜ . Regla de Cramer y métodos de eliminación Gaussiana ˜b D). 0. Como primer paso.13): R2 ← − a21 R1 + R2 . de cuatro dígitos significativos con redondeo al más cercano par. Solución. Recuerda que la definición del determinante de A ∈ Rn×n es det(A) = σ∈Sn sgn(σ)a1σ(1) a2σ(2) · · · anσ(n) . observa que el elemento pivote de la primera columna de la matriz aumentada (3. Repetir los pasos (A). .254 A(1) |b(1) = .659(−1) 0. Resolver de nuevo el s.254 0.913 (3. Repitiendo el proceso n − 1 veces se obtiene el sistema triangular superior deseado.659 0.14) 0 10−4 −10−4 Resolviendo el sistema triangular superior (3. E).3. es decir. .913 0. Por lo que se permuta el segundo renglón con el primero: A|b = 0.3.7) en la misma A. . donde  . en la cantidad de operaciones aritméticas de punto flotante (adiciones. (3. ˜ .659 0.72 3. b   =  ··· ··· ··· ··· ···  . . ˜1 a11 .3.13) Reemplazando en la matriz (3.913 = = 1. se obtiene la matriz equivalente a11 (por filas): 0. .l. por lo que el costo computacional de la regla de Cramer usando la definición del determinante es c1 (n) = nD + n!(n − 1)(n + 1)M + (n! − 1)(n + 1)A = n[(n + 1)!] − 1 flops .330 0.913. se obtiene la solución x2 = −1 y x1 = 0. (3. A .15) que es la misma solución que se obtuvo con el algoritmo de eliminación Gaussiana sin pivoteo parcial.254 − 0.913 0.F.P. ˜ ˜ 0 . aT ˜ .

3: Costo computacional de los métodos. Factorización LU En esta sección se describirán los pasos B). E.P. (n − 1)n (n − 1)n(2n + 5) (n − 1)n(2n + 5) D+ M+ A.3.16) El costo computacional de la primera etapa del proceso de eliminación Gaussiana es c3 (n) = que da un total de 3 13 2 2 c3 (n) = n3 + n2 − n ∼ n3 = 3 2 6 3 flops para n suficientemente grande. Una comparación del costo computacional se muestra en la tabla 3. 2 2 (3. D) y E) del algoritmo de eliminación Gaussiana con pivote parcial en términos de matrices elementales. .C. aumenta “ligeramente” por la búsqueda del pivote y el pivoteo. n R. = 3 2 6 3 para n suficientemente grande.G. Únicamente se trabajará con A ∈ Rn×n . 2 6 6 (3. 2 11 11 3 71 34 5 3 599 135 10 399 167 999 895 12 74 724 249 599 1 486 14 18 307 441 151 999 2 289 Tabla 3. Sistemas lineales de ecuaciones algebraicas 73 El costo computacional del método de sustitución retrospectiva es c2 (n) = nD + (n − 1)n (n − 1)n M+ A = n2 .4.3.G.17) (3. El costo del método de E. C).18) 3. Así que el costo computacional total del método de eliminación Gaussiana es 2 5 13 2 c4 (n) = n3 + n2 − n ∼ n3 .

.. . .1.  .  . . . 0 · · · −mn   0 ··· 0 . se puede ver como: 0 ··· 1 0 ···  . 1 ··· 0  ..   1 ··· 0 0 ··· A = P1 A =   0 ··· 0 1 ···  . −1 II). Factorización LU Una vez localizado el pivote parcial ak1 en el paso A). . 1 an1 ak. . 0. Para describir el paso C) en términos de matrices elementales. . . . .  . el pivoteo de los renglones 1 y k del paso B) para obtener la matriz A. . . ann ··· a1n .  .4.. mn )T ∈ Rn y ek ∈ Rn el k−ésimo vector unitario. ··· akn · · · ak+1.k+1 · · · ak+1. . . . .k ak+1.k+1 ak+1. . . k = 1 : n − 1.  .  . .. . ··· donde P1 ∈ Rn×n se llama matriz de permutación.  . . . El efecto que se produce al multiplicar P1 por la izquierda de la matriz A es permutar las filas 1 y k de A.74 3. . . se introduce la siguiente definición: Definición 3.  .  . . .   a1n  . an1 · · · ank   0 a11 .  . Sean m(k) = (0. . .. .k+1 .. . . . a1.  . . ··· akk ak. ..  . . .  a1k  a11 · · · =   ak+1. 0. . . . . . . ..  .  1  0 ··· =  0 · · · −mk+1  . . Mk es triangular inferior con 1 s en la diagonal principal. .1.  . .  . . .  . .  0 ··· 0  .. por lo tanto es no singular. .. . ... .k+1 .  . . .. an. . .1 . ··· ··· . . . . . . . . .. . ··· ann          ··· . . .1 · · · ak+1. .4. . .k+1 . . . Una transfomación de Gauss es una matriz de la forma 1 ··· 0 .4. 0 ··· 0 0 ···  ak1 · · · akk .  0   ak1  0   ak+1. . ... . ··· ank an. . 0 ··· 1 Mk = I − m(k) ekT Propiedad 3. . .n   . .k+1  akn .. .. . . mk+1 .k  . ak+1. . Mk = I + m(k) ekT .n . . . . . . . . . y se obtiene permutando la fila 1 con la fila k de la matriz identidad I ∈ Rn×n .  . .k+1 ··· a1k a1. .k+1 . . . Algunas propiedades importantes de la transformación de Gauss son: I).

mn se llaman multiplicadores de Gauss. . 0 an2 an3 · · · ann ˜ ˜ ˜ Al repetir el proceso n − 1 veces se obtiene que Mn−1 Pn−1 · · · M2 P2 M1 P1 A = U Por lo que si L = Pn−1 · · · P3 P2 (Mn−1 Pn−1 · · · M2 P2 M1 )−1 . donde P = Pn−1 · · · P2 P1 . . ak = 0. i = k + 1 : n. . Se ha probado el siguiente teorema: . . . . . . .  1  0 ··· Mk a =  0 · · · −mk+1   .    . . . m3 . . entonces P A = LU .n  ˜ ˜ ˜    0 a32 a33 · · · a3n  ˜ ˜ ˜  “N´tese el efecto sobre A . . 0 · · · −mn   0 ··· 0 a1 . . an )T ∈ Rn . .  0 · · · 0   ak  1 · · · 0   ak+1 . mk+1 . . . . . i = 2 : n. .3. . El vector m(k) = (0.   . . . mn )T se llama k−ésimo vector de Gauss. . . . 0 ··· 1 an   a1   . .  . .   . . .  . . . ... Así que tomando m(1) = (0. .  .. . 0  “Mk anula las entradas k + 1 hasta n del vector a”.       ak   =  . .   . . . .  . . Si j > k. . . . y mi = ai /ak .. .   0    . . . la matriz A(1) del paso (C) se obtiene como:    1 0 0 ··· 0 ak1 ak2 ak3 · · · akn  −m2 1 0 · · · 0   a21 a22 a23 · · · a2. . .n        A(1) = M1 A =  −m3 0 1 · · · 0   a31 a32 a33 · · · a3n   . .  . .. . .  . . . .  .   . a2 . . y mk+1 . . . . Sistemas lineales de ecuaciones algebraicas 75 III).   . . . .  . =  o  . entonces 1 ··· 0 . . . . .. . . . ak . . . . 0.. . . . . . . .   . Si a = (a1 .  . entonces Mk Mj = I − m(k) ekT − m(j) ejT . −mn 0 0 · · · 1 an1 an2 an3 · · · ann   ak1 ak2 ak3 · · · akn  0 a22 a23 · · · a2. . IV ). . m2 . . . . mn )T con mi = ai1 /ak1 . .  . 0.

Factorización LU Teorema 3. Calcular la factorización LU de la matriz   3 17 10 A =  2 4 −2  .1. Si se aplica el método de eliminación Gaussiana con pivote parcial para calcular la matriz triangular superior Mn−1 Pn−1 · · · M2 P2 M1 P1 A = U . donde g = Pn−1 · · · Pk+2 Pk+1 m(k) . La k−ésima columna de L debajo de la diagonal principal es una permutación del k−ésimo vector de Gauss. entonces P A = LU .19) Por lo que la factorización LU es . k) = g(k + 1 : n). donde P = Pn−1 · · · P2 P1 y L es una matriz triangular inferior con 1 s en la diagonal principal y | ij | ≤ 1. pero si hay dudas se puede consultar en Golub and Van Loan (1989) [10]. En particular. −1/2 0 1 0 8 16     1 0 0 6 18 −12 8 16  .4. Ejemplo 3. Demostración.4. Es un ejercicio.    6 18 −12 0 0 1 P1 =  0 1 0  =⇒ P1 A =  2 4 −2  . donde (3. 1 0 0 3 17 10     1 0 0 6 18 −12 M1 =  −1/3 1 0  =⇒ M1 P1 A =  0 −2 2  . Sea A ∈ Rn×n no singular. P2 =  0 0 1  =⇒ P2 M1 P1 A =  0 0 1 0 0 −2 2     1 0 0 6 18 −12 16  = U .1.4.76 3. si Mk = I − m(k) ekT entonces L(k + 1 : n. M2 =  0 1 0  =⇒ M2 P2 M1 P1 A =  0 8 0 0 6 0 1/4 1  P A = LU . 6 18 −12 Solución.

Si A ∈ Rn×n es no singular. utilizando el método de sustitución retrospectiva. entonces det(A) = ± u11 u22 · · · unn . El siguiente algoritmo permite obtener el sistema triangular superior equivalente de un sistema lineal Ax = b : Algoritmo 3. Aplicación 1. Observa que esto disminuye significativamente el costo computacional del cálculo del determinante de A. Facorización LU por eliminación Gaussiana con pivote parcial. y se elige el signo menos si el número total de permutaciones es impar. entonces la resolución de un sistema lineal Ax = b para diferentes vectores b. se puede realizar con el siguiente procedimiento: A). Resolver primero el sistema triangular inferior Lc = P b . y P A = LU es la factorización LU de A. B).1. C). Si A ∈ Rn×n es no singular. Para k = 1 : n − 1 Encontrar el índice p tal que |apk | ≥ |aik | para i = k : n Si p = k entonces intercambiar las filas k y p {iteración sobre columnas} {búsqueda del pivote} . = P2  1/3 −1/4 1  =  1/2 1/2 1 0 1/3 −1/4 1 det(A) = (−1)2 × 6 × 8 × 6 = 288 . Aplicación 2.3. u22 .4. Calcular la factorización P A = LU de la matriz A. por el método de sustitución prospectiva. donde u11 . 0 1 0  Observa que  1 0 0 −1 −1 −1 −1 L = P2 (M2 P2 M1 )−1 = P2 M1 P2 M2 = P2 M1  0 −1/4 1  0 1 0     1 0 0 1 0 0 1 0 . · · · . Sistemas lineales de ecuaciones algebraicas 77  0 0 1 P = P 2 P1 =  1 0 0  .  por haber realizado dos permutaciones en la factorización de A. unn son los elementos de la diagonal principal de la matriz triangular superior U . Después resolver el sistema triangular superior U x = c .

Demostración. entonces x = A−1 y = 0 y y T A−1 y = xT AT A−1 Ax = xT AT x = xT Ax > 0.5. . Factorización de Cholesky Definición 3. A se dice definida positiva si xT Ax > 0 para todo x = 0. . Se llama submatriz principal de orden k de una matriz A de orden n a toda submatriz que se obtiene de A al suprimir los renglones y columnas j1 . entonces A es simétrica y definida positiva. pues si y = 0. se sigue que A−1 es simétrica. . Factorización de Cholesky {cálculo de multiplicadores} 3. . jn−k de A. A se dice simétrica si A = AT .5. todas las submatrices principales de A son simétricas y definidas positivas. . . Entonces A es no singular y A−1 es simétrica y definida positiva. .1.5. . B).. Ahora se verá que si  ˜= A    a i1 i1 a i1 i2 · · · a i1 ik a i2 i1 a i2 i2 · · · a i2 ik . Los determinantes de las submatrices principales de A se llaman menores principales de A. . Sea A ∈ Rn×n . En efecto. Si A fuera singular debe existir un x = 0 tal que Ax = 0.78 Si akk = 0 entonces continuar con el siguiente k Para i = k + 1 : n mik = aik /akk Termina Para j = k + 1 : n Para i = k + 1 : n aij = aij − mik akj Termina Termina Termina.  ˜ es cualquier submatriz principal de A. . así que A debe ser no singular.1.5. Teorema 3. . Sea A ∈ Rn×n simétrica y definida positiva. . También A−1 es definida positiva. a ik i1 a ik i2 · · · a ik ik    . . puesto que (A−1 )T = (AT )−1 = A−1 . Más aún. 3. . Por otro lado. j2 . y todos los menores principales de A son positivos. A). . por lo que xT Ax = 0 que contradice el hecho de que A es definida positiva.

. Sistemas lineales de ecuaciones algebraicas 79 se puede expandir a un vector   x1  x2    x =  . xµ = xj para µ = ij . . xk ˜ x = 0. . αn1 αn2 · · · αnn existe y es simétrica y definida positiva.  det  . j = 1 : k . a2n · · · ann α11 = . se aplica inducción sobre n. por lo que det(A) > 0. pues A = (α) donde α > 0.  ∈ Rn . ˜ ˜x ˜ por lo que A es definida positiva.  det  .. .  . .  . . . det(A)  a22 · · · a2n  . .  . ˜  . . . .3. y por tanto det(A) = α > 0. xT A˜ = xT Ax > 0 .. a2n · · · ann  y por hipótesis de inducción. ˜ 0 en otro caso. ˜ x = 0. Además es bien conocido que   a22 · · · a2n  .  ..  > 0 . . . . xn Se sigue que ˜ ˜ es claro que AT = A. . . Para ello. cualquier   x1 ˜  x2   ˜  x =  . Por otro lado. .   . Para completar la prueba es suficiente con mostrar que det(A) > 0. De acuerdo con la primera parte de la prueba   α11 α12 · · · α1n  α21 α22 · · · α2n    −1 A = .  .  ∈ Rk . Para n = 1 es claro. y sea A una matriz simétrica y definida positiva de orden n. . . . Se supone que el teorema es cierto para matrices simétricas y definidas positivas de orden n − 1. por lo que α11 > 0.

Factorización de Cholesky Teorema 3. Si A ∈ Rn×n es simétrica y definida positiva. La prueba se hace por inducción sobre n. y L se le llama el triángulo de Cholesky. La factorización A = LLT se le llama factorización de Cholesky de A. entonces existe una única L ∈ Rn×n triangular inferior con ii > 0. entonces A= An−1 b bT ann .20) se sigue que det(A) = [det(Ln−1 )]2 α2 . La primera ecuación tiene una única solución c = L−1 b. Así que de la segunda ecuación se tiene que α2 = ann − cT c > 0. Ln−1 0 cT α . se debe cumplir que Ln−1 c = b c c + α2 = ann . i = 1 : n. Sea A una matriz simétrica y definida positiva de orden n. n−1 Se considera la matriz L= ik = 0 para k > i. Se supone que el teorema es cierto para matrices simétricas y definidas positivas de orden n − 1.5. por lo que se puede escribir de manera única como √ α = 11 11 .1 que det(A) > 0. De la hipótesis de inducción se sigue que existe una única Ln−1 ∈ R(n−1)×(n−1) que satisface An−1 = Ln−1 LT . ii > 0.80 3.20) α > 0.2 (Factorización de Cholesky). . 11 = + α . por lo que basta tomar α=+ ann − cT c > 0 . Demostración. donde b ∈ Rn−1 . T LT n−1 c 0 α = An−1 b bT ann = A. por lo que el vector c existe. tal que A = LLT . (3. por lo que α 2 existe y es positiva.5. Ahora de (3. el teorema es claro pues A = (α) donde α > 0. Para n = 1.5.1 An−1 ∈ R(n−1)×(n−1) es simétrica y definida positiva. y por el teorema 3.5. y como A es simétrica y definida positiva se sigue del teorema 3. pues Ln−1 es una matriz triann−1 gular inferior con det(Ln−1 ) = 11 22 · · · (n−1)(n−1) > 0. y se tratará de determinar c ∈ Rn−1 y α > 0 tales que Ln−1 0 cT α Para ello.

1 (Cholesky). a33 = a33 = 0.0085 1. aplicando los primeros dos pasos del Algoritmo 3.00 Solución. Sistemas lineales de ecuaciones algebraicas 81 Algoritmo 3.01 1.1.03801)(0. se puede realizar con el siguiente procedimiento: A). i = 2 : a22 = a22 − a21 a21 = 2.0085 j = 3. i = 3 : a33 = a33 − a31 a31 = 1.001) = 1.001 0.01  . i = 3 : a33 = a33 − a32 a32 = 1.001)(0. Calcular la factorización de Cholesky A = LLT de la matriz A.5.1 se tiene:       10 10 10  1. aplicando de nuevo los primeros dos pasos del Algoritmo 3.5  →  1. Ejemplo 3. Para k = 2.01 − (0.00 − (0. hacer aij = aij − aik ajk Termina Termina Termina.001 0.1 se tiene: j = 3.9986 0. Para k = 1 : n.001 0. hacer aik = aik /akk Termina Para j = k + 1 : n. Calcular en una aritmética flotante de precisión 4 y redondeo al más cercano par.03801 0.5) = 0.3 0.05 0. ij se escribe sobre aij .5 0.03801 0.03801) = 0.00 − (0.5.5  →  1.01 A =  15 2.03801 0. 0.000 Aplicación 1.001 0.9993 Por lo que   10 0 0 . hacer Para i = j : n.3. hacer √ akk = akk Para i = k + 1 : n. La resolución de un sistema lineal Ax = b para diferentes vectores b cuando A ∈ Rn×n es simétrica y definida positiva.3 − (1.001)(1.5) = 0.2236 0. la factorización de Cholesky de la matriz   100 15 0.01 0.9993 . Para todo i ≥ j .2236 0 L =  1. 0.9986 = 0. Para k = 1.5.5 .000 0.05 i = 3 : a32 = a32 − a31 a21 = 0.5)(1.5.9986 √ √ Para k = 3. el siguiente algoritmo calcula la matriz triangular inferior L tal que A = LL T . Dada una matriz simétrica y definida positiva A ∈ R n×n .9993 j = 2. 0.2236 0.

es una norma matricial no submultiplicativa. i=1:n 2. entonces det(A) = ( 11 22 · · · nn )2 . Sea x ∈ R . S T = S y xT Sx > 0. x = 0. por el método de sustitución prospectiva. que es equivalente a AT Az = (z T AT Az)z ≡ µ2 z. y A = LLT es la factorización de Cholesky de A. Sea S ∈ Rn×n simétrica y positiva definida (i..e. Aplicación 2. utilizando el método de sustitución retrospectiva. 2 x 2 2 xT x 2 En consecuencia 2 .j=1:n max |aij | . Demuestra que A ∆ = i=1:m. Observa que existe z ∈ Rn unitario tal que Az 2 = A la función 1 Ax 2 1 xT AT Ax 2 g(x) = ≡ .82 3. y >= y T Sx es un producto interior sobre Rn . √ B). y) = max |xi − yi | en Rn . define una norma sobre Rn . Para todo x ∈ Rn dado. Ejercicios B). 5. Si A ∈ Rm×n . C). n 3. para todo x = 0).6. demuestra que existe un vector unitario z ∈ Rn tal que AT Az = µ2 z . x ∞ ≤ x 1 ≤ n x ∞ . y que maximiza g(z) = 0. Después resolver el sistema triangular superior LT x = c . Demuestra que la función norma N : Rn → R es uniformemente continua con respecto a la métrica ρ(x. Ejercicios Normas vectoriales y matriciales 1. √ Prueba que x S = xT Sx . x ∞ ≤ x 2 ≤ n x ∞ . Sugerencia. x 2 ≤ x 1 ≤ n x 2 . Muestra primero que < x. 6. Si A ∈ Rn×n es simétrica y definida positiva. Sugerencia. donde µ = A 2 .6. Resolver primero el sistema triangular inferior Lc = b . C). Demuestra las desigualdades siguientes: √ A). A ∈ Rm×n . 4. 3. demuestra que p→∞ lim x p = x ∞ . .

. Muestra que la norma inducida por este producto interior es la norma de Frobenius dada por (3. 11. Prueba que C). Contesta si son falsos o verdaderos las afirmaciones 2. >) es un espacio euclidiano). √ A ∞ ≤ A n 1 B). α ≤ A ≤ A 2 √ ≤ n A 2.j | . < .j=1:n max |ai. A). 2 Si Q ∈ Rn×n es ortogonal (es decir. 2 ≤ A 1 A ∞ . √ ≤ mn α .67 de la página 96 de Heath (2002) [12].3.. Si A ∈ Rm×n .60 al 2. demuestra que A donde λmax (AT A) es el máximo de los eigenvalores de AT A. · 2 . Prueba que · · F F es consistente con la norma vectorial euclidiana es submultiplicativa. B). QT Q = QQT = I). 9. y las preguntas 2. p 10. 2 √ n A 1. 8.65 y 2. B >:= tr B T A . A 2 2 ≤ ≤ √ m A ∞. (Rm×n . √ A 1≤ A m C). Prueba que la forma bilineal < A. Sistemas lineales de ecuaciones algebraicas 83 7. A ∈ Rm×n . entonces Q 2 = 1 . demuestra las desigualdades siguientes: 1 A). para todo A. Si B es cualquier submatriz de A. Concluya del ejercicio 6. Así que A 2 es también la raíz más grande del polinomio p(λ) = det(AT A − λ I). B ∈ Rm×n son ortogonales entre sí ? Número de condición de una matriz 12.25 de la página 93 de Heath (2002) [12]. Contesta las preguntas 2. D). B ∈ Rm×n . ¿Cuándo se dice que A.62 de la página 95. demuestra que B ≤ A p. donde α = F i=1:m. Sugerencia. Demuestra que A 2 = λmax (AT A) . 13. define un producto interior sobre Rm×n (i.1).21 al 2. Sea A ∈ Rm×n .e. D).

para cada una de las siguientes matrices: A= 15. Hallar κ1 (A). la equilibración por renglones mejora el número de condición de la matriz. |λmin (B)| 1 −1 1 −1. Considera las matrices A= A). ¿Cuál es el valor del det(A)? C). para toda D ∈ Rn×n diagonal. Sea A ∈ Rn×n no singular. 1 2 3 7 y B= 1 2 3 4 . . ¿Qué conclusión puedes obtener de estos resultados? 19. Muestra que |λmax (A)| ∼ = 1 y que |λmin (A)| |λmax (B)| ∼ = 4 · 105 .84 3.00001 y B= 1 −1 −1 1. A continuación prueba que κ2 (A) = κ2 (B) ¿Cuál es la moraleja? 16. B).00001 . p B). κ2 (A) y κ∞ (A). j=1 Demuestra que si A ∈ Rn×n es equilibrada por renglones. 17.6. Ejercicios 14. se dice equilibrada por renglones si n |aij | = 1. ¿Cuál es el valor del κp (A) para p = 1. entonces κ∞ (A) ≤ κ∞ (DA) . i = 1 : n. Esto es. Sea A = diag(1/2) una matriz diagonal n × n con entradas en la diagonal = 1/2. A = (aij ). Considera la matriz 1 A= √ 5 2 −1 1 2 . Sea A ∈ Rn×n no singular. Explica por qué κ2 (A) = 1 si y sólo si A es el producto de un escalar (diferente de cero) por una matriz ortogonal. A). A ∈ Rn×n . 2 e ∞? . ¿Es cierto lo anterior cuando κ∞ (A) = 1 o κ1 (A) = 1? Sugerencia. p ≥ 1. demuestra que 1 E−A ≤ κp (A) A p para toda E ∈ Rn×n singular. 18.

Sea A ∈ Rn×n no singular. x 2 =1 C). n 1 B). Prueba que ω 2 E−A A 2 2 : E es singular .659x2 = 0. Demuestra que cualesquiera dos números de condición κα (·) y κβ (·) sobre Rn×n son equivalentes. es decir.a. existen constantes c1 y c2 tales que c1 κα (A) ≤ κβ (A) ≤ c2 κα (A) . Sistemas lineales de ecuaciones algebraicas 85 20. Sea A ∈ R3×3 la matriz dada por   1 −1 1 A =  −1 e e . Tomando E ∗ = A − x0 ω T . muestra que E ∗ z = 0 2 para z = A−1 x0 = 0 y que E ∗ − A 2 ≤ A−1 −1 .563x2 = 0. = max |ω T x|2 . respectivamente de Heath (2002) [12]. Comenta. 2 1 κ2 (A) ≤ κ1 (A) ≤ nκ2 (A). κ∞ (A) ≤ κ2 (A) ≤ nκ∞ (A).254 para toda A ∈ Rn×n . 22.63 y 2.217 0. . para todo ω ∈ Rn .): 0.913x1 + 0. 2 21.3. ¿Por qué existe x0 ∈ Rn tal que x0 2 = 1 y A−1 x0 2 = A−1 2 ? 0 < |e| < u . Contesta las preguntas 2. n A). n 1 C). Residuales 24. 3 Demuestra que κ∞ (A) ≥ |e|−1 .780x1 + 0. 25. Para demostrar que 1 = min κ2 (A) haga lo siguiente: A). Demuestra las desigualdades siguientes: 23. Sea A ∈ Rn×n . donde u es la unidad de redondeo del sistema que se esté usando. donde ω = A−1 x0 −2 A−1 x0 .67 de las páginas 95 y 96. 1 e e B). Considera al sistema lineal algebraico (s. 2 κ1 (A) ≤ κ∞ (A) ≤ n2 κ1 (A).l.

Considera al s.F.l. 28. Explica la situación en lenguaje geométrico.P.260y = 0.521 Utilizando una A.5.5.068 (3. 0. Calcula el número de condición κ1 (A).6. r2 )T = b − Ax ¿Cuál es el valor de la unidad de redondeo? ¿Es la regla de Cramer un método numéricamente estable? ¿Es el método de eliminación Gaussiana sin pivoteo parcial numéricamente estable? A 1 A−1 1 det(A) κ1 (A) Tabla 3. C).001)T .341. −1.2161x + 0. −0. de 4 decimales con redondeo al más cercano par llena las tablas 3. Calcula los residuales y residuales relativos en norma 1 para las soluciones aproximadas xa1 = (0. Nota.456 0.8642 ¿Cuánto vale el residual y el residual relativo para xa = (0.6 y 3. compara el residual relativo contra u (la unidad de redondeo).2969x + 0. 26.21) 0.373x + 0.141x2 = 0.l. (3.a. ¿Cuál es la mejor solución? B).86 3. Con una A. (Moler) Considera el s. −0. .4870)T ? ¿Cuánto vale κ1 (A)? Comenta. Comenta. D).4 y 3.296y = 0.311x2 = 0.21) y llena las tablas 3. donde r = (r1 . 0. Ejercicios A). Comenta.7.461x1 + 0.a. Nota.999. La solución exacta es x = 1.F.087)T y xa2 = (0.1440 1.8648y = 0. La solución exacta es x = (2. 0. −2)T .0 y y = 0. Regla de Cramer y métodos de eliminación Gaussiana 27.209x1 + 0. Halla la solución exacta.1441y = 0.326x + 0.150 Para cada caso.4: Determinante y número de condición de A.l. de 3 decimales con truncamiento resuelva el s.P.a.9911.

6: Determinante y número de condición de A. en simple y en doble precisión.5 0.17) y (3.5: Comparación de los métodos de Cramer. Comenta.16). Sean  0. 30.0.1 0. Gauss s/p y Gauss c/p. 31.F. y = 5. resuelve el s.3.7 0. Muestra que el sistema Ax = b tiene una infinidad de soluciones. Verifica las fórmulas (3. Gauss s/p y Gauss c/p. Con la ayuda de una computadora. siguiente: 0.2038x + 0. 29. Sistemas lineales de ecuaciones algebraicas 87 Cramer Gauss s/p Gauss c/p x y r1 r2 r 1 rrel Tabla 3. de t decimales con redondeo.1218y = 0.7: Comparación de los métodos de Cramer.9  y  0. 0. Describe el conjunto de todas sus soluciones.a.4 0.3 A =  0.1 b =  0.l.0 .5  A).4071x + 0. Cramer Gauss s/p Gauss c/p x1 x2 r1 r2 r 1 rrel Tabla 3.3  .6  0. Dada una A. A 1 A−1 1 det(A) κ1 (A) Tabla 3.4038 aplicando el método de eliminación Gaussiana con pivoteo.2436y = 0.2014 0.18).2 0. . (3.P. halla la menor t para la cuál se obtiene la solución exacta x = −2.8 0.

Calcula los residuales en cada caso. 33. . 32. Resuelve este sistema usando MATLAB ¿Qué solución obtuviste? 3. C). x1 + x2 = 2 18 10x1 + 10 x2 = 10 + 1018 A). .i. |an ] ¿Cuánto vale det(A)? 1 B).  . .88 B).   . Para n = 24 en precisión finita ¿Son los vectores {ai }n l. Considera el s. D). Ejercicios C). . . Usando MATLAB llena la tabla siguiente: n 2 3 . Prueba que κ1 (A) ≥ 2n−1 n . . C). . halla la menor n para la cual A es ya numéricamente singular.6. . . Demuestra que los vectores siguientes     −1 1  1   0          a1 =  0  . a2 =  0  . 0 0 A). Sea A = [a1 |a2 | . Con la ayuda de una calculadora resuelve de nuevo el sistema por eliminación Gaussiana con pivoteo. .? En A. . B). para resolver dicho sistema ¿Qué solución obtuviste? Comenta. 30 Comenta. Resuelve el sistema en aritmética real (exacta). Note que A−1    an =     −1 −1 −1 .   . en precisión i=1 simple.F.i.P. Moler and Nash (1989) [14]. Sugerencia. Repite el inciso anterior después de dividir cada renglón por αi = maxj |aij |.  . Utiliza la subrutina SGEFS del libro de Kahaner.a.   . 1        de Rn son l. κ1 (A) ≥ A−1 en 1 y muestra que A−1 en 1 = 2n−1 .l. Comenta. .

. Muestra que la matriz  2 2 1 A= 1 1 1 . donde E = A − 2−n+1 1 e1T . y la pregunta 2. √ B). Muestre que det(E) = 0. .    1 = 2 1 2n−1 1 e1T 2 = √ n 2n−1 . ¿Es esta matriz fuertemente no singular? Comenta. 1) ∈ Rn ). . Considera la matriz A del problema 33.502 −1 0 · · · . . 0 −1 0 ··· 0 . . sin embargo.600 Muestra que κ∞ (A) > 1021 y que |λmax (A)|/|λmin (A)| ∼ 1. = Sugerencia. Sistemas lineales de ecuaciones algebraicas 89 34.599 −1 0 ··· 0 0.501 0 0 .40. .58 de la página 95 de Heath (2002) [12]. no admite descomposición A = LU alguna. 1.. . A). . . resuelve el sistema lineal Ax = e100 .3. muestre que 1 e1T n−1 2 D). Considera a la matriz    A=     0. 0 0. . .     . . Halla una subestimación para κ2 (A). 37. . Usa la desigualdad A F ≤ n A 2 . Factorización LU 36. 2. Contesta las preguntas 2.43 de la página 94. C). . (1T = (1.1976 . Para estimar A−1 ∞ . ¿Cuánto vale κ∞ (A)? 35. Para ello. 0. 0 0 . para mostrar que A 2 ≥ n+1 2 1/2 .41 y 2. . 3 2 1  es invertible y que. para n ≥ 2 .

  −1 1   1 4 1     . .e.1 incluyendo las raíces cuadradas. Escriba una rutina apropiada en FORTRAN para este caso.. y resuelva el sistema lineal Ax = b. . Por ejemplo.. 25 y 55. 44. para obtener la descomposición LU de A. . es conveniente guardar la matriz en un arreglo 3 × n. Programa el algoritmo 3. . .1 en FORTRAN y aplícalo a los ejercicios 37 y 38. con A ∈ Rn×n tridiagonal). . Ax = b.73 al 2.6 de la página 101 de Heath (2002) [12]. 42. Ejercicios A continuación resuelve nuevamente este sistema por eliminación Gaussiana con pivoteo parcial. 1.. 39.1 de una transformación de Gauss. calcula κ1 (A). .    1 4 1  1 −1 La matriz A se puede almacenar como una matriz ATR de 3 × n. 1 16 81 256 190 3. usando MATLAB. 45.5. A= .78 de la página 96 de Heath (2002) [12]. . ¿Cuáles son los factores de la descomposición LU de A? ¿Cuánto vale det(A)? Compara resultados y comenta. Implanta el Algoritmo de Cholesky 3. Para estas matrices.5..90 38. Para la resolución de sistemas tridiagonales (i.l. b = (1. Resuelve por eliminación Gaussiana sin pivoteo el s.4. 41. 1)T para n = 5. entonces P es invertible y que es su propio inverso.4.a. Demuestra que si P ∈ Rn×n es de permutación.6. . 15. . El método de eliminación Gaussiana no requiere de pivoteo. Ax = b. Calcula el costo computacional del algoritmo de Cholesky 3. donde     1 2 3 4 2  1 4 9 16   10    A= y b=  1 8 27 64   44  . Factorización de Cholesky 43. la siguiente matriz ocurre cuando se interpola un conjunto de datos por spline cúbicos. Contesta las preguntas 2.1 en FORTRAN y úsalo para resolver el problema 2. Demuestra las propiedades 3. 40.

α←a β←b N ←1 91 .2. La existencia de una solución del problema se garantiza con el siguiente teorema: Teorema 4. Así que el problema se reduce a encontrar un intervalo “muy pequeño” (a∗ . sino hasta donde permita la aritmética de punto flotante que se está usando.1. entonces existe un x∗ ∈ (a. T OL una tolerancia dada. Si f : [a. 4. encontrar x∗ ∈ I tal que f (x∗ ) = 0. Método de bisección En esta sección se presenta el siguiente algoritmo de la bisección. b∗ ) con a∗ y b∗ números flotantes tales que f (a∗ ) y f (b∗ ) sean de signo opuesto. y N M AX un número máximo de iteraciones.1. Algoritmo de bisección. b ∈ R. b) tal que f (x∗ ) = 0. x∗ se puede tomar como a∗ o b∗ . Para una prueba consultar Spivak (1978) [23].Capítulo 4 Ceros de funciones 4. Demostración.1. En la práctica no siempre es posible hallar x∗ exactamente.2. Datos de salida: La raíz aproximada x ∗ de f (x) = 0 sobre [a. Datos de entrada: a. b] → R continua con f (a)f (b) < 0. Algoritmo 4. Un tal x∗ se llama cero de f (x) o raíz de la ecuación f (x) = 0. b]. b] → R es continua y f (a) y f (b) son de signo opuesto. Planteamiento del problema Dada f : I ⊆ R → R polinomio o función transcendente sobre un intervalo I.1. a < b y f : [a. En tal caso.

entonces hacer α=β Terminar. Una simulación de Mientras (While) en Fortran es: {Etiqueta} IF ({Expresión lógica}) THEN {Bloque de instrucciones} GO TO {Etiqueta} ENDIF Actividad 4. hacer γ ← (α + β)/2 Si sign (f (γ)) = sign (f (β)) . Programar el método de bisección como function.2. Discutir el criterio de paro |β − α| ≥ T OL ∗ |β| con el criterio |f (γ)| < T OL.1. Programar f (x) como function. Método de bisección La tolerancia T OL se puede elegir como f actor ∗ u. B).2. hacer α←γ N ←N +1 Si N = N M AX. Capture el programa BISEC. entonces β←γ En caso contrario. Dicho programa está basado en el algoritmo de la bisección y tiene la siguiente estructura: {Documentaci´n del programa o {Lea f (x) como function   Programa principal   EXTERNAL F  Llama BISEC como function   Imprima resultados {Lea BISEC como function Programa BISEC. con 0 < f actor < 1 y u la unidad de redondeo de la aritmética flotante que se está usando. Sugerencias para programar el algoritmo de bisección: A).B] C USANDO EL METODO DE LA BISECCION C C JUSTINO ALAVEZ RAMIREZ C . 4.FOR anexo.92 Mientras |β − α| ≥ T OL ∗ |β| .FOR C APROXIMA LA RAIZ DE LA ECUACION F(X)=0 SOBRE [A. C).

N.BISEC INTEGER N. FR. A.B]–>R TOL TOLERANCIA PARA APROXIMAR LA RAIZ DE F(X)=0 SALIDA: R.0*X .B. NMAX) THEN WRITE(6.N. + ’ITERACIONES’.2. B.I5.TOL.2X.R.2X. .NMAX) C IF (N .4.FR././.’NO SE LOGRO CONVERGENCIA DESPUES DE’.0 TOL = 1.2.’REINICIE CON UNA NUEVA TOLERANCIA O CON MAS’. NMAX DONDE: R RAIZ APROXIMADA DE F(X)=0 FR VALOR DE F(R) N ITERACION EN QUE SE LOGRA R NMAX ITERACION MAXIMA SIN CONVERGENCIA **************************************************************** REAL FUNCTION F(X) REAL X F = X**7-2.FR. TOL DONDE: F:[A.0 F = X**4 + X**3 .0E-6 NMAX = 1500 R = BISEC(A.’************************************************** +*********’.X**2 .6X.1X.TOL. + 8X.NMAX C A = 1.10)NMAX 10 FORMAT(//.B.EQ.0 F = X . + 8X.0 B = 2. Ceros de funciones C C C C C C C C C C C C C C C C FEBRERO DE 2006 DATOS: F(X).F.EXP(-X) RETURN END 93 C C C C **************************************************************** C EXTERNAL F REAL A.

N 20 FORMAT(//.’EL VALOR DE F(RAIZ) ES:’.B] POR EL C METODO DE LA BISECCION C REAL ALPHA. ABS(BETA)*TOL) THEN GAMMA = (ALPHA+BETA)/2.NMAX) REAL A.B./.BETA.6X.FG.8.2.E15.20)R. + 8X./.’***************************************************** +******’) ELSE WRITE(6.F.FR.NMAX C C CALCULO DE UNA RAIZ DE F(X)=0 SOBRE [A.1X.FB. + 6X.0) THEN BETA=GAMMA ELSE ALPHA=GAMMA ENDIF .//.GE.FR.TOL.3X.’R E S U L T A D O S’.GAMMA.TOL INTEGER N. + 8X.94 4.0 FG = F(GAMMA) FB = F(BETA) IF (FG*FB . + 8X.F.’DESPUES DE’. Método de bisección +’ITERACIONES’.FR.B.8.2X. 0. + 6X.’LA RAIZ APROXIMADA ES:’.2X.’**********************************************’.’ITERACIONES’./.N.E15././.R C C INICIALIZANDO C ALPHA = A BETA = B N = 1 C C VERIFICANDO CONDICION DE CONVERGENCIA C 30 IF (ABS(BETA-ALPHA) .’**********************************************’) ENDIF STOP END C C ********************************************************************* C REAL FUNCTION BISEC(A.I3.GT. + 14X.

Se gana un bit de precisión en cada iteración en el método de la bisección.1.2. Actividad 4. ejecuta tu programa con los parámetros siguientes: A).EQ. T OL = 10−8 y D). tiene un raíz ξ entre 1 y 2 ¿Cuánto vale ξ? x2 B). T OL = 10−6 y N M AX = 1 500 Comenta. T OL = 10−8 y C). ejecuta tu programa con los parámetros siguientes: A). Verifica que el polinomio p(x) = x4 + x3 − x2 − 2x − 3. Para p(x) = x7 − 2. Para p(x) = x4 + x3 − x2 − 2x − 2. T OL = 10−7 y N M AX = 1 500 B).1192093 × 10−6 ≡ 2−23 . En la iteración t: b−a β−α≤ ≡ 2−t (b − a) 2t El macheps en precisión simple es 0. con a = 1. por lo que si se toma T OL = 2−23 y un intervalo [a.4.0 y b = 2. se necesitarían 23 iteraciones para alcanzar el intervalo . Repita el inciso Comenta. N M AX = 100 N M AX = 100 N M AX = 1 500 (A) e imprima los resultados de cada iteración. T OL = 10−7 y B).2. Actividad 4. 2 Observación 4.0 y b = 2. con a = 1. NMAX) THEN ALPHA = BETA ENDIF GO TO 30 ENDIF C C R = BETA R = ALPHA FR = F(R) BISEC = R RETURN END 95 Actividad 4.0. Ceros de funciones N = N+1 IF (N . b] de longitud 1.4. Ejecute su programa para resolver los siguientes problemas: A).2. Encuentra el punto donde la función f (x) = + e−x alcanza su mínimo.2.3.2.0.

b]. Método de Newton más pequeño: a∗ ≤ x∗ ≤ b∗ . entonces: k→∞ lim f (x∗ ) |ek+1 | = . f (x∗ ) = 0 y f es continua en (a. b] → R es continuamente diferenciable sobre (a.3. Si f (x∗ ) = 0. f (x0 ) Esto da lugar a la iteración de Newton-Raphson: xk+1 = xk − f (xk ) f (xk ) si f (xk ) = 0. Teorema 4. Observación 4.3.1. existe un intervalo abierto J ⊂ (a. y |g (x)| ≤ C . x∈J. se resuelve la ecuación f (x0 ) + f (x0 )(x − x0 ) = 0. la iteración de Newton-Raphson xk → x∗ cuando k → ∞.3.2. para obtener: x+ = x 0 − f (x0 . b). b) que contiene a x∗ tal que f (x) = 0 para todo x ∈ J. En cada iteración se evalúa f . no hay razón para rechazar el método. Observación 4. El método es lento pero seguro. b). k ≥ 0 . Si se denota el error en xk por ek = xk − x∗ . existe un intervalo abierto I ⊂ J tal que x∗ ∈ I. macheps = 0. con a∗ y b∗ números flotantes sucesivos. Método de Newton Si f : [a. b) y f (a)f (b) < 0. es posible construir métodos más rápidos para aproximar la raíz x∗ de f (x) = 0 sobre [a. y como g (x∗ ) = 0.96 4. x ∈ I . por lo que se requeririán 52 iteraciones en este caso.2. f (x) Es claro que g existe y es continua en J. . f (x) = f (x0 ) + f (x0 )(x − x0 ) + O(|x − x0 |2 ) Si f (x0 ) = 0. b).2. Sea f (x) g(x) = x − . siempre converge a alguna raíz x∗ de f (x) = 0. 2 |ek | 2f (x∗ ) (4. es decir.222044604925031 × 10 −15 ≡ 2−52 . 4. por lo que si la evaluación es rápida.3. entonces existe un intervalo abierto I que contiene a x∗ tal que si x0 ∈ I.1) Demostración. En precisión doble. Entonces. Sea x0 un punto inicial dado en (a. Como f (x∗ ) = 0 y f es continua en (a.

1. 2 k→∞ 2f (xk ) |ek | 2f (x∗ ) Observación 4. se tiene que 1 0 = f (x∗ ) = f (xk ) + f (xk )(x∗ − xk ) + f (ξk )(x∗ − xk )2 . f (xk ) que es justamente la iteración de Newton-Raphson. así que |ek | → 0 cuando k → ∞. Ahora. y se define lo que se conoce como la iteración del punto fijo para g como: xk+1 = g(xk ) = xk − f (xk ) .4. 2f (xk ) lim |ek+1 | f (ξk ) f (x∗ ) = lim = . de la fórmula de Lagrange para el residuo en la aproximación de Taylor de primer orden para f en un entorno de xk es 1 f (x) = f (xk ) + f (xk )(x − xk ) + f (ξk )(x − xk )2 . Así que tomando x = x∗ . 2f (xk ) f (ξk ) (x∗ − xk )2 . Se sigue del teorema del valor medio que existe ξk−1 entre xk−1 y x∗ tal que ek = xk − x∗ = g(xk−1 ) − g(x∗ ) = g (ξk−1 )(xk−1 − x∗ ) = g (ξk−1 )ek−1 .3. se sigue que C k → 0 cuando k → ∞. Sea x0 ∈ I. resulta x∗ − xk − de donde x∗ − xk+1 = − Por lo que k→∞ f (xk ) f (xk ) =− f (ξk ) (x∗ − xk )2 . k ≥ 0. 2 Agrupando términos. Como 0 < C < 1. Ceros de funciones 97 para alguna constante C tal que 0 < C < 1. . 2 para alguna ξk entre x y xk . de donde |ek | ≤ C|ek−1 | ≤ C 2 |ek−2 | ≤ · · · ≤ C k |e0 | . f (x∗ ) = 0 y f (x∗ ) = 0 significa que x∗ es raíz simple de f (x) = 0. y así se tiene que xk → x∗ cuando k → ∞.

si d > 1 la tasa de convergencia se llama superlineal. = Esto significa que en cada iteración se duplican los dígitos decimales (binarios) correctos de la aproximación a la raíz x∗ .2. lo anterior dice que el error en la iteración k + 1 es aproximadamente el = cuadrado del error en la iteración k. Sea f (x) = x2 − 2.41421568627451. y si d = 2 la tasa de convergencia se dice cuadrática. y si |ek | ∼ 2−t . Si d = 1 y C < 1. |ek+6 | ≤ 1/264 . y |ek+3 | ≤ 1/28 . |ek+5 | ≤ 1/232 .3. Método de Newton f (x∗ ) . x4 = 1. la tasa de convergencia se llama lineal.41421356237309. Por lo que al iniciar con un error ≤ 1/2 en una aritmética flotante de precisión simple.3. |ek |d C se le llama la constante de error asintótico. es suficiente 5 iteraciones para alcanzar el número flotante a∗ más cercano a la raíz x∗ . |ek+1 | ∼ C|ek |2 = Si C ∼ 1. x3 = 1. |ek+4 | ≤ 1/216 . Note la diferencia con el método de la bisección. La iteración de Newton-Raphson es: xk+1 = x2 + 2 k . 2xk Observa cómo se va duplicando los dígitos correctos de la raíz de 2: x0 = 2. |ek+2 | ≤ 1/24 .3. El método de Newton tiene tasa de convergencia cuadrática. entonces: = |ek+1 | ≤ 1/22 . y en precisión doble bastan 6 iteraciones. x1 = 1.41421356237469. x2 = 1. Si C ∼ 1 y |ek | ≤ 1/2. entonces de (4. Si C = 4.1) se tiene que 2f (x∗ ) para k s grandes.1.98 Observación 4. si la sucesión de errores {ek }k≥1 satisface: k→∞ lim |ek+1 | = C < ∞. x5 = 1. = entonces |ek+1 | ∼ 2−2t .41666666666667. Ejemplo 4.5. Observación 4.3.3. Definición 4.1. k ≥ 0.3. Una iteración convergente {xk }k≥0 se dice que tiene convergencia de tasa (orden) d. .

x3 = −xc .5 −1 −1. En conclusión.5 q f (x) = arctan(x) −xc 0 −0. Ceros de funciones 99 Ejercicio 4. el método de Newton convergerá a x∗ = 0. es decir el tamaño del error |xk − x∗ | se incrementará en cada iteración.4. Eligiendo un xc ∈ [1.5 −2 −4 q q xc X q −3 −2 −1 0 1 2 3 4 Figura 4. Algoritmo 4. Muestre que el método de bisección tiene tasa de convergencia lineal y que C = 1/2.1. Algoritmo de Newton-Raphson.1: Método de Newton aplicado a f (x) = arctan(x). En la práctica. entonces hacer . el método de Newton divergirá.3. Salida: La raíz aproximada x∗ de f (x) = 0 si existe. IT ER ← 1 Hasta que |x+ − x0 | < T OL ∗ |x+ | . Si |x0 | < xc . Datos de entrada: Una función f de clase C 1 .1. El verdadero problema del método de Newton es encontrar un intervalo adecuado I que contiene a x∗ . que garantice convergencia para la iteración de Newton desde cualquier punto inicial x0 ∈ I. Observación 4. ver figura 4. T OL una tolerancia dada.39. hacer x0 ← x + Determinar f (x0 ) Si f (x0 ) = 0 .5 1 0.3.1. 1.40] y tomando x0 = xc . 2 Y 1. y así sucesivamente. y N M AX un número máximo de iteraciones. pero si |x0 | > xc .4. lo anterior plantea el problema de la elección del punto inicial x0 que garantice convergencia para la iteración de Newton. x0 un punto inicial dado. el método de Newton es de convergencia local y el método de bisección es de convergencia global. resulta que x1 = −xc . x2 = xc .3. Un ejemplo perverso que presenta este tipo de problema es cuando se itera para aproximar el cero de f (x) = arctan(x).

Ejercicio 4. Método de Newton La tolerancia T OL se puede elegir como f actor ∗ u. para aproximar la raíz real (si existe) de f (x) = 0 sobre un intervalo [a.5.100 f (x0 ) f (x0 ) IT ER ← IT ER + 1 Si IT ER = N M AX. Sin embargo.2. con 0 < f actor < 1 y u la unidad de redondeo de la aritmética flotante usada.3. b]. Escriba un programa para el algoritmo de Newton-Raphson en WATFOR87 con las sugerencias anteriores. x+ ← x 0 − 4. Programar f (x) como function. sí se puede aplicar el método de Newton aunque ya no se garantice convergencia cuadrática. k ≥ 0 2xk 2 y ek+1 xk+1 − 0 1 = = ek xk − 0 2 Por lo tanto.4. f (x) = x2 tiene como raíz doble a x∗ = 0. Compara los resultados y comenta. Programar el algoritmo como function. y la iteración de Newton correspondiente es: x2 1 xk+1 = xk − k = xk . hacer x0 = x + Terminar.2.3.3. C). Una simulación de Hasta (Until ) en Fortran es: {Etiqueta} CONTINUE {Bloque de instrucciones} IF ({Expresión lógica}) GO TO {Etiqueta} Actividad 4. Sugerencias para programar el algoritmo de Newton-Raphson: A).1. Programar f (x) como function.2.3. .3.3. Escriba un programa híbrido en WATFOR87 que combine los algoritmos de bisección y Newton-Raphson. xk = 0.1 no se puede aplicar. Observación 4. Úsalo para resolver de nuevo los dos problemas de la actividad 4. xk → 0 linealmente.2. B). Compara los resultados y comenta. Por ejemplo. Discutir el criterio de paro |x+ − x0 | < T OL ∗ |x+ | con el criterio |f (x+ )| < T OL. De hecho. la convergencia del método de Newton a una raíz doble de f (x) = 0 es lineal. Si x∗ no es raíz simple de f (x) = 0. el teorema 4. Úsalo para resolver una vez más los dos problemas de la actividad 4. D). ¿Qué hacer si x+ se sale fuera del intervalo donde f está definida? Actividad 4.4.

4.4. Se calcula xk+1 de xk y xk−1 . k ≥ 1 . xk+1 = xk − f (xk ) − f (xk−1 ) Nótese que se ha usado la aproximación para la derivada: f (xk ) − f (xk−1 ) f (xk ) ∼ = xk − xk−1 para deducir (4.4. Más aún. f (x∗ ) = 0. f (xk ) = f (xk−1 ) . f (x∗ ) = 0 y f es continua. En la práctica. entonces la iteración {xk }k≥0 generada por (4.3. Si f (x∗ ) = 0.2).3. Una prueba de convergencia se puede encontrar en Ortega and Rheinboldt (1971) [18].618 . = 2f (x∗ ) 2 Demostración.4.1.2) Teorema 4. Ceros de funciones 101 Observación 4.7. (4. |ek |d k ≥ 0. xk − xk−1 de donde se obtiene la iteración de la secante: xk − xk−1 f (xk ) . evaluar f (x) y f (x) pueden ser muy caros o de plano sea imposible evaluar f (x). .6. k→∞ |ek |d donde 1/d f (x∗ ) 1 √ C= y d= 5 + 1 ∼ 1. entonces existe un intervalo abierto I que contiene a x∗ tal que si se eligen x0 y x1 en I con x0 = x1 . Otra desventaja del método de Newton es que requiere evaluar f (x) y f (x) en cada iteración. Método de la secante Se usa cuando f (x) es difícil de evaluar para aplicar el método de Newton. radica en que se puede aplicar para aproximar ceros complejos de funciones analíticas.2) converge a x∗ cuando k → ∞. |ek+1 | lim = C = 0. y se puede extender para solucionar sistemas de ecuaciones no lineales de varias variables. resolviendo la ecuación de la recta secante: y = f (xk ) + f (xk ) − f (xk−1 ) (x − xk ) = 0 . Para determinar la tasa de convergencia. sea sk = |ek+1 | . La principal importancia del método de Newton. Observación 4. Se inicia con dos puntos x0 y x1 .

4.2. Fue creado por Wijngaarden y Dekker entre otros.4.102 Se tiene que |ek+1 | = sk |ek |d = sk sk−1 |ek−1 |d así que 2 4. No hay manera de determinar el tamaño del intervalo I. En la práctica frecuentemente se combinan métodos para aproximar raíces de la ecuación f (x) = 0.618 (superlineal).1. Compare los resultados con los que obtuvo en las actividades 4.2. Método de la secante d = sk sd |ek−1 |d .1 y 4. Si x∗ es raíz simple de f (x) = 0 y f es continua.FOR. Así que el método de la secante es de convergencia local. pero más lento que el método de Newton. entonces dicha igualdad será válida solamente si d2 − d − 1 = 0 . Uno de los mejores algoritmos computacionales híbridos escritos que combina la convergencia global del método de la bisección con la velocidad de la secante.4.3. con f función real continua de una variable.FOR o ZERO. El método de la secante trabaja bien para aproximar ceros de funciones analíticas de una variable compleja. pero tiene serias dificultades para ser extendida a calcular soluciones de sistemas de ecuaciones no lineales de varias variables.2). para encontrar una raíz real simple de funciones “suaves” es el FZERO. Así que es más rápido que el método de bisección. Actividad 4. .1. Una variante que aproxima raíces en doble precisión es el ZERO. k−1 2 Como |ek | → 0 cuando k → ∞.FOR fue escrito por Shampine y Watts.4. el método de la secante tiene tasa de convergencia 1. Observación 4.3. Estos métodos se les llama híbridos. Por ejemplo. mientras el lado izquierdo de la igualdad anterior se puede probar que tiende a una constante no cero.618 . 4. se aplica bisección en la búsqueda de x0 y x1 y luego se aplica secante para acelerar la convergencia. El programa FZERO. Observación 4. es decir por d = (1 + 5)/2 ∼ 1. Ponga a punto el programa FZERO. por lo que no es posible elegir adecuadamente x0 y x1 que garanticen convergencia de la iteración (4. Comenta.4. Publicado por Dekker en 1969.2.3.FOR para resolver los dos problemas de la actividad 4. k−1 d |e |ek | · |ek−1 | sk−1 |ek−1 | k−1 | k ≥ 1.4.4. en el Centro Matemático de Amsterdam en 1960’s. Lo anterior implica que la tasa de convergencia está dada por la raíz positiva de esta √ ecuación cuadrática. = Observación 4. sk sd |ek−1 |d |ek+1 | 2 k−1 = = sk sd−1 |ek−1 |d −d−1 .2.

para la búsqueda de una raíz real de f (x) = 0 sobre un intervalo [a. por lo que es ligeramente más rápido que el método de la secante. se plantea como: Dada F : D ⊆ Rn → Rn .FOR escrito por Shampine y Watts (1970).5. i = k − 2.6. 4. encontrar x∗ ∈ D tal que F (x∗ ) = 0.1. secante e interpolación cuadrática inversa.2.4. se puede usar interpolación cuadrática inversa para mejorar la estimación de la raíz. Ponga a punto el programa ZEROIN. Sea g(y) una parábola en la variable y tal que xi = g(fi ). necesita tres valores previos. k − 1.1.4. Ceros de funciones 103 4.5. Observación 4. Los tres valores fk−2 . fk−1 y fk deben ser distintos a pares para evitar división por 0.5. donde fi ≡ f (xi ). . combina los métodos de bisección. (fk − fk−2 )(fk − fk−1 ) + xk La siguiente aproximación de la raíz x∗ se toma como: xk+1 = g(0) . La tasa de convergencia del método de interpolación cuadrática inversa es de 1. b]. Actividad 4. 4. Sin embargo. Sistemas de ecuaciones no lineales Existencia y unicidad El problema de encontrar la solución de un sistema de ecuaciones no lineales. Observación 4.839.4. Método de interpolación cuadrática inversa Se pueden derivar métodos fuertes para aproximar raíces de f (x) = 0. Entonces: g(y) = xk−2 (y − fk−1 )(y − fk ) (y − fk−2 )(y − fk ) + xk−1 (fk−2 − fk−1 )(fk−2 − fk ) (fk−1 − fk−2 )(fk−1 − fk ) (y − fk−2 )(y − fk−1 ) . y la conducta del algoritmo puede ser errático si los valores iniciales no se eligen cercanos a la raíz x∗ .5. Compara los resultados con los que obtuvo en la actividad 4.1.1.FOR para resolver los dos problemas de la actividad 4. usando aproximaciones cuadráticas de la función f (x).6.2. El programa ZEROIN. Cuando f (x) ha sido evaluado en más de dos puntos. Comenta. k.

6.1 (de aplicaciones contractivas). 1−γ k ≥ 0. k ≥ 0. Sin embargo.. A ∈ Rn×n no singular. para todo x.. la longitud de paso xk+1 −xk decrece por lo menos en un factor γ en cada iteración. Sea G : D → Rn una contracción sobre un conjunto cerrado D ⊆ Rn con constante γ y g(D) ⊆ D. Existe un único x∗ ∈ D tal que G(x∗ ) = x∗ . La aplicación G se llama una contracción en D si existe 0 < γ < 1 tal que G(x) − G(y) ≤ γ x − y . la sucesión {xk }k≥0 generado por xk+1 = G(xk ). Sea G : D → Rn . y ∈ D. Aplicación. Entonces A).1. Un punto x ∈ D se llama punto fijo de G si G(x) = x. Definición 4. Teorema 4. A). la sucesión {xk }k≥0 generado por xk+1 = G(xk ). permanece en D y converge q−linealmente a x∗ con constante γ. B). Demostración.6. k ≥ 0. entonces la ecuación F (x) = 0 tiene una única raíz x∗ en D. xk − x∗ ≤ ηγ k . Una forma de garantizar la existencia de x∗ es vía la teoría de punto fijo y aplicaciones contractivas. El teorema de aplicaciones contractivas garantiza que desde cualquier punto inicial x 0 en la región D. la convergencia es solamente lineal por lo que el método no se considera apropiado. G una contracción sobre un conjunto cerrado D ⊆ Rn y G(D) ⊆ D. si G(x) = x − AF (x) con x ∈ D. Para cualquier x0 ∈ D. Dada F : D → Rn . pues xk+1 − xk = G(xk ) − G(xk−1 ) ≤ γ xk − xk−1 . .104 4.6. convergerá a la raíz x∗ de la ecuación F (x) = 0. Sistemas de ecuaciones no lineales donde F se supone continuamente diferenciable sobre el conjunto D que se supone también abierto y convexo en Rn . Para cualquier η ≥ G(x0 ) − x0 . Observa que desde cualquier x0 ∈ D. Una prueba se puede encontrar en . B). C).

. Ceros de funciones 105 4. entonces x+ = x + s .6.6. . ∂f1 (x) · · · ∂x2 ∂f2 (x) · · · ∂x2 . Sea F : Rn → Rn continuamente diferenciable. Puesto que el objetivo es encontrar un x∗ tal que F (x∗ ) = 0.      JF (x) =       ∂fn ∂fn (x) (x) · · · ∂x1 ∂x2  ∂f1 (x) ∂x1 ∂f2 (x) ∂x1 .. puede ser una buena aproximación del cero x∗ de F .4. Sea x0 ∈ Rn un punto inicial dado. xk+1 = xk + sk . Algoritmo 4. Para cada iteración k.1. .2. . Método de Newton F (x + s) ∼ F (x) + JF (x)s . . x2 + 4x2 − 4 1 2 si existe en una aritmética de punto flotante de precisión 7 y redondeo al par más cercano. . ∂f1 (x) ∂xn ∂f2 (x) ∂xn . entonces donde es la matriz Jacobiana de F en x.6. entonces si s satisface el sistema de ecuaciones lineales: JF (x)s = −F (x) . = Si F : Rn → Rn es continuamente diferenciable. Algoritmo de Newton para sistemas de ecuaciones no lineales. En este sentido. se resuelve el sistema de ecuaciones lineales: JF (xk )sk = −F (xk ) . A s se le llama el paso de Newton. . . por una sucesión de sistemas de ecuaciones lineales. Aproximar la raíz de F (x) = x1 + 2x2 − 2 .1. . ∂fn (x) ∂xn             Ejemplo 4. el método de Newton reemplaza el problema de resolver un sistema de ecuaciones no lineales.

0150792 1.3787884 8. resulta: 2 3 . −0.416667 . por lo que x1 = x0 + s0 = −0.06077479 . F (x2 ) = ∼ 1 2 .757576 ∼ 1 2 0.33334 −4.000001 −1.0075400 .8293163 de donde resulta que s2 = Observa que 0. −1.17431500 .3219699 1.666666 11. JF (x2 ) = .2 × 10−6 0 9.66667 −4.2 × 10 1 2 .33334 1 2 −0. .722226 .722225 de donde resulta que s1 = Para k = 2. por lo que x2 = x1 + s1 = −0.5833333 0.0946970 −6 −0. 1 2 0.000001 0 14.515153 −0.106 En efecto. 2 16 1 2 −3 0 12 −7 El sistema lineal a resolver es ∼ .000001 .3787884 8. −1.1893942 .8 × 10−6 0. El sistema lineal a resolver es 0.722225 El sistema lineal a resolver es 1 2 −0. −0. F (x0 ) = 1 2 .8293162 . por lo que x3 = x2 + s2 = −0.666666 11. la matriz Jacobiana de F es F (x) = Tomando x0 = 1 .757576 −0.833333 1.08715742 F (x3 ) = 0. 0. Sistemas de ecuaciones no lineales 1 2 2x1 8x2 .6. JF (x0 ) = 13 1 2 −3 2 16 −13 de donde resulta que s0 = Para k = 1. JF (x1 ) = 4. Para k = 0.2 × 10−6 −0. . F (x1 ) = 4. por lo que si se continúa iterando se aproximará a la solución exacta x∗ = 0 1 .6439388 −0.8333330 .8293163 −0.

JF (x∗ )−1 existe con JF (x∗ )−1 ≤ β. para todo x ∈ B(x∗ . Las constantes γ y β se pueden combinar en una sola constante γRel = γ · β. r) ⊂ D. r). la sucesión {xk }k≥0 generado por xk+1 = xk − JF (xk )−1 F (xk ) . y JF Lipschitz continua con constante γ en B(x∗ . tales que B(x∗ .3. Demostración. existe ε > 0 tal que para todo x0 ∈ B(x∗ . r). .6. β > 0. pues JF (x∗ )−1 [JF (x) − JF (x∗ )] ≤ JF (x∗ )−1 JF (x) − JF (x∗ ) ≤ βγ x − x∗ = γRel x − x∗ . 2. k ≥ 0. está bien definida. . Convergencia local del método de Newton Se enuncia el teorema de convergencia local del método de Newton para sistemas de ecuaciones no lineales.6. F (x∗ ) = 0.2. el radio de convergencia se elige como: 1 ε = min r. y la prueba se puede ver en Dennis and Schnabel (1983) [4]. una constante de Lipschitz que mide la no linealidad relativa de F en x∗ . Ceros de funciones 107 4. y satisface que xk+1 − x∗ ≤ βγ xk − x∗ 2 k ≥ 0.4. Teorema 4. Puesto que en la prueba del teorema 4. Entonces. Desventajas .2. y cuando JF (x∗ ) es no singular. 2βγ entonces se puede decir que el radio de convergencia del método de Newton es inversamente proporcional a la no linealidad relativa de F en x∗ . Se supone que existe x∗ ∈ Rn y r. Sea F : Rn → Rn continuamente diferenciable en un conjunto abierto convexo D ⊆ Rn . Se aplica inducción sobre k. Es de convergencia q−cuadrática cuando se eligen buenos puntos de inicio x0 . Algunas ventajas y desventajas del método de Newton para sistemas de ecuaciones no lineales son: Ventajas 1.6. ε). converge a x∗ . Obtiene solución exacta en una sola iteración cuando F es afín (y es exacta en cada iteración en las funciones componentes de F que sean afín).

f (x) = ex − x2 + 3x − 2. que reducen significativamente el costo computacional. Nadie sabe qué método utilizó Leonardo para encontrar este valor aunque fue un resultado notable en ese tiempo. 0] usando el método de interpolación cuadrática inversa. usando el método de Newton. B). Las frecuencias de vibración naturales de una viga uniforme sujeta en un extremo y libre en el otro son soluciones de la ecuación: tan(x) tanh(x) = 1 . consultar Dennis and Schnabel (1983) [4]. Existen modificaciones globalmente convergentes del método de Newton que se conocen como métodos cuasi Newton. Ejercicios 3. x = ρω 2 L/EI (L = longitud de la viga (m). f (x) = 2x cos(2x) − (x + 1)2 . ρ = densidad del material de la viga (kg/m3 )). 2. y obtuvo la raíz x = 1.7. En el año 1225 Leonardo de Pisa (mejor conocido como Fibonacci) estudió la ecuación cúbica: x3 + 2x2 + 10x − 20 = 0 . En cada iteración necesita resolver un sistema de ecuaciones lineales que puede ser singular o mal condicionada. f (x) = log(1 + x) − x2 . Actualmente se están desarrollando nuevos métodos para resolver sistemas de ecuaciones no lineales.108 1. Ejercicios A). 1] usando el método de bisección. ω = frecuencia (seg −1 ). Verifica que el resultado de Leonardo es correcto en todas sus cifras decimales. Hallar todos los ceros de las siguientes funciones sobre los intervalos que se indican: C). y luego determine los tres valores más bajos con 5 decimales correctos. sobre [−1. sobre [0. EI = rigidez ante la flexión (N m2 ). 4. Requiere de JF (xk ) en cada iteración. Investigue primero los valores que satisfacen la ecuación. 2. Para más detalles. sobre [−3. . 1] usando el método de la secante. 3. como los métodos de continuación homotópica. comparados con el método de Newton.368808107. No converge globalmente para muchos problemas. donde. 1.7. 4.

B). está dada por √ (1 − x) x + 3 .76N2 . 0 < x < 1. El factor de fricción f para los flujos turbulentos en una tubería está dado por: 1 √ = 1. D = 0.4. e es la aspereza de la superficie de la tubería y D es el diámetro de la tubería. La reacción teórica es CO + 2 O2 ↔ CO2 .52 √ 3.4. 5.76N2 → xCO + (1 + x)O2 + (1 − x)CO2 + 3. o sea x. 2 La ecuación de equilibrio es √ (1 − x) x + 10. Determina el valor de x. Una mezcla equimolar de monóxido de carbono y oxígeno debe alcanzar el equilibrio a 1 3000 ◦ K (grados Kelvin) y una presión de 5 bar.0025 m. donde Re es el número de Reynolds.14 − 2 log f e 9. 2 La ecuación de equilibrio químico para determinar la fracción de CO restante. que se le llama correlación de Colebrook. y la reacción química real por 1 CO + O2 → xCO + (1 + x)O2 + (1 − x)CO2 . Ceros de funciones 109 4. 7. Kp = √ x x + 1 P/P0 donde.06 = . Evalué f adecuadamente para los siguientes casos: A). excepto que ocurre en presencia de N2 a presión atmosférica. e = 0.1 m. |ek | · |ek−1 | con 0 < C < ∞.35 + √ D Re f .0001 m. Considere la misma reacción química del problema anterior. Re = 3 × 104 . 6. Kp = 3. . e = 0. 2 P = 5 bar y P0 = 1 bar. x x+1 Determina el valor de x. La reacción es 1 CO + O2 + 3. Re = 5 × 106 . se tiene que k→∞ lim |ek+1 | =C. Demuestra que bajo las hipótesis del teorema 4.1. D = 0.06 es la constante de equilibrio para CO + 1 O2 ↔ CO2 a 3000 ◦ K.1 m.

¿Cuál es la constante de Lipschitz para f (x) en el intervalo [−a.7. 2 e x3 − 1 A). Para cada una de las funciones f (x) = x. el método de Newton sobre f (x) converge a x∗ = 0? 9. ¿Cuál es la región de convergencia del método de Newton para f (x) que predice el teorema 2.3 del libro de Dennis and Schnabel (1983) [4]? D). 0)T ? B). considera el método de Newton aplicado a   x1 F (x) =  x2 + x2  . f (x) = x2 + x. ¿En cuál intervalo [b. 2)T . Muestra que las coordenadas de este máximo se = pueden encontrar resolviendo el sistema de ecuaciones no lineales sen(xy) − y + x = 0 y cos(xy) + 1 = 0 . ¿Cuándo vale f (x) en la raíz x∗ = 0? B). es decir.110 4. ¿Cuál es la región de convergencia del método de Newton para F (x) que predice el teorema 4.2? D). cuál es una cota para |(f (x) − f (0))/x| en este intervalo? C).6. ¿Cuál podría ser la región de convergencia si x03 = 0? ¿Si x02 = x03 = 0? 10. Ejercicios 8. a]. f (x) = ex − 1. Usando tus respuestas del Ejercicio 8. contesta las siguientes preguntas: A). Calcula una aproximación de este máximo usando el método de Newton. ¿Cuál es la constante de Lipschitz para JF (x) en una bola abierta centrado en x∗ y radio a? C). La función y(x) tiene un máximo en (x. c]. . y)T ∼ (1. ¿Cuándo vale JF (x) en la raíz x∗ = (0. b < 0 < c. 0.4. La ecuación sen(xy) = y −x define y implícitamente como función de x.

i = 1 : m.1. que se llamará datos con xi = xj .1. i = j. la interpolación polinomial y racional se usan para construir “métodos de extrapolación” para problemas de integración de ecuaciones diferenciales y problemas relacionados. A f se le llama función de interpolación o interpolante de los datos. C). unicidad y condicionamiento Problema 5. Hoy día la interpolación por polinomios sigue siendo la base de muchas fórmulas de uso general para la integración y diferenciación numérica.Capítulo 5 Interpolación polinomial y splines cúbico 5. Dibujar una curva suave a través de los datos. polinomios por piezas. entre otros. yi ). La interpolación por spline es una poderosa 111 . funciones racionales y funciones spline. La interpolación puede ser por polinomios. i = 1 : m. También existe la llamada interpolación trigonométrica e interpolación exponencial. encontrar una función f : R −→ R que satisfaga f (xi ) = yi . En el pasado se usaron los interpolantes para generar tablas de raíces cuadradas. Interpolar o extrapolar puntos que no están en los datos.1. Evaluar una función matemática fácil y rápido. Más aún. Interpolación global uniformemente espaciada Existencia. 5. Dado un conjunto de m puntos reales (xi .1. Son particularmente importantes en el análisis de las “transformadas rápidas de Fourier”. La interpolación trigonométrica es ampliamente usado en el análisis de Fourier numérico de series de tiempo y en fenómenos cíclicos.1. Aproximar una función matemática complicada por una más simple. D). Entre los propósitos de la interpolación están: A). La interpolación exponencial es usado en el análisis del decaimiento radiactivo. B). raíces cúbicas. logaritmos y de funciones trigonométricas.

φ2 (x). Interpolación global uniformemente espaciada herramienta para representar curvas empíricas. . . . . . . c2 . . Se requiere de un conjunto linealmente independiente (l. . . cn :     c1 y1 φ2 (x1 ) · · · φn (x1 ) φ2 (x2 ) · · · φn (x2 )   c2   y2       . .  =  . Interpolación polinomial global Sean (xi . cn )T a pequeñas perturbaciones en los datos dependerá del número de condición de A. esto da lugar al sistema lineal  φ1 (x1 )  φ1 (x2 )  Ac =  . yi ).2. . φ2 (xm ) · · · φn (xm ) cn ym (5. . x ∈ R. es decir. Se ha incrementado su uso en el tratamiento de ecuaciones diferenciales ordinarias y parciales.   . . Puesto que f (xi ) = c1 φ1 (xi ) + c2 φ2 (xi ) + · · · + cn φn (xi ) = yi . Nótese que f depende linealmente de los parámetros c1 . .. cn . .) de funciones {φ1 (x). ¿Cómo se construye un interpolante? Se abordará el problema de interpolación lineal (en el cuál están incluidos la interpolación por polinomios e interpolación trigonométrica). Se construirá un polinomio de grado ≤ n − 1 que interpola a dichos datos de tres formas diferentes.  = y.112 5. . .1. . • La sensibilidad numérica del problema de determinar la solución c = (c1 . φ1 (xm ) Así que i = 1 : m. .i. para construir f en el espacio de dimensión n generado por estas funciones bases. cn .2) • La existencia y unicidad de f se garantiza cuando m = n y A sea una matriz no singular. 5. son parámetros por determinar. un conjunto de datos dados. . c2 . . . c2 . y sin perder generalidad se puede suponer que x1 < x2 < · · · < xn .1) de m ecuaciones con n incógnitas c1 . . . . c2 . (5. .1. . φn (x)} que se llamarán funciones bases.   . donde c1 . En el caso de interpolación no lineal se encuentran la interpolación racional y exponencial. es decir n f (x) := j=1 cj φj (x). y para aproximar funciones matemáticas complicadas. i = 1 : n.  . . . de κ(A) = A A−1 cuando A es no singular. . . .

1. demuestra que det(Vn ) = Π (xj − xi ) = 0. .  = y.. .  . existe un único polinomio de grado a lo más n−1 dado por (5. (5. . = (x − x1 ) · · · (x − xj−1 )(x − xj+1 ) · · · (x − xn ) . xn−1 } Pn−1 (x) = c0 + c1 x + · · · + cn−1 xn−1 . .2) toma la forma      1 x1 x2 · · · xn−1 c0 y1 1 1  1 x2 x2 · · · xn−1   c1   y2  2 2      Vn c =  .  =  . (xj − x1 ) · · · (xj − xj−1 )(xj − xj+1 ) · · · (xj − xn ) 1 0 si i = j si i = j . i<j si x i = xj . . i = 0 : n −1. en consecuencia. .   .3) que se conoce como el interpolante estándar.3) que interpola los datos dados.6) . demuestra que κ1 (Vn ) > nn . el sistema lineal (5. De acuerdo con (5.1. ci ∈ R.1. j = 1 : n. n−1 Sugerencia. . . . . Por lo tanto. i = j .  .1) y (5. Por otro lado. . . cn−1 )T . h = Usando bases de Lagrange Los polinomios de la base de Lagrange { j (x)}n están definidos por j=1 j (x) 1 .2. Estudia el teorema 1 en Gautschi (1962) [9]. el problema puede ser muy mal condicionado como se muestra en el siguiente ejercicio: Ejercicio 5.1.1. c1 .4) Ejercicio 5. Interpolación polinomial y splines cúbico 113 Usando bases monomiales es: El interpolante polinomial que se obtiene a partir de la base monomial {1. (5. . . . el sistema lineal (5. .5. además j (xi ) = En este caso.5) y todos son polinomios de grado n − 1.4) tiene una única solución c = (c0 . Por el ejercicio 5. (5. la matriz de Vandermonde es no singular. i = 1 : n. . Para xi = (i − 1)h. . . es claro que el polinomio interpolante de grado a lo más n − 1 está dado por Pn−1 (x) = y1 1 (x) + y2 2 (x) + · · · + yn n (x) .   . . (5. x. . 1 xn x2 · · · xn−1 cn−1 yn n n donde la matriz Vn es llamado matriz de Vandermonde.3). Para la matriz de Vandermonde Vn ∈ Rn×n . .

1. (5.7) y son polinomios de grado 0. Ejercicio 5. [y1 . . Programa el Algoritmo 5. Sin embargo.1. Usando bases de Newton Los polinomios de la base de Newton {πj (x)}n están definidos por j=1  π1 (x) = 1    π2 (x) = x − x1 π3 (x) = (x − x1 )(x − x2 )    πj (x) = (x − x1 )(x − x2 ) · · · (x − xj−1 ).1.0 Para k = 1 : n. wm . respectivamente.114 5.1. Actividad 5. Calcula el costo computacional (número de flops) que se requieren para calcular el interpolante de Lagrange. según el Algoritmo 5. . . dichos interpolantes tienen su importancia en otras cuestiones teóricas.1 en FORTRAN o en MATLAB y que genere las gráficas del interpolante y los datos. . . Datos de entrada: [x1 .1. pues se requiere evaluar los n polinomios j (x) que son de grado n − 1. El problema más significativo que se presenta en este caso es la evaluación de Pn−1 (x) en puntos de interés.3. Por lo que resulta más cara comparado con la evaluación del interpolante estándar (5.2) se reduce en este caso a la matriz identidad I. j = 1 : m. También es más difícil derivar e integrar el interpolante de Lagrange. . Datos de salida: pj = Pn−1 (wj ). x2 . Algoritmo 5. w2 . Para j = 1 : m. Además πj (xi ) = 0 si i < j. yn ] y [w1 . . xn ]. w2 .6) en m puntos de interés w1 .1.8) . hacer pj ← 0 Para i = 1 : n. . La matriz A del sistema lineal (5. .1. . . hacer p ← 1. 2. Interpolación global uniformemente espaciada que se conoce como el interpolante de Lagrange. y2 . wm ].1. hasta n − 1. Cálculo y evaluación del interpolante de Lagrange dado por (5. . . por lo que no hay necesidad de resolver ningún sistema de ecuaciones lineales.3). . .1.1. . y su evaluación en m puntos de interés. j = 4 : n (5. j = 2 : n . hacer p ← p(wj − xk )/(xi − xk ) si k = i Terminar pj ← p j + y i p Terminar Terminar.

5. . que se conoce como el interpolante de Newton. yj+1 ). Por la propiedad (5.  .   . Así que el interpolante de Newton dado por (5. más aún det(A) = π2 (x2 ) · π3 (x3 ) · · · πn (xn ) = 0 .8). . .10) se obtiene con una sustitución progresiva.11) es el interpolante de grado a lo más j de los puntos (x1 .10) tiene una única solución c = (c1 .11) se obtiene el siguiente criterio “inductivo” para calcular el interpolante de Newton. . c2 .2) toma la forma      1 0 0 ··· 0 c1 y1  1 x2 − x1   c2   y 2  0 ··· 0         c3   y 3  0 Ac =  1 x3 − x1 (x3 − x1 )(x3 − x2 ) · · ·  =  = y. .  . (x2 .  (5. (x2 . yj ). .12)      j = 3 : n. y2 ). si cj+1 = Demostración. . . Si Pj−1 (x) es el polinomio de grado a lo más j − 1 que interpola los puntos (x1 .  . . . 1 xn − x1 (xn − x1 )(xn − x2 ) · · · πn (xn ) cn yn Es claro que la matriz A es triangular inferior. (xj+1 . . . .9) existe y es único. y1 ). Interpolación polinomial y splines cúbico 115 El polinomio de interpolación de grado a lo más n − 1 en este caso es Pn−1 (x) = c1 π1 (x) + c2 π2 (x) + · · · + cn πn (x) .10) πk (xj )ck . .1. La solución del sistema lineal (5. . (5. cn )T . Es un ejercicio fácil. y1 ). entonces Pj (x) = Pj−1 (x) + cj+1 πj+1 (x) .   . el sistema lineal (5. y en consecuencia el sistema lineal (5. .. . . πj (xj ) j−1 k=1 De la estructura de la solución dada por (5. . . . πj+1 (xj+1 ) . . .1. y2 ).  . Teorema 5.   . . por lo que A es no singular. (xj .9) (5. y está dada por c1 = y 1 y2 − y 1 c2 = x2 − x 1 cj = yj −        (5. yj+1 − Pj−1 (xj+1 ) . .

1. Interpolación global uniformemente espaciada Solución. Diferencias divididas Los parámetros c1 . (xj−1 . P3 (x) = x3 − 2. (0. −1) y (2. Demostración. cn dados en (5. . xσ(j) ] . . . xj − x1 j−2 (5.12) el interpolante de (−1. el interpolante buscado será y4 − P2 (x4 ) 6−0 P3 (x) = P2 (x) + c4 π4 (x) = P2 (x) + π4 (x) = x − 2 + (x + 1)x(x − 1) = x3 − 2. . De (5. . y Pj−2 (x) es el interpolante de grado a lo más j − 2 de los puntos (x2 . el interpolante de (−1. . . . Ejemplo 5. c2 . . Si Pj−2 (x) es el interpolante de grado a lo más j − 2 de los puntos (x1 . 6). Ejercicio 5. entonces Pj−1 (x) = Pj−2 (x) + x − x1 P ∗ (x) − Pj−2 (x) . . . . −2). . j = 1 : n. y la j − esima diferencia dividida se denota por ´ cj = f [x1 . y2 ).1. Por lo que las diferencias divididas son invariantes respecto a las permutaciones de los subíndices 1. . (x3 . Teorema 5. 2. . Es claro que P0 (x) = −3 es el interpolante de (−1. La siguiente caracterización del interpolante Pj−1 (x) da lugar a una fórmula de recurrencia para calcular cj .116 5. −2) y (1. x2 . −3) y (0. . es el interpolante de grado a lo más j − 1 de los puntos (x1 . . .1. yj ). π2 (x2 ) 1 Ahora. yj ). y1 ). −2) será el polinomio y2 − P0 (x2 ) −2 + 3 P1 (x) = P0 (x) + c2 π2 (x) = −3 + π2 (x) = −3 + (x + 1) = x − 2. xσ(2) . . . y se define f [xj ] = yj . Demuestra que f [x1 . . . . π3 (x3 ) 2 Finalmente. . yj−1 ). y3 ). . −3). y2 ). . x2 . −3).4. −1) será el polinomio −1 + 1 y3 − P1 (x3 ) P2 (x) = P1 (x) + c3 π3 (x) = P1 (x) + π3 (x) = P1 (x) + π3 (x) = P1 (x).2. . .11) se les llama diferencias divididas. xj ]. y2 ).1. π4 (x4 ) 6 Por lo tanto. (xj . . xj ] = f [xσ(1) . (xj . j = 1 : n . (x2 . j . . .13) σ ∈ Sj . ∗ (x2 . Calcular el interpolante de los puntos (−1. .1. (0. Es un ejercicio inmediato. y1 ). Así que c1 = y1 = f [x1 ]. (1. . −3). donde Sj es el grupo simétrico de grado j .

Las diferencias divididas son los que aparecen en la diagonal superior del esquema de la tabla 5. . 1 2 j−1 Pj−1 (x) = c1 + c2 (x − x1 ) + · · · + cj (x − x1 )(x − x2 ) · · · (x − xj−1 ) . . xn ] f [x1 . −3). xj ] − f [x1 . −1) y (2. x3 ] y3 .13) se obtiene la fórmula recursiva cj = que es equivalente a cj = f [x1 . . x2 . Interpolación polinomial y splines cúbico 117 De (5.14) c∗ − cj−1 j−1 . . c3 = 0 y c4 = 1. yn Tabla 5. . x3 . Calcular las diferencias divididas de los puntos (−1. j=2 f [x1 . xn y2 f [x2 .5. . . . . f [xn−2 . j=1 x1 y 1 x2 x3 . 6). x2 ] j=3 ··· j=n f [x1 . x2 . x2 . En la tabla 5. .1 se muestra un esquema práctico para el cálculo de las diferencias divididas. c2 = 1.2: y son c1 = −3.9) se observa que Pj−2 (x) = c1 + c2 (x − x1 ) + · · · + cj−1 (x − x1 )(x − x2 ) · · · (x − xj−2 ) . . Por lo tanto. (0. ∗ Pj−2 (x) = c∗ + c∗ (x − x2 ) + · · · + c∗ (x − x2 )(x − x3 ) · · · (x − xj−1 ) . . y de (5. . . . (5. xn−1 . xj ] = f [x2 . x2 .7) y (5.1. . Ejemplo 5. xn ] f [xn−1 . . el interpolante es P4 (x) = −3 + (x + 1) + (x + 1)x(x − 1) = x3 − 2 . . xn ] . xj − x 1 j = 2 : n. .1: Esquema práctico de diferencias divididas. . .2. xj − x 1 j = 2 : n. x3 ] . y obtener de nuevo su interpolante. . xj−1 ] . (1. . −2). . . Solución.

118 j=1 −1 −3 0 1 2 −2 −1 6 j=2

5.1. Interpolación global uniformemente espaciada

j=3

j=4

f [x1 , x2 ] = 1 f [x1 , x2 , x3 ] = 0 f [x2 , x3 ] = 1 f [x2 .x3 , x4 ] = 3 f [x3 , x4 ] = 7 f [x1 , x2 , x3 , x4 ] = 1

Tabla 5.2: Diferencias divididas del ejemplo 5.1.2.

Algoritmo 5.1.2. Cálculo de las diferencias divididas.
Datos de entrada: [x1 , x2 , . . . , xn ] y [y1 , y2 , . . . , yn ]. Datos de salida: c1 , c2 , . . . , cn . Para j = 1 : n, hacer cj ← y j Terminar Para k = 1 : n − 1, y Para j = n : −1 : k + 1, hacer cj − cj−1 cj ← xj − xj−k Terminar Terminar.

Algoritmo 5.1.3. Evaluación del interpolante de Newton dado por (5.9) en m puntos de interés w1 , w2 , . . . , wm , vía diferencias divididas.
Datos de entrada: [x1 , x2 , . . . , xn ], [c1 , c2 , . . . , cn ] y [w1 , w2 , . . . , wm ]. Datos de salida: pj = Pn−1 (wj ), j = 1 : m. Para j = 1 : m, hacer pj ← c n Para k = n − 1 : −1 : 1, hacer pj ← pj (wj − xk ) + ck Terminar Terminar.

Ejercicio 5.1.5. Calcula el costo computacional (número de flops) que se requieren para calcular el interpolante de Newton (Algoritmo 5.1.2), y su evaluación en m puntos de interés (Algoritmo 5.1.3). Compara con el costo del Algoritmo 5.1.1 que obtuvo en el ejercicio 5.1.3. Actividad 5.1.2. Escriba un programa en FORTRAN o en MATLAB que integre los algoritmos 5.1.2 y 5.1.3 y genere las gráficas del interpolante y los datos.

5. Interpolación polinomial y splines cúbico

119

5.1.3.

Función de Runge

Un análisis detallado sobre el peligro de la interpolación polinomial global fue publicado en 1901 por el matemático alemán Carl David Tolme Runge (1856-1927), quién intentó interpolar la función 1 fR (x) = , −1 ≤ x ≤ 1 , 1 + 25x2 sobre el intervalo [−1, 1] con polinomios en puntos uniformemente espaciados. Descubrió que la sucesión {Pn−1 (x)}n≥2 de polinomios de interpolación de grado n − 1 en puntos uniformemente espaciados 2 xi = −1 + (i − 1), i = 1 : n , (5.15) n−1 diverge sobre (−1, −0.726 · · · ] ∪ [0.726 · · · , 1) cuando n → ∞. En otras palabras
n→∞

lim Pn (x)

fR (x) para 0.726 · · · ≤ |x| < 1 .

(5.16)

Actividad 5.1.3. Interpola la función de Runge fR (x) con polinomios Pn−1 (x) de grado n−1 para n = 6, 11, 16, 21 y 26, en puntos uniformemente espaciados como en (5.15). A). Calcula Pn−1 (x) como interpolante estándar resolviendo el sistema lineal (5.4). B). Calcula κ1 (Vn ) C). Grafica Pn−1 (x), fR (x) y los datos generados, sobre un mismo sistema de coordenadas. ¿Qué observa? Escriba sus conclusiones. Teorema 5.1.3. Si f tiene derivadas continuas hasta de orden n y Pn−1 es el polinomio de grado a lo más n − 1 que interpola a f en n puntos (xi , yi ), i = 1 : n dados, con a = x1 < x2 < · · · < xn = b, entonces para cada x ∈ [a, b] existe un θ ∈ (a, b) tal que f (x) − Pn−1 (x) = donde Demostración. Sea x ∈ [a, b] fijo con x = xi , i = 1 : n, y se elige una constante K tal que F (t) := f (t) − Pn−1 (t) − Kw(t), t ∈ [a, b] , se anule en t = x. Note que F (t) tiene al menos n + 1 ceros en [a, b] a saber x1 , x2 , . . . , xn , x. Aplicando n − veces el teorema de Rolle, F (t) tiene al menos n ceros en (a, b), así sucesivamente F (n) (t) tiene al menos un cero θ ∈ (a, b). Como F (n) (t) = f (n) (t) − 0 − Kn! , entonces 0 = F (n) (θ) = f (n) (θ) − Kn! de donde K = f (n) (θ)/n!. De aquí se sigue el resultado deseado. w(x) = (x − x1 )(x − x2 ) · · · (x − xn ) . (5.18) f (n) (θ) w(x) , n! (5.17)

120

5.2. Interpolación global sobre puntos de Tchebyshev

5.2.

Interpolación global sobre puntos de Tchebyshev

Los polinomios de Tchebyshev (1821-1894) juegan un papel importante en la interpolación y la aproximación de funciones continuas. El k-ésimo polinomio de Tchebyshev de primer tipo Tk : [−1, 1] → R está dada por Tk (x) = cos(k arc cos(x)), Proposición 5.2.1. Las primeras propiedades son: A). T0 (x) = 1, T1 (x) = x, y Tk+1 (x) = 2xTk (x) − Tk−1 (x), k ≥ 1 . Demostración. La fórmula recursiva para Tk+1 (x) se sigue al aplicar las fórmulas trigonométri1 cas cos(A + B) = cos(A) cos(B) − sen(A)sen(B) y sen(A)sen(B) = [cos(A − B) − cos(A + 2 B)]. Es directo verificar que los primeros 6 polinomios de Tchebyshev son 1, x, 2x2 − 1, 4x3 − 3x, 8x4 − 8x2 + 1 y 16x5 − 20x3 + 5x , y se recomienda graficarlos en un mismo sistema de coordenadas, para observar que todas las raíces y puntos extremos permanecen en el intervalo [−1, 1]. Proposición 5.2.2. Otras propiedades de los polinomios de Tchebyshev: A). Tk es un polinomio de grado k. B). Tk contiene únicamente términos de grado par, si k es par, y únicamente términos de grado impar si k es impar. C). Los coeficientes de Tk se alternan de signo. D). Propiedad (equi-alternante o equi-oscilante): Los valores extremos sucesivos de T k para k ≥ 2, son iguales en magnitud y se alternan de signo. “Esta propiedad tiende a distribuir uniformemente el error cuando estos polinomios se usan para aproximar funciones continuas arbitrarias”. Demostración. Hacerlo de ejercicio. La propiedad equi-alternante tiene implicaciones poderosas en la interpolación polinomial de funciones continuas, donde el error máximo: max |f (x) − Pn−1 (x)| ,
x∈I

k ≥ 0.

B). El coeficiente líder de Tk (x) es 2k−1 , k ≥ 1.

se minimiza sobre el intervalo I = [a, b] cuando los puntos de interpolación se eligen como raíces o puntos extremos de un polinomio de Tchebyshev de grado apropiado.

yi ). i = 0 : k.19) o los puntos extremos de dicho polinomio dado en (5. Definición 5. .i = cos y que |Tk (xk. se tiene n→∞ iπ k .2. .5. se les llama puntos de Tchebyshev. (5.2. están uniformemente espaciados sobre el círculo unitario. 1].1. Grafica los polinomios junto con fR (x) sobre un mismo sistema de coordenadas.3. . yi ) y (xi .i = cos (2i − 1)π 2k . (5. Los k ceros de Tk para k ≥ 1 son ξk.2. i = 1 : k. 1]) están dados por xk. Interpolación polinomial y splines cúbico 121 Proposición 5. yi ) ∈ R2 tales que x2 + yi = 1. y en la solución numérica de ecuaciones diferenciales. x2 . 11.k y usa el hecho de que . Demostración. 1]. para k = 14.20).2. ¿Qué observa? Escriba sus conclusiones.. i = 1 : k. 21 y 26.k }n de Tchebyshev como puntos de k=1 interpolación. se concentran en los extremos del intervalo [−1. 2 Sean (xi . . Grafica los puntos (xi . 0).16)? Sugerencia. i = 1 : k. 19 y 24..3. Actividad 5. xk son puntos de Tchebyshev.20) i = 0 : k.2. Los puntos de Tchebyshev juegan un papel importante en interpolación. en integración numérica.17) con xk = ξn. . Ejercicio 5. en puntos de Tchebyshev para k = n − 2. donde x1 . Es un ejercicio fácil.1. Demuestra que usando los puntos {ξn.i )| = 1.2. Interpola la función de Runge fR (x) con polinomios Pn (x) de grado n − 1 para n = 6. 16. ¿Qué observa? Escriba sus conclusiones.1. ¿Por qué el resultado no se contradice con (5. i Actividad 5. y que las xi . i = 1 : k. Hecha mano de (5. Los ceros de un polinomio de Tchebyshev de primer tipo dado en (5.2. Actividad 5. Verifica que los puntos (xi . lim Pn (x) = fR (x) uniformemente sobre [−1.19) y que sus k + 1 puntos extremos (incluye los extremos del intervalo [−1.

n (x) de grado 5 que interpola x6 . s es continua sobre [a. .15) sobre [−1. y así hasta calcular P5. Interpolación por splines cúbico Sea Π := a = x1 < x2 < · · · < xn = b una partición del intervalo [a. es decir. luego P2. es decir.4...1.1.n (x) si x1 ≤ x ≤ x6    P2.16)? Ejercicio 5. . x2 . ¿Qué observa? Escriba sus conclusiones.3. de manera similar como se construyó P5. 1].5.5. .3. Ejercicio 5.1.n (x) = . Construya P1. x2 . Sea   P1. . . Interpolación polinomial por pedazos Actividad 5.    P 5.n (x).  . b].n (x) = fR (x) uniformemente sobre [−1. Un spline cúbico sobre la partición Π es una función s : [a. x11 .2 (Generalización). donde Pk.5. Demuestra que n→∞ lim P5. Demuestra que n→∞ lim Pk. xi+1 ]. Considera los puntos uniformemente espaciados x1 .3. .21 (x) y P2. ¿Contradice el resultado con (5. xn dados en (5.n (x) si x21 ≤ x ≤ x26 . 1] con n = 26.2. x22 .n (x) = fR (x) uniformemente sobre [−1. x6 .5.n (x) si x6 ≤ x ≤ x11 P5. junto con los datos en un mismo sistema de coordenadas. Actividad 5. y los polinomios Pi. 1]. . . Definición 5. b].21 (x) y grafícalos junto con fR (x) en un mismo sistema de coordenadas. B). .. . Interpolación polinomial por pedazos 5.n (x) es una función construida por pedazos por polinomios de grado k ≥ 1. 5. s coincide sobre [xi ..5. x ∈ [x5(i−1)+1 . ¿Qué observa? Escriba sus conclusiones.4. x7 . i = 1 : n − 1 con un polinomio cúbico.n (x) de grado 5 que interpola x21 . s ∈ C 2 [a.3. calcule P1. . . . x26 .3. b] y son continuas.n (x).5. Grafica fR (x). b] y existen s y s sobre [a.n (x) de grado 5 que interpola los puntos x1 . .3.5. x5i+1 ]. Interpola la función de Runge por pedazos con polinomios de grado 5.122 5. b] → R con las propiedades: A). i = 1 : 5.

lo que implica que s (x) es un segmento de recta sobre [xi . xi+1 ]. . y2 .23) y de la propiedad de interpolación que yi+1 = s(xi+1 ) = yi + si hi + de donde si = si 2 si+1 − si 3 h + hi . i = 1 : n. . Demuestra que sn = yn − yn−1 hn−1 hn−1 + sn−1 + s . i = 1 : n − 1. yi ). si = s (xi ) y si = s (xi ).4.23) (5. es un spline cúbico s que satisface s(xi ) = yi . xi ] por z(x). yn son n números reales arbitrarios. Si y1 . i = 1 : n. entonces un spline cúbico interpolante de los puntos (xi . . 5. (5. Interpolación polinomial y splines cúbico 123 Así que un spline cúbico consta de n − 1 polinomios cúbicos por piezas cuyos valores y los de sus primeras dos derivadas coinciden en los nodos o puntos de ruptura xi .1. 2 6(xi+1 − xi ) (5.24) hi yi+1 − yi hi − si − si+1 . entonces las expresiones equivalentes a (5. i = 2 : n−1.5. se sigue de (5. hi 3 6 Ejercicio 5. 2(xi+1 − xi ) (5. 2(xi − xi−1 ) .22) Abreviando: hi = xi+1 − xi .4.1. .21) Integrando sobre [xi . xi+1 ]. i = 1 : n. 2 i 6hi i = 1 : n− 1. xi+1 − xi s (xi+1 ) − s (xi ) (x − xi )2 . Por lo tanto s (x) = s (xi ) + s (xi+1 ) − s (xi ) (x − xi ) .22) y (5. x ≤ xi+1 se tiene s (x) = s (xi ) + s (xi )(x − xi ) + Integrando de nuevo se obtiene s(x) = yi + s (xi )(x − xi ) + s (xi ) s (xi+1 ) − s (xi ) (x − xi )2 + (x − xi )3 . Cálculo del spline cúbico interpolante Para determinar el spline cúbico s(x) se parte del hecho de que es un polinomio cúbico sobre [xi . hn−1 6 3 n Si se denota el spline cúbico sobre [xi−1 . x].23) para z (x) y z(x) son z (x) = z (xi−1 ) + z (xi−1 )(x − xi−1 ) + z (xi ) − z (xi−1 ) (x − xi−1 )2 .

B).25) se pueden escribir como si = si−1 + hi−1 hi−1 si−1 + s 2 2 i y si−1 = yi − yi−1 hi−1 hi−1 − si−1 − s . . y1 ). z (xi ) = s (xi ) y z (xi ) = s (xi ). garantizan la existencia y unicidad del spline cúbico s(x) que interpola los puntos (x 1 . i = 2 : n− 1. Interpolación por splines cúbico z (xi−1 ) z (xi ) − z (xi−1 ) (x − xi−1 )2 + (x − xi−1 )3 .4.25) i = 2 : n− 1. 2 6 Por la continuidad de s(x). por lo que no se garantiza la unicidad del spline cúbico. s (b) = yn . sn . s (a) = s (b) = 0. (xn . k = 0. s (x) y s (x) en xi se sigue que z(xi ) = s(xi ) = yi . . yn ). s(k) (a) = s(k) (b). 1 y 2. hi−1 6 3 i (5. x2 ). (x2 . 2 z (xi ) − z (xi−1 ) 2 z (xi−1 ) 2 z(xi ) = yi−1 + z (xi−1 )hi−1 + hi−1 + hi−1 .27) está subdeterminado pues tiene n − 2 ecuaciones y n incógnitas s1 . Por lo que las igualdades en (5. “spline cúbico natural”. que son equivalentes a si = yi − yi−1 hi−1 hi−1 + si−1 + s . C).1. s2 . s (a) = y1 . . Hay varias alternativas para abordar el problema. (5. con y1 y yn dados.124 y z(x) = yi−1 + z (xi−1 )(x − xi−1 ) + 5. las más comunes son: Teorema 5. “spline cúbico completo”.27) El sistema (5. 2 6(xi − xi−1 )        Evaluando ambas expresiones en xi resultan z (xi ) − z (xi−1 ) z (xi ) = z (xi−1 ) + z (xi−1 )hi−1 + hi−1 .26) Igualando (5. . . .24) con (5.4. . Cada una de las condiciones A). .26) se obtiene el sistema tridiagonal hi−1 si−1 + 2(hi−1 + hi )si + hi si+1 = 6 yi+1 − yi yi − yi−1 − hi hi−1 . “spline cúbico periódico”. . hi−1 3 6 i (5.

 µn−1 2 λn−1   sn−1   dn−1  µn 2 sn dn . µn := 0. .  hi−1 + hi hi hi−1 tridiagonal de n ecuaciones con  d1 d2 d3 . i = 2 : n −1.30) El sistema tridiagonal (5.5.. . s2 . h1 . . hn−1 + h1 . . .4. dan lugar a la ecuación: hn−1 sn−1 + 2(hn−1 + h1 )sn + h1 s2 = 6 Definiendo λn := y dn := y junto con (5. sn−1 . Así.28) se obtiene  2 λ2  µ3 2   µ4  As =     λn 6 hn−1 + h1 y2 − yn yn − yn−1 − h1 hn−1 . . . s2 . .27) y de la ecuación (5.27) se convierte en un sistema n incógnitas s1 .    .. . dn := 0 .24) para i = 1 y el ejercicio 5.   .  µn−1 2 λn−1   sn−1 µn 2 sn Demostración. k = 0.29) µn := 1 − λn = del sistema (5.  hi hi−1   λi := . el sistema tridiagonal (5. . d1 := 0. .   .30) el sistema lineal     µ2 s2 d2   s   d3  λ3   3     s   d4  2 λ4  4    (5. . Caso B). (5..   hi−1 + hi hi−1 + hi (5. . entonces y1 = yn . . . . sn )T . . Caso A).           =       dn−1 dn      = d. . . Estas tres condiciones junto con (5.28)   6 yi+1 − yi yi − yi−1  di := − . 1 y 2. Si s(k) (a) = s(k) (b). Si s (a) = s (b) = 0 entonces s1 = 0 y sn = 0. . Introduciendo las abreviaciones λ1 := 0. sn . ..1. . dado por   2 λ1 s1  µ2 2 λ 2  s   2   s µ3 2 λ3   3 As =   .29) tiene una única solución s = (s1 . hn−1 + h1 y2 − yn yn − yn−1 − h1 hn−1 hn−1 . Interpolación polinomial y splines cúbico 125 La matriz A es tridiagonal y de diagonal dominante estricto por filas.  =  . por lo que es no singular.. µi := 1 − λi = .   . .    (5.31)  . s1 = sn y s1 = sn ..  = d.   .

el sistema lineal (5. se reduce al sistema: 4s2 + s3 = −15 s2 + 3s3 = 27 cuya solución es s2 = −0. y de (5. La matriz A también es de diagonal dominante estricto por filas. . h1 = 1. y del ejercicio 5. h2 = 1 y h3 = 0. en una aritmética flotante de precisión 4. .6545 × 101 y s3 = 0.4. y µn := 1.28).1118 × 102 .5s4 = 27 Para un spline cúbico natural: s1 = s4 = 0. . 1). Así. (2. (5. Ejemplo 5.24). .34). (1. .33) y2 − y 1 − y1 h1 . . por lo que es no singular. (5. 2).33) el mismo sistema lineal dado por (5. . . Haciendo uso de (5.126 5.32) Y si s (b) = yn entonces sn = yn .4.32) y (5. y junto con (5.34) s2 + 3s3 + 0. Caso C).5. . . se obtienen las derivadas en los primeros tres nodos: s1 = 2. sn )T . s2 .5. sn−1 . sn )T . existe una única solución s = (s1 . s1 + 4s2 + s3 = −15 (5.181 y s3 = 1. 2).1. . Si s (a) = y1 entonces s1 = y1 . Así que también en este caso. .24) con i = 1 se obtiene la ecuación 2h1 s1 + h1 s2 = 6 y2 − y 1 − y1 h1 . Solución.27) y de las ecuaciones (5.5) y (2.091 . d1 := 6 h1 yn − yn−1 hn−1 . dn := 6 hn−1 yn − yn − yn−1 hn−1 .31) tiene una única solución s = (s2 .136 . . Así que el sistema tridiagonal (5.29). se obtiene del sistema (5. sn . 0. Determina el spline cúbico natural que interpola los puntos (0.1 se obtiene la ecuación hn−1 sn−1 + 2hn−1 sn = 6 yn − Ahora definiendo λ1 := 1. s3 . Interpolación por splines cúbico de n − 1 ecuaciones con n − 1 incógnitas s2 . s3 . s2 = −1.4.

Interpolación polinomial y splines cúbico 127 Ejercicio 5.. 21 y 26.5. 16. Teorema 5.4.091x − 1. b] : |f (x) − s(x)| ≤ C max |f (4) (x)| h4 .590(x − 2)2 − 3. . .15).181(x − 1) − 3. |f (x) − s (x)| = O h2 .35) o sea que y que |f (x) − s(x)| = O h4 . Calcule s(x).272(x − 1)2 + 2.1. (5. para n = 6.091x3 . 1≤x≤2 s(x) =    0.953(x − 1)3 . s (x).2.4.5 + 1. 11.31) son no singulares. Una ventaja de interpolar una función f suficientemente suave con splines cúbicos. Interpola la función de Runge fR (x) con splines cúbicos sn (x) en puntos uniformemente espaciados −1 = x1 < x2 < . . 2 ≤ x ≤ 2.4. para n = 21.2. Grafica s(x) y fR (x) junto con los datos en un mismo sistema de coordenadas. Demostración. Analiza y usa la función “spline” de MATLAB.4. ¿Qué observa? Escriba sus conclusiones.b] Ahora. Una prueba se puede encontrar en . 0≤x≤1   2 − 1. x∈[a. donde s(x) es el spline cúbico que interpola la función de Runge fR (x) en puntos uniformemente espaciados −1 = x1 < x2 < · · · < xn = 1 dados en (5..29) y (5.136(x − 2) + 5. f y f con aceptable precisión.15). entonces para cada x ∈ [a. A).35) es una constante y h ≡ max |xk+1 − xk |.5 . Actividad 5. s (x) y s (x).2. |f (x) − s (x)| = O h3 . es que permite estimar también f . k=1:n−1 donde C en (5.23) se obtiene el spline cúbico natural deseado:   1 + 2.727(x − 2)3 . Actividad 5. < xn = 1 dados en (5. de acuerdo con la fórmula (5. Si f tiene derivadas continuas hasta de orden 4 y s es el spline cúbico que interpola a f en n puntos dados: a = x1 < x2 < · · · < xn = b. Grafica los splines cúbicos junto con fR (x) sobre un mismo sistema de coordenadas. Sugerencia. |f (x) − s (x)| = O(h) . Demuestra que la matriz de coeficientes del sistema lineal (5.

. Para los datos (1. Dada f ∈ C(I) existe ∆ tal que Pn (x) → f (x) uniformemente sobre I. Ejercicios 1. Grafica s (x) y fR (x) junto con los datos en un mismo sistema de coordenadas. Dada ∆ existe f ∈ C(I) tal que Pn (x) f (x). Grafica s (x) y fR (x) junto con los datos en un mismo sistema de coordenadas. 6. Teoremas de Faber Πn : a ≤ x1n < x2n < · · · < xnn ≤ b .5) es l. . halla el polinomio p(x) de menor grado que los interpola. 2 (x). Teoremas de Faber B).5. Demuestra que el conjunto {π1 (x). 2. n (x)} formado por los polinomios de Lagrange dados por (5. Sea ∆ = {Πn }∞ una familia de particiones del intervalo I = [a. ¿Contradice esto el teorema de unicidad de la interpolación? 4. 2) y (2. 5. Teorema 5. 3.6.i. Teorema 5. Demuestra que el conjunto { 1 (x). entonces p(x) ≡ f (x). C).1 (Primer teorema de Faber).85) con fR (0. ¿Qué problemas dieron origen a la interpolación polinomial? Dar la formulación explícita de tales problemas. Sea f (x) un polinomio de grado n.85). b] dada por n=1 y sea Pn (x) el polinomio de interpolación de una función continua f (x) por Πn . Halla también un polinomio q(x) de grado dos que interpola estos datos.5. .128 5. ¿Es la interpolación polinomial por n nodos siempre de grado n−1? Ilustra con ejemplos. para k = 0.7) es l. D). . 5. ¿Qué observa en cada caso? ¿Cuándo vale h? Escriba sus conclusiones. para cualquier n ≥ 1. .2 (Segundo teorema de Faber). Demuestra que si p(x) es el polinomio de grado menor o igual a n que interpola a f (x) por n + 1 puntos. (k) 5.5. Compara s(k) (0. . 4). π2 (x). E).i. πn (x)} formado por los polinomios de Newton dados por (5.5. 1. 2 y 3. Grafica s (x) y fR (x) junto con los datos en un mismo sistema de coordenadas. . para cualquier n ≥ 1. . .

Muestra que la solución exacta es (e − 1)2 (e − 1)k pk (x) = 1 + (e − 1)(x − 0) + (x − 0)(x − 1) + · · · + 2! k! k−1 0 1 2 ··· k 1 e e 2 · · · ek j=0 (x − j) . Dar los inconvenientes de la interpolación polinomial en base monomial. i = 1 : j. . xj ] = 0 . π/2]. π/2] ? 12.5. Considera a la función f (x) = e−x . Interpolación polinomial y splines cúbico 129 7. para todo x ∈ [0. para j > n. 7. n i = 0 : n. x2 . 9. 11 y 15. . demuestra que f [x1 . para todo x ∈ [0. 1]. 1] ? i 10. ¿Con cuántos nodos se logra que e−x − pn−1 (x) ≤ 10−7 . Considera a la función f (x) = sen (x). . Sea pn−1 (x) el polinomio de grado a lo más n − 1 que interpola a f (x) por los nodos 0 = ξ1 < ξ2 < · · · < ξn = π/2 (igualmente espaciados). Sea pn (x) el polinomio de grado a lo más n que interpola a ex por los nodos xi = . Si f (x) es un polinomio de grado n − 1 y yi = f (xi ). Sea pn−1 (x) el polinomio de grado a lo más n − 1 que interpola a f (x) por los nodos 0 = ξ1 < ξ2 < · · · < ξn = 1 (igualmente espaciados). x ∈ [0. Calcula las diferencias divididas para ex con respecto a la tabla: x y para k = 3. . ¿Cuál es la menor n tal que |sin(x) − pn−1 (x)| ≤ 10−7 . 9. ¿Qué tan grande debe ser n para que |ex − pn (x)| ≤ 10−7 . para todo x ∈ [0. x ∈ [0. 1] ? 11. 8. .

B).   15. k=1:n−1 si x ∈ [xk . entonces |δp(x)| ≤ 2n−1 ε. yi ). x1 ≤ x ≤ x n . i = 1 : n (|εi | ≤ ε.18). b]. xk+1 ) . A). Muestra que |w(x)| ≤ con w dada por (5. yi ).36) B). (5. A). yi = f (xi ). x1 ≤ x ≤ x n . yi si i = k yi + ε si i = k n−1 k−1 |ε| . respectivamente. Sea a = x1 < x2 < · · · < xn = b una partición del intervalo I = [a. xk+1 ) . . i = 1 : n . y Tf : (xi .130 13. Demuestra que si yi = yi + εi . Ejercicios 14. yi = f (xi ). A). k! (n − k)! n h 4 si x ∈ [xk . Sea Π := a = x1 < x2 < · · · < xn = b una partición uniformemente espaciada. yi ). Prueba que si yi = entonces |δp(x)| ≤ donde δp(x) := p f (x) − p(f )(x) . Si ψ(x) = (x − xk )(x − xk+1 ). ¿Qué función es g(x) si g(x) = n j (x)? j=1 5. muestra que 1 |ψ(x)| ≤ h2 4 donde h = max |xk+1 − xk | .6. i = 1 : n). Para la interpolación de Lagrange por n puntos (xi . i = 1 : n . Cuál es el grado de cada elemento j (x) de la base de Lagrange? B). i = 1 : n . Sean p(f )(x) y p f (x) los polinomios de interpolación de Lagrange de las tablas Tf : (xi .

para n = 1. −1/10. b]. ¿Cuál es el grado de este polinomio? Comenta. b]. b].37) con h dado por (5. Calcula fR (x). ¿sn−1 −→ fR cuando n → ∞)? ¿Cuál es el orden de convergencia? Bajo el supuesto que la constante del orden de convergencia es igual a la unidad. entonces el error de interpolación disminuye cuando n crece (y h decrece). b] .5.b] (n) Recuerda al respecto el fenómeno de Runge (Sección 5. 3. A continuación calcula y gráfica el polinomio de interpolación global. Si |f (n) (x)| permanece acotada. I = [a. con respecto a n nodos −1 = x1 < x2 < · · · < xn = 1 igualmente u espaciados. Interpolación polinomial y splines cúbico 131 16.. max |f (x) − pn−1 (x)| −→ 0 cuando n → ∞)? x∈[a. para −1 ≤ x ≤ 1? 21. Sea f ∈ C[a. y concluya del ejercicio 15 que |w(x)| ≤ (n − 1)! n h 4 si x ∈ [a.e. −1/5. Muestra que k! (n − k)! ≤ (n − 1)! para k = 1 : n − 1 . ¿Cómo es el comportamiento de cada una de ellas? ¿La desigualdad (5.1.36). b] y a = x1 < x2 < · · · < xn = b una partición arbitraria de I = [a. 2. 1. 18. ¿Se u tiene siempre que pn−1 −→ f (i.37) es válida para la función de Runge? 19. Sea sn−1 (x) el spline cúbico de interpolación para la función de Runge dado en el ejercicio 19. Demuestra que si |f (n) (x)| ≤ Mn para todo x ∈ [a. b] dada. 1 + 25x2 −1 ≤ x ≤ 1 . Sea f ∈ C ∞ (I). 1/3. . con nodos Π : −1. 0. 4n (5. entonces: max |f (x) − Pn−1 (x)| ≤ x∈I M n hn . ¿Qué dice el teorema de Faber? ¿Qué alternativas conoces a la interpolación polinomial como un procedimiento de construcción de funciones aproximantes? 20. 1/5. 4 y 5. ¿Cuál es la menor n tal que |sn−1 (x) − fR (x)| ≤ 10−4 . Si pn−1 (x) es el polinomio de interpolación para f con respecto a la partición uniformemente espaciada Π := a = x1 < x2 < · · · < xn = b de [a. 1/10.3) para su función famosa fR (x) = 1 . Calcula y gráfica el spline cuadrático de interpolación s(x) para la función de Runge dada en el ejercicio 19. 17. −1/3.

C). ¿Cuál de los dos interpolantes es más exacto sobre todo el dominio de interpolación? E). x > 0.6. donde Φi [f ] = 0 1 n ∈ Z+ . tiene una única solución sobre Pn (espacio de polinomios de grado a los más n). Calcule el polinomio de grado 4 que interpola los puntos de la tabla. Puesto que Γ(n) = (n − 1)! .132 22. ¿Cuál de los dos interpolantes es más exacto entre 1 y 2? 24. Calcule el polinomio de grado 9 que interpola los puntos dados. La función gamma está definido por ∞ Γ(x) = 0 tx−1 e−t dt. ¿Qué función aproximan los siguientes datos? xi 0 1 4 9 16 25 36 49 64 yi 0 1 2 3 4 5 6 7 8 B). 5. ti f (t)dt . A). D). . ¿Cuál de los dos interpolantes es más exacto entre 0 y 1? 23. B). Prueba que el problema de interpolación lineal Φi [f ] = mi . que se le llama de momentos. Use una rutina de spline cúbico para interpolar los datos de la tabla. ¿Cuál de los dos interpolantes es más exacto sobre todo el dominio de interpolación? E). A). Use una rutina de spline cúbico para interpolar los datos. C). i = 0 : n. complete la siguiente tabla xi 1 2 3 4 5 yi 1 que aproxima a la función gamma sobre [1. Ejercicios D). 5].

x. 1] con puntos de ruptura xj . . 1 n+1 1 2 1 3 ... . . . Sea Π : 0 = x1 < x2 < · · · < xn = 1 una partición uniforme del intervalo [0.  . 1] : y(0) = y(1) = 1}. j = 1 : n. y sea Y = {y ∈ C 2 [0. ϕj (x) = Bj (x). Interpolación polinomial y splines cúbico 133 Sugerencias. en donde Bj (x) es la función B-spline cúbica con soporte [xj−2 . . {ϕj (x)}n+1 es una base para S(Π. ϕn+1 (x) = Bn (x) − 4Bn+1 (x) .      la cual se obtiene de expresar a s(x) ∈ Snat (Π. aij = Φi [xj ] .. . es no singular. Esto es. . .. . . con respecto a la base canónica {1. . Muestra. . . 1].i. 1 2n + 1       . .3 (x). Demuestra que la matriz A ∈ R(n+1)×(n+1) dada por  3/2h2 −3/h2 3/h2   1/4 1 1/4    1/4 1 1/4  A= .    1/4 1 1/4  3/2h2 −3/h2 3/2h2        . 26. Considera a la familia de funciones ϕ0 (x) = B1 (x) − 4B0 (x) . xj+2 ]. ··· ··· . xn } de Pn que AΦ = (aij ). 1 n+1 1 n+2 . Prueba que tal familia es l. 3) el espacio de las funciones j=0 splines cúbicas sobre [0. . es la matriz de Hilbert      =      1 1 2 .     Hn+1 1 ··· n+2 25.5. . Π : a = x0 < x1 < · · · < xn = b en términos de los B-splines cúbicos Bi. i = −1 : n + 1. 3).

Si ΦΠ es sobreyectivo. I = [a. Φxn (g))T . existe β base de Vn+1 y Π partición de I tal que det(AΠ ) = 0). En otras palabras. demuestra que det(AΠ ) = 0 ssi (PI) tiene una única solución en Vn+1 con respecto a β y Π. . prueba que det(AΠ ) = 0 . Si Vn+1 es de Haar. Sea X un espacio vectorial normado de funciones f : Ω ⊂ R → R y {bj (x)}n ⊂ X. ¿Es esta discusión válida para el caso de funciones f : Ω ⊂ Rn → R? . Y sea Vn+1 ⊂ X un subespacio de dimensión n + 1. i = 0 : n. (es decir. aij = Φxi (bj ). esto es. C). Ejercicios 27. si Vn+1 no es de Haar. x3 ⊂ C[−1. Muestra que la condición de Haar es esencial. Ahora. Y se dice de Tchebychev si además {bj (x)}n ⊂ C(Ω). del método para Vn+1 elegida). 28. x2 . Se dice que Vn+1 es de Haar si para p ∈ Vn+1 (p = 0) cualesquiera dado. x ∈ I dado . Enuncia y demuestra el inverso de este resultado. . Sea AΠ como en B). pertenecen a su dual topológico X d . . B). p(x) tiene en I a lo más n raíces. hallar p ∈ Vn+1 tal que Φxi (p) = yi . det(AΠ ) = 0 ssi Vn+1 generado por β con respecto a Π es complemento topológico del subespacio N (ΦΠ ). j=1 Demuestra que si {bj (x)}n es de Tchebychev en Ω entonces no existe f ∈ {bj (x)}n j=1 j=1 no idénticamente nula con más de n − 1 ceros en Ω. Se j=1 dice que {bj (x)}n es de Haar o uniresolvente si det(bj (ξi )) = 0 para toda partición j=1 Π = {ξi : ξi = ξj .6. X = N (ΦΠ ) ⊕ Vn+1 ). ¿Es V3 = x. En particular. donde AΠ = (aij ). .134 5. 1] de Haar? A). a < b. sin importar la base β para Vn+1 ni la partición Π para I elegidas. Π : a = x0 < x1 < · · · < xn = b. Y sea ΦΠ : X −→ Rn+1 dado por ΦΠ (g) = (Φx0 (g). Φx1 (g). i = j} de Ω. si Vn+1 es de Haar entonces Vn+1 es siempre un complemento topológico de N (ΦΠ ). Sean β = {bj (x)}n ⊂ X una base para Vn+1 y Π : a = x0 < x1 < · · · < xn = b j=0 una partición para I. Demuestra que si Vn+1 es de Haar entonces (PI) tiene una única solución (la cuál es independiente de la base. considera el problema (clásico) de interpolación: (PI) Dado y ∈ Rn+1 . (es decir. b]. un espacio vectorial normado de funciones g : I → R para el cual todas las funcionales de evaluación Φx (g) := g(x). Sea X(I).

¿Cuál es el N (ϕ)? ¿Qué es N (ϕ) ∩ Pn ? Aquí. el kernel de Peano para la (m + 1) diferencia dividida es una función spline. wk (xk ) en donde Φm+1 es el “operador” de la (m + 1) − esima diferencia dividida. . .5. Demuestra que m+1 f [x0 . = . wk (xk ) Sugerencia. b]. Sea Π : a = x0 < x1 < · · · < xn = b una partición arbitraria de [a. xm+1 ] es el coeficiente líder de pm+1 (f . m+1 k=0 (x − t)+ . Pn es el espacio de los polinomios de grado a lo más n. b]. i = 0 : m + 1. Interpolación polinomial y splines cúbico 135 29. b] y Π : a = x0 < x1 < · · · < xn = b una partición de [a. . Demuestra que 1 K(t) := Φm+1. wk (xk ) d(m+1) K(t) no puede tener más de m − 1 cambios de signo. j=0 Si p(f . . pues ϕ ∼ D (n) . Sea X un subespacio lineal de C[a. . Prueba que la funcional ϕ : X → R dada por ϕ(f ) := f [x0 . x1 . x1 . . xn ] es lineal. . y wi (x) = Πj=i (x − xj ). A). . . Demuestra que d(m+1) K(t) = dt(m+1) Y que por lo tanto. C). dt(m+1) 30. x1 . . i = 0 : m + 1. es decir. Recuerda que f [x0 . . . x) = c0 + c1 (x − x0 ) + · · · + cm+1 Πm (x − xj ) .x (x − t)m + m! 1 = m! m+1 k=0 (x − t)m + . b]? Al parecer no. f (xi )). Así. x) es el polinomio de interpolación de Lagrange de grado a lo más m + 1 por (xi . ´ Φm+1 [f ] := f [x0 . . xm+1 ] . . Averiguar qué se puede preguntar sobre la continuidad de ϕ. ¿Cuál es la expresión de su coeficiente líder? B). . x1 . xm+1 ] = k=0 f (xk ) . ¿Es ϕ continuo sobre C[a. Nota. .

Integración numérica b Problema 6. f ) := a f (x)dx .1. Para a y b fijos.Capítulo 6 Integración y diferenciación numérica 6. b b b ∆I = a b f (x)dx − b f (x)dx = a a f (x) − f (x) dx .1. Sea f : [a. Comportamiento numérico Para estimar el número de condición del Problema 6. b] → R una aproximación continua de f . b. Nótese que el operador I : R2 × C(R) → R. |∆I| b−a ≤ ∆f |I(f )| |I(f )| = b−a f |I(f )| 136 ∆f ∞ .1. definida por f ∞ = max |f (x)| < +∞ . f ∞ .1 es bien planteado en el sentido de Hadamard.1. a≤x≤b Se distinguen dos casos: Caso A).1.1. encontrar I(a. Dada f : R → R continua. 6. (b − a) = ∆f I(f ) = 0 . Sean a y b fijos tales que a < b. se hará uso de la norma infinita para funciones continuas. I es un operador continuo con respecto a f .1. ∞ (b |∆I| = de donde a f (x) − f (x) dx ≤ a f −f ∞ ∞ dx = f − f ∞ ∞ − a) . por consiguiente el Problema 6.1.

|I(f )| ≤ (b − a) f implica κrel (f ) ≥ 1.1. el Problema 6. dado por |∆I| κabs (f ) := ≤ b − a. para toda f ∈ C[a. los números de condición pueden ser arbitrariamente grandes si f es singular “cerca” de b.1. Si 0 < |I(f )| < ε con ε > 0 arbitrario. Observación 6. Por lo que en este caso. el Problema 6.1 se define como κrel (f ) := (b − a) f |I(f )| ∞ ∞ .1. Integración y diferenciación numérica 137 Definición 6. El número de condición relativa del Problema 6. Observación 6.1. es posible que κrel (f ) >> 1.1 puede ser muy mal condicionado con respecto a perturbaciones en los límites de integración.2. ∆f ∞ Caso B).1 puede ser muy mal condicionado. Sea b una aproximación de b tal que b > b.1.   f (x)dx − f (x)dx =         b f (x)dx ≤ b − b max |f (x)| . Si I(f ) = 0. b a f (x)dx . aunque f ∞ sea pequeño. Observación 6.   κabs (b) = f (x)dx − b a f (x)dx ≤ max |f (x)| .1.1.3.1. entonces se maneja el número de condición absoluto del Problema 6.1. |I(f )| b≤x≤b   κrel (b) ≤ y cuando I(f ) = 0 : b a   b−b b≤x≤b En ambos casos.1. Para a y f fijos se tiene que b a b a b b≤x≤b Así que el número de condición relativa con respecto a b será: b a κrel (b) = de donde f (x)dx − b a f (x)dx |b| |I(f )| = |b| · b a f (x)dx − b−b b − b · |I(f )| |b| max |f (x)| .1. . Así que en este caso. b]. I(f ) = 0 .6.

. y Πn : a = x1 < x2 < · · · < xn+1 = b una partición arbitraria de [a.138 6. Fórmulas de cuadratura numérica Sea f : [a. Teorema 6.3. b]. b]. Demostración. n ≥ 1 . Se define una suma de Riemann para f sobre [a. A partir de las sumas de Riemann. n ≥ 2 .2. es decir xi = a + b−a (i − 1) . Πn ) = i=1 (xi+1 − xi )f (ξi ) . b] por n Rn (f. ¿Cómo elegir los pesos wi ? Hay varias alternativas para la primera pregunta.1.1. b] → R es continua sobre [a. que se les llama fórmulas abiertas si a < x1 y xn < b. Se definen las sumas de cuadratura numérica como: n Qn (f ) := i=1 wi f (xi ) . i = 1 : n . i = 1 : n . b] → R continua sobre [a. y xi = a + Entonces n→∞ b−a (i − 1) . se introduce la siguiente definición: Definición 6. Surgen inmediatamente dos problemas: A).1.1.. Si f : [a. Integración numérica 6.1. ¿Cómo elegir los nodos xi ? B). Definición 6. Una prueba se puede ver en . Los puntos xi se les llama nodos y wi se les llama pesos. n lim Rn (f. donde a ≤ x1 < x2 < · · · < xn ≤ b.1. donde xi ≤ ξi ≤ xi+1 . b]. la más inmediata es elegir los nodos uniformemente espaciados. i = 1 : n + 1 . y fórmulas cerradas si a = x1 y xn = b.2. n−1 Para la segunda pregunta. se procede de la siguiente manera: . Πn ) = I(f ) .

= . Consecuencia inmediata del lema 6.1. por lo que se sigue del teorema fundamental del álgebra que Q(x) ≡ 0 para toda x ∈ R.1. n .1. Pn−1 (x) ≡ P (x). Demostración. i = 1 : n .1.1. i = 1 : n . Nótese que Q(x) = P (x) − Pn−1 (x) es un polinomio de grado ≤ n − 1 que tiene a xi como raíz para i = 1 : n. x. Sea Pn−1 (x) el polinomio de grado ≤ n − 1 que interpola los puntos (xi . Demostración.1. para calcular los pesos wi . i = 1 : n. 2 ··· P (x) = xn−1 : w1 xn−1 + w2 xn−1 + · · · + wn xn−1 = 1 2 n xn−1 dx = 1 n (b − an ) . Corolario 6. (xi − x1 ) · · · (xi − xi−1 )(xi − xi+1 ) · · · (xi − xn ) n i=1 i = 1 : n. entonces wi = i = 1 : n. Si P (x) es un polinomio de grado ≤ n−1 y Pn−1 (x) es el interpolante polinomial de los puntos (xi . a i “Los pesos wi son independientes de f (x)”. Integración y diferenciación numérica 139 Sea yi = f (xi ).2. Dado que Pn−1 (x) = Demostración. Si P (x) es un polinomio de grado ≤ n − 1. . b n f (xi ) i (x). Por lo tanto. Consiste en aplicar el Corolario 6. i = 1 : n . Método de coeficientes indeterminados. Lema 6.. es decir. xn−1 }. b (x)dx .2 y lema 6.1 a la base monomial {1. yi ) con yi = P (xi ). Y sea { i (x)}n la base de Lagrange. a i Lema 6. yi ) . entonces b n P (x)dx = a i=1 wi P (xi ) .. b n i (x)dx = Pn−1 (x)dx = a i=1 f (xi ) a wi f (xi ) = Qn (f ) . P (x) = 1 : P (x) = x : ··· w1 w 1 x1 + w2 + w 2 x2 ··· + · · · + wn + · · · + w n xn ··· = = b a b a dx xdx = b− a. b a 1 2 (b − a2 ) . i=1 i (x) = (x − x1 ) · · · (x − xi−1 )(x − xi+1 ) · · · (x − xn ) .1. .1.6. .1. entonces Pn−1 (x) ≡ P (x) para todo x ∈ R. i=1 con wi = b (x)dx.

así que se pueden determinar valores únicos para w1 . Para n = 2.140 Que se puede abreviar como:  1 1 ··· 1  x1 x2 · · · x n  T Vn w =  . 1 n (b n  − an )    = c. . n−1 n−1 n−1 x1 x2 · · · xn 6.1.1.m de MATLAB se basa en esta regla en forma adaptiva recurrente. 6 Q3 (f ) = 2 w2 = (b − a) y 3 h f (a) + 4f 3 a+b 2 Por lo tanto.1. donde s h x2 = 1  1 (a 2 s a = x1  1 1 1 (a + b) 2 1 (a + b)2 4 + b) b = x3   b−a  de donde  V3T w =  a  a2    1  b   w2  =  2 (b2 − a2 )  = c . Por lo tanto. 2 Ejemplo 6. Integración numérica      w1 w2 .1. . wn  Donde Vn es la matriz de Vandermonde. w2 . . Q2 (f ) = que se le llama la regla del trapecio. por lo tanto es no singular. ..     1 3 b2 w3 (b − a3 ) 3 1 w1 = (b − a) . . h [f (a) + f (b)] .2. 6 + f (b) . w1 1 w3 = (b − a) . . . se tiene s     =    b−a 1 2 (b − a2 ) 2 . . La función quad. . Para n = 3. de donde w1 = w2 = (b − a)/2 = h/2 . .  h s a = x1 V2T w = 1 1 a b w1 w2 b = x2 b−a − a2 ) = 1 2 (b 2 = c.  . wn . . . que se le llama la regla de Simpson. . . . Ejemplo 6. se tiene h = (b − a)/2. . . .

|I(f ) − Qn (f )| = |I(f ) − I(Pn−1 )| = |I(f − Pn−1 )| b ≤ a |f (x) − Pn−1 (x)|dx ≤ (b − a) f − Pn−1 ∞ . Lema 6. 8   a = 2   a a3    1 b   w2   2 (b2 − a2 )  =   1 2  b   w3   3 (b3 − a3 ) b3 w4 1 4 (b 4 b−a − a4 )    = c. 8 Por lo tanto. Error de aproximación |I(f ) − Qn (f )| ≤ (b − a) f − Pn−1 . 8 + 3f a + 2b 3 + f (b) . donde h s 1 x3 = 3 (a + 2b) s a = x1  x2 = 1 (2a + b) 3  b = x4    1 1 1 (2a + b) 3 1 (2a + b)2 9 1 (2a + b)3 27 1 1 (a + 2b) 3 1 (a + 2b)2 9 1 (a + 2b)3 27 1 w1 V4T w que al resolver el sistema se obtiene 1 w4 = (b − a) .1.   3 w2 = (b − a) 8 y 1 w1 = (b − a) .4. b] → R continua. Qn (f ) es de orden al menos n − 1 para n ≥ 4 . . que se le llama la regla 3/8 de Simpson. Integración y diferenciación numérica 141 Ejemplo 6. si es exacto para polinomios de grado ≤ d. Para n = 4. entonces ∞ Demostración. 3 Q4 (f ) = h f (a) + 3f 8 2a + b 3 3 w3 = (b − a) .1.1. n ≥ 2. Demuestra que la regla de Simpson Q3 (f ) es de orden 3 .1.1. Definición 6. Ejercicio 6. 6.6.3. pero no lo es para algún polinomio de grado d + 1.3.3. En general.1. Un método de cuadratura es de orden d ≥ 1. Sea f : [a. se tiene h = (b − a)/3.

demuestra que b para algún ξ ∈ (a. |I(f ) − Qn (f )| ≤ Ejercicio 6. a≤x≤b 4 Sin embargo.1) Combinando la desigualdad (6. como se puede mostrar en los siguientes ejercicios. b] y existe M > 0 tal que f (n) entonces lim Qn (f ) = I(f ) . Para la regla 3/8 de Simpson: si f ∈ C 4 [a. Integración numérica ∞ ≤ M para todo n ≥ 1. n→∞ 6. b]. se tiene que |I(f ) − Qn (f )| ≤ b − a n (n) 1 n − 1 n+1 (n) h f = h f ∞ 4n 4 n 1 n+1 (n) M n+1 ≤ h f ≤ h −→ 0 . 80 para algún ξ ∈ (a. b]. 90 Ejercicio 6. ∞ n→∞ 4 4 ∞ b−a . demuestra que b Observa que f (x)dx = a h 1 3 [f (a) + f (b)] − h f (ξ) . b].1.3. demuestra que b para algún ξ ∈ (a.3. 2 12 Ejercicio 6.4. Recuerda que si f ∈ C n [a. b) y h = b − a.1. b) y h = (b − a)/3. f (x)dx = a h f (a) + 4f 3 a+b 2 + f (b) − 1 5 (4) h f (ξ) . b) y h = (b − a)/2. 3h f (a) + 3f 8 f (x)dx = a 2a + b 3 + 3f a + 2b 3 + f (b) − 3 5 (4) h f (ξ) . b]. . Para la regla del trapecio: si f ∈ C 2 [a. Demostración. Si f ∈ C n [a. Para la regla de Simpson: si f ∈ C 4 [a.142 Teorema 6.1. entonces |f (x) − Pn−1 (x)| ≤ para todo x ∈ [a.1) con el lema 6. en casos particulares se puede mejorar la cota para el error absoluto. b]. (6.2.1. donde h = max |xi+1 − xi | = i=1:n−1 hn hn (n) max f (n) (x) = f 4n a≤x≤b 4n ∞ . n−1 n ≥ 2. 1 n+1 h max f (n) (x) .1.2.1.

3 956] T . 41 984. Se define el número de condición absoluto de la fórmula de cuadratura como: n κasb (Qn ) := i=1 |wi | . −3 712. entonces κasb (Qn ) puede ser muy grande. 23 552.25 ∗ (b − a). n impar.4.6. Si wi > 0. 23 552. Fórmulas de cuadratura compuesta Se ejemplicará la presentación con la fórmula de Simpson compuesta.1. −18 160. Es el caso particular para las fórmulas de cuadratura Q2 . En este caso. n−1 xi = a + (i − 1) ∗ h . Esta regla es de orden 8.m de MATLAB se basa en Q9 en forma adaptiva recurrente. Integración y diferenciación numérica 143 6. por ejemplo: κasb (Q21 ) = 542. b]. Sean f ∈ C 4 [a.45 ∗ (b − a).1. b] → R una perturbación continua de f . 14 175 donde h = (b − a)/8. La función quad8.4. entonces κasb (Qn ) = b − a. cuando n es muy grande. Se tienen las siguientes conclusiones: A). n ≥ 3 . κasb (Q9 ) = 1. i = 1 : n.5. en consecuencia. por lo que Qn es numéricamente estable. Es el caso. Definición 6. Qn puede ser numéricamente inestable. Qn (f ) − Qn (f ) ≤ i=1 |wi | f −f ∞ . Q3 y Q4 . b−a h= . . 6. −3 712. Estabilidad numérica del método de cuadratura Sea f : [a.1. Dado que los pesos wi son independientes de f . entonces n n Qn (f ) − Qn (f ) = Qn (f − f ) = de donde i=1 wi f (xi ) − f (xi ) n ≤ i=1 |wi | f (xi ) − f (xi ) . B). Si wi < 0 para alguna i.1. Los pesos para la fórmula de cuadratura Q9 están dados por w= h [3 956. b] → R continua y f : [a. 41 984. i = 1 : n. Ejemplo 6.5.

144 h
s s s s

6.1. Integración numérica

a = x1

x2

x3

x4

x5

x6

b = x7

Aplicando la regla de Simpson a cada par consecutivo de intervalos, resulta:
b (n−1)/2 x2i+1

f (x)dx =
a i=1 (n−1)/2 x2i−1

f (x)dx h5 h [f (x2i−1 ) + 4f (x2i ) + f (x2i+1 )] − f (4) (ξi ) 3 90 
(n−1)/2 (n−3)/2

=
i=1

donde x2i−1 ≤ ξi ≤ x2i+1 .

h = f (x1 ) + 4 3

f (x2i ) + 2

i=1

i=1

h5 f (x2i+1 ) + f (xn ) − 90

(n−1)/2

f (4) (ξi ) ,
i=1

para n ≥ 5 entero impar.

Definición 6.1.6. Se define la regla de Simpson compuesta por:   (n−1)/2 (n−3)/2 h f (x2i ) + 2 f (x2i+1 ) + f (xn ) , Sn (f ) = f (x1 ) + 4 3 i=1 i=1

Teorema 6.1.3. Si f ∈ C 4 [a, b], n ≥ 3 es entero impar, h = (b−a)/(n−1), xi = a+(i−1)h, i = 1 : n. Entonces b b − a 4 (4) f (x)dx = Sn (f ) − h f (ξ) , 180 a para algún ξ ∈ (a, b). Demostración. Se sigue al aplicar el teorema del valor extremo y el teorema de valores intermedios de Bolzano a f (4) (x). Algoritmo 6.1.1. Algoritmo de la regla de Simpson compuesta.
Datos de entrada: a, b, f : [a, b] → R continua, T OL > 0, N M AX b Datos de salida: Valor aproximado S de a f (x)dx N ←3 Mientras |S − Sprevio | ≥ T OL ∗ |S| o N ≤ N M AX, hacer Sprevio ← S h ← (b − a)/(N − 1) S1 ← 0.0 S2 ← 0.0

6. Integración y diferenciación numérica Para i = 2 : N − 1, hacer x ← a + (i − 1) ∗ h Si i es par, entonces S2 ← S2 + f (x) En caso contrario S1 ← S1 + f (x) Terminar Terminar S = h ∗ (f (a) + f (b) + 2 ∗ S1 + 4 ∗ S2 )/3.0 N ←N +2 Terminar.

145

Actividad 6.1.1. Programa el algoritmo de la regla de Simpson compuesta en FORTRAN o en MATLAB. Prueba tu programa calculando ϕ(2), donde
x

ϕ(x) =
0

sen

π 2 t dt . 2

Sugerencia. Elija T OL a precisión de la máquina, S = 1.0 y Sprevio = 0.0 .

6.1.6.

Fórmulas adaptivas recurrentes

6.2.
6.2.1.

Diferenciación numérica
Comportamiento numérico

El problema de la diferenciación numérica es un problema sensible inherente, es decir, pequeñas perturbaciones en los datos casi siempre causan cambios bruscos en los resultados. De hecho, es fácil construir dos funciones continuas con la misma integral pero con propiedades diferenciables completamente diferentes.

6.2.2.

Fórmulas de diferencias finitas

Sea f : R → R de clase C ∞ (R) y x ∈ R. Desarrollando f en series de Taylor alrededor de x para h > 0, se tiene que: 1 1 f (x + h) = f (x) + f (x)h + f (x)h2 + f (x)h3 + · · · 2 6 1 1 f (x − h) = f (x) − f (x)h + f (x)h2 − f (x)h3 + · · · 2 6 De (6.2) se obtiene la fórmula de diferencia prospectiva: f (x) = f (x + h) − f (x) + O(h) . h (6.2) (6.3)

146

6.2. Diferenciación numérica

De (6.3) se obtiene la fórmula de diferencia retrospectiva: f (x) = f (x) − f (x − h) + O(h) . h

Restando (6.3) se (6.2) se obtiene la fórmula de diferencia central: f (x) = f (x + h) − f (x − h) + O(h2 ) , 2h

que resulta ser una fórmula de segundo orden. Ahora, sumando (6.2) con (6.3), se obtiene la fórmula de diferencia central para la segunda derivada: f (x) = f (x + h) − 2f (x) + f (x − h) + O(h2 ) , h2

que también es de segundo orden. Es posible construir fórmulas de mayor orden eligiendo puntos equidistantes. Por ejemplo, con el interpolante polinomial de grado ≤ 4 de los puntos: x − 2h, x − h, x, x + h, y x + 2h, se obtienen fórmulas de diferencias de cuarto orden para f (x) y f (x), y fórmulas de segundo orden para f (x) y f (4) (x).

6.2.3.

Aplicaciones a problemas de valores iniciales

Se ilustrará la aplicación de las fórmulas de diferencias finitas, para la solución numérica del problema del valor inicial (PVI): y = f (t, y) , y(t0 ) = y0 . t ≥ t0 , y ∈ R , (6.4)

De la teoría básica de existencia y unicidad, se sabe que si la función f (t, y) es continua y globalmente Lipschitz con respecto a y, entonces el PVI (6.4) tiene solución –al menos localmente– es única y depende continuamente de sus datos t0 y y0 , es decir, bajo estos supuestos sobre f (t, y) el problema (6.4) es bien planteado (en el sentido de Hadamard). Una forma de aproximar numéricamente la solución del problema (6.4), para t > t0 es la siguiente: 1. Se elige un paso h > 0 . 2. Se calculan ti = t0 + ih , i = 0, 1, 2, . . . 3. Se discretiza la ecuación diferencial con alguna fórmula de diferencias finitas. Discretizando con la fórmula de diferencia prospectiva: y(ti+1 ) − y(ti ) ∼ yi+1 − yi y (ti ) ∼ , = = h h

El método (6. i = 1 : n −1. y (ti ) ∼ = = 2h 2h de donde se obtiene el método del punto medio: yi+1 = yi−1 + 2hf (ti . yn )      y 2 = f2 (t.4) con la fórmula de diferencia central. · · · . es decir el PVI (6. yi ) . (6.  .6. y1 . y . Sistemas de ecuaciones y ecuaciones de orden mayor que uno Dos generalizaciones del PVI (6. Integración y diferenciación numérica 147 y dado que y (ti ) = f (ti . . y es el más sencillo de las técnicas numéricas para ecuaciones diferenciales.7) necesita de un método de un solo paso para arrancar.7) que es un método de dos pasos. · · · . = = h h de donde se obtiene el llamado método de Euler hacia atrás: yi = yi−1 + hf (ti . Este método de pasos múltiples es muy importante. y en este caso se puede utilizar el método de Euler (6. · · · . . se utiliza como base de un método de extrapolación de Bulirsch y Stoer (England.4) se requiere en t = tf . y2 . se sigue que yi+1 = yi + hf (ti .  . Ahora.8) . yi ). yn )  (6. Este tipo de métodos que evalúan la derivada al final del paso se les llama también métodos implícitos. yi ) . se tiene que y(ti+1 ) − y(ti−1 ) ∼ yi+1 − yi−1 . i = 0 : n− 1. por ejemplo. discretizando la ecuación diferencial del problema (6. Es un método de un sólo paso. . (6. . y0 ) . y1 . tanto y como f pueden ser vectores de dimensión n. La pregunta esencial es: ¿Qué tan buena es esta aproximación? ¿Tiene alguna relación con y(tf ).4) sería una notación reducida para el sistema de ecuaciones:  y 1 = f1 (t. y .4): Primero. y yn será una aproximación para y(tn ). Discretizando con la fórmula de diferencia retrospectiva se tiene que y(ti ) − y(ti−1 ) ∼ yi − yi−1 y (ti ) ∼ . . y )  n n 1 2 n .    y = f (t.5) que se le llama método de Euler (explícito). basta con elegir alguna n suficientemente grande y para h = (tf − t0 )/n se tendrá tn = tf .6) donde la derivada se evalúa al final del paso. (6. i = 1 : n. y2 . Si la solución de (6. yi ) . .5): y1 = y0 + hf (t0 . 2003 [6]).

y . . yn ) z(t0 ) = z0 = (y0 .10) ). · · · . Contesta las preguntas 8. . Ejercicios Integración numérica 1. (6.3. y . Ejercicios Donde f1 . f2 . En segundo lugar. Esto es dt y (n) = f (t. 8. . 8. . .9 de la página 373 de Heath (2002) [12]. . No todos los argumentos deben de aparecer explícitamente en todas las funciones. y . y2 = y . . y .8 y 8. y20 . . y (n−1) ) .3. con valor inicial: y reemplazar la ecuación (6. . . esta generalización se puede ver como un sistema de n ecuaciones de primer orden. 6. y. . se supone que las ecuaciones de orden mayor que 1 se reducen a sistemas de primer orden para la solución numérica. Normalmente. y (n−1) . . y0 (n−1) (6.10) es la solución y(t) de la ecuación de orden n dado por (6. y(t0 ) = y0 ≡ (y10 . yn0 )T . . y2 . . fn son funciones distintas de los n + 1 argumentos.148 con valor inicial: 6. . . .9) por el sistema de n ecuaciones de primer orden   y1 = y2      y2  = y3  . . es decir en lugar dn y de y se tenga y (n) (= n ) como función de t. y.9). . . aunque algunos métodos se presentan para tratar directamente con ecuaciones de orden mayor que 1. · · · . (n−1) y (t0 ) = y 0 . · · · . . 8.3. y1 . y (n−1) (t0 ) = y0 . con n condiciones iniciales: y(t0 ) = y0 . se puede tener una ecuación de orden mayor que 1. . .     y n−1 = yn     yn = fn (t. y 0 . Nótese que la solución y1 (t) que se obtenga de (6. al escribir y1 = y .9) Afortunadamente. .1. . yi = y (i−1) i = 3 : n.7.

B). 2 Compara tu solución numérica con la solución analítica que está dada por y(t) = e−t /2 . yi ) xi+1 ← xi + h Terminar.39 al 8. 6. Programa el algoritmo anterior en FORTRAN o en MATLAB y pruébalo con el problema de valor inicial: y +ty = 0 y(0) = 1 . hacer yi+1 ← yi + h ∗ f (ti . . es el siguiente: Datos de entrada: t0 . Un algoritmo simple que se basa en el método de Euler prospectivo para aproximar numéricamente la solución de (6. Calcule la longitud de la rosa con un 0. f (t. 3. 1 − x2 sen2 θ 0 Dibuje una gráfica suave de K(x) sobre el intervalo 0 ≤ x ≤ 1. A). que es una integral elíptica de segunda clase. tf . y0 . La ecuación polar ρ = 2 cos 2θ modela una rosa de cuatro pétalos.4) sobre el intervalo: t0 ≤ t ≤ tf . Resuelva el ejercicio 8.3 de la página 376 de Heath (2002) [12]. Verifica que la longitud (perímetro) de la rosa está dada por π/4 s = 16 0 4 − 3 cos2 (2θ) dθ . C).42 de la página 375 de Heath (2002) [12]. Diferenciación numérica 5.01 % de error. N Datos de salida: Valor aproximado y i de y(ti ). Integración y diferenciación numérica 149 2. Contesta las preguntas 8. sobre el intervalo 0 ≤ t ≤ 2. Dibuja la rosa de cuatro pétalos. El periodo de un péndulo simple está determinado por la integral elíptica completa de 1a clase π/2 dθ √ K(x) = . h ← (tf − t0 )/N Para i = 0 : N − 1. i = 0 : N .6. y es imposible evaluarla con métodos elementales de integración. y). ¿Cuántos dígitos correctos se logran con este orden de error? 4.

sobre el intervalo 0 ≤ t ≤ 1. Calcula la solución analítica usando dsolve. Calcula la solución numérica para diferentes valores de N . Ejercicios y(0) = 1 .m de MATLAB. 8. Calcule la solución numérica del problema de valor inicial: y= y y − t t y(1) = 1 . Compárela con la solución analítica dada por y(t) = t/(1 + ln t). C).3.150 7. 2 sobre el intervalo 1 ≤ t ≤ 2. A). B). Compara ambas soluciones y escriba tus observaciones. . Sea el problema de valor inicial: y = −1000(y − sen t) + cos t 6.

McGraw-Hill. 1988. T. Malcolm. 1992. 151 . R. Dover. J. XIII ENOAN. [12] Heath. Fortran 77 with Numerical Methods for Engineers and Scientifics.. Prentice-Hall Inc.. Englewood Cliffs. A.. J. The Johns Hopkins University Press. G. Benjamin/Cummings. [3] Davis. Numerical Analysis An Introduction. and Van Loan. and Hoffmann. Prentice-Hall. Springer-Verlag New a York Inc.. K-H. C. T. 1962. On inverses of Vandermonde and Confluent Vandermonde Matrices. [4] Dennis. L. [11] H¨mmerlin. 2003. 2nd Edition. JR.. Numerische Mathematik. 1989. Matrix Computations. UAdeC.Y. 1983. [7] Etter. M.. 1977.. 2002. Scientific Computing: An Introductory Survey.. G. Computer Methods for Mathematical Computations..Bibliografía [1] Buchanan. [5] Eldén.. Academic Press. L. 1991. and Wittmeyer-Koch. Ch. 1992. M... and Turner. Inc. [9] Gautschi. Solución Numérica de Ecuaciones Diferenciales. Ph. [2] Coleman. J. and Schnabel. McGraw-Hill. Numerical Mathematics... 1975. D. L. F. Inc. F. 117–123.. and Van Loan. P. W.. E. Interpolation and Aproximation. 1990. Ch. R. SIAM.. Numerical Methodos and Analysis. Inc.. G. New Jersey. México. F.. [8] Forsythe. Philadelphia. Numerical Methods for Uncostrained Optimization and Nonlinear Equations. Handbook for Matrix Computations. M. B. R.. and Moler. [6] England. 4. [10] Golub. 2nd Edition. N. B. H.

M. C.. S.. Cramer’s Rule on 2-by-2 Systems. Numerical Computing with IEEE Floating Point Arithmetic. J. 3a Edición.. Alburquerque. [18] Ortega.. L. Dover. Professional Programmer’s Guide to FORTRAN 77. New Mexico University. SMM. Allen..mathworks. SIAM. Academic Press. 1993. 1971.. [14] Kahaner.J. Society for Industrial and Applied Mathematics. 2002. New York. Canadian Math. [22] Shampine. B. Bull. C. Cálculo Vectorial. W. Last update/bug fix: 2003 September 3. and Bulirsch. J. University of Leicester. Numerical Methods and Software. and Rheinboldt. [20] Page. 9. Numerical Computing with MATLAB. An Introduction to the Aproximation of Functions. R. Editorial Reverté. 757–801. M.. 2006. F. R. [19] Overton.. M. Philadelphia. Inc. L. [23] Spivak. A. Addison-Wesley Iberoamericana. 1966. Cálculo Infinitesimal. España. [16] Moler. [17] Moler. [24] Stoer. 1991. Fundamentals of Numerical Computing. Numerical Linear Algebra. E. [15] Marsden.152 BIBLIOGRAFÍA [13] Kahan. C. G. y Tromba. 2001. B. . Moler C. New York. and Pruess. Springer-verlag. C. 1989.... Th. Introduction to Numerical Analysis. J. 1978. J. 2001. and Nash S. Versión en español: Cómputo Numérico con Aritmética de Punto Flotante. UK.com/academia/. S. 1981. W.com/ [21] Rivlin. 1988. D..fortran. Prentice-Hall. Jr. Tomo I. John Wiley & Sons. C. http://www. Inc.. 1997.. http://www. Iterative Solution of Nonlinear Equations in Several Variables. A.

Sign up to vote on this title
UsefulNot useful