liblaf.peach.optim.scipy
¶
SciPy optimizer adapter.
Classes:
-
ScipyOptimizer–Adapter around
scipy.optimize.minimize. -
ScipyState–Optimizer state backed by SciPy's
OptimizeResult. -
ScipyStats–Stats placeholder for the SciPy optimizer adapter.
ScipyOptimizer
¶
Bases: Optimizer[ScipyState, ScipyStats]
flowchart TD
liblaf.peach.optim.scipy.ScipyOptimizer[ScipyOptimizer]
liblaf.peach.optim.base._optimizer.Optimizer[Optimizer]
liblaf.peach.optim.base._optimizer.Optimizer --> liblaf.peach.optim.scipy.ScipyOptimizer
click liblaf.peach.optim.scipy.ScipyOptimizer href "" "liblaf.peach.optim.scipy.ScipyOptimizer"
click liblaf.peach.optim.base._optimizer.Optimizer href "" "liblaf.peach.optim.base._optimizer.Optimizer"
Adapter around scipy.optimize.minimize.
Parameters:
-
method(str | None, default:None) – -
options(Mapping[str, Any] | None, default:None) – -
tol(float | None, default:None) –
Type Aliases:
-
Solution–Optimizer output bundle.
Classes:
-
Result–Result code returned by optimizers.
Methods:
-
init–Initialize SciPy state from the starting parameters.
-
minimize–Run
scipy.optimize.minimizeagainst a Peach problem. -
postprocess–Build the SciPy optimizer solution object.
-
step–Advance the optimizer by one step.
-
terminate–Return whether optimization should stop and why.
Attributes:
Solution
¶
Solution = Solution[ScipyState, ScipyStats]
Result
¶
Bases: StrEnum
flowchart TD
liblaf.peach.optim.scipy.ScipyOptimizer.Result[Result]
click liblaf.peach.optim.scipy.ScipyOptimizer.Result href "" "liblaf.peach.optim.scipy.ScipyOptimizer.Result"
Result code returned by optimizers.
Attributes:
-
INTERRUPT– -
MAX_STEPS_REACHED– -
NAN– -
PRIMARY_SUCCESS– -
SECONDARY_SUCCESS– -
STAGNATION– -
SUCCESS– -
UNKNOWN_ERROR– -
success(bool) –Whether the result represents an accepted optimization outcome.
init
¶
init[X](
problem: BaseProblem[X],
model_state: X,
params: Vector,
) -> ScipyState
Initialize SciPy state from the starting parameters.
Source code in src/liblaf/peach/optim/scipy/_scipy.py
minimize
¶
minimize[X](
problem: BaseProblem[X],
model_state: X,
params: Vector,
) -> Solution
Run scipy.optimize.minimize against a Peach problem.
Source code in src/liblaf/peach/optim/scipy/_scipy.py
postprocess
¶
postprocess[X](
problem: BaseProblem[X],
model_state: X,
opt_state: ScipyState,
result: Result,
) -> Solution
Build the SciPy optimizer solution object.
Source code in src/liblaf/peach/optim/scipy/_scipy.py
step
¶
step[X](
problem: BaseProblem[X], model_state: X, opt_state: S
) -> None
Advance the optimizer by one step.
Implementations should mutate model_state and opt_state with any
accepted parameter, gradient, or diagnostic updates.
Source code in src/liblaf/peach/optim/base/_optimizer.py
terminate
¶
terminate[X](
problem: BaseProblem[X], model_state: X, opt_state: S
) -> tuple[bool, Result]
Return whether optimization should stop and why.
ScipyState
¶
Bases: Mapping[str, Any], State
flowchart TD
liblaf.peach.optim.scipy.ScipyState[ScipyState]
liblaf.peach.optim.base._protocols.State[State]
liblaf.peach.optim.base._protocols.State --> liblaf.peach.optim.scipy.ScipyState
click liblaf.peach.optim.scipy.ScipyState href "" "liblaf.peach.optim.scipy.ScipyState"
click liblaf.peach.optim.base._protocols.State href "" "liblaf.peach.optim.base._protocols.State"
Optimizer state backed by SciPy's OptimizeResult.
Methods:
-
__getitem__–Return an item from the wrapped SciPy result.
-
__iter__–Iterate over keys in the wrapped SciPy result.
-
__len__–Return the number of keys in the wrapped SciPy result.
Attributes:
-
__wrapped__(OptimizeResult) – -
params(Vector) –Final parameter vector from the SciPy result.
ScipyStats
¶
Bases: Stats
flowchart TD
liblaf.peach.optim.scipy.ScipyStats[ScipyStats]
liblaf.peach.optim.base._protocols.Stats[Stats]
liblaf.peach.optim.base._protocols.Stats --> liblaf.peach.optim.scipy.ScipyStats
click liblaf.peach.optim.scipy.ScipyStats href "" "liblaf.peach.optim.scipy.ScipyStats"
click liblaf.peach.optim.base._protocols.Stats href "" "liblaf.peach.optim.base._protocols.Stats"
Stats placeholder for the SciPy optimizer adapter.