CMRF#

class cuqi.distribution.CMRF(location=None, scale=None, bc_type='zero', **kwargs)#

Cauchy distribution on the difference between neighboring nodes.

For 1D the Cauchy difference distribution assumes that

\[x_i-x_{i-1} \sim \mathrm{Cauchy}(0, \gamma),\]

where \(\gamma\) is the scale parameter.

For 2D the differences are defined in both horizontal and vertical directions.

It is possible to define boundary conditions using the bc_type parameter.

The location parameter is a shift of the \(\mathbf{x}\).

Parameters:
  • location (scalar or ndarray) – The location parameter of the distribution.

  • scale (scalar) – The scale parameter of the distribution.

  • bc_type (string) – The boundary conditions of the difference operator.

Example

import cuqi
import numpy as np
prior = cuqi.distribution.CMRF(location=np.zeros(128), scale=0.1)
__init__(location=None, scale=None, bc_type='zero', **kwargs)#

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__([location, scale, bc_type])

Initialize the core properties of the distribution.

disable_FD()

Disable finite difference approximation for logd gradient.

enable_FD([epsilon])

Enable finite difference approximation for logd gradient.

get_conditioning_variables()

Return the conditioning variables of this distribution (if any).

get_mutable_variables()

Return any public variable that is mutable (attribute or property) except those in the ignore_vars list

get_parameter_names()

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

FD_enabled

Returns True if finite difference approximation of the logd gradient is enabled.

FD_epsilon

Spacing for the finite difference approximation of the logd gradient.

dim

Return the dimension of the distribution based on the geometry.

geometry

Return the geometry of the distribution.

is_cond

Returns True if instance (self) is a conditional distribution.

location

name

Name of the random variable associated with the density.