Javier M. Hernández: Docencia

Física Computacional

(Otoño 2021, Lic. en Física, FCFM)

OBJETIVO GENERAL DEL CURSO:

Conocer y manejar conceptos y procedimientos básicos de computo que le dotarán de una poderosa herramienta para la solución de problemas de modelado a situaciones reales específicas, sumando al estudio en clase su estudio autónomo, que le ayuden a operar e interpretar computacionalmente expresiones simbólicas y numéricas, para enfrentar nuevos problemas, utilizando tecnología de cómputo, con rigor científico en beneficio de la sociedad y del ambiente.

CONTENIDO Y ESQUEMA DEL CURSO:

  1. Bases de algoritmos y programación en python
    1. Estructuras lógicas (programación secuencial, bifurcación, iteración, modularidad).
    2. Estructuras de datos (datos escalares, arreglos o listas, vectores y matrices, manejo de índices, registros)
    3. Principios de algoritmos y programación
    4. Python
  2. Diferenciación e integración numérica
    1. Diferencias finitas.
    2. Métodos básicos y aproximaciones.
    3. Aplicaciones de diferenciación
    4. Reglas básicas de integración
    5. Cuadratura de Gauss-Legendre
    6. Ejemplos de integración
  3. Ecuaciones diferenciales ordinarias
    1. Integradores sencillos.
    2. Métodos de Runge-Kutta.
    3. Ejemplos y aplicaciones. Soluciones de osciladores armónicos.
  4. Métodos de muestreo aleatorio y bases de Montecarlo
    1. Generadores de números aleatorias
    2. Métodos de transformación inversa
    3. Método de rechazo
    4. Integración Montecarlo
    5. El modelo de Ising
  5. Análisis estadístico y modelado de datos
    1. Cálculo de errores
    2. Técnica de histogramas
    3. Pruebas estadísticas
    4. Regresión lineal
  6. Dinámica molecular
    1. Dinámica molecular clásica.
    2. Implementación numérica.

Observaciones

Noten que la resolución de problemas y los proyectos representa una parte esencial del curso. Los ejercicios serán, en algunos casos, largos o díficiles. El entendimiento viene junto con un manejo competente en la resolución de los problemas. Todos ellos deberán ser resueltos ... o al menos ser intentados. Usen las horas fuera de clase para verme cuando tengan algún problema en específico.

Los invito a que se reunan en grupos para estudiar, discutir, argumentar y dominr los ejercicios. Sin embargo ESPERO que cada UNO escriba sus soluciones por separado, mostrando su entendimiento propio mediante la explicación detallada de los métodos de resolución de cada problema.

Si bien las clases online permanecen como un motivo para explicar el texto o notas o lo que sea, en principio no tendría caso repetirlas al pie de la letra. Ni nunca lo ha tenido en tanto uds tengan acceso al texto. Por ello pongo en la página web del curso el material de referencia que uso o que seguiré. El énfasis en las clases debe ser la explicación de los puntos finos, de los hilos conductores de los temas. Así como de la explicación de las dudas que uds tengan del material PREVIAMENTE leido. No importa lo bien que el profesor exponga, o el modo, en tanto el alumno no se siente a reconstruir el texto/notas. La física y las matemáticas no se "leen", se trabajan. Y mientras no haya ese esfuerzo conciente de su parte, el curso no lo aprovecharán, y por ende, no aprenderán. Por lo consiguiente es vital que lean las secciones de los libros o notas o lecturas que les sean encargadas ANTES de las clases, ya que si bien revisaré esas mismas secciones en la clase, usaré las clases para discusión de los temas.
No se aprende a cocinar de forma teórica, ni con una sola repetición!!

CRITERIOS DE EVALUACIÓN

Dado en nivel de la carrera de los alumnos de este curso, así como el tipo de material con que estaremos tratando, trabajaremos a base de proyectos.

Los reportes de los proyectos y el proyecto involucrarán programación y exploración, usualmente hecho con programas propios o con modificación de programas ya hechos. A fin de cumplir con el trabajo de cada proyecto, lo mas extenso que sea posible, deberán describir en sus propias palabras los cinco elementos mayores (úselos como encabezados):

  1. Formalismo (la(s) ecuación(es) que están tratando de resolver o simular, las matemáticas)
  2. Algoritmos (El algoritmo usado, el método numérico utilizado)
  3. Análisis crítico (Qué han aprendido o no?, están convencidos? cómo se podría hacer mejor?)

En el notebook de jupyter correspondiente a su(s) programas:

  1. Código (Listado del código modificado que han usado, preferiblemente un link a él)
  2. Resultados (Los resultados editados; preferiblemente visualización: gráficas, tablas, etc.)

Los reportes se entregrarán con la estructura de un paper (fuente en latex, archivo auxiliar con definiciones de símbolos matemáticos, logo buap azul).

Qué calificaré?

Grupos: dividiré el curso en grupos de 3. Tanto para las tareas como para la presentación de problemas, dado el tamaño del grupo. Estos grupos serán dinámicos, irán cambiando a lo largo del curso.
Tareas: Usualmente la parte mas complicada para los alumnos es la resolución de problemas, el síndrome de "yo me sé la teoría pero no me salen los problemas". En ocasiones es porque realmente se saben la teoría, de memoria, pero no entienden que significa. A veces si se saben y entienden la teoría pero no tienen mecanismos efectivos de como resolver problemas. Eso es un problema aparte y que les impactará no solo en este curso sino en toda su carrera.

En el calendario de actividades encontrarán la información de como se desarrollará el curso en el periodo, clases e información de presentaciones

BIBLIOGRAFÍA

Básica

LECTURAS, Miniquizzes, TAREAS

A fin de trabajar en el curso deberán instalar Anaconda. En la página vienen las instrucciones de instalación.

Información para los alumnos respecto a mejorar el trabajo online en los cursos. BUAP
Tips para el aprendizaje online de la Univ. de Stanford.
NP computational problems and physics

BUAP

The principle of science, the definition almost, is the following: The test of all knowledge is experiment. Experiment is the sole judge of scientific truth. But what is the source of knowledge? Where do the laws that are to be tested come from? Experiment, itself, helps to produce these laws, in the sense that it gives us hints. But also needed is imagination to create from these hints the great generalizations to guess at the wonderful, simple, but very strange patterns beneath them all. and then to experiment to check again whether we made the right guess.

Richard Feynman

Última revisión: 09/11/21, javierh en {fcfm.buap.mx}, Puebla, Pue. México