Overview

The library porvides algorithms and utilities to optimize non-smooth functions, i.e., to solve

where is a smooth function (called loss function) and is a non-smooth function (called penalty function). The argument is the coefficient, and the result of any optimization is the optimum.

All optimizers support one or more loss and penalty functions. Static polymorphism through the extensive use of templating allows nsoptim to select the best version of an optimizer for the given combination of loss and penalty function.

Dependencies and System Requirements

The library requires at least a C++ compiler compatible with C++ 11 and an installation of the armadillo library for linear algebra.