rxmc.transforms.Transform#
- class rxmc.transforms.Transform(fn: Callable, params: Sequence[Parameter] = (), *, contextual: bool = False, derivative: Callable | None = None, inverse=None, name: str | None = None)[source]#
Bases:
objectA numpy-style transform with optional parameters.
- Parameters:
fn (callable) –
fn(a, *values) -> np.ndarray; whencontextualisTrue,fn(context, a, *values)wherecontextis whatever the owner passes (theObservationfor model transforms).params (sequence of Parameter, optional) – Parameters whose sampled values are passed as
*values.contextual (bool, optional) – Whether
fntakes the owner’s context as its first argument.derivative (callable, optional) –
derivative(a, *values) -> np.ndarray, \(\partial fn/\partial a\) elementwise. Used for delta-method error propagation and Jacobians.inverse (Transform or callable, optional) – The inverse transform (parameter-free transforms only).
name (str, optional) – Human-readable name.
- __init__(fn: Callable, params: Sequence[Parameter] = (), *, contextual: bool = False, derivative: Callable | None = None, inverse=None, name: str | None = None)[source]#
Methods
__init__(fn[, params, contextual, ...])derivative(a, *values[, context])Elementwise derivative \(\partial fn/\partial a\) at
a.Attributes
The inverse transform, or
Noneif unknown.Whether this is the module-level
identitysingleton.- property is_identity: bool#
Whether this is the module-level
identitysingleton.An object-identity test, not a semantic one:
Transform(lambda a: a)orlog | expare not recognised and take no identity fast path.