class_docstr: Noncentral Chi2 distribution.
  
  The Noncentral Chi2 distribution is defined over positive real numbers using a
  degrees of freedom ('df') and a noncentrality parameter.
  
  The Noncentral Chi2 arises as the distribution of the squared Euclidean norm
  of a 'df'-dimensional multivariate Gaussian distribution with mean vector
  'mu' and identity covariance. The noncentrality parameter is given by the
  squared Euclidean norm of the mean vector 'mu'.
  
  #### Mathematical Details
  
  The probability density function (pdf) is
  
  ```none
  pdf(x; df, nc, x > 0)
    = 0.5 * (x/nc)**(df/4 - 1/2) * exp(-(x + nc)/2) * I_{k/2 - 1}(sqrt(nc * x))
  ```
  
  where:
  
  * `df` denotes the degrees of freedom,
  * `nc` denotes the noncentrality
  * `I_{a}` is the modified Bessel function of the first kind of order `a`.
class_docstr_tok: ["Noncentral","Chi2","distribution",".","The","Noncentral","Chi2","distribution","is","defined","over","positive","real","numbers","using","a","degrees","of","freedom","(","'df","'",")","and","a","noncentrality","parameter",".","The","Noncentral","Chi2","arises","as","the","distribution","of","the","squared","Euclidean","norm","of","a","'df'-dimensional","multivariate","Gaussian","distribution","with","mean","vector","'mu","'","and","identity","covariance",".","The","noncentrality","parameter","is","given","by","the","squared","Euclidean","norm","of","the","mean","vector","'mu","'",".","#","#","#","#","Mathematical","Details","The","probability","density","function","(","pdf",")","is","``","`","none","pdf","(","x",";","df",",","nc",",","x",">","0",")","=","0.5","*","(","x\/nc",")","*","*","(","df\/4","-","1\/2",")","*","exp","(","-","(","x","+","nc",")","\/2",")","*","I_","{","k\/2","-","1","}","(","sqrt","(","nc","*","x",")",")","``","`","where",":","*","`","df","`","denotes","the","degrees","of","freedom",",","*","`","nc","`","denotes","the","noncentrality","*","`","I_","{","a","}","`","is","the","modified","Bessel","function","of","the","first","kind","of","order","`","a","`","."]
docstr: Construct noncentral Chi2 distributions with parameter `df` and `noncentrality`.
  
  Args:
    df: Floating point tensor, the degrees of freedom of the distribution(s).
      `df` must contain only positive values.
    noncentrality: Floating point tensor, the noncentrality of the
      distribution(s). `noncentrality` must contain only positive values.
    validate_args: Python `bool`, default `False`. When `True` distribution
      parameters are checked for validity despite possibly degrading runtime
      performance. When `False` invalid inputs may silently render incorrect
      outputs.
    allow_nan_stats: Python `bool`, default `True`. When `True`, statistics
      (e.g., mean, mode, variance) use the value '`NaN`' to indicate the
      result is undefined. When `False`, an exception is raised if one or more
      of the statistic's batch members are undefined.
    name: Python `str` name prefixed to Ops created by this class.
docstr_tok: ["Construct","noncentral","Chi2","distributions","with","parameter","`","df","`","and","`","noncentrality","`",".","Args",":","df",":","Floating","point","tensor",",","the","degrees","of","freedom","of","the","distribution","(","s",")",".","`","df","`","must","contain","only","positive","values",".","noncentrality",":","Floating","point","tensor",",","the","noncentrality","of","the","distribution","(","s",")",".","`","noncentrality","`","must","contain","only","positive","values",".","validate_args",":","Python","`","bool","`",",","default","`","False","`",".","When","`","True","`","distribution","parameters","are","checked","for","validity","despite","possibly","degrading","runtime","performance",".","When","`","False","`","invalid","inputs","may","silently","render","incorrect","outputs",".","allow_nan_stats",":","Python","`","bool","`",",","default","`","True","`",".","When","`","True","`",",","statistics","(","e.g.",",","mean",",","mode",",","variance",")","use","the","value","'","`","NaN","`","'","to","indicate","the","result","is","undefined",".","When","`","False","`",",","an","exception","is","raised","if","one","or","more","of","the","statistic","'s","batch","members","are","undefined",".","name",":","Python","`","str","`","name","prefixed","to","Ops","created","by","this","class","."]
code: def __init__(
      self,
      df,
      noncentrality,
      validate_args=False,
      allow_nan_stats=True,
      name="NoncentralChi2",
  ):
      """Construct noncentral Chi2 distributions with parameter `df` and `noncentrality`.
  
      Args:
        df: Floating point tensor, the degrees of freedom of the distribution(s).
          `df` must contain only positive values.
        noncentrality: Floating point tensor, the noncentrality of the
          distribution(s). `noncentrality` must contain only positive values.
        validate_args: Python `bool`, default `False`. When `True` distribution
          parameters are checked for validity despite possibly degrading runtime
          performance. When `False` invalid inputs may silently render incorrect
          outputs.
        allow_nan_stats: Python `bool`, default `True`. When `True`, statistics
          (e.g., mean, mode, variance) use the value '`NaN`' to indicate the
          result is undefined. When `False`, an exception is raised if one or more
          of the statistic's batch members are undefined.
        name: Python `str` name prefixed to Ops created by this class.
      """
      parameters = dict(locals())
  
      with tf.name_scope(name) as name:
          dtype = dtype_util.common_dtype(
              [df, noncentrality], dtype_hint=tf.float32
          )
          self._df = tensor_util.convert_nonref_to_tensor(
              df, name="df", dtype=dtype
          )
          self._noncentrality = tensor_util.convert_nonref_to_tensor(
              noncentrality, name="noncentrality", dtype=dtype
          )
          super().__init__(
              dtype=dtype,
              reparameterization_type=reparameterization.NOT_REPARAMETERIZED,
              validate_args=validate_args,
              allow_nan_stats=allow_nan_stats,
              parameters=parameters,
              name=name,
          )
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import chi2
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import gamma
  from tensorflow_probability.python.distributions import poisson
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import custom_gradient
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import reparameterization
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import special_math
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.math import bessel
  from tensorflow_probability.python.math import generic
  from tensorflow_probability.python.math import root_search
  import tensorflow_probability.python.random
label_desc: Use image node_id 1 to create a new NoncentralChi2 object from inherited base classes: distribution with example: obj = NoncentralChi2(df, noncentrality, validate_args, allow_nan_stats, name)