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 <>`_, 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 <>`_ for details.

See manual.pdf or `here <>`_.

DFO-GN requires the following software to be installed:

* `Python 2.7 or Python 3 <>`_

Additionally, the following python packages should be installed (these will be installed automatically if using `pip <>`_, see `Installation using pip`_):

* `NumPy 1.11 or higher <>`_
* `SciPy 0.18 or higher <>`_

Installation using pip
For easy installation, use `pip <>`_ 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://>`_:

.. code-block:: bash

$ git clone
$ 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 .


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

.. code-block:: bash

$ python test

Alternatively, the `documentation <>`_ provides some simple examples of how to run DFO-GN, which are also available in the examples directory.

.. |PyPI Version| image::

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for DFOGN, version 1.0.2
Filename, size File type Python version Upload date Hashes
Filename, size DFOGN-1.0.2.tar.gz (34.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page