Var.biject()

Contents

Var.biject()#

Var.biject(bijector='auto', *bijector_args, inference=None, name=None, **bijector_kwargs)[source]#

Transforms the variable using a bijector.

  • Eager evaluation: The transformation is applied immediately.

  • Stored transformed variable: Access via bijected_var.

This method is similar to transform(), but with key differences:

  • Returns self: Returns the original variable (now weakened) for chaining.

  • Default “auto”: Default uses the distribution’s event space bijector.

  • None means no transformation: bijector=None means skip transformation.

Parameters:
  • bijector (TypeAliasType | Literal['auto'], default: 'auto') – The bijector for transformation. If "auto", uses the default event space bijector. If None, no transformation. If a bijector class, instantiated with args/kwargs. If instance, used directly.

  • bijector_args – Arguments for bijector init if a class is provided.

  • inference (TypeAliasType | Literal['drop'], default: None) – Inference information for the transformed variable.

  • name (str | None, default: None) – Name for transformed variable. Default: h(<old_name>).

  • bijector_kwargs – Keyword arguments for bijector init if a class is provided.

Return type:

Var

Returns:

  • The original variable (self), now weak and depending on the transformed

  • variable. Access the transformed variable via bijected_var.

See also

transform

Similar method with lazy evaluation and different return.

bijected_var

Property to access the transformed variable.