Types
cuthbert.smc.types
Provides types for representing generic Feynman--Kac models.
\[
\mathbb{Q}_{t}(x_{0:t}) \propto \mathbb{M}_0(x_0) \, G_0(x_0) \prod_{s=1}^{t} M_s(x_s \mid x_{s-1}) \, G_s(x_{s-1}, x_s).
\]
InitSample
PropagateSample
Bases: Protocol
Protocol for sampling from the Markov kernel \(M_t(x_t \mid x_{t-1})\).
__call__(key, state, model_inputs)
Samples from the Markov kernel \(M_t(x_t \mid x_{t-1})\).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
KeyArray
|
JAX PRNG key. |
required |
state
|
ArrayTreeLike
|
State at the previous step \(x_{t-1}\). |
required |
model_inputs
|
ArrayTreeLike
|
Model inputs. |
required |
Returns:
| Type | Description |
|---|---|
ArrayTree
|
A sample \(x_t\). |
Source code in cuthbert/smc/types.py
LogPotential
Bases: Protocol
Protocol for computing the log potential function \(\log G_t(x_{t-1}, x_t)\).
__call__(state_prev, state, model_inputs)
Computes the log potential function \(\log G_t(x_{t-1}, x_t)\).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state_prev
|
ArrayTreeLike
|
State at the previous step \(x_{t-1}\). |
required |
state
|
ArrayTreeLike
|
State at the current step \(x_{t}\). |
required |
model_inputs
|
ArrayTreeLike
|
Model inputs. |
required |
Returns:
| Type | Description |
|---|---|
ScalarArray
|
A scalar value \(\log G_t(x_{t-1}, x_t)\). |