REgular Grid Linear Interpolator.

## regli REgular Grid Linear Interpolator, capable to deal with spectral library or similar model data.

This package implements the basic bilinear interpolation in multi-dimension. However, as commented in Numerical Recipes:

Bilinear interpolation is frequently “close enough for government work.” As the interpolating point wanders from grid square to grid square, the interpolated func- tion value changes continuously. However, the gradient of the interpolated function changes discontinuously at the boundaries of each grid square.

As a consequence, the interpolation model can not, in general, be used as a forward model and incorporated with Gradient-based optimization algorithms to estimate parameters.

## author

Bo Zhang, bozhang@nao.cas.cn

## install

• for the latest stable version: pip install -U regli
• for the latest github version: pip install -U git+git://github.com/hypergravity/regli
• for the Zenodo version: https://zenodo.org/record/3461514

## test

from regli import test
test()


output:

regli.interp3 x 10000: 0.5675415992736816 sec
regli.interpn x 10000: 2.5326197147369385 sec
rgi x 10000: 5.4028871059417725 sec


## doc

# import Regli
from regli import Regli
import numpy as np

# construct grid coordinates
x1 = np.linspace(-1, 1, 30)
x2 = np.linspace(-1, 1, 30)
x3 = np.linspace(-1, 1, 30)

# initiate regli using coordinates
regli = Regli(x1, x2, x3)

# an arbitrary function of coordinates (for demo)
f = lambda _x1, _x2, _x3: _x1 + _x2 + _x3

# regli.flats stores flattened coordinates of ND grid
flats = regli.flats
# evaluate your function on flats
values = np.array([f(*_) for _ in flats]).reshape(-1, 1)
# set values for regli
regli.set_values(values)

regli(pos)                      # use any of the 3 ways to interpolate
regli.interpn(pos)              # method 1 is equivalent to 2
regli.interp3(pos)              # this is accelerated for 3D


## How to cite the code

BibTex:

@misc{https://doi.org/10.5281/zenodo.3461514,
doi = {10.5281/zenodo.3461514},
url = {https://zenodo.org/record/3461514},
author = {Zhang, Bo},
title = {hypergravity/regli: The Zenodo version},
publisher = {Zenodo},
year = {2019}
}


Please go to https://search.datacite.org/works/10.5281/zenodo.3461514 for other formats.

## Project details

This version 2022.722.0 2019.920.0 2019.811.0 2019.723.0 0.2.1 0.2.0 0.1.9 0.1.8 0.1.7 0.1.6 0.1.5 0.1.4 0.1.3 0.1.2 0.1.1 0.1.0 0.0.9 0.0.8 0.0.7 0.0.6 0.0.5 0.0.4 0.0.3 0.0.2

Uploaded source
Uploaded py3