RegularizedUnboundedUniform#

class cuqi.implicitprior.RegularizedUnboundedUniform(geometry, proximal=None, projector=None, constraint=None, regularization=None, **kwargs)#

Implicit Regularized Unbounded Uniform.

Defines a so-called implicit prior with implicit regularization on a Gaussian distribution with zero precision. The regularization can be defined in the form of a proximal operator or a projector. Alternatively, preset constraints and regularization can be used.

For regularization of the form f(x), provide a single proximal operator.

Can be used as a prior in a posterior which can be sampled with the RegularizedLinearRTO sampler.

Alias for RegularizedGaussian with zero mean and zero sqrtprec.

For more details on implicit regularized Gaussian see the following paper:

[1] Everink, Jasper M., Yiqiu Dong, and Martin S. Andersen. “Sparse Bayesian inference with regularized Gaussian distributions.” Inverse Problems 39.11 (2023): 115004.

Parameters:
  • geometry (Geometry or integer) – The geometry of the underlying variable. Defines the dimension of the distribution.

  • proximal (callable f(x, scale) or None) – Euclidean proximal operator f of the regularization function g, that is, a solver for the optimization problem min_z 0.5||x-z||_2^2+scale*g(x).

  • projector (callable f(x) or None) – Euclidean projection onto the constraint C, that is, a solver for the optimization problem min_(z in C) 0.5||x-z||_2^2.

  • constraint (string or None) –

    Preset constraints. Can be set to “nonnegativity” and “box”. Required for use in Gibbs. For “box”, the following additional parameters can be passed: lower_bound : array_like or None

    Lower bound of box, defaults to zero

    upper_boundarray_like

    Upper bound of box, defaults to one

  • regularization (string or None) –

    Preset regularization. Can be set to “l1”. Required for use in Gibbs in future update. For “l1”, the following additional parameters can be passed: strength : scalar

    Regularization parameter, i.e., strength*||x||_1 , defaults to one

__init__(geometry, proximal=None, projector=None, constraint=None, regularization=None, **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__(geometry[, proximal, projector, ...])

Initialize the core properties of the distribution.

constraint_options()

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.

regularization_options()

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.

cov

dim

Return the dimension of the distribution based on the geometry.

gaussian

geometry

Return the geometry of the distribution.

is_cond

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

mean

name

Name of the random variable associated with the density.

prec

preset

proximal

sqrtcov

sqrtprec