-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
help wantedExtra attention is neededExtra attention is neededoptimizersLabeled issues concern the `Optimizer`; this will eventually be moved to `GeometricOptimizers`.Labeled issues concern the `Optimizer`; this will eventually be moved to `GeometricOptimizers`.solversThis issue concerns solvers (both linear and nonlinear).This issue concerns solvers (both linear and nonlinear).
Description
This is related to issues #60, #40 and (vaguely) #22.
At the moment the Optimizer and NewtonSolver structs are both subtyped from NonlinearSolver, share some properties but differ in others. I tried to visualize this with the following tikz pictures:
Same colors indicate similar/equivalent functionality.
As can be seen the differences are:
- the Hessian and the Jacobian are not stored at the same level,
- the solver contains a
resultobject, but the solver doesn't, - the solver stores a linesearch, but the optimizer doesn't,
- the optimizer stores an "algorithm" and the solver doesn't. The "algorithm" in the optimizer mainly concerns how the Hessian is computed/approximated. The equivalent in the solver case would probably be the "mode" keyword that we parse to the
nonlinearsystemand that determines how the Jacobian is computed.
Some of these discrepancies between solvers and optimizers may make sense, but I think many do not. I think we should settle on a more or less consistent interface.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
help wantedExtra attention is neededExtra attention is neededoptimizersLabeled issues concern the `Optimizer`; this will eventually be moved to `GeometricOptimizers`.Labeled issues concern the `Optimizer`; this will eventually be moved to `GeometricOptimizers`.solversThis issue concerns solvers (both linear and nonlinear).This issue concerns solvers (both linear and nonlinear).