Juan Luis Cano

Estadística en Python con SciPy (I)

Introducción

Hoy vamos a ver cómo trabajar con variable aleatoria con el módulo stats de la biblioteca Scipy. Scipy viene con numerosas distribuciones de probabilidad, tanto discretas como continuas, y además pone a nuestra disposición herramientas para crear nuestras propias distribuciones y multitud de herramientas para hacer cálculos estadísticos. En esta primera parte nos centraremos en cómo manejar esas distribuciones y sus funciones de distribución, cómo representarlas con matplotlib y cómo definir nuevas distribuciones.
En esta entrada se ha usado python 2.7.3, numpy 1.6.1, matplotlib 1.1.0 y scipy 0.10.1.
Leer más »Estadística en Python con SciPy (I)

Ecuaciones no lineales: método de bisección y método de Newton en Python

En este artículo vamos a ver cómo implementar en Python el método de bisección y el método de Newton, dos métodos iterativos clásicos para hallar raíces de ecuaciones no lineales de la forma $latex f(x) = 0$, con $latex f: [a, b] \longrightarrow \mathbb{R}$ y $latex f \in C^1([a, b])$. Estos métodos y muchos otros más refinados están ya implementados en multitud de bibliotecas muy utilizadas, sin ir más lejos en el módulo optimize del paquete Scipy (referencia).
Crearemos un módulo ceros.py en el que incluiremos los dos métodos que vamos a desarrollar aquí, y así veremos un ejemplo de código limpio y fácilmente reutilizable.

Módulo ceros.py

Vamos a ver la anatomía de un módulo en Python. Este es el código del archivo:
Leer más »Ecuaciones no lineales: método de bisección y método de Newton en Python

Introducción al Cálculo Simbólico en Python con SymPy

Introducción

En este artículo voy a hacer una introducción a SymPy, una biblioteca para hacer Cálculo Simbólico en Python a la vez que un sistema de álgebra computacional (o CAS en inglés) muy prometedor. Si alguna vez te has preguntado cómo hacer derivadas y resolver ecuaciones con Python o conoces ya sistemas como Mathematica o Maple pero prefieres utilizar una solución libre, has venido al sitio correcto.
Actualmente el desarrollo de SymPy está muy activo: a pesar de ser un CAS bastante completo, todavía tiene algunas cosas que sus desarrolladores piensan pulir a lo largo de los próximos meses y están trabajando duro para ello. Personalmente es uno de mis proyectos de software libre favoritos, por la buenísima documentación que escriben, por lo elegante que queda el código y por lo bonita que es su web 😛
SymPy tiene una característica que no tienen ninguno de sus competidores, tanto libres como no libres: se puede utilizar de manera interactiva como los CAS a los que estamos acostumbrados, pero también se puede integrar con nuestro código Python como una biblioteca más.
Se puede probar online, y también se puede descargar e instalar fácilmente. Para lanzar la consola interactiva (basada en IPython) sólo tendremos que escribir

Para este tutorial se asumirá que estamos trabajando con la consola interactiva de SymPy 0.7.1. Para que el código funcione también en modo no interactivo solamente habrá que incluir los oportunos import y sustituir las variables dinámicas de IPython (_, _n, etc.) por variables reales. Podéis encontrar en Internet la documentación de SymPy 0.7.1. ¡Vamos allá!
Leer más »Introducción al Cálculo Simbólico en Python con SymPy

Integrando ecuaciones diferenciales: método leapfrog en Python

Introducción En Python tenemos numerosas herramientas listas para que podamos integrar ecuaciones diferenciales ordinarias sin tener que preocuparnos en implementar un esquema numérico. Sin ir más lejos, en el módulo integrate de SciPy existen varias funciones a tal efecto. La función odeint es una interfraz en Python a la biblioteca ODEPACK,… Leer más »Integrando ecuaciones diferenciales: método leapfrog en Python