$\DeclareMathOperator{\arccosh}{arccosh} \DeclareMathOperator*{\argmin}{arg\,min} \DeclareMathOperator{\Exp}{Exp} \newcommand{\geo}{\gamma_{\overset{\frown}{#1,#2}}} \newcommand{\geoS}{\gamma} \newcommand{\geoD}{\gamma_} \newcommand{\geoL}{\gamma(#2; #1)} \newcommand{\gradM}{\nabla_{\M}} \newcommand{\gradMComp}{\nabla_{\M,#1}} \newcommand{\Grid}{\mathcal G} \DeclareMathOperator{\Log}{Log} \newcommand{\M}{\mathcal M} \newcommand{\N}{\mathcal N} \newcommand{\mat}{\mathbf{#1}} \DeclareMathOperator{\prox}{prox} \newcommand{\PT}{\mathrm{PT}_{#1\to#2}#3} \newcommand{\R}{\mathbb R} \newcommand{\SPD}{\mathcal{P}(#1)} \DeclareMathOperator{\Tr}{Tr} \newcommand{\tT}{\mathrm{T}} \newcommand{\vect}{\mathbf{#1}}$

# List of Algorithms

The following algorithms can be called with their parameters and optional values given in the usual Matlab way (a string, value alternating list). Then a parser is called and might perform additional validity checks. The second possibility is to defined a struct, e.g. with the field

1
problem.M = Sn(2);


for data on the two-dimensional sphere. This does not evoke the parser and might include less validity checks. It should be preferred when performing a set of experiments.

The CPP algorithm for first and second order TV

This algorithm computes the cyclic or randomized proximal point algorithm on a manifold $\M$ for the first and second order TV additive coupling functional.

more
The CPP algorithm for Huber relaxed TV

This algorithm computes the cyclic or randomized proximal point algorithm on a manifold $\M$ for the first order differences relaxed by a Huber functional.

more
The Cyclic Proximal Point Algorithm

This algorithm computes the cyclic or randomized proximal point algorithm on a manifold $\M$ for given input data $x\colon \Grid \to \M$, where $\Grid$ denotes the data domain —usually a signal or pixel grid, but necessarily on some array form—, a set $f_i$ of proximal maps, and a stopping criterion.

more
The gradient descent algorithm on a manifold

Based on a manifold $\M$, a starting point $x^{(0)} = x$, and a gradient (or descent) direction $\gradM F$ of a function $F\colon\M\to\R$ this function performs a gradient descent algorithm

with step size $s_k$, $k=1,\ldots,$ until a stopping criterion is fulfilled.

more
The subgradient descent algorithm on a manifold

Based on a manifold $\M$, a starting point $x^{(0)} = x$, and an element from the (sub)gradient (or descent) direction $\eta\in\partial F$ of a function $F\colon\M\to\R$ this function performs a subgradient descent algorithm %}

with step sizes $s_k$, $k=1,\ldots,$ where we keep track of the minimal value $x^{\mathrm{opt}}$. If $F$ is not single valued, this algorithm assumes, that it is meant as a parallel subgradient algorithm with respect to the last dimension(s) of $x$.

more