class_docstr: Compute `Y = g(X) = (1 + X * c)**(1 / c), X >= -1 / c`.
  
  The [power transform](https://en.wikipedia.org/wiki/Power_transform) maps
  inputs from `[0, inf]` to `[-1/c, inf]`; this is equivalent to the `inverse`
  of this bijector.
  
  This bijector is equivalent to the `Exp` bijector when `c=0`.
class_docstr_tok: ["Compute","`","Y","=","g","(","X",")","=","(","1","+","X","*","c",")","*","*","(","1","\/","c",")",",","X",">","=","-1","\/","c","`",".","The","[","power","transform","]","(","https",":","\/\/en.wikipedia.org\/wiki\/Power_transform",")","maps","inputs","from","`","[","0",",","inf","]","`","to","`","[","-1\/c",",","inf","]","`",";","this","is","equivalent","to","the","`","inverse","`","of","this","bijector",".","This","bijector","is","equivalent","to","the","`","Exp","`","bijector","when","`","c=0","`","."]
docstr: Instantiates the `PowerTransform` bijector.
  
  Args:
    power: Python `float` scalar indicating the transform power, i.e.,
      `Y = g(X) = (1 + X * c)**(1 / c)` where `c` is the `power`.
    validate_args: Python `bool` indicating whether arguments should be
      checked for correctness.
    parameters: Locals dict captured by subclass constructor, to be used for
      copy/slice re-instantiation operators.
    name: Python `str` name given to ops managed by this object.
  
  Raises:
    ValueError: if `power < 0` or is not known statically.
docstr_tok: ["Instantiates","the","`","PowerTransform","`","bijector",".","Args",":","power",":","Python","`","float","`","scalar","indicating","the","transform","power",",","i.e.",",","`","Y","=","g","(","X",")","=","(","1","+","X","*","c",")","*","*","(","1","\/","c",")","`","where","`","c","`","is","the","`","power","`",".","validate_args",":","Python","`","bool","`","indicating","whether","arguments","should","be","checked","for","correctness",".","parameters",":","Locals","dict","captured","by","subclass","constructor",",","to","be","used","for","copy\/slice","re-instantiation","operators",".","name",":","Python","`","str","`","name","given","to","ops","managed","by","this","object",".","Raises",":","ValueError",":","if","`","power","<","0","`","or","is","not","known","statically","."]
code: def __init__(
      self,
      power=0.0,
      validate_args=False,
      parameters=None,
      name="power_transform",
  ):
      """Instantiates the `PowerTransform` bijector.
  
      Args:
        power: Python `float` scalar indicating the transform power, i.e.,
          `Y = g(X) = (1 + X * c)**(1 / c)` where `c` is the `power`.
        validate_args: Python `bool` indicating whether arguments should be
          checked for correctness.
        parameters: Locals dict captured by subclass constructor, to be used for
          copy/slice re-instantiation operators.
        name: Python `str` name given to ops managed by this object.
  
      Raises:
        ValueError: if `power < 0` or is not known statically.
      """
      parameters = dict(locals()) if parameters is None else parameters
      with tf.name_scope(name) as name:
          power = tf.get_static_value(ps.constant(power, name="power"))
          if power is None or power < 0:
              raise ValueError(
                  "`power` must be a non-negative TF constant."
              )
          self._power = power
          super(PowerTransform, self).__init__(
              forward_min_event_ndims=0,
              validate_args=validate_args,
              parameters=parameters,
              name=name,
          )
  
file_path: probability/tensorflow_probability/python/bijectors/power_transform.py
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import prefer_static
label_desc: Use image node_id 1 to create a new PowerTransform object from inherited base classes: bijector, bijector with example: obj = PowerTransform(power, validate_args, parameters, name)