Regular Grid Multivariate linear interpolation
Nonrecursive implementation of linear interpolation on regular grids.
Usage

Code from this project has been integrated into scipy v0.14.0. See scipy.interpolate.RegularGridInterpolator.

Cartesian grid regulargrid.cartesiangrid.CartesianGrid (equal spacing between points)
Uses very fast implementation based on scipy.ndimage.map_coordinates
Example:
# create a 3dimensional cartesian grid: limits = [(0, 1), (0, 1), (0, 1)] x = numpy.linspace(0, 1, 8) y = numpy.linspace(0, 1, 9) z = numpy.linspace(0, 1, 10) Z, Y = numpy.meshgrid(z, y) X = numpy.array([[x]]).transpose() # our grid values values = X**2 + Y  Z from regulargrid.cartesiangrid import CartesianGrid # does linear interpolation grid = CartesianGrid(limits, values) # interpolate for one point print grid([0.1], [0.5], [0.3]) # interpolate many print grid([0.1, 0.3], [0.5, 0.5], [0.3, 0.2])

Regular grid regulargrid.regulargrid.RegularGrid (unequal spacing between points)
Get
via pip/easy_install from PyPI:
pip install regulargrid
Source hosted at Github
References:
 Trilinear interpolation. (2013, January 17). In Wikipedia, The Free Encyclopedia. Retrieved 01:28, February 27, 2013, from http://en.wikipedia.org/w/index.php?title=Trilinear_interpolation&oldid=533448871
 Weiser, Alan, and Sergio E. Zarantonello. "A note on piecewise linear and multilinear table interpolation in many dimensions." MATH. COMPUT. 50.181 (1988): 189196. http://www.ams.org/journals/mcom/198850181/S00255718198809178260/S00255718198809178260.pdf