A manifold objective

Within the optimization problem

\[\operatorname*{argmin}_{p \in \mathcal M} f(p)\]

the objective describes the cost $f(p)$ and its properties relations. The general abstract type for these is

Manopt.AbstractManifoldObjectiveType
AbstractManifoldObjective{E<:AbstractEvaluationType}

Describe the collection of the optimization function $f: \mathcal{M} → ℝ$ (or even a vectorial range) and its corresponding elements, which might for example be a gradient or (one or more) proximal maps.

All these elements should usually be implemented as functions (M, p) -> ..., or (M, X, p) -> ... that is

  • the first argument of these functions should be the manifold M they are defined on
  • the argument X is present, if the computation is performed in-place of X (see InplaceEvaluation)
  • the argument p is the place the function ($f$ or one of its elements) is evaluated at.

the type T indicates the global AbstractEvaluationType.

source

For components of the objective, there might be different ways they can be evaluated, most prominently, whether for example a function providing the gradient $\operatorname{grad} f$ would allocate new memory or work inplace.

Manopt.AllocatingInplaceEvaluationType
AllocatingInplaceEvaluation <: AbstractEvaluationType

A parameter for a AbstractManoptProblem or a Function indicating that the problem contains or the function(s) that provides both an allocating variant and one, that does not allocate memory but work on their input, in place.

source

The different types of objectives are listed on sub pages depending on their type of information or function