Weighted least squares meshless interpolator

## Project description

WLSQM (Weighted Least SQuares Meshless) is a fast and accurate meshless least-squares interpolator for Python, implemented in Cython.

Given scalar data values on a set of points in 1D, 2D or 3D, WLSQM constructs a piecewise polynomial global surrogate model (a.k.a. response surface), using up to 4th order polynomials.

Use cases include response surface modeling, and computing space derivatives of data known only as values at discrete points in space. No grid or mesh is needed.

Any derivative of the model function (e.g. d2f/dxdy) can be easily evaluated, up to the order of the polynomial.

Sensitivity data of solution DOFs (on the data values at points other than the reference in the local neighborhood) can be optionally computed.

Performance-critical parts are implemented in Cython. LAPACK is used via SciPy’s Cython-level bindings. OpenMP is used for parallelization over the independent local problems (also in the linear solver step).

This implementation is targeted for high performance in a single-node environment, such as a laptop. The main target is x86_64.

## Project details

Uploaded source