Skip to content

Latest commit

 

History

History
80 lines (53 loc) · 4.33 KB

README.md

File metadata and controls

80 lines (53 loc) · 4.33 KB

Computación Avanzada 💻

Descripción: 📄

📊 Repositorio de la asignatura de computación Avanzada. Asignatura optativa del grado en física de la Universidad Autónoma de Madrid. En esta asignatura se resuelven problemas del cálculo numérico aplicables a la física (de un nivel superior a los problemas planteados en computación II) mediante códigos en el lenguaje de programación Python.

🥼 Más información de la asignatura: Guía Docente Computación Avanzada

Python

Python es un lenguaje de programación interpretado, multiplataforma y de código abierto. Python se caracteriza por su sintaxis limpia y su lectura legible. Está destinado a ser un lenguaje de programación de alto nivel, ideal para desarrollar aplicaciones con facilidad. Python también es flexible y permite la programación orientada a objetos, la programación funcional y la programación procedural. El lenguaje admite la creación de módulos y paquetes que permiten la reutilización de código. Python es uno de los lenguajes de programación más populares del mundo, utilizado por miles de desarrolladores y compañías en todo el mundo. Es un lenguaje versátil que se puede utilizar para desarrollar aplicaciones web, software desktop, juegos, inteligencia artificial, ciencia de datos, etc.

💼 Encuentra la documentación en: https://docs.python.org/3/

⚠️ Para la ejecución de los códigos, será necesario tener instalados los módulos numpy, matplotlib y vpython. Ejecuta pip install nombre_módulo en el entorno de Python que utilices para descargarlos.

Contenidos: 🧑🏻‍🏫

Bloque 1: Python

  • 1.1 Fundamentos de Python.
  • 1.2 Paqutes orientados al cálculo científico (numpy, matplotlib y vpython).
  • 1.3 Representación gráfica en 2D y 3D mediante Python.

Bloque 2: Resolución de algunos problemas numéricos con Python

  • 2.1 Integración y derivación numérica.
  • 2.2 Solución numérica de ecuaciones y sistemas.
  • 2.3 Ecuaciones diferencials con condiciones iniciales.
  • 2.4 Ecuaciones diferenciales con condiciones en la fotnera (o de contorno).

Bloque 3: Números aleatorios e incertidumbre experimental

  • 3.1 Generación de números aleatorios en Python.
  • 3.2 Integración de Monte Carlo.
  • 3.3 Evaluación de la incertidumbre en la medida.
  • 3.4 Incertidumbre mediante el método de Monete Carlo.

Bloque 4: Ecuaciones diferenciales en dos y tres dimensiones

  • 4.1 Movimiento de un proyectil en presencia de rozamiento.
  • 4.2 Turbulencias y rotación: pelotas con "efecto".
  • 4.3 Cáclulo de órbitas planetarias.
  • 4.4 Precesión del perihelio de la óbita de Mercurio.

Bloque 5: Ecuaciones en derivadas parciales (EDPs)

  • 5.1 Método de las diferencias finitas.
  • 5.2 EDPs elípticas: distribución de temperaturas en equilibrio.
  • 5.3 Ecuaciones de Laplace y Poisson: el potencial eléctrico.
  • 5.4 Geometrías irregulares o no rectangulares.
  • 5.5 Condiciones de Neumann.

Bloque 6: EDPs parabólicas e hiperbólicas

  • 6.1 La ecuación del calor en una dimensión.
  • 6.2 Métodos explícitos e implícitos.
  • 6.3 La ecuación de ondas en una dimensión.
  • 6.4 Problemas en más de una dimensión espacial.

Bloque 7: Métodos Estocásticos

  • 7.1 Paseos aleatorios y difusión.
  • 7.2 Entropía y la flecha del tiempo.
  • 7.3 Modelos de crecimiento de agregados.
  • 7.4 Fractales.

Bloque 8: El Método de Montecarlo

  • 8.1 Modelo de Ising y teoría del Campo Medio.
  • 8.2 Simulación de Monte Carlo; algoritmo de Metropolis.
  • 8.3 Transición de fase de segundo orden en el modelo de Ising.
  • 8.4 Transición de fase de primer orden en el modelo de Ising.

Información Adicional: ℹ️

✏️ Temario: En la carpeta temario encontrarás todos los programas y documentos teóricos del curso.

🏋🏻 Ejercicios: En la carpeta ejercicios encontrarás los ejercicios planteados y entregados durante el curso.

🦾 Prácticas: En la carpeta prácticas encontrarás las 4 grandes prácticas del curso.