Metadata-Version: 2.4
Name: rsdfoq
Version: 1.0
Summary: A derivative-free solver for large-scale minimization
Author-email: Lindon Roberts <lindon.roberts@unimelb.edu.au>
Maintainer-email: Lindon Roberts <lindon.roberts@unimelb.edu.au>
License: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/lindonroberts/rsdfoq
Project-URL: Download, https://github.com/lindonroberts/rsdfoq/releases/
Project-URL: Bug Tracker, https://github.com/lindonroberts/rsdfoq/issues/
Project-URL: Documentation, https://github.com/lindonroberts/rsdfoq
Project-URL: Source Code, https://github.com/lindonroberts/rsdfoq
Keywords: mathematics,optimization,least squares,derivative free optimization,nonlinear least squares
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Framework :: IPython
Classifier: Framework :: Jupyter
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: setuptools
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: pandas
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Provides-Extra: trustregion
Requires-Dist: trustregion>=1.1; extra == "trustregion"
Dynamic: license-file

======================================================
RSDFO-Q: Randomized Subspace DFO with Quadratic Models
======================================================

.. image::  https://github.com/lindonroberts/rsdfoq/actions/workflows/unit_tests.yml/badge.svg
   :target: https://github.com/lindonroberts/rsdfoq/actions
   :alt: Build Status

.. image::  https://img.shields.io/badge/License-GPL%20v3-blue.svg
   :target: https://www.gnu.org/licenses/gpl-3.0
   :alt: GNU GPL v3 License

A Python package for general minimization, where derivatives
are not available, using random subspaces.
For a description of this algorithm, see `this paper <https://arxiv.org/abs/2412.14431>`_.

For lower-dimensional problems, consider using the more actively
maintained `Py-BOBYQA <https://github.com/numericalalgorithmsgroup/pybobyqa>`_.

Citation
--------
If you use RSDFO-Q in an academic work, please cite the following paper:

C. Cartis and L. Roberts, Randomized Subspace Derivative-Free Optimization with
Quadratic Models and Second-Order Convergence. *Optimization Methods and Software*,
to appear.

A preprint version of this paper can be `found on arXiv <https://arxiv.org/abs/2412.14431>`_.

Installation
------------
You can install RSDFO-Q by cloning this repository and installing with pip:

.. code-block:: bash

    $ git clone https://github.com/lindonroberts/rsdfoq.git
    $ cd rsdfoq
    $ ls                     <-- check for pyproject.toml
    $ pip install -e .

RSDFO-Q requires NumPy, SciPy and pandas, but these will be installed automatically
if they are not already available.

Usage
-----
Examples for how to use RSDFO-Q may be found in the :code:`examples` directory.
