computational science and engineering

Archive for the ‘Python’ Category

Profiling memory usage of Python code

Friday, April 17th, 2009 Posted in Linux, Python, Scientific computing, Software development | 2 Comments »

In a previous post, I explained how to use the Python profiler.  The profile is great for finding out which parts of the code run the slowest, or are called most often.  However, the profiler doesn't give any information about ...

Lookup tables and spline fitting in Python

Wednesday, April 8th, 2009 Posted in Python, Scientific computing, Software development | No Comments »

Lookup tables and spline fitting are widely used by scientific programmers.  A particular function may not have an analytic solution--in other words, it can't be expressed as an equation of elementary functions.  This might happen if the function were empirically ...

3D Plotting Software for Python::Part 1::PyX

Friday, March 20th, 2009 Posted in Python, Scientific computing, Software development | 3 Comments »

There are lots of good open-source tools that you can use to make high-resolution, publication-quality 2D plots.  Personally, I like to use Python, numpy, and matplotlib.  Unfortunately, it is much harder to find a good tools to make 3D plots.  ...

Updated Python class for writing Paraview (VTK) (.vtu) files

Friday, January 23rd, 2009 Posted in Python, Scientific computing | No Comments »

I have released a new version of my Python class that generates VTK data files in the .vtu format, which is compatible with Paraview and other VTK applications.  If you have downloaded the old one, please get the latest version, ...

Deploying Python applications on Windows

Thursday, January 15th, 2009 Posted in Linux, Python, Software development | No Comments »

Writing applications in Python on a Linux system is almost too easy.  Deploying Python apps on other Linux systems is not hard, because most Linux systems already have Python, with its core libraries and tools, installed.  Most Linux systems also ...

Scipy.integrate ODEPACK import error solved!

Wednesday, January 14th, 2009 Posted in Linux, Python, Scientific computing | 1 Comment »

I recently found a solution to a problem that had been vexing me for about a year. In order to successfully import anything from scipy.integrate, I had edit the file scipy/integrate/__init__.py and comment out the line from odepack import * If ...

Optimizing Python code for fast math

Friday, January 9th, 2009 Posted in Python, Scientific computing, Software development | 2 Comments »

I spent some time today profiling a Brownian dynamics simulation written in Python to see how I could make it faster before starting some long runs on a Linux cluster. In the sections below, I have attempted to quantify ...

Redirecting standard output from Python: another example

Wednesday, January 7th, 2009 Posted in Python, Software development | No Comments »

I wrote a previous post about how to redirect standard output from a Python script to a GUI window.  In this post, I will give an even simpler example of to redirect standard output to a log file.  During the ...

Tools for Python software development

Tuesday, January 6th, 2009 Posted in Linux, Python, Software development | No Comments »

I have found a few tools over the years that I find extremely useful for developing software. Python is my language of choice at the moment, but I'm sure these tools will be handy for any language. Subversion is an ...

A lookup table for fast Python math

Thursday, December 11th, 2008 Posted in Python, Scientific computing | 2 Comments »

EDIT: the UnivariateSpline class from Scipy is much faster! Numerical programming frequently requires the use of look-up tables. A look-up table is a collection of pre-computed values. When given an "x" value, the table returns a pre-computed "y" value. ...