Input

• M a manifold $\mathcal M$
• ∇F – a gradient function, that either returns a vector of the subgradients or is a vector of gradients
• x – an initial value $x ∈ \mathcal M$

Optional

• cost – (missing) you can provide a cost function for example to track the function value
• evaluation_order – (:Random) – whether to use a randomly permuted sequence (:FixedRandom), a per cycle permuted sequence (:Linear) or the default :Random one.
• stopping_criterion (StopAfterIteration(1000))– a StoppingCriterion
• stepsize (ConstantStepsize(1.0)) a Stepsize
• order_type (:RandomOder) a type of ordering of gradient evaluations. values are :RandomOrder, a :FixedPermutation, :LinearOrder
• order - ([1:n]) the initial permutation, where n is the number of gradients in ∇F.
• retraction_method – (ExponentialRetraction()) a retraction(M,x,ξ) to use.

Output

• x_opt – the resulting (approximately critical) point of gradientDescent

OR

• options - the options returned by the solver (see return_options)
source

perform a stochastic gradient descent inplace of x.

Input

• M a manifold $\mathcal M$
• ∇F – a gradient function, that either returns a vector of the subgradients or is a vector of gradients
• x – an initial value $x ∈ \mathcal M$

for all optional parameters, see stochastic_gradient_descent.

source

## Options

fields

Fields

• x the current iterate
• stopping_criterion (StopAfterIteration(1000))– a StoppingCriterion
• stepsize (ConstantStepsize(1.0)) a Stepsize
• evaluation_order – (:Random) – whether to use a randomly permuted sequence (:FixedRandom), a per cycle permuted sequence (:Linear) or the default :Random one.
• order the current permutation
• retraction_method – (ExponentialRetraction()) a retraction(M,x,ξ) to use.

Constructor