13.07.2015 Views

Dinámica nolineal y sistemas complejos con python

Dinámica nolineal y sistemas complejos con python

Dinámica nolineal y sistemas complejos con python

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong><strong>python</strong>David Gómez-UllatePablo Suárez15 de julio de 2010


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Motivación◮ Preparar un curso de máster atractivo en el Máster en FísicaFundamental de la UCM◮ Modelización en temas variados de dinámica no lineal y<strong>sistemas</strong> <strong>complejos</strong>◮ Overlap <strong>con</strong> otras disciplinas (biología, e<strong>con</strong>omía, cienciassociales, etc.)◮ Carácter computacional (“pringarse las manos”)◮ Valor añadido: al final del curso1. han tomado <strong>con</strong>tacto <strong>con</strong> otros campos: investigacióninterdisciplinar2. han aprendido a herramientas de programación potentes yversátiles


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Dificultades◮ Dispersión grande en cuanto a experiencia en programación delos estudiantes◮ la mayoría tiene proyecto de tesis ya asignado◮ escasa experiencia del profesor !


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Por qué <strong>python</strong> ?Ventajas:◮ software libre !◮ sintaxis sencilla de alto nivel orientada a objetos◮ muchas librerías científicas (scipy)◮ buenas librerías gráficas (matplotlib, mayavi, etc.)◮ aplicaciones más allá del cálculo científicoDesventajas:◮ Más lento que C o FORTRAN en cálculo intensivo◮ Menos user-friendly que Matlab (?)


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Estructura del curso◮ Enfoque muy práctico: prácticas específicas al final de lascuales los estudiantes han aprendido una serie <strong>con</strong>ceptosnuevos.◮ Introducción del profesor, trabajo en el aula informática de losalumnos◮ Trabajo colaborativo en grupo (presencial y virtual)◮ Proyecto final en grupos + exposición en clase


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 1: Nociones básicas de <strong>python</strong>◮ instalación de <strong>python</strong>, editores de código (kate),◮ Cadenas, listas, I/O de texto, etc.


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 2: Re<strong>con</strong>ocimiento de autores◮ I/O de ficheros, carpetas◮ importar modulos en <strong>python</strong> (import os)◮ codificación de caracteres, diccionarios


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 3: Random walksConocimientos de <strong>python</strong>:◮ Primer <strong>con</strong>tacto <strong>con</strong> funciones de scipy: arrays, generaciónnúmeros aleatorios,◮ gráficos <strong>con</strong> matplotlib, histogramas◮ animaciones <strong>con</strong> mencoderConocimientos de la práctica:◮ Propiedades de las caminatas aleatorias:1. invariancia de escala y autosimilaridad2. universalidad y teorema del ĺımite central3. ĺımite <strong>con</strong>tínuo y ecuación de difusión


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 3: Random walks


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 4: Random walks en finanzas


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 4: Random walks en finanzasConocimientos de <strong>python</strong>◮ importar ficheros de datos (e.g. de Yahoo Finance) enestructuras de <strong>python</strong>◮ histogramas, gráficos log-log, semi-log, etc. y ajustesConocimientos de la práctica◮ análisis estadístico de series temporales de cotización devalores◮ distribuciones de Lévy y colas gordas, comparación <strong>con</strong> el TLC


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 4: Random walks en finanzas


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 5: Estructura de redes complejas


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 5: Estructura de redes complejasConocimientos de <strong>python</strong>◮ paquete networkxConocimientos de la práctica◮ propiedades estadísticas de redes de Erdös-Renyi,Watts-Strogatz y Barábasi-Albert.◮ percolación, efecto pequeño mundo, enlazado preferencial ydistribuciones libres de escala.


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 5: Estructura de redes complejas


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 6: Propagación, robustez y ataques a redes


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 6: Propagación, robustez y ataques a redesConocimientos de la práctica◮ Procesos dinámicos sobre redes complejas◮ Propagación de virus informáticos o enfermedades◮ Robustez frente a ataques dirigidos o fallos aleatorios◮ Caidas en cascada en redes de transporteSobre estos temas los estudiantes realizaron mini-proyectos deinvestigación.


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 7: Sincronización de osciladores acoplados


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 7: Sincronización de osciladores acopladosConocimientos de <strong>python</strong>:◮ integración numérica de EDOs <strong>con</strong>scipy.integrate.odeint◮ 200 EDOs no lineales acopladas sin ningún problemaConocimientos de la práctica◮ modelo de Kuramoto, transición de fase, acoplamiento crítico◮ phase locking, phase drift◮ extensiones: ruido, acoplamiento sobre redes complejas, etc.


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 8: Reacción-difusión y formación de patrones


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 8: Reacción-difusión y formación de patronesConocimientos de <strong>python</strong>/numéricos:◮ Integración numérica de EDPs de reacción difusión◮ Diferentes <strong>con</strong>diciones de <strong>con</strong>torno◮ esquema de diferencias finitas y algoritmo de Euler expĺıcitoConocimientos de la práctica:◮ Inestabilidad de Turing◮ Selección de patrones◮ Aplicaciones en biología


Dinámica <strong>nolineal</strong> y <strong>sistemas</strong> <strong>complejos</strong> <strong>con</strong> <strong>python</strong>Práctica 8: Reacción-difusión y formación de patrones

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!