This library allows to evaluate special function with complex arguments up to double precision. The arb library (https://arblib.org) is used behind the scenes which allows for correct error estimation. The internal precision is increased until the result has converged to double precision.
This package provides an interface for c++ as well as python.
- Hurwitz zeta function (zeta)
- upper incomplete gamma function (gamma_inc)
more to follow
The arb library needs to be installed. See https://arblib.org/setup.html for instructions.
On Debian you may install libflint-arb-dev
(included since Debian 9 or Ubuntu 17.04).
Then simply run the make script by typing
cd ./cplxfnc_clib
./configure
make
To install type make install
(root permission). You also may run sanity checks: make check
.
Running the setup.py
script as follows builds and installs the the python package cplxfnc
.
Note, the build process needs the shared libraries for flint (libflint
) and arb (libarb
, or when installed from
linux package libflint-arb
).
python setup.py build
python setup.py install
To check if things are working correctly, make sure pytest
and mpmath
are installed and type
py.test
Once installed, the usage it straight forward.
>>> import cplxfnc
>>> cplxfnc.zeta(s=1+1j, a=3-5j)
(-0.3269595185571998+0.04885844807914104j)