States

Specific states for subsolvers

Manopt.CoordinatesNormalSystemStateType
CoordinatesNormalSystemState <: AbstractManoptSolverState

A solver state indicating that the LevenbergMarquardtLinearSurrogateObjective is solved using a linear system in coordinates of the tangent space at the current iterate.

Fields

  • A: an $n×n$ matrix storing the normal-equations linear operator from get_linear_operator in coordinates, where n is the number of coordinates
  • b: an $n$ vector storing the right hand side of the normal equations in coordinates
  • basis::AbstractBasis: the basis the coordinates refer to
  • c: an $n$ vector storing the solution of the linear system in coordinates
  • linsolve!: a function (c, A, b) -> c solving the linear system in-place of c

Constructor

CoordinatesNormalSystemState(    M::AbstractManifold, p = rand(M);    linsolve = default_lm_lin_solve!,    basis = DefaultOrthonormalBasis(),    A = nothing)

Construct the state, where not providing a memory for A uses the eltype of p to determine the element type of the matrix to store. Note that the keyword is linsolve, while the field it is stored in is called linsolve!.

source

Internals

Manopt.hessian_valueMethod
hessian_value(ha::CoordinatesNormalSystemState, M, p, X::UnitVector, Y)

Evaluate the quadratic form associated with the stored Hessian approximation. Returns the scalar $c_b^{\top} B c$ where $c_b$ are the coordinates of the UnitVector X at p (assumed to correspond to the basis ha.basis), $c$ are the coordinates of the tangent vector Y at p (in the basis ha.basis) and $B$ is ha.A.

source
Manopt.hessian_valueMethod
hessian_value(ha::LevenbergMarquardtBoxSubsolver, M, p, X::UnitVector, Y)

Evaluate the quadratic form associated with the stored Hessian approximation.

source
Manopt.hessian_value_diagMethod
hessian_value_diag(ha::LevenbergMarquardtBoxSubsolver, M, p, X)

Evaluate the quadratic form associated with the stored Hessian approximation.

source