Skip to main content

A simple derivative-free solver for (box constrained) nonlinear least-squares minimization

Project description

=====================================================================
DFO-GN: Derivative-Free Nonlinear Least-Squares Solver |PyPI Version|
=====================================================================
DFO-GN is a package for solving nonlinear least-squares minimisation, without requiring derivatives of the objective.

This is an implementation of the algorithm from our paper:
`A Derivative-Free Gauss-Newton Method <https://arxiv.org/abs/1710.11005>`_, C. Cartis and L. Roberts, submitted (2017). For reproducibility of all figures in this paper, please feel free to contact the authors.

Note: we have released a newer package, called DFO-LS, which is an upgrade of DFO-GN to improve its flexibility and robustness to noisy problems. See `here <https://github.com/numericalalgorithmsgroup/dfols>`_ for details.

Documentation
-------------
See manual.pdf or `here <https://numericalalgorithmsgroup.github.io/dfogn/>`_.

Requirements
------------
DFO-GN requires the following software to be installed:

* `Python 2.7 or Python 3 <http://www.python.org/>`_

Additionally, the following python packages should be installed (these will be installed automatically if using `pip <http://www.pip-installer.org/>`_, see `Installation using pip`_):

* `NumPy 1.11 or higher <http://www.numpy.org/>`_
* `SciPy 0.18 or higher <http://www.scipy.org/>`_


Installation using pip
----------------------
For easy installation, use `pip <http://www.pip-installer.org/>`_ as root:

.. code-block:: bash

$ [sudo] pip install --pre dfogn

If you do not have root privileges or you want to install DFO-GN for your private use, you can use:

.. code-block:: bash

$ pip install --pre --user dfogn

which will install DFO-GN in your home directory.

Note that if an older install of DFO-GN is present on your system you can use:

.. code-block:: bash

$ [sudo] pip install --pre --upgrade dfogn

to upgrade DFO-GN to the latest version.

Manual installation
-------------------
The source code for DFO-GN is `available on Github <https://https://github.com/numericalalgorithmsgroup/dfogn>`_:

.. code-block:: bash

$ git clone https://github.com/numericalalgorithmsgroup/dfogn
$ cd dfogn

DFO-GN is written in pure Python and requires no compilation. It can be installed using:

.. code-block:: bash

$ [sudo] pip install --pre .

If you do not have root privileges or you want to install DFO-GN for your private use, you can use:

.. code-block:: bash

$ pip install --pre --user .

instead.

Testing
-------
If you installed DFO-GN manually, you can test your installation by running:

.. code-block:: bash

$ python setup.py test

Alternatively, the `documentation <https://numericalalgorithmsgroup.github.io/dfogn/>`_ provides some simple examples of how to run DFO-GN, which are also available in the examples directory.

.. |PyPI Version| image:: https://img.shields.io/pypi/v/DFOGN.svg
:target: https://pypi.python.org/pypi/DFOGN

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

DFOGN-1.0.2.tar.gz (34.9 kB view details)

Uploaded Source

File details

Details for the file DFOGN-1.0.2.tar.gz.

File metadata

  • Download URL: DFOGN-1.0.2.tar.gz
  • Upload date:
  • Size: 34.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.9.1 pkginfo/1.4.1 requests/2.18.4 setuptools/36.4.0 requests-toolbelt/0.8.0 tqdm/4.11.2 CPython/3.5.2

File hashes

Hashes for DFOGN-1.0.2.tar.gz
Algorithm Hash digest
SHA256 4f16a1b8253714cbf8bc3d15b97a1fe1e90f8c98cfd0bdf6746ca6529b654a7d
MD5 e2d4e4a8b3978b78575eb6ea06be1c0e
BLAKE2b-256 a7b6c02e6d1c23ff1d0efac0257372ceff08d93ff0fe18b87f8ecc196911878f

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