Package-level declarations
Types
Abstract base for root-finding algorithms operating within a bounded search interval. Parallel branch to RootFinder directly under IterativeProcess. Does not impose the sign-change (bracketing) constraint — concrete subclasses that require it assert it in their own init blocks via RootFinder.Companion.hasRoot.
Default implementation. Delegated to by StochasticApproximationRootFinder.
Promises the ability to emit an SAStatus at each process lifecycle transition. Fires unconditionally — at most four times per run with negligible allocation cost.
Represents the distinct lifecycle states of a StochasticApproximationRootFinder run. Emitted through SALifeCycleEmitterIfc.lifeCycleEmitter at each transition so that subscribers can branch on outcome type without inspecting string messages.
Immutable snapshot of the SA algorithm state at the completion of one iteration. Emitted through SAStepEmitterIfc.stepEmitter and optionally accumulated via StochasticApproximationRootFinder.saveSteps. Safe to store, share, or pass across threads without mutation risk.
Default implementation. Delegated to by StochasticApproximationRootFinder.
Promises the ability to emit an SAStep snapshot after each completed iteration. Emission is gated by StochasticApproximationRootFinder.snapShotFrequency and Emitter.isObserved. When no subscriber is attached and saveSteps is false, no SAStep object is allocated for that iteration.
Implements the Robbins-Monroe stochastic approximation root-finding algorithm with Kesten acceleration and an exponentially weighted stopping criterion.