pynleq2 provides a Python binding to the NLEQ2 algorithm from CodeLib distributed by Zuse Institute Berlin (ZIB). Note that this package does not contain the source code of NLEQ2 which has its own license (as of 2015-10-20 it may be used for free for academic use, but not for commerical use).
The fortran to python interface is originally from the PySCeS project.
Autogenerated API documentation is found here.
Simplest way to install is to install using pip:
$ PYNLEQ2_NLEQ2_ROOT_URL=http://repo.my-univeristy.edu/mirror/nleq2/ pip install pynleq2
Note that you need to modify the environment variable $PYNLEQ2_NLEQ2_ROOT_URL
to point
to the source repository at ZIB after you have ensured that your use is in line with their
license agreement.
Source distribution of the binding is available here: https://pypi.python.org/pypi/pynleq2
Example reformulated from SciPy documentation:
>>> from pynleq2 import solve
>>> def f(x, i):
... return [x[0] + (x[0] - x[1])**3/2. - 1,
... (x[1] - x[0])**3/2. + x[1]], i
>>> def j(x):
... return [
... [
... 1 + 3/2. * (x[0] - x[1])**(3-1),
... -3/2. * (x[0] - x[1])**(3-1)
... ],
... [
... -3/2. * (x[1] - x[0])**(3-1),
... 1 + 3/2. * (x[1] - x[0])**(3 - 1)
... ]
... ]
...
>>> x, ierr = solve(f, j, [0.8, 0.1])
>>> x
array([ 0.8411639, 0.1588361])
The pynleq2 source code (the bindings) is Open Source and is released under the simplified 2-clause BSD license. See LICENSE, LICENSE_pysces.txt and NLEQ2 license for further details.
Björn I. Dahlgren, contact:
- gmail address: bjodah