.. py:method:: concentration
    :property:

    Return the concentration, aka the alpha parameter, of the distribution.

    Returns
        Tensor, concentration.

.. py:method:: rate
    :property:

    Return the rate, aka the beta parameter, of the distribution.

    Returns
        Tensor, rate.

.. py:method:: cdf(value, concentration, rate)

    Compute the cumulatuve distribution function(CDF) of the given value.

    Parameters
        - **value** (Tensor) - the value to compute.
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the value of the cumulatuve distribution function for the given input.

.. py:method:: cross_entropy(dist, concentration_b, rate_b, concentration, rate)

    Compute the cross entropy of two distribution.

    Parameters
        - **dist** (str) - the type of the other distribution.
        - **concentration_b** (Tensor) - the alpha parameter of the other distribution. 
        - **rate_b** (Tensor) - the beta parameter of the other distribution. 
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the value of the cross entropy.

.. py:method:: entropy(concentration, rate)

    Compute the value of the entropy.

    Parameters
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the value of the entropy.

.. py:method:: kl_loss(dist, concentration_b, rate_b, concentration, rate)

    Compute the value of the K-L loss between two distribution, namely KL(a||b).

    Parameters
        - **dist** (str) - the type of the other distribution.
        - **concentration_b** (Tensor) - the alpha parameter of the other distribution. 
        - **rate_b** (Tensor) - the beta parameter of the other distribution.
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the value of the K-L loss.

.. py:method:: log_cdf(value, concentration, rate)

    Compute the log value of the cumulatuve distribution function.

    Parameters
        - **value** (Tensor) - the value to compute.
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the log value of the cumulatuve distribution function.

.. py:method:: log_prob(value, concentration, rate)

    the log value of the probability.

    Parameters
        - **value** (Tensor) - the value to compute.
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the log value of the probability.

.. py:method:: log_survival(value, concentration, rate)

    Compute the log value of the survival function.

    Parameters
        - **value** (Tensor) - the value to compute.
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the value of the K-L loss.

.. py:method:: mean(concentration, rate)

    Compute the mean value of the distribution.

    Parameters
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the mean of the distribution.

.. py:method:: mode(concentration, rate)

    Compute the mode value of the distribution.

    Parameters
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the mode of the distribution.

.. py:method:: prob(value, concentration, rate)

    The probability of the given value. For the continuous distribution, it is the probability density function.

    Parameters
        - **value** (Tensor) - the value to compute.
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the value of the probability.

.. py:method:: sample(shape, concentration, rate)

    Generate samples.

    Parameters
        - **shape** (tuple) - the shape of the sample.
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the sample following the distribution.

.. py:method:: sd(concentration, rate)

    The standard deviation.

    Parameters
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the standard deviation of the distribution.

.. py:method:: survival_function(value, concentration, rate)

    Compute the value of the survival function.

    Parameters
        - **value** (Tensor) - the value to compute.
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the value of the survival function.

.. py:method:: var(concentration, rate)

    Compute the variance of the distribution.

    Parameters
        - **concentration** (Tensor) - the alpha parameter of the distribution. Default: ``None`` .
        - **rate** (Tensor) - the beta parameter of the distribution. Default: ``None`` .

    Returns
        Tensor, the variance of the distribution.
