Taken from Eric Drave and Mary Wootters. Numerical linear Algebra with Julia. SIAM 2021
Temario y Presentaciones
Tema 1. Problemas del Álgebra Lineal, su importancia y dificultades numéricas
1.1 Introducción a los problemas fundamentales del Álgebra Lineal y su importancia.
1.2 Dificultades computacionales usando procedimientos teóricos del Álgebra Lineal. Perdida de ortogonalidad (Python). Falla LU
Tema 2. Conceptos básicos del Álgebra Matricial
2.1 Algunas matrices especiales (diagonales, triangulares, ortogonales, unitarias, simétricas, Hermitianas y Hessenberg).
2.2 Normas vectoriales y matriciales (normas de inversas, propiedades invariantes de matrices unitarias y ortogonales). Codigo Python
2.3 Descomposición espectral y en valores singulares. Python
Tema 3. Operaciones vectoriales y matriciales en aritmética de punto flotante
3.1. In troducción al cómputo cientifico (Ejemplo de un sistema de numeros de punto flotante:Programa en Matlab,
Programa en Python (MiniFlotatingPoint) Python-ejemplos y Programa-en-Python )
3.2. Representación de los números Notas de Pablo Santamaria: Representacion de los números en la computadora.
Artimética de punto flotante y formatos IEEE Convertidor de numeros a formtato IEEE (simple y doble) Presentación por: Maurizio Mattesini
3.2.1 An Interview with the Old Man of Floating-Point (Algo de historia de los escritos de William Kahan)
3.2.2 What every computer scientist should know about floating-point arithmetic
3.2.3 Lecture notes on IEEE standard 754 for Binary floating-point Arithmetic by W. Kahan
3.2.4 Epsilon de máquina Programa-en-Python, cancelación. Ejemplo Cancelación Phyton
3.2.5 Ejemplo: exponencial en serie de Taylor Programa-en-Python
3.3 Discusión sobre el cálculo del producto interior.
3.4. Discusión sobre cotas de error para operaciones matriciales en punto flotante
Tema 4. Estabilidad de algoritmos y condicionamiento de problemas
4.1 Concepto de método numéricamente estable.
4.2 Condicionamiento del problema y análisis de perturbación.
4.3 Propiedades del número de condición de una matriz (matrices mal condicionadas; mal condicionamiento y singularidad numérica de una matriz; problemas de valor propio mal condicionados).
4.4 Análisis de error
Tema 5. Solución numérica de sistemas lineales: Métodos Directos
5.1 Aplicaciones. Sugerencias:
problema de circuito eléctrico,
análisis de una planta de procesamiento con reactores interconectados,
sistemas lineales que surgen en ODE's (problema de masa resorte)
sistemas lineales que surgen en EDP's (problema de distribución de temperatura),
aproximación L^2 de una función mediante polinomios (matrices de Hilbert).
5.2 Análisis de la factorización LU (sin y con pivoteo) y escalamiento.
5.2.1. Factorizaciones de Dolittle y Crout
5.2.2. Varias rutinas de Python para LU (getrfOuter, getrfAxPy, getrfDot, getrf, getrfRook)
5.3 Aplicaciones de la factorización LU: resolución de sistemas y refinamiento iterativo, cálculo de inversas y determinantes
5.4 Condicionamiento y pivoteo; condicionamiento y escalamiento
5.5 Estimación del número de condición de una matriz
Tema 6. Factorización QR, Descomposición en valores singulares y Proyecciones
6.1 Repaso de matrices de Householder y factorización QR (Definición y propiedades básicas)
6.2 Método de Givens para la factorización QR y factorización QR de una matriz de Hessenberg usando matrices de Givens (código Python)
6.3 Métodos de Gram-Schmidt clásico y modificado para la factorización QR. (código Python)
6.4 Aplicaciones de la descomposición QR. : Resolución de sistemas lineales, bases ortonormales, cálculo de proyección ortogonal, problema de mínimos cuadrados lineales
6.5 Descomposición en valores singulares (SVD en inglés) y sus propiedades
6.6 Cálculo de la SVD Mínimos cuadrados con SVD (Ipython)
6.7 Introducción sobre la sensibilidad numérica para los valores singulares
6.8 Aplicaciones de SVD. Compresión de imágenes. Notebook de IPython se puede abrir desde Colab, figura a comprimir Biblioteca-UNAM
Tema 7. Problemas del valor propio
7.1 Aplicaciones selectas:
Problemas de estabilidad para ecuaciones diferenciales y en diferencias;
fenómeno de resonancia;
problema de Bucking (en problemas de frontera);
simulación de corriente transitoria en un circuito eléctrico;
problema de valor propio en estadística.
7.2 Eigenvalores y eigenvectores; Descomposición de Schur, descomposición por bloques, diagonalización, forma canónica de Jordan, matrices Hermitianas y perturbación de un eigenvalor simple.
7.3 Cociente de Rayleigh, método de la potencia y potencia inversa
7.4 Algoritmo QR ( deducción y análisis de convergencia local) Consideraciones prácticas: Reducción a matrices de Hessenberg. Convergencia del algoritmo QR
Hessenberg y desplazamiento de Wilkinson. Programa de Matlab: wilkinson_shitf_example.m
7.5 Algoritmo QR simétrico y cálculo de la SVD. Código Matlab, Código Matlab Optimizado
7.6 Cálculo de vectores propios
Tema 8. Métodos iterativos
8.1 Métodos clásicos:
8.1.1.Jacobi
8.1.2 Gauss-Seidel
8.1.3 SOR
8.1.4 Aplicaciones
8.2 Métodos de Krylov:
8.2.1 Método de Arnoldi (reinicialización implícita y deflación)
8.2.2 Método de bidiagonalización de Lanczos
8.2.3 Métodos de Gradientes Conjugados: MYMRES y SYMMLQ
8.2.4 Precondicionadores
8.2.5 Aplicaciones
Bibliografía básica:
Biswa N. Datta, Numerical Linear Algebra and Applications, SIAM, 2nd Edition, 2010.
Eric Darve and Mary Wootters. Numerical Linear Algebra with Julia. SIAM 2021
Threfethen Lloyd N. and David Bau III. Numerical Linear algebra. SIAM 1997.
Gilbert W. Stewart, After notes goes to Graduate School, SIAM, 1998.
Gilbert W. Stewart, After notes on Numerical Analysis, SIAM, 1996.
Bibliografía complementaria:
Gilbert W. Stewart, Introduction to Matrix Computations, Academic Press, New York, 1973.
Higham N.J., Accuracy and Stability of Numerical Algorithms, SIAM, 2nd Edition, 2002.
James W. Demmel, Applied Numerical Linear Algebra, SIAM, 1997.
Tobin A. Driscoll and Richard J. Braun. Fundamentals of Numerical Computation. SIAM, 2017.