Gradient Descent
Manopt.steepestDescent — Function.steepestDescent(M, F, ∇F, x)perform a steepestDescent $x_{k+1} = \mathrm{retr}_{x_k} s_k\nabla f(x_k)$ with different choices of $s_k$ available (see stepsize option below).
Input
M– a manifold $\mathcal M$F– a cost function $F\colon\mathcal M\to\mathbb R$ to minimize∇F– the gradient $\nabla F\colon\mathcal M\to T\mathcal M$ of Fx– an initial value $x\in\mathcal M$
Optional
stepsize– (ConstantStepsize(1.)) specify aStepsizefunctor.retraction– (exp) aretraction(M,x,ξ)to use.stoppingCriterion– ([stopWhenAny](@ref)([stopAfterIteration](@ref)(200),[stopWhenGradientNormLess](@ref)(10.0^-8))) a functor inheriting from [StoppingCriterion`](@ref) indicating when to stop.returnOptions– (false) – if actiavated, the extended result, i.e. the completeOptionsre returned. This can be used to access recorded values. If set to false (default) just the optimal valuexOptif returned
... and the ones that are passed to decorateOptions for decorators.
Output
xOpt– the resulting (approximately critical) point of gradientDescent
OR
options- the options returned by the solver (seereturnOptions)
Options
Manopt.GradientDescentOptions — Type.GradientDescentOptions{P,T} <: Options where {P <: MPoint, T <: TVector}Describes a Gradient based descent algorithm, with
Fields
a default value is given in brackets if a parameter can be left out in initialization.
x0– anMPointas starting pointstoppingCriterion– (stopAfterIteration(100)) aStoppingCriterionstepsize– (ConstantStepsize(1.))aStepsizeretraction– (exp) the rectraction to use
Constructor
GradientDescentOptions(x, stop, s [, retr=exp])construct a Gradient Descent Option with the fields and defaults as above
See also
Debug Actions
Manopt.DebugGradient — Type.DebugGradient <: DebugActiondebug for the gradient evaluated at the current iterate
Constructors
DebugGradient([long=false,p=print])display the short (false) or long (true) default text for the gradient.
DebugGradient(prefix[, p=print])display the a prefix in front of the gradient.
Manopt.DebugGradientNorm — Type.DebugGradientNorm <: DebugActiondebug for gradient evaluated at the current iterate.
Constructors
DebugGradientNorm([long=false,p=print])display the short (false) or long (true) default text for the gradient norm.
DebugGradientNorm(prefix[, p=print])display the a prefix in front of the gradientnorm.
Manopt.DebugStepsize — Type.DebugStepsize <: DebugActiondebug for the current step size.
Constructors
DebugStepsize([long=false,p=print])display the short (false) or long (true) default text for the step size.
DebugStepsize(prefix[, p=print])display the a prefix in front of the step size.
Record Actions
Manopt.RecordGradient — Type.RecordGradient <: RecordActionrecord the gradient evaluated at the current iterate
Constructors
RecordGradient(ξ)initialize the RecordAction to the corresponding type of the TVector.
Manopt.RecordGradientNorm — Type.RecordGradientNorm <: RecordActionrecord the norm of the current gradient
Manopt.RecordStepsize — Type.RecordStepsize <: RecordActionrecord the step size