@@ -21,6 +21,7 @@ def prior_wiener_integrated(
2121):
2222 """Construct an adaptive(/continuous-time), multiply-integrated Wiener process."""
2323 ssm = impl .choose (ssm_fact , tcoeffs_like = tcoeffs )
24+ # TODO: should the output_scale be an argument to solve?
2425 if output_scale is None :
2526 output_scale = np .ones_like (ssm .prototypes .output_scale ())
2627 discretize = ssm .conditional .ibm_transitions (base_scale = output_scale )
@@ -636,7 +637,7 @@ def offgrid_marginals(self, *, t, marginals_t1, posterior_t0, t0, t1, output_sca
636637 rv , extra = self .strategy .init (posterior_t0 )
637638 rv , corr = self .correction .init (rv )
638639
639- # TODO: Replace dt0, dt1, and prior with prior_dt0, and prior_dt1
640+ # TODO: Replace dt0, dt1, prior, and output_scale with prior_dt0, and prior_dt1
640641 interp = self .strategy .interpolate (
641642 state_t0 = (rv , extra ),
642643 state_t1 = (marginals_t1 , None ),
@@ -670,6 +671,8 @@ def init(self, t, init) -> _State:
670671 rv , extra = self .strategy .init (init )
671672 rv , corr = self .correction .init (rv )
672673
674+ # TODO: make the init() and extract() an interface,
675+ # since then, lots of calibration logic simplifies considerably.
673676 calib_state = self .calibration .init ()
674677 return _State (t = t , rv = rv , strategy_state = extra , output_scale = calib_state )
675678
@@ -777,11 +780,6 @@ def step_mle(state, /, *, dt, calibration):
777780
778781
779782def _calibration_running_mean (* , ssm ) -> _Calibration :
780- # TODO: if we pass the mahalanobis_relative term to the update() function,
781- # it reduces to a generic stats() module that can also be used for e.g.
782- # marginal likelihoods.
783- # In this case, the _calibration_most_recent() stuff becomes void.
784-
785783 def init ():
786784 prior = np .ones_like (ssm .prototypes .output_scale ())
787785 return prior , prior , 0.0
0 commit comments