Multidimensional Interpolator (ZipInterpTM)
for high-performance numerical computation in MATLAB®

Highlights:

  • N-dimensional interpolation, any N
  • accurate and efficient algorithms; efficient MEX-file implementation
  • convenient array indexing syntax with fractional indices
  • optional extrapolation, derivatives, etc.
  • N-dimensional inverse function evaluator
  • interpolation on general non-uniform ("non-plaid") coordinate maps

Description:

ZipInterp comprises two companion software packages: ZipInterp-1, the “forward interpolator”, performs multidimensional interpolation on a uniform, rectangular sampling grid; and ZipInterp-2, the “inverse interpolator”, computes an interpolator’s functional inverse. The two packages can be used in conjunction to perform interpolation on a general non-uniform, multidimensional coordinate map. (Although they are designed to be used conjunctively, ZipInterp-1 and ZipInterp-2 can also be used independently. Neither one requires the other.)

The forward interpolator, in essence, enables multidimensional array indexing with fractional indices. Three algorithms are supported: multilinear and two variations of cubic. The algorithms are designed for high efficiency and optimum accuracy performance, and an optional “bias compensation” procedure neutralizes residual systematic error in the interpolation function. Additional options are provided, for example, to enable extrapolation and to compute the interpolation function’s gradient. ZipInterp-1 would typically be used to create an N-dimensional fast function evaluator (e.g. for real-time metrology or global optimization applications), and the optional derivative computation would be useful for numerical inversion or optimization algorithms.

ZipInterp-2 is specialized to efficiently interpolate a functional mapping between N-dimensional real vectors, taking advantage of sparse dependency relationships in the functional map. It also includes an inverse function evaluator, which combines an efficient global seed search with a Newton’s-method iterative solver. ZipInterp-2 and ZipInterp-1 can be used in conjunction to perform N-dimensional interpolation on a general, non-uniform coordinate map. (The coordinate map need not have a "plaid" form, as required by MATLAB's interpn function.)

Platform: Windows 32-bit

MathWorks product required: MATLAB (R2006a)

To get started with ZipInterp:

Step 1, Download:  Download the documentation and free software demo package. (The zip file includes copies of the pdf documents.)

File Version
Comment
InterpMethods.pdf (585 KB)
04/09/2006
description of the theoretical methods underlying ZipInterp
ZipInterp.pdf (514 KB)
04/09/2006
User's Guide (ZipInterp-1 and ZipInterp-2)
ZipInterp-11-Jun-2006.zip (1105 KB)
04/09/2006
common files and demo MEX files for ZipInterp-1 and ZipInterp-2

Unzip the contents of ZipInterp*.zip into a directory on your MATLAB path. (Note: At the present time only Windows 32-bit versions of the MEX files are available.)

Step 2, Test:  Skim through ZipInterp.pdf. Try some simple examples with demo objects (interpolator('demo') or inv_interp('demo')) to gain familiarity with ZipInterp and to confirm that the MEX files work on your computer.

Step 3, Purchase:  Purchase the calculation engine for ZipInterp-1 and/or ZipInterp-2:

interpolator_engine.mex* (for ZipInterp-1; replace demo version in @interpolator/private directory).
Introductory price: $350.

inv_interp_engine.mex* (for ZipInterp-2; replace demo version in @inv_interp/private directory).
Introductory price: $250.

(Note: A quantity-1 order is licensed to run concurrently on 2 computers. A quantity-N order is licensed to run on 2*N computers.)

Place your order at http://software.kjinnovation.com/.

Information contact:

KJ Innovation

2502 Robertson Rd
Santa Clara, CA 95051
USA
Tel: 408-244-4721
E-mail: kjohnson@kjinnovation.com
Web: software.kjinnovation.com

MATLAB is a registered trademark of The MathWorks, Inc. (www.mathworks.com).

This page last modified on June 11, 2006 (change notes).