[null,null,["Last updated 2023-11-21 UTC."],[],[],null,["# tfp.substrates.numpy.vi.jeffreys\n\n\u003cbr /\u003e\n\n|------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/probability/blob/v0.23.0/tensorflow_probability/substrates/numpy/vi/csiszar_divergence.py#L650-L685) |\n\nThe Jeffreys Csiszar-function in log-space.\n\n#### View aliases\n\n\n**Main aliases**\n\n[`tfp.experimental.substrates.numpy.vi.jeffreys`](https://www.tensorflow.org/probability/api_docs/python/tfp/substrates/numpy/vi/jeffreys)\n\n\u003cbr /\u003e\n\n tfp.substrates.numpy.vi.jeffreys(\n logu, name=None\n )\n\nA Csiszar-function is a member of, \n\n F = { f:R_+ to R : f convex }.\n\nThe Jeffreys Csiszar-function is: \n\n f(u) = 0.5 ( u log(u) - log(u) )\n = 0.5 kl_forward + 0.5 kl_reverse\n = symmetrized_csiszar_function(kl_reverse)\n = symmetrized_csiszar_function(kl_forward)\n\nThis Csiszar-function induces a symmetric f-Divergence, i.e.,\n`D_f[p, q] = D_f[q, p]`.\n| **Warning:** this function makes non-log-space calculations and may therefore be numerically unstable for `|logu| \u003e\u003e 0`.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|--------|-------------------------------------------------------------|\n| `logu` | `float`-like `Tensor` representing `log(u)` from above. |\n| `name` | Python `str` name prefixed to Ops created by this function. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|-----------------|-----------------------------------------------------------------------------|\n| `jeffreys_of_u` | `float`-like `Tensor` of the Csiszar-function evaluated at `u = exp(logu)`. |\n\n\u003cbr /\u003e"]]