/dualnum

Python bindings for the `num-hyperdual` rust crate.

Primary LanguageRustOtherNOASSERTION

dualnum

documentation PyPI version

Python bindings for the num-dual rust crate.

Installation

pip install dualnum

Installation from source

To install from source, you need to have the rust compiler installed.

pip install git+https://github.com/itt-ustutt/dualnum

Sphinx documentation

To build the documentation with sphinx:

maturin develop --release
cd docs
make html
make doctest
firefox _build/html/index.html

Usage

Compute first and second derivative of a scalar valued function.

from dualnum import derive2
import numpy as np

def f(x):
    return np.exp(x) / np.sqrt(np.sin(x)**3 + np.cos(x)**3)

x = derive2(1.5)
result = f(x)
print('f(x)    = {}'.format(result.value))
print('df/dx   = {}'.format(result.first_derivative))
print('d2f/dx2 = {}'.format(result.second_derivative))