Distribution#
- class cuqi.distribution.Distribution(name=None, geometry=None, is_symmetric=None)[source]#
- Abstract Base Class for Distributions. - Handles functionality for pdf evaluation, sampling, geometries and conditioning. - Parameters:
- name (str, default None) – Name of distribution. 
- geometry (Geometry, default _DefaultGeometry (or None)) – Geometry of distribution. 
- is_symmetric (bool, default None) – Indicator if distribution is symmetric. 
 
 - Notes - A distribution can be conditional if one or more mutable variables are unspecified. A mutable variable can be unspecified in one of two ways: - The variable is set to None. 
- The variable is set to a callable function with non-default arguments. 
 - The conditioning variables of a conditional distribution are then defined to be the mutable variable itself (in case 1) or the parameters to the callable function (in case 2). - __init__(name=None, geometry=None, is_symmetric=None)[source]#
- Initialize the core properties of the distribution. - Parameters:
- name (str, default None) – Name of distribution. 
- geometry (Geometry, default _DefaultGeometry (or None)) – Geometry of distribution. 
- is_symmetric (bool, default None) – Indicator if distribution is symmetric. 
 
 
 - Methods - __init__([name, geometry, is_symmetric])- Initialize the core properties of the distribution. - Disable finite difference approximation for logd gradient. - enable_FD([epsilon])- Enable finite difference approximation for logd gradient. - Return the conditioning variables of this distribution (if any). - Return any public variable that is mutable (attribute or property) except those in the ignore_vars list - Returns the names of the parameters that the density can be evaluated at or conditioned on. - gradient(*args, **kwargs)- Returns the gradient of the log density at x. - logd(*args, **kwargs)- Evaluate the un-normalized log density function of the distribution. - logpdf(x)- Evaluate the log probability density function of the distribution. - pdf(x)- Evaluate the log probability density function of the distribution. - sample([N])- Sample from the distribution. - to_likelihood(data)- Convert conditional distribution to a likelihood function given observed data - Attributes - Returns True if finite difference approximation of the logd gradient is enabled. - Spacing for the finite difference approximation of the logd gradient. - Return the dimension of the distribution based on the geometry. - Return the geometry of the distribution. - Returns True if instance (self) is a conditional distribution. - Name of the random variable associated with the density. - Return a random variable object representing the distribution. 
