View source on GitHub |
Numerically stable calculation of log(1 + x**2)
for small or large |x|
.
tfp.substrates.jax.math.log1psquare(
x, name=None
)
For sufficiently large x
we use the following observation:
log(1 + x**2) = 2 log(|x|) + log(1 + 1 / x**2)
--> 2 log(|x|) as x --> inf
Numerically, log(1 + 1 / x**2)
is 0
when 1 / x**2
is small relative to
machine epsilon.
Args | |
---|---|
x
|
Float Tensor input.
|
name
|
Python string indicating the name of the TensorFlow operation.
Default value: 'log1psquare' .
|
Returns | |
---|---|
log1psq
|
Float Tensor representing log(1. + x**2.) .
|