[null,null,["Last updated 2023-11-21 UTC."],[],[],null,["# tfp.substrates.numpy.vi.dual_csiszar_function\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#L764-L809) |\n\nCalculates the dual Csiszar-function in log-space.\n\n#### View aliases\n\n\n**Main aliases**\n\n[`tfp.experimental.substrates.numpy.vi.dual_csiszar_function`](https://www.tensorflow.org/probability/api_docs/python/tfp/substrates/numpy/vi/dual_csiszar_function)\n\n\u003cbr /\u003e\n\n tfp.substrates.numpy.vi.dual_csiszar_function(\n logu, csiszar_function, name=None\n )\n\nA Csiszar-function is a member of, \n\n F = { f:R_+ to R : f convex }.\n\nThe Csiszar-dual is defined as: \n\n f^*(u) = u f(1 / u)\n\nwhere `f` is some other Csiszar-function.\n\nFor example, the dual of `kl_reverse` is `kl_forward`, i.e., \n\n f(u) = -log(u)\n f^*(u) = u f(1 / u) = -u log(1 / u) = u log(u)\n\nThe dual of the dual is the original function: \n\n f^**(u) = {u f(1/u)}^*(u) = u (1/u) f(1/(1/u)) = f(u)\n\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| `csiszar_function` | Python `callable` representing a Csiszar-function over log-domain. |\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| `dual_f_of_u` | `float`-like `Tensor` of the result of calculating the dual of `f` at `u = exp(logu)`. |\n\n\u003cbr /\u003e"]]