Skip to main content

Numerical differentiation in python.

Project description

Documentation Status MIT License

Numerical differentiation methods for python, including:

  1. Symmetric finite difference schemes using arbitrary window size.

  2. Savitzky-Galoy derivatives of any polynomial order with independent left and right window parameters.

  3. Spectral derivatives with optional filter.

  4. Spline derivatives of any order.

  5. Polynomial-trend-filtered derivatives generalizing methods like total variational derivatives.

These examples are intended to survey some common differentiation methods. The goal of this package is to bind these common differentiation methods to an easily implemented differentiation interface to encourage user adaptation.

Usage:

from primelab import dxdt
import numpy as np

t = np.linspace(0,2*np.pi,50)
x = np.sin(x)

# Finite differences with central differencing using 3 points.
result1 = dxdt(x, t, kind="finite_difference", k=1)

# Savitzky-Golay using cubic polynomials to fit in a centered window of length 1
result2 = dxdt(x, t, kind="savitzky_golay", left=.5, right=.5, order=3)

# Spectral derivative
result3 = dxdt(x, t, kind="spectral")

# Spline derivative with smoothing set to 0.01
result4 = dxdt(x, t, kind="spline", s=1e-2)

# Total variational derivative with regularization set to 0.01
result5 = dxdt(x, t, kind="trend_filtered", order=0, alpha=1e-2)

Project references:

[1] Numerical differentiation of experimental data: local versus global methods- K. Ahnert and M. Abel

[2] Numerical Differentiation of Noisy, Nonsmooth Data- Rick Chartrand

[3] The Solution Path of the Generalized LASSO- R.J. Tibshirani and J. Taylor

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

primelab-0.1.2.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

primelab-0.1.2-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: primelab-0.1.2.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.7.6 Darwin/19.4.0

File hashes

Hashes for primelab-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fcb1f99a02748b61c54d7db797e44faf10222ee8b756eea162f8ac27dac6198c
MD5 3c6712ec569d7f4ccbf768e62dc7c9bf
BLAKE2b-256 39fbe230aa473bc259d023719afbd8a3aa35c2c0571777106682defb437accc3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: primelab-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.7.6 Darwin/19.4.0

File hashes

Hashes for primelab-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d616dbe66bce0a9d79db5e7bd6808e63d9370eb1d9d6b8eb6f7de34b65e4c4a8
MD5 7c008e80c0e21fb84a92d5ad398c6cba
BLAKE2b-256 fb3395f82f8be6dd46ef93d5893217d0760839031889f0ddc809e8b39e758ee1

See more details on using hashes here.

Supported by

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