Dinámica nolineal y sistemas complejos con python

22
Din´ amica nolineal y sistemas complejos con python Din´ amica nolineal y sistemas complejos con python David G´ omez-Ullate Pablo Su´ arez 15 de julio de 2010

Transcript of Dinámica nolineal y sistemas complejos con python

Page 1: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos conpython

David Gomez-UllatePablo Suarez

15 de julio de 2010

Page 2: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Motivacion

I Preparar un curso de master atractivo en el Master en FısicaFundamental de la UCM

I Modelizacion en temas variados de dinamica no lineal ysistemas complejos

I Overlap con otras disciplinas (biologıa, economıa, cienciassociales, etc.)

I Caracter computacional (“pringarse las manos”)I Valor anadido: al final del curso

1. han tomado contacto con otros campos: investigacioninterdisciplinar

2. han aprendido a herramientas de programacion potentes yversatiles

Page 3: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Dificultades

I Dispersion grande en cuanto a experiencia en programacion delos estudiantes

I la mayorıa tiene proyecto de tesis ya asignado

I escasa experiencia del profesor !

Page 4: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Por que python ?

Ventajas:

I software libre !

I sintaxis sencilla de alto nivel orientada a objetos

I muchas librerıas cientıficas (scipy)

I buenas librerıas graficas (matplotlib, mayavi, etc.)

I aplicaciones mas alla del calculo cientıfico

Desventajas:

I Mas lento que C o FORTRAN en calculo intensivo

I Menos user-friendly que Matlab (?)

Page 5: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Estructura del curso

I Enfoque muy practico: practicas especıficas al final de lascuales los estudiantes han aprendido una serie conceptosnuevos.

I Introduccion del profesor, trabajo en el aula informatica de losalumnos

I Trabajo colaborativo en grupo (presencial y virtual)

I Proyecto final en grupos + exposicion en clase

Page 6: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 1: Nociones basicas de pythonI instalacion de python, editores de codigo (kate),I Cadenas, listas, I/O de texto, etc.

Page 7: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 2: Reconocimiento de autoresI I/O de ficheros, carpetasI importar modulos en python (import os)I codificacion de caracteres, diccionarios

Page 8: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 3: Random walks

Conocimientos de python:

I Primer contacto con funciones de scipy: arrays, generacionnumeros aleatorios,

I graficos con matplotlib, histogramas

I animaciones con mencoder

Conocimientos de la practica:I Propiedades de las caminatas aleatorias:

1. invariancia de escala y autosimilaridad2. universalidad y teorema del lımite central3. lımite contınuo y ecuacion de difusion

Page 9: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 3: Random walks

Page 10: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 4: Random walks en finanzas

Page 11: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 4: Random walks en finanzas

Conocimientos de python

I importar ficheros de datos (e.g. de Yahoo Finance) enestructuras de python

I histogramas, graficos log-log, semi-log, etc. y ajustes

Conocimientos de la practica

I analisis estadıstico de series temporales de cotizacion devalores

I distribuciones de Levy y colas gordas, comparacion con el TLC

Page 12: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 4: Random walks en finanzas

Page 13: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 5: Estructura de redes complejas

Page 14: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 5: Estructura de redes complejas

Conocimientos de python

I paquete networkx

Conocimientos de la practica

I propiedades estadısticas de redes de Erdos-Renyi,Watts-Strogatz y Barabasi-Albert.

I percolacion, efecto pequeno mundo, enlazado preferencial ydistribuciones libres de escala.

Page 15: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 5: Estructura de redes complejas

Page 16: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 6: Propagacion, robustez y ataques a redes

Page 17: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 6: Propagacion, robustez y ataques a redes

Conocimientos de la practica

I Procesos dinamicos sobre redes complejas

I Propagacion de virus informaticos o enfermedades

I Robustez frente a ataques dirigidos o fallos aleatorios

I Caidas en cascada en redes de transporte

Sobre estos temas los estudiantes realizaron mini-proyectos deinvestigacion.

Page 18: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 7: Sincronizacion de osciladores acoplados

Page 19: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 7: Sincronizacion de osciladores acoplados

Conocimientos de python:

I integracion numerica de EDOs conscipy.integrate.odeint

I 200 EDOs no lineales acopladas sin ningun problema

Conocimientos de la practica

I modelo de Kuramoto, transicion de fase, acoplamiento crıtico

I phase locking, phase drift

I extensiones: ruido, acoplamiento sobre redes complejas, etc.

Page 20: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 8: Reaccion-difusion y formacion de patrones

Page 21: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 8: Reaccion-difusion y formacion de patrones

Conocimientos de python/numericos:

I Integracion numerica de EDPs de reaccion difusion

I Diferentes condiciones de contorno

I esquema de diferencias finitas y algoritmo de Euler explıcito

Conocimientos de la practica:

I Inestabilidad de Turing

I Seleccion de patrones

I Aplicaciones en biologıa

Page 22: Dinámica nolineal y sistemas complejos con python

Dinamica nolineal y sistemas complejos con python

Practica 8: Reaccion-difusion y formacion de patrones