P. 1
50654114-NotasANum1

50654114-NotasANum1

|Views: 985|Likes:
Publicado porRepresentacion_5096

More info:

Published by: Representacion_5096 on Mar 28, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/04/2013

pdf

text

original

Sections

  • 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 computa- cional
  • 1.6. Nociones de análisis de error prospectivo y retro- spectivo
  • 1.7. Nociones de sensibilidad numérica y número de condi- ción
  • 1.8. Nociones de estabilidad y exactitud
  • 1.9. Ejercicios
  • 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 ex
  • 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
  • Sistemas lineales de ecuaciones algebraicas
  • 3.1. Normas vectoriales y matriciales
  • 3.1.1. Normas vectoriales
  • 3.1.2. Normas matriciales
  • 3.2. Número de condición de una matriz
  • 3.2.1. Análisis de sensibilidad de sistemas lineales de ecuaciones al- gebraicas
  • 3.2.2. Residuales
  • 3.3. Regla de Cramer y métodos de eliminación Gaus- siana
  • 3.3.1. Regla de Cramer
  • 3.3.2. Método de eliminación Gaussiana sin pivote
  • 3.3.3. Algoritmo de eliminación Gaussiana con pivote (parcial)
  • 3.4. Factorización LU
  • 3.5. Factorización de Cholesky
  • 3.6. Ejercicios
  • Ceros de funciones
  • 4.1. Planteamiento del problema
  • 4.2. Método de bisección
  • 4.3. Método de Newton
  • 4.4. Método de la secante
  • 4.5. Método de interpolación cuadrática inversa
  • 4.6. Sistemas de ecuaciones no lineales
  • 4.6.1. Existencia y unicidad
  • 4.6.2. Método de Newton
  • 4.6.3. Convergencia local del método de Newton
  • 4.7. Ejercicios
  • Interpolación polinomial y splines cúbico
  • 5.1. Interpolación global uniformemente espaciada
  • 5.1.1. Existencia, unicidad y condicionamiento
  • 5.1.2. Interpolación polinomial global
  • 5.1.3. Función de Runge
  • 5.2. Interpolación global sobre puntos de Tchebyshev
  • 5.3. Interpolación polinomial por pedazos
  • 5.4. Interpolación por splines cúbico
  • 5.4.1. Cálculo del spline cúbico interpolante
  • 5.5. Teoremas de Faber
  • 5.6. Ejercicios

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 sobre puntos de Tchebyshev 5. . . . . . . . 3. .4. . . . . . . . . . Función de Runge . . . . . . . . . . . .3. . . . . . . . . . .1. . .4. . . . . . . . .1. . .6. . . .4. . .1.5. . . . 5. . . . . . . .5. . . . . . . . . 3. Factorización LU . . 4. . . . . . . . . . . . . . . . . . . . . . . . . . .3. . . . . . .1. . . . . . . . . . . . . . . Interpolación por splines cúbico . . . . . . . . . . . unicidad y condicionamiento 5. . . . . . . Método de interpolación cuadrática inversa . . . . . . . . . 5. 4. . . . . . . . Cálculo del spline cúbico interpolante . . . . . .5. . Convergencia local del método de Newton 4. . . . Análisis de sensibilidad de sistemas lineales de ecuaciones 3. .2. . . . . . . Interpolación polinomial y splines cúbico 5. .2. . . . . . . . . . .6. . Regla de Cramer y métodos de eliminación Gaussiana . . . . . . 4. . . . . . . . Número de condición de una matriz . . . . . . . . . Regla de Cramer . . . . . . . . . . . . . . . . . . . . . . . . Método de eliminación Gaussiana sin pivote . . . . Factorización de Cholesky . . . . . 3. . . . . . . . . . . Normas matriciales . . . . . . . . . . 5. . . . . . . . . . . . . . . Método de Newton .3. . . .2. . .2. . . Interpolación polinomial por pedazos . . . . . . .3. . 4. . .6. . . . . . . . . . . .3. . . . . . . . . . . . . . . . . . 5. . . . Residuales . . . . . Método de la secante . . . . . . . . . Planteamiento del problema . . . . . . . . .3. . . . . . . . . . . . . . . . . . . . 4. . . . . . . . . .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. . . . . . . . . . . . . . 3. . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . Ejercicios .6. . . . . . . . . . . . . . . . . . . . . . . . . . .2. . . . . . . . . . . . . . . .3. .2. . . . . . . . . . . . . . . Algoritmo de eliminación Gaussiana con pivote (parcial) 3. . . . . . . . . . .2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. .1. . . . . . . . . . 5. . . . . 3. . Interpolación polinomial global . . . . . . . . . . . . . . . . . . . . . . . . Sistemas de ecuaciones no lineales . . Método de bisección . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3. . . . . 3. .1. . Ceros de funciones 4. . . . . . . . . . . . . . . . . 3. algebraicas . 5. . Interpolación global uniformemente espaciada . . . . . . . .1. . . . Método de Newton . Ejercicios . . . . . 4. Normas vectoriales y matriciales . . . . . . . .7. . . 4. . . . . . . . . . . . . . . . . . 3. .2.1. . . . . .3. . . . . . Teoremas de Faber . 3. . . . . . 4. . .1. . . . . . 5. . . . . . . . . . . Sistemas lineales de ecuaciones algebraicas 3.2. . . . . Ejercicios . . Existencia. . . . . . . . . . . . . .4. . . . . . . .1. . . . . . . . 4. . . .2. . . . . . . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . Existencia y unicidad . . .6. . .6. . . . . . .1. . . . . . . . . . . . 3. . . . . . . . . . . . . Normas vectoriales . .

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

vi ÍNDICE GENERAL .

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

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

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

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

B WRITE(*.D WRITE(*. y en lo posible las referencias bibliográficas.B).*) A.F WRITE(*.E. C C2345678.D WRITE(*.F) DEL TRIANGULO:’ READ(*. El programa completo de la práctica 1 es el siguiente: C PROGRAMA EJER1− 1.F. hay que declarar todas las variables que se van a utilizar. (C.*) E.*) A.B 5 Las instrucciones WRITE y READ están en formato estándar.D.*) ’DAME EL VERTICE (A.B. y puede ser también cualquier número entero positivo que se refiera a una unidad de entrada/salida válido.. 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. DOUBLE PRECISION A.B WRITE(*. El segundo asterisco indica un identificador de formato (FMT). el significado de cada una de las variables involucradas..D) DEL TRIANGULO:’ READ(*. Más información en Page (2003) [20] página 105.C.*) ’DAME EL VERTICE (C.*) E.B) DEL TRIANGULO:’ READ(*.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. y también puede ser un número entero positivo donde se especifique dicho formato en el programa.D) y (E.*) C.1.*) A.AREA WRITE(*. El primer asterisco indica un identificador de unidad (UNIT en inglés).*) C.*) ’DAME EL VERTICE (E. Es importante tener en cuenta que antes de la entrada de datos del problema.B WRITE(*.FOR C CALCULA EL AREA DEL TRIANGULO CON VERTICES: C (A. C SALIDA: LOS VERTICES Y EL AREA DEL TRIANGULO.*) A.F C . Introducción a la computación científica y el análisis numérico READ(*.

EQ.’ EL AREA DEL TRIANGULO ES:’. = .16. no y de la construcción de IF. Repaso de FORTRAN 77 WRITE(6. si f (x) =  3 x − x + 8.AND. y . Escribe un programa en precisión simple e imprima el valor de:  3  x − 2x2 + 3x − 5.NE. 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 .2X. Existen varias forma de construir el IF en FORTRAN 77.GE. ≤ .GT. = .NOT.2X. < .5D0*(A*(D-F)-C*(B-F)+E*(B-D))) C C C 10 SALIDA DE RESULTADOS 1. si x3 + x2 − 7x + 6.10) AREA FORMAT(1X. si que lea e imprima un número real x.LE.1.6 AREA=DABS(0. ≥ . Para realizar esta actividad necesita de algunos de los operadores lógicos: .LT. +’ UNIDADES CUADRADAS’) END Práctica 2.D23.OR. o (uno o ambos) . > . 0≤x≤1 1<x≤2 x<0 o x>2 ´ Sugerencia.

+ 8X. x) que regrese el valor h(x) = (f ◦ g)(x)./. Más información en Coleman and Van Loan (1988) [2] y Page (2003) [20]./.’ EL VALOR DE X ES:’. . 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.F10.H 10 FORMAT(//. 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} . DOUBLE PRECISION./. ELSEIF ({Expresión lógica}) THEN {Penúltimo bloque de instrucciones} ELSE ({Expresión lógica}) {Ultimo bloque de instrucciones} ENDIF Práctica 3.1X.1.*)X A = G(X) H = F(A) WRITE(6.7X.’ EL VALOR DE F(G(X)) ES:’. Un programa completo de la práctica 3 puede ser de la siguiente forma: C EJEMPLO DE COMPOSICION DE FUNCIONES REALES C C2345678.6X. Escribe una función h(f.*)’DAME UN NUMERO REAL ARBITRARIO:’ READ(*.A. .’**************************************’) . REAL H.’**************************************’. X WRITE(*. Sugerencia.E14. Imprima x. + 8X.’ EL VALOR DE G(X) ES:’. g.10)X. + 6X.4X.D23.. Considera dos funciones arbitrarias f y g de R en R dadas como programas “function” en FORTRAN 77. A..16.7. g(x) y h(x).5. + 8X./. entre otros. CHARACTER*(*).

1.8 C C C C C C C 1.for que viene incluido en WATFOR87. 7= Sábado) en START e imprima el calendario del mes. 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. Repaso de FORTRAN 77 FORMATOS RECOMENDABLES DE ESCRITURA SIMPLE PRECISION: E14.5 STOP END C C **************************************************** C REAL FUNCTION G(X) REAL X G = X**2 . También puede consultar a Coleman and Van Loan (1988) [2] o a Page (2003) [20]. Escribe una rutina MONTH (LENGTH.0 RETURN END C C **************************************************** C REAL FUNCTION F(Y) REAL Y F = SQRT(ABS(Y)) RETURN END Práctica 4. START) que lea el número de días en un mes en LENGTH y el día de comienzo del mes (1= Domingo. Consulta el programa Calendar.34. . Práctica 5. Diseña un algoritmo . . MONTH (30.. Supóngase que A ∈ Rn×n y que x ∈ Rn×1 son dados.0*X + 8.7 DOBLE PRECISION: D23.16 ESTANDAR: F10. Por ejemplo. .

entre otros.0/ X/-2. 5. un fragmento del programa puede ser: DATA DATA DATA DATA A(1.3)/14.4.2/..1. Por ejemplo.3)/-15.1)/2.2/.0/ A(1. X(N) La instrucción DATA se usa para inicializar variables y arreglos de dimensiones pequeñas.N).1. A(2.. Sugerencia. por ejemplo: REAL A(100.2)/-5. . Para esta actividad se requiere del uso de arreglos para escribir la matriz A y el vector x. {Paso} {Bloque de instrucciones} {Etiqueta} CONTINUE Un programa completo de la práctica 5 puede ser de la siguiente forma: C PROGRAMA EJER1− 5.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. 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/. También puede ser de tipo INTEGER o DOUBLE PRECISION. Para el cálculo de S se requiere de una iteración.2/.3)/-10. A(2.FOR C CALCULA S=X’ AX C X VECTOR DE DIMENSION N C A MATRIZ DE DIMENSION N×N C C2345678.2)/-4. A(2. es decir con entradas en precisión simple.2/.0/ A(1. Por ejemplo.2/. 200) indica que A es una matriz de tamaño 100 × 200 de tipo REAL. El formato es muy simple.1)/-3. que se puede hacer mediante la instrucción DO cuyo formato es: DO {Etiqueta} {Variable entera}={Inicio}.2)/10. A(3. las primeras líneas ejecutables del programa pueden ser: INTEGER N PARAMETER (N=3) REAL A(N. A(3.{Fin}. 7. Se puede usar la instrucción PARAMETER para asignar una variable simbólica a la dimensión de los arreglos.1)/4.

1.2/. X/100*2./ + 6X. A(3. A(3.2/. 7.N FORMAT(6X.8/ S=0.0/ DATA X/-2.J)*X(I) CONTINUE S=S+B*X(J) CONTINUE SALIDA DE RESULTADOS 1.2/.2/.// + 6X. 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.’ EL PRODUCTO XT*A*X ES:’.2X.’R E S U L T A D O S :’. x2 − 4x + 3.3)/14.10 INTEGER N PARAMETER (N=3) REAL A(N. x2 + x − 6 = 0.99999 = 0. C).N B=0.I3.30) S. D).3)/-10.2)/-4.7. a = 0.0/. x2 + x + 1 = 0. x2 − 105 x + 1 = 0. A(2.’*******************************************’) END Práctica 6.4.’*******************************************’.3)/-15.’LA DIMENSION DEL VECTOR X ES:’.2)/10.1.J C C DATA A/10000*1.// + 6X.0/ + A(1.E14.X(N). 5. Imprima los datos y resultados que obtuviste en cada ecuación. A(2.2X.N).1)/2.0 DO 20 I=1./ + 6X. . b y c ∈ R dados.2/.0/ C DATA A(1. A(2.N B=B+A(I.2/.B INTEGER I.S.1)/4. en base a la fórmula que aprendiste en la secundaria. Usa tu función para calcular las raíces de las ecuaciones siguientes: A).1)/-3. B). Repaso de FORTRAN 77 C 20 10 C C C 30 WRITE(6.0/ + A(1. A(3.0 DO 10 J=1.2)/-5.

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

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

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

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

1. 1 Error total = 1 − 2 3 8 2 x2 .2) Dado que también tiene sentido en resolver el problema f con los datos aproximados x. El error total en el proceso se puede descomponer como: f (x) − f (x) = [f (x) − f (x)] + [f (x) − f (x)] . tiene lugar la figura 1. Solución.0058 . y f (x) − f (x) se le llama propagación del error de los datos. se estaría resolviendo un problema aproximado (vecino): f : R −→ R x −→ f (x) .9297 − 0. y dado que también hay necesidad de discretizar el problema f como un problema computacional f .2). y es independiente de f . se trabajará con datos aproximados x. el error computacional y la propagación del error de los datos al aproximar el problema matemático f (x) = cos x . 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.3: Diagrama del problema f y f. 2 − cos π 8 ∼ 0. Estimar el error total.• f (x) • f (x) • f (x) Figura 1.3.1. Dado que hay errores en los datos verdaderos x. (1. Ejemplo 1. por el problema computacional f (x) = 1 − para x = π/8 y x = 3/8.5. x • x •   donde x ∈ R son los datos verdaderos del problema y f (x) la solución verdadera deseada. entonces en lugar del problema (1. Un problema típico en una dimensión se puede modelar como el cálculo del valor de una función f : R −→ R . donde f (x) − f (x) se llama el error computacional.9239 = 0. f  1   f f . = .

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

y una aproximación f de f .02 × 100 = 2 % . se trata de encontrar x tal que y = x .4)2 = 1.96 por lo que la solución y es razonablemente bueno.0142 · · · |∆y| × 100 ∼ 1.6. Estudiar este error se llama hacer análisis de . y2 =x =⇒ x = (1. Para el análisis del error retrospectivo.1.4142 · · · = −0.00505 · · · ∼ 1 % de error. √ Ejemplo 1. Para el análisis de error prospectivo. 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. = = |y| 1. Del diagrama de la figura 1.3.1. 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 .96 − 2 = −0. se tiene: ∆x = x − x = 1. Hacer el análisis del error retrospectivo y prospectivo del problema y = 2 si y = 1. √ Solución.• y x • f = f (x) = f (x) Figura 1. |x| ∆y = y − y = 1.7. 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. y es independiente del método f que se usa para resolver el problema.04 |∆x| × 100 = 0.4 − 1.4: Relación entre el error prospectivo y retrospectivo.4 es una solución aproximada.

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

Dos casos particulares: √ A).2. x > 0 . por lo que el error relativo de la solución se amplifica diez mil veces el error relativo del dato de entrada. Si f (x) = ln x .9985 × 10−5 Por lo que κ ∼ 104 = y y ∆x ∼ −4 = 10 . Análisis de sensibilidad del problema de calcular raíces reales de funciones continuamente diferenciables f : R −→ R. f y f .0001) = 9. x ∆y ∼ 4 ∆x = 10 y x El número de condición es muy grande. Problema matemático: hallar α ∈ R tal que f (α) = 0 . entonces 1 f (x) = √ 2 x x √ x 1 2 x κ∼ √ = = . .1. = x 2x 2 y x > 0.9998 × 10−4 y ∆y ∼ = 1. κ= = x−x f (x) x f (x) = 0 . x > 0 . B). pero mal condicionado “cerca” de 1. por lo que el problema de calcular logaritmos es bien condicionado para x grande y para x “cercano” a 0.0002) = 1. entonces f (x) = 1 x y κ∼ = 1 . Por ejemplo. Si f (x) = x .0001 y x = 1. por lo que el problema de calcular raíces cuadradas es bien condicionado. y ∆y = y − y = 9. | ln x| x > 0. Ejemplo 1.9995 × 10−5 y y = ln(1.7.0002 : ∆x = x − x = 10−4 y y = ln(1. 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) . depende de x. para x = 1.

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

B).6: Geometría de raíces de multiplicidad par y muy mal condicionados. 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”. ≤ f (x) − f (x) “Estabilidad num´rica del m´todo” e e + |f (x) − f (x)| “Sensibilidad del problema matem´tico” a . Introducción a la computación científica y el análisis numérico 23 Y y = f (x) 0 (α. Definición 1. es decir.1. 0) X Figura 1. 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. Nociones de estabilidad y exactitud Definición 1.8. 1.1.8. que las perturbaciones que ocurren durante el cálculo afectan menos que pequeños errores de los datos de entrada del problema dado. Sea y la solución verdadera de un problema matemático f y y una solución aproximada obtenida por un método f . Desde el punto de vista del análisis del error retrospectivo. Bien condicionado (insensible numéricamente) si f (α) es razonablemente grande.2. Puesto que |y − y| Entonces A).8. un algoritmo es numéricamente estable si los resultados que produce es la solución exacta de un problema vecino (correctamente formulado).

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

011101 · · · . y la parte fraccionaria de arriba hacia abajo. x4 = 0.825. x−1 x−2 x−3 x−4 x−5 x−6 =0 =1 =1 =1 =0 =1 . x7 = 0. = x4 + x−3 .213. entre otros.456 en el sistema binario. En efecto. x2 = 0. = x7 + x−6 . . se descompone x en dos partes x0 = 123 y x1 = 0.1111011011101 · · · ) × 27 . . Tabla 2. x3 = 0. . .912. x6 = 0. = x6 + x−5 .651. Ejemplo 2. La parte entera binaria se lee de abajo hacia arriba. donde x0 ∈ Z+ y x1 ∈ R+ con x1 < 1. 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.1.456. = x3 + x−2 . como se indica en la tabla 2. . Para convertir x0 a binario se aplica el algoritmo de la división consecutivamente. Actualmente las computadoras usan sistemas de base 2. sino que se han usado otros sistemas como el de base 20 y 60 entre otros.1: Conversión de número decimal a binario. 25 .606. por lo que el resultado es x = 1111011. 8 y 16.1.1. . y para convertir x1 a binario se multiplica consecutivamente por 2.303. . Representar el número decimal periódico x = 123. = x5 + x−4 . x5 = 0.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 . .Capítulo 2 Aritmética de punto flotante 2. que se puede representar en forma normalizado como: x = (0.

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

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

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

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

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

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

Si x no es un número punto flotante. red(x) = x− si x > 0 x+ si x < 0 iv). Si x es un número punto flotante. 2002 [19]). β Si x < 0 pero −xmin < x < 0. entonces x− = −∞ y x+ = −xmax . . u definido por A). Si x < 0. Si x > xmax . Y si x < −xmax .3. entonces x− = xmax y x+ = ∞ . t. por ejemplo.32 A). es decir: red : R −→ fl(β. Redondeo hacia arriba (o hacia ∞): red(x) = x+ . y x+ = 0 o un número negativo subnormal en el caso binario. el valor correctamente redondeado de x depende de cuál de los siguientes cuatro modos de redondeo esté en efecto: i). iii). entonces la situación se invierte para x− y x+ . entonces: red(x) = x . entonces x− = −xmin o un número negativo subnormal en el caso binario. 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. entonces x− es 0 o un número subnormal en el caso binario. Si 0 < x < xmin . 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). entonces x+ se obtiene por truncamiento y x− = x+ − t × β e . si x < 0 y 1 −xmax < x < −xmin . Redondeo B). U ) ∪ {n´ meros subnormales} ∪ {±∞} . 2. Redondeo hacia abajo (o hacia −∞): red(x) = x− . y x+ es xmin o un número subnormal en el caso binario. Redondeo hacia cero: ii). L. C). se escoge el red(x) como el flotante que tenga su bit menos significativo igual a 0 (Overton. B).

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

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

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

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

000000041666 · · · + · · · ) = ∼ nu + nu(0.01 y 0 < |εj | ≤ u para j = 1 : n. |εj | ≤ u. Sea n entero positivo tal que nu < 0.01)2 (0. j = 2 : n + 1 . resulta que δn = j=1 εj + i=j εi εj + i=j=k εi εj εk + · · · + ε 1 ε2 · · · εn . Nótese que al desarrollar el producto. 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.2.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.00501670833 · · · ) ≤ nu + 0. n Si j=1 (1 + εj ) = 1 + δn .01nu = 1.01 (0.2.01nu .01)3 (0. 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. j=k ε1 = 0. Se supone cierta la hipótesis de inducción para n > 2. n Demostración. Aritmética de punto flotante 37 Demostración. entonces |δn | ≤ 1.005 + 0.6. 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. = .00001666 · · · + 0. Inducción sobre n. Lema 2. y se probará la igualdad para n + 1.

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

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

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

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

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

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 . . por lo que 2 max 1 + ∆b b ∆a ∆b . el problema es numéricamente bien condicionado. Por lo tanto. lo que implica que ψ ∗ (δx) = O 1. de donde 1. a b + ψ ∗ (δx) . Si además. Así que 1−ε≤1+ ∆b ≤ 1+ε. entonces δx 2 ∞ . b + ∆b b ∆a − ∆b a z b 1+ ∆b b b ∆a − ∆b a = z 1 + ∆b b ∆a ∆b − a b . entonces −εb ≤ ∆b ≤ −ε ≤ ∆b ≤ ε. a b . ∆z 1 = z 1 + ∆b b ∆z z ≤ ∆a ∆b − a b . Si |∆b| ≤ ε|b| con 0 < ε εb. entonces −ε|b| ≤ ∆ ≤ ε|b|. b . |δa| ≤ ε|a| y |δb| ≤ ε|b| con 0 < ε ∆z ≤ κ ε + O ε2 . b que también es válido para b < 0.2. Si b > 0. Aritmética de punto flotante 45 Así que ∆z ≤ 2 max z donde ψ ∗ (δx) = b b |ψ(δx)| = O a a δx 2 ∞ δa δb . z donde κ ≤ 2 es el número de condición del problema.

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

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

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

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

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

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

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

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

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

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

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

5625000 0.B.2.4816700 4.1000E + 01 0.4816860 4.0593960E − 004 1.1875000 4.01*K)*KAPPA*TOL WRITE(*.3984380 4. para que imprima para x = 1.1565E − 05 .0/3.5890940E − 005 2.4809290 4.0 B=A-1.K.1250000 0.*)X. Aritmética de punto flotante ENDIF EAPRIO=(1.0158203 0.C C A=4.4775390 4.EAPOS.5 0.4815650 4.0000000 2.4481689E + 01 0.0) RETURN END C C ************************************************** 57 B).EXPO.4816880 SUMA K TERM 1.4481688E + 01 13 0.0033901 0.EAPRIO STOP END C C ************************************************** C SUBROUTINE MOLER(TOL) REAL A. Estudia el programa.2109375 0.5000000 1.5 el siguiente esquema de resultados: K 2 3 4 5 6 7 8 9 10 11 12 13 X EXPO SUMA 1.7086830E − 007 EAPOS KAPPA EAPRIORI 1.0632813 0.5000000 3.0000E + 00 0.0 C=B+B+B TOL=ABS(C-1.6250000 4.KAPPA.SA.1669460E − 006 2.0006356 1. documéntalo y agrégale un formato adecuado de impresión.4617190 4.

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

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

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

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

x ∈ Rn . (3. α ∈ R . A ∈ Rm×n . x p A ∈ Rm×n . √ Note que para la matriz identidad In×n : In×n F = n y In×n p = 1.1) = sup x=0 Ax p . Ax m p ≤ A p x p .β x α .2. Normas vectoriales y matriciales 3.1. Demostración. Propiedad 3. B ∈ Rm×n . por lo que se dice que que la norma matricial · α. La norma de A ∈ Rm×n se denota generalmente por A . . A ∈ Rm×n .1.1. C). 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 · β . B).1 (Consistencia).2 (Submultiplicativa). Propiedad 3. y N (A) = 0 s´ y s´lo si A = 0 . x α A ∈ Rm×n . se tiene Ax β ≤ A α.2. ı o A. · α Más generalmente. N (α A) = |α|N (A) . Bx = 0 . 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 . B ∈ Rn×q . A ∈ Rm×n . N (A) ≥ 0 . Basta observar que ABx p = A(Bx) Bx p p Bx p . x ∈ Rn . para cualesquiera dos normas vectoriales R . N (A + B) ≤ N (A) + N (B) . Definición 3.1.62 3. A ∈ Rm×n . p ≥ 1 . AB p ≤ A p B p .1.β sobre Rn y · β sobre = sup x=0 Ax β . donde A α. x ∈ Rn . Normas matriciales El espacio de las matrices reales m × n se denotará por Rm×n .

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

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 . Número de condición de una matriz A ∞ = max i=1:m j=1 |aij | .2. b ∈ Rn . “El número de condición es una medida de sensibilidad del error relativo en la solución del sistema lineal (3. y A es no singular.3) x =⇒ 1 A ≤ . b b (3.2. b = 0. Demostración. Dado que A(x + ∆x) = b + ∆b . Si A ∈ Rn×n es no singular. Ax = b y A(x + ∆x) = b + ∆b. se obtiene ∆x ≤ A x A−1 ∆b ∆b = κ(A) .2) Lema 3.1.4) . 3. entonces ∆x ∆b ≤ κ(A) .64 Así que en este caso n 3. Combinando la desigualdad anterior con (3.2) a cambios en el lado derecho b”. x b x = 0.2.1. b = 0.3). x b x = 0. (3. 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 . donde κ(A) := A A−1 se le llama número de condición de la matriz A. se sigue que ∆x = A−1 ∆b . A ∈ Rm×n . con la convención que κ(A) = ∞ si A es singular. (3. Así que Y dado que b = Ax ≤ A ∆x ≤ A−1 ∆b .2. 3.

b ∈ Rn . resulta finalmente que . t ∈ R y x(t) = x + t∆x solución del sistema lineal A(t) x(t) = b(t) . Si A ∈ Rn×n es no singular. Una prueba se puede encontrar en Kahan (1966) [13]. Ax = b y (A + ∆A)(x + ∆x) = b + ∆b. x = 0. Demostración. Sistemas lineales de ecuaciones algebraicas 65 Observación 3. Si A ∈ Rn×n es no singular. Demostración. b(t) = b + t∆b . A−1 A ∆A x x=0 . entonces κp (A) ≥ 1.2.3. El teorema 3. Teorema 3. Teorema 3. Dado que A−1 A = I. se tiene A (t) x(t) + A(t) x (t) = b (t) =⇒ (∆A) x(t) + A(t)∆x = ∆b . b = 0.1.2. Sean A(t) = A + t∆A . Derivando el sistema lineal parametrizado. entonces 1= I p = A−1 A p ≤ A−1 p A p := κp (A) . b = 0. x = 0.2. x = 0. ∆x ≤ κ(A) x . 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 .1. x b A Demostración. Evaluando en t = 0 y reagrupando términos. entonces ∆b ∆A ∆x ≤ κ(A) + . 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 . Así que cuando κp (A) es “muy grande”. A se dice mal condicionada o cercanamente singular.2.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. Note que κp (I) = 1.2. x .

2) es muy mal condicionado si κ(A) >> 1 . r . ∆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. entonces ∆x = x − x = 0 si y sólo si r = 0 . un residual relativo pequeño implica un error relativo pequeño en la solución”. Es claro que si A es no singular. y x es solución aproximada de Ax = b . 3. Conclusión 3. esto no necesariamente ocurre en la práctica. mientras que r = c(b − Ax) “puede ser arbitrariamente grande o pequeño”. 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. y bien condicionado cuando κ(A) es “pequeño”. 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 . Si A ∈ Rn×n es no singular.2. Así que se introduce la siguiente definición: Definición 3.2.2. x A x “Así que cuando A es bien condicionada.2. A x A ∈ Rn×n no singular. ∆x y r pueden no ser simultáneamente pequeños. Demostración.2. El residual relativo de la solución aproximada x de un sistema lineal Ax = b. b ∈ Rn . son exactos a precisión de la máquina. y x ∈ Rn . x = 0.2. Residuales Definición 3. se define como r rrel := .2.1. está definido por r := b − Ax . se tiene el resultado.2.1. entonces r ∆x ≤ κ(A) . El problema de resolver el sistema lineal (3.66 3.2. El residual de la solución aproximada x de un sistema lineal Ax = b. Sin embargo. . Proposición 3.2. Si los datos A ∈ Rn×n no singular y b ∈ Rn . es decir. Número de condición de una matriz Conclusión 3. ya que cuando Ax = b se multiplica por una constante c = 0 su solución no cambia.1. b = 0 .

1.330 x1 x2 = 0. −2.457 0.572.57 × 10−3 9. Solución.254 0.62 × 10−4 1.57 × 10−3 .001 (1. y los demás resultados que se muestran en la tabla 3. b ∈ Rn . sin embargo.87 × 10−4 )T 1. .127 = b.0827 0.2. inf) = 1. xa1 xa2 El residual y residual relativo más pequeño lo tiene xa1 .999 −1.572 .10 × 10 . 7. 0. entonces r A x ≤ ∆A . se tiene el siguiente: Teorema 3. El problema radica en que la matriz A es mal condicionada.2.06 × 10 2.06 × 10 ) 2.787} = 1. De (A + ∆A)x = b se tiene que r = b − Ax = (∆A)x ≤ ∆A que al dividir entre A x se obtiene el resultado.5 (5.5 y xa2 = 0. donde las soluciones aproximadas son: xa1 = −0. x . y (A + ∆A)x = b .98 × 10−4 Tabla 3. · ∞ r = b − Ax r ∞ rrel −6 −4 T −4 0. Calcule el número de condición de A.1. Ejemplo 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. se tiene que A ∞ = max {1. Demostración.913 0.696 × 104 . −1)T .3. Trabajando con la norma infinita y con MATLAB.1: Residuales y residuales relativos. A “Así que un residual relativo grande implica un error retrospectivo grande en la matriz A.3.001 . 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. κ∞ (A) = cond(A. Si A ∈ Rn×n es no singular.659 0.

. y la inestabilidad de otros métodos como la regla de Cramer y el método de eliminación Gaussiana (sin pivoteo).127 0. .3.3012 − 0. . Regla de Cramer y métodos de eliminación Gaussiana 3. (3.08382 = −0.   . .08369 − 0.  = b.a. . .127 0.68 3.l. . . . Ejemplo 3. .330 0. 4.1. .  .l.7) = 0.F. k = 1 : n. . . .913 0. . .3013 = −10−4 .330 0.  . an1 an2 · · · ann xn bn 3.3.1. . b2 .254 = b.330 0. L. an1 an2 · · · ann .659 0. ∆ = 0. de la forma      a11 a12 · · · a1n x1 b1  a21 a22 · · · a2n   x2   b2       Ax =  . como xk = donde ∆ = det(A) = a11 a12 · · · a1n a21 a22 · · · a2n . (3. bn )T . de cuatro dígitos significativos con redondeo al par más cercano: Ax = Solución..a. ∆ Este método obtiene la solución x = (x1 . cuando ∆ = 0. (3. x2 .3.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 .913 0. . . el sistema tiene solución única en f l(10. Regla de Cramer y métodos de eliminación Gaussiana Ilustrar la estabilidad del método de eliminación Gaussiana con pivoteo.13 × 10−3 .P. . .5) cuando existe.659 x1 x2 = 0.254 0. .3. . Regla de Cramer ∆k .  =  . . .457 0. xn )T del s.659 = 0. ∆1 = 0. Estos métodos se usan para solucionar un sistema lineal algebraico (s.5) .457 0. U ). (3. Por lo tanto. . . Resolver el siguiente sistema en una A.   ..) de n ecuaciones con n incógnitas. . .

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

−0. Regla de Cramer y métodos de eliminación Gaussiana se obtiene la matriz equivalente (por filas) 0. = 104 ∗ max{1. 0.519 0.6593. 1) = 1 −0.2779] = [−0.457 0.330(−1) = = 1. −1)T . κ1 (A) lo que dice que la matriz A es cercanamente singular.7221. 0. Puesto que A y b son capturados exactamente en la máquina.12) Por lo tanto.260 0.3 × 10 0.913 ∗ [1.24 × 104 . se obtiene la solución x2 = −1 y x1 = 0.2537] .238. Nótese que A 1 = max{1.11) con el método de sustitución retrospectiva.37 . 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 . 1 1 × 10−(4−1) = × 10−3 .7 × 104 . 0.370. xG = (1. a11 Resolviendo el sistema triangular superior (3.127 −3 0 −0. u y ∆b 1 b 1 u. −0.360 . (3.3.70 3. Y A−1 = inv(A) = 104 ∗ Por lo que A−1 Así que Y RCOND(A. 1 ∼ = 5.620} = 1. 0. 1 κ1 (A) = A A−1 1 = 1.719 −0.457 (3.913. se calcula el número de condición de A. 0.330 0.9 × 10−5 .457 0.989} = 1. ¿Cuál de las dos soluciones es mejor? Para dar una posible respuesta. 2 2 .127 − 0.457 0.3 × 10−3 donde −a21 ∗ .11) R1 = −.

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

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

C). .3: Costo computacional de los métodos.C.18) 3.G.G.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. = 3 2 6 3 para n suficientemente grande. Así que el costo computacional total del método de eliminación Gaussiana es 2 5 13 2 c4 (n) = n3 + n2 − n ∼ n3 . 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. E. El costo del método de E. Únicamente se trabajará con A ∈ Rn×n .3. 2 2 (3.4. (n − 1)n (n − 1)n(2n + 5) (n − 1)n(2n + 5) D+ M+ A.3. n R. D) y E) del algoritmo de eliminación Gaussiana con pivote parcial en términos de matrices elementales.P. Factorización LU En esta sección se describirán los pasos B). 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 . aumenta “ligeramente” por la búsqueda del pivote y el pivoteo.17) (3. 2 6 6 (3. Una comparación del costo computacional se muestra en la tabla 3.

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

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

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

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 . Después resolver el sistema triangular superior U x = c . entonces det(A) = ± u11 u22 · · · unn . se puede realizar con el siguiente procedimiento: A). u22 .3. Si A ∈ Rn×n es no singular. Facorización LU por eliminación Gaussiana con pivote parcial. unn son los elementos de la diagonal principal de la matriz triangular superior U . 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} . C). · · · . por el método de sustitución prospectiva. y se elige el signo menos si el número total de permutaciones es impar. Aplicación 2. donde u11 . Sistemas lineales de ecuaciones algebraicas 77  0 0 1 P = P 2 P1 =  1 0 0  . entonces la resolución de un sistema lineal Ax = b para diferentes vectores b. Observa que esto disminuye significativamente el costo computacional del cálculo del determinante de A.  por haber realizado dos permutaciones en la factorización de A. = 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 .4. Calcular la factorización P A = LU de la matriz A. Si A ∈ Rn×n es no singular. Aplicación 1. El siguiente algoritmo permite obtener el sistema triangular superior equivalente de un sistema lineal Ax = b : Algoritmo 3. Resolver primero el sistema triangular inferior Lc = P b . y P A = LU es la factorización LU de A. B).1. utilizando el método de sustitución retrospectiva.

. Más aún. . Ahora se verá que si  ˜= A    a i1 i1 a i1 i2 · · · a i1 ik a i2 i1 a i2 i2 · · · a i2 ik . 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 . . B). A se dice definida positiva si xT Ax > 0 para todo x = 0. a ik i1 a ik i2 · · · a ik ik    . Los determinantes de las submatrices principales de A se llaman menores principales de A. así que A debe ser no singular.5. 3. . . Por otro lado. entonces A es simétrica y definida positiva. Sea A ∈ Rn×n . Teorema 3. j2 .5. se sigue que A−1 es simétrica. También A−1 es definida positiva. todas las submatrices principales de A son simétricas y definidas positivas. . . . A). pues si y = 0. . . . jn−k de A. En efecto. Entonces A es no singular y A−1 es simétrica y definida positiva. . . por lo que xT Ax = 0 que contradice el hecho de que A es definida positiva. . Factorización de Cholesky {cálculo de multiplicadores} 3.5. . Sea A ∈ Rn×n simétrica y definida positiva.1. Demostración. y todos los menores principales de A son positivos. Factorización de Cholesky Definición 3. entonces x = A−1 y = 0 y y T A−1 y = xT AT A−1 Ax = xT AT x = xT 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. puesto que (A−1 )T = (AT )−1 = A−1 .  ˜ es cualquier submatriz principal de A.1. Si A fuera singular debe existir un x = 0 tal que Ax = 0. .5. A se dice simétrica si A = AT .

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

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

Calcular la factorización de Cholesky A = LLT de la matriz A. i = 3 : a33 = a33 − a31 a31 = 1.001)(1.5. i = 2 : a22 = a22 − a21 a21 = 2.001) = 1.03801 0.1 se tiene:       10 10 10  1.00 Solución.001 0.01 0.9986 = 0. Para 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. 0.05 0. a33 = a33 = 0.1 (Cholesky).03801 0.0085 1.00 − (0.03801)(0.001 0. Para k = 2.00 − (0.5.9986 √ √ Para k = 3. hacer Para i = j : n.5  →  1.03801 0. hacer aij = aij − aik ajk Termina Termina Termina. ij se escribe sobre aij .5) = 0. aplicando los primeros dos pasos del Algoritmo 3. Dada una matriz simétrica y definida positiva A ∈ R n×n . Para k = 1.01 − (0. Sistemas lineales de ecuaciones algebraicas 81 Algoritmo 3.3 − (1.05 i = 3 : a32 = a32 − a31 a21 = 0.001 0.2236 0. Calcular en una aritmética flotante de precisión 4 y redondeo al más cercano par.2236 0. aplicando de nuevo los primeros dos pasos del Algoritmo 3. hacer aik = aik /akk Termina Para j = k + 1 : n.1.001 0.9986 0.000 0.5 . se puede realizar con el siguiente procedimiento: A).01 1.5) = 0.01 A =  15 2.9993 .5  →  1. 0. i = 3 : a33 = a33 − a32 a32 = 1.3.3 0.1 se tiene: j = 3. Ejemplo 3.5.5 0. hacer √ akk = akk Para i = k + 1 : n.5. el siguiente algoritmo calcula la matriz triangular inferior L tal que A = LL T .9993 Por lo que   10 0 0 .0085 j = 3.000 Aplicación 1. la factorización de Cholesky de la matriz   100 15 0.03801) = 0.001)(0.2236 0 L =  1.5)(1. 0.9993 j = 2.01  . Para todo i ≥ j .

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

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

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

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

311x2 = 0. La solución exacta es x = (2.373x + 0.326x + 0.9911. Nota.1440 1.150 Para cada caso.8648y = 0.a.4: Determinante y número de condición de A.087)T y xa2 = (0. de 4 decimales con redondeo al más cercano par llena las tablas 3.999.068 (3.a. 28. Calcula el número de condición κ1 (A). Considera al s. Comenta.l.296y = 0. −1. 26.F. Regla de Cramer y métodos de eliminación Gaussiana 27. (3.P.001)T .21) 0.6 y 3.6.7. 0.4 y 3.461x1 + 0.260y = 0. Explica la situación en lenguaje geométrico.l. (Moler) Considera el s.l. Halla la solución exacta.2969x + 0.141x2 = 0. compara el residual relativo contra u (la unidad de redondeo). . −0.0 y y = 0. Comenta.209x1 + 0.1441y = 0. 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). −2)T .21) y llena las tablas 3.2161x + 0. donde r = (r1 .5.4870)T ? ¿Cuánto vale κ1 (A)? Comenta. Nota.341. D). 0. Con una A. 0. Calcula los residuales y residuales relativos en norma 1 para las soluciones aproximadas xa1 = (0.8642 ¿Cuánto vale el residual y el residual relativo para xa = (0. Ejercicios A).521 Utilizando una A. de 3 decimales con truncamiento resuelva el s.a.86 3. La solución exacta es x = 1.P. −0.456 0.5.F. ¿Cuál es la mejor solución? B).

Dada una A. 29.3  .18).2 0. Muestra que el sistema Ax = b tiene una infinidad de soluciones.a.9  y  0.17) y (3.6: Determinante y número de condición de A.2014 0. resuelve el s.7: Comparación de los métodos de Cramer.5  A).P.2038x + 0. Verifica las fórmulas (3. y = 5. Gauss s/p y Gauss c/p. (3.16). Sistemas lineales de ecuaciones algebraicas 87 Cramer Gauss s/p Gauss c/p x y r1 r2 r 1 rrel Tabla 3. 30. de t decimales con redondeo.6  0.5: Comparación de los métodos de Cramer. halla la menor t para la cuál se obtiene la solución exacta x = −2.4071x + 0.1218y = 0. Gauss s/p y Gauss c/p.7 0. 0.1 0.4 0.3.8 0.3 A =  0. 31.5 0. en simple y en doble precisión.0. A 1 A−1 1 det(A) κ1 (A) Tabla 3.1 b =  0.2436y = 0. Cramer Gauss s/p Gauss c/p x1 x2 r1 r2 r 1 rrel Tabla 3. siguiente: 0. Sean  0. Con la ayuda de una computadora. . Describe el conjunto de todas sus soluciones. Comenta.F.0 .l.4038 aplicando el método de eliminación Gaussiana con pivoteo.

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

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

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

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

92 Mientras |β − α| ≥ T OL ∗ |β| . Programar f (x) como function. Método de bisección La tolerancia T OL se puede elegir como f actor ∗ u. hacer α←γ N ←N +1 Si N = N M AX. Discutir el criterio de paro |β − α| ≥ T OL ∗ |β| con el criterio |f (γ)| < T OL. Programar el método de bisección como function. Sugerencias para programar el algoritmo de bisección: A). 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.FOR C APROXIMA LA RAIZ DE LA ECUACION F(X)=0 SOBRE [A.2. Capture el programa BISEC. 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.1. con 0 < f actor < 1 y u la unidad de redondeo de la aritmética flotante que se está usando. entonces β←γ En caso contrario.FOR anexo. hacer γ ← (α + β)/2 Si sign (f (γ)) = sign (f (β)) .B] C USANDO EL METODO DE LA BISECCION C C JUSTINO ALAVEZ RAMIREZ C .2. entonces hacer α=β Terminar. 4. C). B).

0 TOL = 1.2X.R./. + 8X.F. .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).EQ. N.0E-6 NMAX = 1500 R = BISEC(A.NMAX C A = 1.N. A.4.BISEC INTEGER N.B.’************************************************** +*********’.EXP(-X) RETURN END 93 C C C C **************************************************************** C EXTERNAL F REAL A.2X.’NO SE LOGRO CONVERGENCIA DESPUES DE’.NMAX) C IF (N .2.TOL.’REINICIE CON UNA NUEVA TOLERANCIA O CON MAS’.I5.X**2 . B. + 8X.B]–>R TOL TOLERANCIA PARA APROXIMAR LA RAIZ DE F(X)=0 SALIDA: R.0 F = X**4 + X**3 .1X.B.TOL.0 F = X .2.0*X . FR. 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. TOL DONDE: F:[A.FR.6X./.FR. NMAX) THEN WRITE(6. + ’ITERACIONES’.10)NMAX 10 FORMAT(//.

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

Actividad 4. 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. Verifica que el polinomio p(x) = x4 + x3 − x2 − 2x − 3. con a = 1. ejecuta tu programa con los parámetros siguientes: A). Para p(x) = x4 + x3 − x2 − 2x − 2.1192093 × 10−6 ≡ 2−23 .0 y b = 2. T OL = 10−7 y N M AX = 1 500 B).2. Encuentra el punto donde la función f (x) = + e−x alcanza su mínimo.3.4. En la iteración t: b−a β−α≤ ≡ 2−t (b − a) 2t El macheps en precisión simple es 0. T OL = 10−8 y C). b] de longitud 1.0. T OL = 10−8 y D). Repita el inciso Comenta. T OL = 10−6 y N M AX = 1 500 Comenta.0.0 y b = 2. 2 Observación 4. con a = 1. Ejecute su programa para resolver los siguientes problemas: A).2.2.EQ. Ceros de funciones N = N+1 IF (N . Para p(x) = x7 − 2. T OL = 10−7 y B). ejecuta tu programa con los parámetros siguientes: A).2.2. Actividad 4. se necesitarían 23 iteraciones para alcanzar el intervalo . N M AX = 100 N M AX = 100 N M AX = 1 500 (A) e imprima los resultados de cada iteración. Se gana un bit de precisión en cada iteración en el método de la bisección. tiene un raíz ξ entre 1 y 2 ¿Cuánto vale ξ? x2 B).4.1. por lo que si se toma T OL = 2−23 y un intervalo [a.

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

se sigue que C k → 0 cuando k → ∞. f (xk ) que es justamente la iteración de Newton-Raphson. 2 k→∞ 2f (xk ) |ek | 2f (x∗ ) Observación 4. Sea x0 ∈ I. 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 . Ceros de funciones 97 para alguna constante C tal que 0 < C < 1. y así se tiene que xk → x∗ cuando k → ∞. Así que tomando x = x∗ . 2 para alguna ξk entre x y xk .1. 2 Agrupando términos. se tiene que 1 0 = f (x∗ ) = f (xk ) + f (xk )(x∗ − xk ) + f (ξk )(x∗ − xk )2 . resulta x∗ − xk − de donde x∗ − xk+1 = − Por lo que k→∞ f (xk ) f (xk ) =− f (ξk ) (x∗ − xk )2 . 2f (xk ) f (ξk ) (x∗ − xk )2 . k ≥ 0. Como 0 < C < 1. 2f (xk ) lim |ek+1 | f (ξk ) f (x∗ ) = lim = . de donde |ek | ≤ C|ek−1 | ≤ C 2 |ek−2 | ≤ · · · ≤ C k |e0 | . y se define lo que se conoce como la iteración del punto fijo para g como: xk+1 = g(xk ) = xk − f (xk ) . 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 . Ahora. .3.4. así que |ek | → 0 cuando k → ∞. f (x∗ ) = 0 y f (x∗ ) = 0 significa que x∗ es raíz simple de f (x) = 0.

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

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

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

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

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

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

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

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

3219699 1.0075400 .000001 −1. por lo que si se continúa iterando se aproximará a la solución exacta x∗ = 0 1 .515153 −0. −0. .17431500 . F (x1 ) = 4.6439388 −0.833333 1.66667 −4. −0.0150792 1.1893942 .722226 . .2 × 10−6 0 9.5833333 0.757576 −0.33334 1 2 −0. la matriz Jacobiana de F es F (x) = Tomando x0 = 1 . JF (x0 ) = 13 1 2 −3 2 16 −13 de donde resulta que s0 = Para k = 1. F (x0 ) = 1 2 . JF (x1 ) = 4.8293163 −0.722225 de donde resulta que s1 = Para k = 2. resulta: 2 3 . 0. El sistema lineal a resolver es 0.757576 ∼ 1 2 0. JF (x2 ) = .8293163 de donde resulta que s2 = Observa que 0.666666 11.33334 −4.416667 .06077479 .106 En efecto.0946970 −6 −0.3787884 8. 2 16 1 2 −3 0 12 −7 El sistema lineal a resolver es ∼ . Para k = 0. F (x2 ) = ∼ 1 2 .8 × 10−6 0.2 × 10−6 −0.3787884 8.08715742 F (x3 ) = 0.722225 El sistema lineal a resolver es 1 2 −0.2 × 10 1 2 . −1.000001 0 14.8333330 . −1.000001 .666666 11. por lo que x1 = x0 + s0 = −0. por lo que x3 = x2 + s2 = −0. 1 2 0. Sistemas de ecuaciones no lineales 1 2 2x1 8x2 .8293162 .6. por lo que x2 = x1 + s1 = −0.

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

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

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

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

La interpolación puede ser por polinomios. i = 1 : m. Son particularmente importantes en el análisis de las “transformadas rápidas de Fourier”. A f se le llama función de interpolación o interpolante de los datos.Capítulo 5 Interpolación polinomial y splines cúbico 5. Dibujar una curva suave a través de los datos.1. Interpolación global uniformemente espaciada Existencia. 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. También existe la llamada interpolación trigonométrica e interpolación exponencial. polinomios por piezas. Evaluar una función matemática fácil y rápido. logaritmos y de funciones trigonométricas. encontrar una función f : R −→ R que satisfaga f (xi ) = yi .1. En el pasado se usaron los interpolantes para generar tablas de raíces cuadradas. D). C). Interpolar o extrapolar puntos que no están en los datos. i = 1 : m. entre otros. unicidad y condicionamiento Problema 5. Aproximar una función matemática complicada por una más simple. que se llamará datos con xi = xj .1. B). La interpolación por spline es una poderosa 111 . i = j. La interpolación exponencial es usado en el análisis del decaimiento radiactivo. funciones racionales y funciones spline. Dado un conjunto de m puntos reales (xi . 5. Más aún.1.1. yi ). raíces cúbicas. 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. 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. Entre los propósitos de la interpolación están: A).

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

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

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

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

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

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

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.

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

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

yn son n números reales arbitrarios. es un spline cúbico s que satisface s(xi ) = yi .4. 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 . se sigue de (5.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 . y2 .22) y (5. i = 1 : n.22) Abreviando: hi = xi+1 − xi . xi+1 − xi s (xi+1 ) − s (xi ) (x − xi )2 . i = 2 : n−1. entonces las expresiones equivalentes a (5. si = s (xi ) y si = s (xi ). i = 1 : n.24) hi yi+1 − yi hi − si − si+1 . entonces un spline cúbico interpolante de los puntos (xi . 5. 2(xi+1 − xi ) (5. Si y1 . yi ). 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 . . Por lo tanto s (x) = s (xi ) + s (xi+1 ) − s (xi ) (x − xi ) . 2(xi − xi−1 ) . . lo que implica que s (x) es un segmento de recta sobre [xi . x]. i = 1 : n.1. xi ] por z(x). Demuestra que sn = yn − yn−1 hn−1 hn−1 + sn−1 + s . 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 .23) (5. hn−1 6 3 n Si se denota el spline cúbico sobre [xi−1 . hi 3 6 Ejercicio 5. xi+1 ].4. i = 1 : n − 1.21) Integrando sobre [xi . . . 2 6(xi+1 − xi ) (5. (5.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 .5. xi+1 ]. 2 i 6hi i = 1 : n− 1.1.

Hay varias alternativas para abordar el problema. las más comunes son: Teorema 5. por lo que no se garantiza la unicidad del spline cúbico. Por lo que las igualdades en (5. con y1 y yn dados. .4. sn . k = 0. . 2 z (xi ) − z (xi−1 ) 2 z (xi−1 ) 2 z(xi ) = yi−1 + z (xi−1 )hi−1 + hi−1 + hi−1 . 1 y 2. s (x) y s (x) en xi se sigue que z(xi ) = s(xi ) = yi . hi−1 3 6 i (5. Cada una de las condiciones A).25) i = 2 : n− 1. . B). “spline cúbico completo”. x2 ). s (a) = y1 . Interpolación por splines cúbico z (xi−1 ) z (xi ) − z (xi−1 ) (x − xi−1 )2 + (x − xi−1 )3 . C). 2 6 Por la continuidad de s(x). i = 2 : n− 1. .1. (x2 . s2 .124 y z(x) = yi−1 + z (xi−1 )(x − xi−1 ) + 5. y1 ).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 . (5. (xn .27) está subdeterminado pues tiene n − 2 ecuaciones y n incógnitas s1 .27) El sistema (5. que son equivalentes a si = yi − yi−1 hi−1 hi−1 + si−1 + s . . z (xi ) = s (xi ) y z (xi ) = s (xi ). 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 . . .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 . garantizan la existencia y unicidad del spline cúbico s(x) que interpola los puntos (x 1 . . hi−1 6 3 i (5. s (b) = yn . s (a) = s (b) = 0.26) Igualando (5. “spline cúbico periódico”. s(k) (a) = s(k) (b). “spline cúbico natural”.24) con (5. yn ). .4.

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

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

23) se obtiene el spline cúbico natural deseado:   1 + 2. de acuerdo con la fórmula (5. .727(x − 2)3 . k=1:n−1 donde C en (5. para n = 21.5. Interpola la función de Runge fR (x) con splines cúbicos sn (x) en puntos uniformemente espaciados −1 = x1 < x2 < . Actividad 5. para n = 6. Actividad 5. Una prueba se puede encontrar en . |f (x) − s (x)| = O(h) . Teorema 5. s (x). es que permite estimar también f . 11. |f (x) − s (x)| = O h3 .2.272(x − 1)2 + 2. 1≤x≤2 s(x) =    0.136(x − 2) + 5.. 16. .5 + 1.1. x∈[a.091x − 1. 21 y 26.35) o sea que y que |f (x) − s(x)| = O h4 . |f (x) − s (x)| = O h2 .4. Demuestra que la matriz de coeficientes del sistema lineal (5. Interpolación polinomial y splines cúbico 127 Ejercicio 5. Grafica s(x) y fR (x) junto con los datos en un mismo sistema de coordenadas.b] Ahora. 2 ≤ x ≤ 2.091x3 .2. entonces para cada x ∈ [a. ¿Qué observa? Escriba sus conclusiones. s (x) y s (x).953(x − 1)3 . Analiza y usa la función “spline” de MATLAB.590(x − 2)2 − 3.15).2. Demostración.181(x − 1) − 3. Calcule s(x).4. A). 0≤x≤1   2 − 1.35) es una constante y h ≡ max |xk+1 − xk |. 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.15). < xn = 1 dados en (5.. b] : |f (x) − s(x)| ≤ C max |f (4) (x)| h4 .31) son no singulares. Sugerencia. (5. f y f con aceptable precisión. Grafica los splines cúbicos junto con fR (x) sobre un mismo sistema de coordenadas.4.4.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. Una ventaja de interpolar una función f suficientemente suave con splines cúbicos. .29) y (5.

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

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

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

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

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

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

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

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

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

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

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

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

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

se tiene h = (b − a)/3.1. Demuestra que la regla de Simpson Q3 (f ) es de orden 3 .3.1.3. b] → R continua. 6. .6. 3 Q4 (f ) = h f (a) + 3f 8 2a + b 3 3 w3 = (b − a) .1. 8 + 3f a + 2b 3 + f (b) . |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 ∞ .3. entonces ∞ Demostración.1. Integración y diferenciación numérica 141 Ejemplo 6.1. Qn (f ) es de orden al menos n − 1 para n ≥ 4 . Un método de cuadratura es de orden d ≥ 1. Sea f : [a. En general. pero no lo es para algún polinomio de grado d + 1. Definición 6.   3 w2 = (b − a) 8 y 1 w1 = (b − a) . Para n = 4. Lema 6. si es exacto para polinomios de grado ≤ d. que se le llama la regla 3/8 de Simpson.4. n ≥ 2. 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. Ejercicio 6. Error de aproximación |I(f ) − Qn (f )| ≤ (b − a) f − Pn−1 . 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.

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

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

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

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

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

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

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

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

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

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->