Análisis Numérico II
Licenciatura en Física y Matemáticas, ESFM del IPN

El objetivo es interpolar o aproximar funciones continuas o suaves por funciones polinomiales o polinomiales a trozos.

  1. Interpolación polinomial (repaso).
  2. Mínimos cuadrados y ajuste polinomial.
  3. Funciones polinomiales a trozos (splines).




Introducción

Propósito de Análisis Numérico: analizar algoritmos típicos para resolver problemas matemáticas continuas, optimizando la rapidez y la precisión.

Prerrequisitos de la asignatura: haber cursado bien Métodos Numéricos o Análisis Numérico I, con mucha programación.
Lloyd N. Trefethen, The definition of numerical analysis.
Numerical analysis is the study of algorithms for the problems of continuous mathematics.
Lenguaje de programación recomendado: MATLAB o alguno de sus análogos libres.
Ejemplo simple de programación con vectores y matrices en el lenguaje de MATLAB.
El lenguaje Julia hereda varias ideas de MATLAB y de Python, pero es compilable y por eso muy rápido.
Ejemplo simple de programación con vectores y matrices en C++.
Ejemplo simple de programación con vectores en C.

Interpolación polinomial

Primero necesitamos repasar ciertas operaciones con polinomios.
Multiplicación de polinomios.
  Multiplicación de polinomios por binomios mónicos (presentación).
  Regla de Ruffini en acción, división de un polinomio entre un binomio mónico, división sintética (presentación).
Algoritmo de Ruffini–Horner para dividir un polinomio entre un binomio mónico, con explicación.
  Construcción de polinomios con raíces dadas (presentación).
Ahora atacamos el problema de interpolación polinomial.
Introducción a la interpolación polinomial.
Reducción a un sistema de ecuaciones lineales.
Existencia y unicidad del polinomio interpolante, con ayuda de Vandermonde.
Polinomios básicos de Lagrange.
Fórmula de Lagrange para el polinomio interpolante.
Error de la interpolación polinomial.
Fórmulas recursivas de Neville para el polinomio interpolante (método de Neville).
Diferencias divididas de primer orden.
Diferencias divididas.
Diferencias divididas. Fórmula de Newton para el polinomio interpolante.
Polinomio interpolante en diferencias progresivas.
Polinomio interpolante en diferencias regresivas.
Interpolación segmentaria lineal (splines lineales).
Interpolación segmentaria cúbica (splines cúbicos).
Interpolación de Hermite.
Temas de las clases prácticas (programación).
Programación: Multiplicación de un polinomio por un binomio mónico.
Programación: División de un polinomio entre un binomio mónico.
Programación: Evaluación de un polinomio en un punto con varios algoritmos.
Programación: Evaluación de un polinomio en un arreglo de puntos.
Programación: Expansión de un polinomio en potencias de un binomio mónico.
Programación: Construcción del polinomio mónico de grado mínimo con raíces dadas.
Programación: Construcción de los polinomios básicos de Lagrange.
Programación: Construcción del polinomio interpolante por la fórmula de Lagrange.
Programación: Construcción del polinomio interpolante con el método de Newton.
Programación: Pruebas y comparación de varios algoritmos para construir el polinomio interpolante.
Programación: Construcción del polinomio interpolante con nodos múltiples.
Programación: Interpolación segmentaria lineal (splines lineales).
Programación: Interpolación segmentaria cúbica (splines cúbicos).
Tarea individual. Tema: Interpolación polinomial.


Descomposición QR y el problema de mínimos cuadrados

Matrices ortogonales. Criterios en términos de renglones y columnas.
Matrices ortogonales. Criterios en términos de producto interno, norma y distancia.
Rotaciones del plano.
Reflecciones del plano.
Rotaciones (transformaciones de Jacobi–Givens).
Cálculo de la rotación de Givens.
Proyección ortogonal sobre una recta.
Reflexión ortogonal respecto a un hipersubespacio.
Reflecciones (transformaciones) de Householder.
Problema de mínimos cuadrados.
Proceso de Gram–Schmidt.
Proceso de Gram–Schmidt equivale a la descomposición QR.
Descomposición QR usando reflectores de Householder.
Descomposición QR usando rotaciones de Givens.
Unicidad de la descomposición QR.
Solución de sistemas de ecuaciones lineales por medio de la descomposición QR.
Proyección ortogonal y complemento ortogonal.
Solución del problema de mínimos cuadrados.
Matrices para el ajuste polinomial y trigonométrico.
Programación: Combinaciones lineales de vectores ortogonales.
Programación: Proyección ortogonal de un vector sobre la recta generada por un vector no nulo.
Programación: El método modificado de Gram–Schmidt.
Programación: Descomposición QR reducida con el método modificado de Gram–Schmidt.
Programación: Rotaciones de Givens en el plano.
Programación: Rotaciones de Givens generales.
Programación: Descomposición QR usando rotaciones de Givens.
Programación: Reflección ortogonal respecto a un hipersubespacio.
Programación: Aplicar la reflección ortogonal (respecto a un hipersubespacio) a un vector o a cada columna de una matriz.
Programación: Construcción del vector que define la reflección de Householder.
Programación: Descomposición QR completa usando reflexiones de Householder.
Programación: Solución de sistemas de ecuaciones lineales con la descomposición QR.
Programación: Solución del problema de mínimos cuadrados por medio de la descomposición QR.
Programación: Construcción de la matriz de Vandermonde.
Programación: Construcción de la matriz para evaluar polinomios trigonométricos en puntos dados.
Programación: Ajuste de curvas por polinomios algebraicos.
Programación: Ajuste de curvas por polinomios trigonométricos.
Tarea individual. Tema: Ortogonalización y descomposición QR. Versión actual.
Ejemplo de combinar GNU Octave con TikZ.
Ajuste de datos con mínimos cuadrados (tarea individual). Versión actual.
Lista de problemas teóricos. Tema: Matrices ortogonales.
Lista de problemas teóricos. Tema: Descomposición QR.


Interpolación polinomial segmentaria

En la tercera parte del curso estudiamos trazadores (splines) lineales y cúbicos, y también B-splines.


Interpolación segmentaria cúbica (splines cúbicos). Deducción de fórmulas para calcular los coeficientes.
El concepto de splines básicos. Definición recursiva y propiedades elementales.
El concepto de splines básicos. Partición de la unidad con B-splines.
Independencia lineal de los splines básicos. Funcionales duales.
Programación: búsqueda lineal de un elemento en un arreglo ordenado.
Programación: Interpolación segmentaria lineal (splines lineales).
Programación: Solución de sistemas tridiagonales de ecuaciones lineales.
Programación: Interpolación segmentaria cúbica.
Programación: Calcular los splines básicos lineales a trozos.
Programación: Calcular los splines básicos de cualquier grado.
Programación: interpolación segmentaria con combinaciones lineales de splines básicos cúbicos.
Lista de problemas teóricos. Tema: interpolación polinomial segmentaria (splines).


Literatura principal

  1. Trefethen, Lloyd N. (2006). Numerical analysis (short essay).
  2. Watkins, David S., Fundamentals of Matrix Computations.
    Third Edition. Wiley, 2010.
    ISBN: 978-0-470-52833-4.
  3. Bau III, David; Trefethen, Lloyd N. Numerical linear algebra.
    Philadelphia: Society for Industrial and Applied Mathematics, 1997.

Literatura adicional

  1. Golub, Gene H.; Van Loan, Charles F., Matrix Computations.
    Third Edition. The Johns Hopkins University Press, 1996.
  2. Gastinel, Noel, Analyse Numerique Lineaire.
    Hermann, 1966.
  3. Faddeev, D. K.; Faddeeva, V. N., Computational Methods of Linear Algebra, 1963.
  4. R. L. Burden y J. D. Faires, Análisis Numérico.
  5. Householder, Alston S.: Theory of Matrices in Numerical Analysis, 1964.
    Blaisdell publishing company, 1964. Republicated in 2006 by Dover.
  6. Prautzsch, Hartmut; Boehm, Wolfgang; Paluszny, Marco: Bézier and B-Spline Techniques, 2002. Springer Science & Business Media. ISBN 978-3-540-43761-1.
  7. Programas de Métodos Numéricos I y de Análisis Numérico I y II en Licenciatura de Física y Matemáticas de la ESFM del IPN.




.
Visitor counter
  craigslist view counter
Hit Web Counter