Computes p.ildj(x, ndims) - q.idlj(y, ndims)
, numerically stably.
tfp.experimental.bijectors.inverse_log_det_jacobian_ratio(
p, x, q, y, event_ndims, p_kwargs=None, q_kwargs=None
)
p_kwargs
and q_kwargs
are passed to the registered ildj_ratio_fn
. The
fallback implementation passes them to the inverse_log_det_jacobian
methods
of p
and q
.
Args |
p
|
A bijector instance.
|
x
|
A tensor from the image of p.forward .
|
q
|
A bijector instance of the same type as p , with matching shape.
|
y
|
A tensor from the image of q.forward .
|
event_ndims
|
The number of right-hand dimensions comprising the event shapes
of x and y .
|
p_kwargs
|
Keyword args to pass to p .
|
q_kwargs
|
Keyword args to pass to q .
|
Returns |
ildj_ratio
|
log ((abs o det o jac p^-1)(x) / (abs o det o jac q^-1)(y)) ,
i.e. in TFP code, p.inverse_log_det_jacobian(x, event_ndims) -
q.inverse_log_det_jacobian(y, event_ndims) . In some cases
this will be computed with better than naive numerical precision, e.g. by
moving differences inside of a sum reduction.
|