PROGRAMA DE CURSO Código Nombre
FI3104
Métodos Numéricos para la Ciencia y la Ingeniería Nombre en Inglés Numerical methods for science and engineering SCT Unidades Docentes Horas de Cátedra Horas Docencia Auxiliar Horas de Trabajo Personal 6 10 3 3 4 Requisitos Carácter del Curso Cursos: • Calculo Avanzado MA2002 • Termodinámica FI2004 ó Fisicoquímica CM2004 o Probabilidades MA3401 ó Probabilidades y Estadística MA3403 CFB (Complementos de Formación)Obligatorio Licenciatura en Física
Competencias a las que tributa el curso
CE2: Formular y resolver ecuaciones que permiten describir y predecir el comportamiento de sistemas físicos, utilizando herramientas matemáticas y/o numéricas.
CE7: Manejar programas que permiten resolver problemas de forma numérica, y visualizar resultados en el contexto experimental y teórico.
CE8: Desarrollar códigos computacionales utilizando lenguajes de programación, a fin de resolver problemas físicos.
CG1: Comunicar ideas y resultados de trabajos profesionales o de investigación, en forma escrita y oral, en español e inglés básico.
Propósito del curso
Un problema físico bien formulado siempre debe tener solución. En caso que la solución analítica no exista o sea muy compleja, los métodos numéricos permiten encontrar dicha solución. En física experimental los datos obtenidos deben ser procesados y analizados usando distintos métodos numéricos de manera de encontrar la respuesta buscada. El curso Métodos Numéricos se presentan los métodos numéricos más usuales que permiten resolver problemas de la física, analizar resultados complejos y procesar datos. Se busca que los estudiantes programen los distintos métodos. Adicionalmente, existe un gran número de bibliotecas numéricas para tareas específicas y en este curso se revisará como se usan aquellas más usuales.
La metodología del curso es activo – participativa y se basa la resolución de problemas, que los estudiantes deben resolver; el docente es un mediador que favorece el proceso de enseñanza – aprendizaje, resolviendo dudas, corrigiendo, etc.
Resultados de Aprendizaje Al finalizar el curso el estudiante demuestra que: 1. Aplica métodos y técnicas básicas de cálculo numérico para la resolución de problemas complejos de ciencia e ingeniería. 2. Maneja bibliotecas científicas y escribe códigos computacionales simples para la solución de problemas o análisis de datos. 3. Identifica herramientas numéricas apropiadas para distintos problemas científicos (integración de ecuaciones diferenciales, sistemas lineales, problemas de autovalores, sistemas aleatorios y problemas estocásticos) y los aplica correctamente. 4. Comprende las formas de representar funciones en sistemas computacionales para obtener códigos computacionales eficientes. 5. Utiliza herramientas de tratamiento de grandes volúmenes de datos para el procesamiento eficiente de datos. 6. Comprende los conceptos de eficiencia, orden de cálculo y error para diseñar códigos eficientes. 7. Realiza gráficos e informes que le permiten familiarizarse con las buenas formas de comunicar el trabajo efectuado. Metodología Docente Evaluación General El curso está orientado a la solución de problemas, sin grandes énfasis en la formalización teórica. Se verán los temas de inestabilidad y errores pero desde un punto de vista práctico.
Se usará software de análisis simbólico/numéricos (Maple, Mathematica) para problemas sencillos o no repetitivos, software de análisis numérico (Matlab) para problemas intermedios, programación en lenguajes de bajo nivel (C,
La evaluación contará con las siguientes instancias que permitirán reconocer el proceso de aprendizaje:
• Tareas Regulares.
• Laboratorio Computacional. • Tarea Final.
Unidades Temáticas
Número Nombre de la Unidad Duración en Semanas
1 Descripción Discreta de las Funciones 1
Contenidos Indicador de logro Referencias a la Bibliografía 1.1 Discretización. Error de truncación y
redondeo.
1.2 Derivadas discretas (forward, backward, centradas).
1.3 Integración numérica. Trapecios, Simpson y Gauss.
1.4 Integrales singulares (dominios infinitos y/o con singularidades integrales en el dominio). 1.5 Interpolación. El estudiante demuestra que
1. Comprende los conceptos de error de truncación y redondeo, distinguir sus orígenes y reconocer sus efectos.
2. Emplea las reglas de integración numérica para evaluar integrales.
3. Aplica cambios de variables adecuados para regularizar integrales singulares.
4. Programa un código computacional que lleve a cabo la interpolación de una función. Cap. 1 [1] Cap. 4 [1] Cap. 3 [1]
Número Nombre de la Unidad Duración en Semanas
2 Álgebra Lineal Numérica 3
Contenidos Indicador de logro Referencias a la Bibliografía 2.1 Ecuación de Poisson 1D.
2.1.1 Solución por método de relajación.
2.1.2 Solución por método de Inversión de matrices. 2.2 Solución de ecuaciones lineales. 2.2.1 Caso tridiagonal. 2.2.2 Método de Gauss y LU. 2.2.3 SVD (matrices no invertibles) 2.2.4 Uso de LAPACK. 2.2.5 Matrices poco densas. 2.3 Valores propios: 2.3.1 Valor propio mayor. 2.3.2 Factorización QR. 2.3.3 Uso de LAPACK. 2.4 Aplicaciones: 2.4.1 Modos Normales de vibración. 2.4.2 Bandas de un sólido cristalino. 2.4.3 Mariposa de Hofstadter. El estudiante demuestra que: 1. Comprende la importancia del álgebra lineal numérica como una herramienta transversal del cálculo numérico.
2. Programa códigos capaces de resolver de manera efectiva problemas de álgebra lineal característicos (sistemas de ecuaciones, diagonalización, etc).
3. Reconoce la existencia de códigos en el dominio público, altamente sofisticados y optimizados y aprende a usarlos. Cap .2 [1] Cap. 11 [1]
Número Nombre de la Unidad Duración en Semanas
3 Raíces y Optimización 1
Contenidos Indicador de logro Referencias a la Bibliografía 3.1 Métodos de la bisección, secante y
tangente.
3.2 Método de Newton-Raphson
3.3. Raíces de polinomios (solo comentar) 3.4 Caso multidimensional: Newton y Broyden (solo comentar).
3.5 Método de gradiente conjugado 3.6 Aplicaciones:
3.6.1 Minimizar la energía electrostática de un sistema de cargas.
3.6.2 Ajuste de mínimos cuadrados
El estudiante demuestra que:
1. Utiliza las ideas descritas hasta aquí en el curso para desarrollar códigos que resuelvan ecuaciones.
2. Aplica los métodos para optimizar problemas complejos no-lineales. Cap. 9 [1] Cap. 10 [1]
Número Nombre de la Unidad Duración en Semanas
4 Ecuaciones Diferenciales Ordinarias (EDO) 2
Contenidos Indicador de logro Referencias a la Bibliografía 4.1 Métodos de Euler, Runge-Kutta y
Verlet. 4.2 Runge-Kutta con paso adaptativo. 4.3 ODEINT (Numerical Recipes). 4.4 Integrador de GSL. 4.5 Métodos implícitos (eg. stiffness). 4.5 Aplicaciones: 4.5.1 Dinámica del sistema solar. 4.5.2 Péndulo caótico.
4.5.3 Movimiento de un trompo asimétrico.
4.5.4 Sistema de péndulos en contacto. (Newton's craddle)
El estudiante demuestra que
1. Programa códigos que resuelvan ecuaciones diferenciales ordinarias.
2. Reconoce la importancia los métodos de paso adaptativo.
3. Aplica dicho trabajo en problemas complejos como situaciones caóticas. Cap. 17 [1] Cap. 18 [1]
Número Nombre de la Unidad Duración en Semanas
5 Ecuaciones Diferenciales Parciales (EDP) 3
Contenidos Indicador de logro Referencias a la Bibliografía 5.1 Clasificación de EDP
5.2 Método de relajación (ecuaciones elípticas) 5.3 Cálculo de capacidades 5.4 Ecuación de Ondas 5.5 Lax scheme 5.6 Método de Crank-Nicholson 5.7 Ecuación de difusión 5.8 Métodos explícitos/implícitos 5.9 Aplicaciones 5.9.1 Ecuación de Schrodinger 5.9.2 Ecuación de Fokker-Planck 5.9.3 Solitones
5.9.4 Ecuación de Schrödinger No-Lineal (Gross-Pitaevsky)
El estudiante demuestra que:
1. Reconoce en la clasificación de una EDP indicios sobre el método numérico necesario para su solución.
2. Programa códigos que resuelvan ecuaciones diferenciales parciales.
3. Aplica dicho trabajo en problemas complejos. Cap. 20 [1]
Número Nombre de la Unidad Duración en Semanas
6 Métodos Espectrales 2
Contenidos Indicador de logro Referencias a la Bibliografía 6.1 Cálculo de transformadas de Fourier
por integración directa 6.2 FFT. El estudiante demuestra que:
1. Reconoce las ventajas dramáticas que presenta el algoritmo de FFT por sobre métodos directos.
Cap. 12 [1] Cap. 13 [1]
Número Nombre de la Unidad Duración en Semanas
7 Métodos Aleatorios 2
Contenidos Indicador de logro Referencias a la Bibliografía 7.1 Números aleatorios entre 0 y 1. 7.2
Generación de distribuciones de probabilidades continuas y discretas. Poisson, Gauss, binomial.
7.3 Cálculo de promedios estadísticos,
importance sampling. 7.4 Optimización con simulated anealing 7.5 Aplicaciones: 7.5.1Percolación 7.5.2Ecuación de Langevin
7.5.3Cálculo de integrales multidimensionales
El estudiante demuestra que:
1. Esboza la idea detrás de un generador de números pseudo-aleatorios.
2. Reconoce la importancia de una distribución de números pseudo-aleatorios de calidad.
3. Aplica métodos aleatorios a problemas numéricos de gran magnitud y dificultad. Cap. 7 [1] Bibliografía General 1. Numerical Recipes, the Art of Scientific Computing. W.H. Press, S.A. Teukolsky (Author), William T. Vetterling (Author), Brian P. Flannery 2. Apuntes de Métodos Numéricos. Patricio Cordero 3. An Introduction to Computational Physics, Tao Pang 4. Numerical Methods for Engineers and Scientists, Second Edition, Joe D. Hoffman 5. Numerical Methods for Scientists and Engineers, H.M. Antia 6. Manuales de: LAPACK(1), GSL(2) y FFTW(3). Vigencia desde: Otoño 2016 Elaborado por: Álvaro S. Núñez Validado por: Revisado por: Jefe Docente Área de Gestión Curricular, SGD