A Manopt Problem

A problem describes all static data of an optimisation task and has as a super type

Usually, such a problem is determined by the manifold or domain of the optimisation and the objective with all its properties used within an algorithm – see The Objective. For that we can just use

The exception to these are the primal dual-based solvers (Chambolle-Pock and the PD Semismooth Newton]), which both need two manifolds as their domain(s), hence thre also exists a

Manopt.TwoManifoldProblemType
TwoManifoldProblem{
MT<:AbstractManifold,NT<:AbstractManifold,O<:AbstractManifoldObjective

} <: AbstractManoptProblem{MT}

An abstract type for primal-dual-based problems.

source

From the two ingredients here, you can find more information about