.. pykinsol documentation master file, created by sphinx-quickstart on Wed Dec 30 18:14:00 2020. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Welcome to pykinsol's documentation! ==================================== .. toctree:: :maxdepth: 4 :caption: Contents: pykinsol Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` Overview ======== .. image:: http://hera.physchem.kth.se:9090/api/badges/bjodah/pykinsol/status.svg :target: http://hera.physchem.kth.se:9090/bjodah/pykinsol :alt: Build status .. image:: https://circleci.com/gh/bjodah/pykinsol.svg?style=svg :target: https://circleci.com/gh/bjodah/pykinsol :alt: Build status on CircleCI .. image:: https://secure.travis-ci.org/bjodah/pykinsol.svg?branch=master :target: http://travis-ci.org/bjodah/pykinsol :alt: Build status on Travis-CI .. image:: https://img.shields.io/pypi/v/pykinsol.svg :target: https://pypi.python.org/pypi/pykinsol :alt: PyPI version .. image:: https://img.shields.io/pypi/l/pykinsol.svg :target: https://github.com/bjodah/pykinsol/blob/master/LICENSE :alt: License .. image:: http://hera.physchem.kth.se/~pykinsol/branches/master/htmlcov/coverage.svg :target: http://hera.physchem.kth.se/~pykinsol/branches/master/htmlcov :alt: coverage `pykinsol `_ provides a `Python `_ binding to the `Nonlinear system of equation `_ solver algorithms from `kinsol `_ in the `SUNDIALS suite `_. ``pykinsol`` allows a user to numerically solve (systems of) non-linear equations. Note that not all functionality of KINSOL are currently exposed in the python wrapper. Additional functionality is however easy to add if needed. You may also want to know that you can use ``pykinsol`` from `pyneqsys `_ which can e.g. derive the Jacobian analytically for you. Documentation ------------- Autogenerated API documentation is found `here `_. Installation ------------ Simplest way to install pykinsol is to use the `conda package manager `_: :: $ conda install -c bjodah pykinsol pytest $ python -m pytest --pyargs pykinsol tests should pass. Binary distribution is available here: ``_ Source distribution is available here: ``_ To compile from source you may proceed e.g. as follows: :: $ LLAPACK=openblas python3.4 setup.py install --user where we specified specifically what LAPACK implementation we used for building SUNDIALS. Examples -------- See `examples/ `_, and rendered jupyter notebooks here: ``_ Here is a simple example: .. code:: python >>> def f(x, fout): ... fout[0] = x[0] + (x[0] - x[1])**3/2 - 1 ... fout[1] = x[1] + (x[1] - x[0])**3/2 ... >>> def j(x, Jout, fx): ... Jout[0, 0] = 1 + 3/2 * (x[0] - x[1])**2 ... Jout[0, 1] = -3/2 * (x[0] - x[1])**2 ... Jout[1, 0] = -3/2 * (x[1] - x[0])**2 ... Jout[1, 1] = 1 + 3/2 * (x[1] - x[0])**2 ... >>> from pykinsol import solve >>> result = solve(f, j, [0, 0]) >>> assert result['success'] >>> print(result['x']) # doctest: +SKIP [ 0.84116389 0.15883611] License ------- The source code is Open Source and is released under the simplified 2-clause BSD license. See `LICENSE `_ for further details. Contributors are welcome to suggest improvements at https://github.com/bjodah/pykinsol Author ------ Björn I. Dahlgren, contact: - gmail address: bjodah