Metadata-Version: 2.4
Name: tricubic
Version: 1.0.5
Summary: A tricubic interpolation module for python.
Home-page: https://github.com/danielguterding/pytricubic
Author: Daniel Guterding
Author-email: daniel.guterding@gmail.com
License: MIT
Keywords: tricubic cubic interpolation
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: author
Dynamic: author-email
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: summary

# pytricubic

pytricubic is a simple Python wrapper for the tricubic interpolation algorithm
by Lekien and Marsden based on the implementation by David Kirkby
(https://github.com/deepzot/likely). Performance compared to the reference 
implementation has been improved drastically by doing the matrix multiplication with
the linear algebra template library Eigen.

The tricubic interpolation scheme is described in:

  [Lekien, F. and Marsden, J.: Tricubic interpolation in three dimensions.
                              In: International Journal for Numerical Methods
                              in Engineering (2005), No. 63, p. 455-471](http://www.cds.caltech.edu/~marsden/bib/2005/08-LeMa2005/LeMa2005.pdf)

Installing pytricubic only requires CMake being installed and typing:  

```
pip install tricubic
```

A manual build process is not necessary if you just want to use library.

## 0. Building manually

This chapter assumes that you are working in a standard Linux environment with
tools like g++ and cmake already installed. The template libraries Eigen3 for
linear algebra and pybind11 for binding to Python are now included in the thirdparty
subfolder. Threfore, no external requirements exist.

Installing pytricubic is as easy as:  

```
git clone git://github.com/danielguterding/pytricubic.git  
cd pytricubic  
mkdir build  
cd build  
cmake ../  
make  
```

## 1. Usage

An example of how to use the interpolator class is given in example.py. Only Python lists are
supported as inputs. Numpy arrays first have to be converted to Python lists.
