Javier M. Hernández: Docencia

Física Computacional

(Primavera 2018, 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 ambientes.

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. Dinámica molecular
    1. Dinámica molecular clásica.
    2. Implementación numérica.
  5. 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
  6. 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

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.

LECTURAS, Miniquizzes, TAREAS

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 proyectos 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 cada proyecto, en 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. Código (Listado del código modificado que han usado, preferiblemente un link a él)
  4. Resultados (Los resultados editados; preferiblemente visualización: gráficas, tablas, etc.)
  5. Análisis crítico (Qué han aprendido o no?, están convencidos? cómo se podría hacer mejor?)

BIBLIOGRAFÍA

Básica

Antología

Información

Como introducción a linux, shell, gnuplot, latex y python.

Para usar linux desde una máquina virtual vmware, usen la imagen funcional. El usuario y la clave password se encuentran en el archivo LEEME.txt. Tambien Lubuntu 14.04: Parte 1 y Parte 2. Usuario y clave en el archivo LEEME.txt

A fin de que python 2.x reconozca símbolos Unicode, añadir al inicio del archivo:
# -*- coding: utf-8 -*-
Esto no es necesario para python 3.x puesto que UTF-8 es la codificación default.

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: 22/05/2018, javierh en {fcfm.buap.mx} , Puebla, Pue. México