Welcome to the documentation of simpleopt!
What is simpleopt and where is the code?
simpleopt is a set of simple optimization routines written in Python along with a set of test functions.
The module simpleopt.opt includes implementations of the steepest descent and the conjugate gradient
methods, as well as a class for representing optimization problems.
The separate module quad allows to construct and call functions of the form
where \(A \in \mathbb{R}^{n \times n}\) and \(b,x \in \mathbb{R}^{n}\). The module quad is implemented
in C++ using the Eigen library for linear algebra computations, and is wrapped in Python using pybind11.
The code is available at this GitHub repository.
Contents
Requirements and Installation
To build the C++ test functions simpleopt requires a C++ compiler, the CMake and Make build systems, and the Eigen
library for linear algebra computations. For the optimization routines, Python 3.9 or higher is required, as well as
a set of packages listed in the requirements.txt file in the root directory of the repository. For detailed
installation instructions of these components see the README file in the repository.