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
[crayon-5e22018a0c5a5151968899/]
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, escrita en Fortran. Sin embargo, con un propósito didáctico vamos a estudiar cómo programaríamos la solución a un problema de ecuaciones diferenciales, en este caso utilizando la regla del punto medio o método leapfrog[1].
Para esta entrada se ha utilizado python 2.7.2, numpy 1.6.1 y matplotlib 1.1.0.

Enunciado

Problema de Cauchy: integrar la siguiente ecuación diferencial
$latex \frac{d^2 x}{d t^2} + x = 0$
Con las condiciones iniciales $latex x(0) = 1, \dot{x}(0) = 0$.

Leer más »Integrando ecuaciones diferenciales: método leapfrog en Python

Introducción a Python para científicos e ingenieros

El lenguaje Python

Python es un lenguaje de programación de propósito general muy fácil de aprender, con una sintaxis característica que hace que los programas escritos en él sean muy legibles, ampliamente utilizado por empresas como Google o la NASA y, además, libre. Fue creado en 1991 por Guido van Rossum, un programador holandés.
Un programa escrito en Python tiene esta pinta:
[sourcecode language=”python”]
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Suma dos números (suma.py)
from __future__ import print_function
def suma(a, b):
c = a + b
return c
x = 1
y = 2.3
print(‘La suma de x e y es: {}’.format(suma(x, y)))
[/sourcecode]
Este programa imprimiría por pantalla
[sourcecode]
$ pyton suma.py
La suma de x e y es: 3.3
[/sourcecode]
y funciona tanto con Python 2.7 como con Python 3.2. Ya hablaremos de qué es lo que hace exactamente y de esto de las versiones más adelante.
Técnicamente, el lenguaje Python tiene las siguientes características:
Leer más »Introducción a Python para científicos e ingenieros