Arbitrary tangent space when no more-efficient special case applies.
Inherits From: TangentSpace
tfp.experimental.tangent_spaces.GeneralSpace(
basis, computed_log_volume=None
)
Args |
basis
|
Basis object representing a basis of shape
[N, B1, ..., Bk, D1, ... Dl] , where N is the
number of bases vectors, Bi are batch dimensions and Di refer to
the dimensions that this basis lives in.
|
computed_log_volume
|
Optional Tensor of shape [B1, ..., Bk] . Computed
log-volume coefficient.
Default None .
|
Methods
View source
transform_coordinatewise(
x, f, **kwargs
)
Same as transform_dimension_preserving
, for a coordinatewise f.
Default falls back to transform_dimension_preserving
, which may
be overridden in subclasses.
Args |
x
|
same as in transform_dimension_preserving .
|
f
|
same as in transform_dimension_preserving .
|
**kwargs
|
same as in transform_dimension_preserving .
|
Returns |
log_density
|
A Tensor representing the log density correction of f at x
|
space
|
A TangentSpace representing the tangent to fM at f(x)
|
Raises |
NotImplementedError
|
if the TangentSpace subclass does not implement
transform_dimension_preserving .
|
View source
transform_dimension_preserving(
x, f, **kwargs
)
Same as transform_general
, assuming f goes from R^n to R^n.
Default falls back to transform_general
, which may be overridden
in subclasses.
Args |
x
|
same as in transform_general .
|
f
|
same as in transform_general .
|
**kwargs
|
same as in transform_general .
|
Returns |
log_density
|
A Tensor representing the log density correction of f at x
|
space
|
A TangentSpace representing the tangent to fM at f(x)
|
Raises |
NotImplementedError
|
if the TangentSpace subclass does not implement
transform_general .
|
View source
transform_general(
x, f, **kwargs
)
Returns the density correction, in log space, corresponding to f at x.
Also returns a new TangentSpace
representing the tangent to fM at f(x).
Args |
x
|
Tensor (structure). The point at which to calculate the density.
|
f
|
Bijector or one of its subclasses. The transformation that requires a
density correction based on this tangent space.
|
**kwargs
|
Optional keyword arguments as part of the Bijector.
|
Returns |
log_density
|
A Tensor representing the log density correction of f at x
|
space
|
A TangentSpace representing the tangent to fM at f(x)
|
Raises |
NotImplementedError
|
if the TangentSpace subclass does not implement
this method.
|
View source
transform_projection(
x, f, **kwargs
)
Same as transform_general
, with f a projection (or its inverse).
Default falls back to transform_general
, which may be overridden
in subclasses.
Args |
x
|
same as in transform_general .
|
f
|
same as in transform_general .
|
**kwargs
|
same as in transform_general .
|
Returns |
log_density
|
A Tensor representing the log density correction of f at x
|
space
|
A TangentSpace representing the tangent to fM at f(x)
|
Raises |
NotImplementedError
|
if the TangentSpace subclass does not implement
transform_general .
|