Skip to main content

Generation of cubic, multivariate splines from samples with arbitrary boundary conditions

Project description

CubicMultiSpline documentation

Library for cubic, multivariate spline interpolation from samples with arbitrary boundary conditions for each dimension. Optional GPU backend available via PyTorch. The full documentation can be found at https://cubicmultispline.readthedocs.io.

Overview

This library implements the recursive algorithm by Habermann and Kindermann in the Spline class. The 1-dimensional base case, which is needed during recursion is implemented in the Spline1D class. In contrast to other multivariate spline implementations, this library allows for arbitrary boundary conditions for each dimension, that is

  1. not-a-knot
  2. first order (clamped)
  3. second order (natural)
  4. periodic

Additionally, the library provides an efficient function eval_spline to evaluate the spline at arbitrary points inside the domain. The GPU backend is accessed via the TorchSpline and TorchSpline1D classes.

Installation

The easiest way to install the library is to use pip:

pip install cubicmultispline

If you want to use the PyTorch backend, install with:

pip install cubicmultispline[torch]

Alternatively, you can install the library from source:

python setup.py install

License

This library is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cubicmultispline-0.1.2.tar.gz (23.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cubicmultispline-0.1.2-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file cubicmultispline-0.1.2.tar.gz.

File metadata

  • Download URL: cubicmultispline-0.1.2.tar.gz
  • Upload date:
  • Size: 23.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for cubicmultispline-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b48ee022e0b7b73a7bab245c756930b3548ab4098c005820f97e1cf986e50262
MD5 ee3ecdccf39b7aa9109a40185ba9c211
BLAKE2b-256 b89b57fb6ec8d8b751e544593a840761040ea1251e69b9870c0f9d8ab9708b7a

See more details on using hashes here.

File details

Details for the file cubicmultispline-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for cubicmultispline-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 14b35685c2e88fe26052470d81d75424b7448f66364382ab4b1bb85967157285
MD5 d56a73862f8ffad9dfa8ae25fe548767
BLAKE2b-256 529f7e10da3ab49e5d5f51365085e4817f11c8155c7a5cf92f841e6557b1024a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page