View source on GitHub |
Difference of arctan(x) and arctan(y).
tfp.substrates.jax.math.atan_difference(
x, y, name=None
)
Computes arctan(x) - arctan(y) avoiding catastrophic cancellation. This is by resorting to the identity:
arctan(x) - arctan(y) = arctan((x - y) / (1 + x * y)) +
pi * sign(x) * 1_{x * y < -1)
where 1_A
is the indicator function on the set A
.
For a derivation of this fact, see [1].
References
[1] De Stefano, Sum of Arctangents https://sites.google.com/site/micdestefano/mathematics/trigonometry/sum-of-arctangents
Args | |
---|---|
x
|
Floating-point Tensor. Should be broadcastable with y .
|
y
|
Floating-point Tensor. Should be broadcastable with x .
|
name
|
Optional Python str naming the operation.
|
Returns | |
---|---|
z
|
Tensor of same shape and dtype as x and y .
|