bijx.RadialConditional

class bijx.RadialConditional[source]

Bases: ApplyBijection

Radial flow with angle-dependent bijection parameters.

Extends basic radial flows by letting \(r -> f(r; theta(x/\abs{x}))\). The conditioning network maps unit vectors to bijection parameters.

Parameters:
  • scalar_bijection (Bijection) – Base bijection for radial transformation. Should map positive values to positive values (R+ -> R+). Most bijections are orientation-preserving; use RayTransform if needed to ensure \(f(0) = 0\).

  • cond_net (Module) – Conditioning network.

  • center (Union[Variable, Array, ndarray, Sequence[Union[int, Any]]]) – Center of the radial transformation.

  • scale (Union[Variable, Array, ndarray, Sequence[Union[int, Any]]]) – Scale factors for each dimension.

  • rngs (Rngs) – Random number generators.

__init__(scalar_bijection, cond_net, center=(), scale=(), rngs=None)[source]
Parameters:
  • scalar_bijection (Bijection)

  • cond_net (Module)

  • center (Variable | Array | ndarray | Sequence[int | Any])

  • scale (Variable | Array | ndarray | Sequence[int | Any])

  • rngs (Rngs)

Methods

apply(x, log_density[, reverse])

Apply radial transformation, forward or reverse.

forward(x, log_density, **kwargs)

Apply forward transformation.

invert()

Create an inverted version of this bijection.

reverse(x, log_density, **kwargs)

Apply reverse (inverse) transformation.

Attributes

scale

Positive scaling factors.

property scale: Array

Positive scaling factors.

apply(x, log_density, reverse=False, **kwargs)[source]

Apply radial transformation, forward or reverse.

Parameters:
  • x (Array)

  • log_density (Array)

  • reverse (bool)