magni.cs.reconstruction.gamp.output_channel module

Module providing output channel functions for the Generalised Approximate Message Passing (GAMP) algorithm.

Routine listings

ValidatedMMSEOutputChannel(magni.utils.validation.types.MMSEOutputChannel)
A base class for validated magni.cs.reconstruction.gamp output channels.
AWGN(ValidatedMMSEOutputChannel)
An Additive White Gaussian Noise (AWGN) MMSE output channel.
class magni.cs.reconstruction.gamp.output_channel.ValidatedMMSEOutputChannel(var)[source]

Bases: magni.utils.validation.types.MMSEOutputChannel

A base class for validated magni.cs.reconstruction.gamp output channels.

Parameters:var (dict) – The output channel state variables.
compute(var)[source]

Compute the output channel value.

Parameters:var (dict) – The variables used in computing of the output channel value.
Returns:
  • mean (ndarray) – The computed output channel mean.
  • variance (ndarray) – The computed output channel variance.

Notes

This method honors magni.utils.validation.enable_allow_validate_once.

class magni.cs.reconstruction.gamp.output_channel.AWGN(var)[source]

Bases: magni.cs.reconstruction.gamp.output_channel.ValidatedMMSEOutputChannel

An Additive White Gaussian Noise (AWGN) MMSE output channel.

This channel is based on equations (41), (42), and (43) in [1] and allows for using Expectation Maximization (EM) for learning the channel parameter as detailed in equation (77) in [2] (see also [2] for an introduction to EM for GAMP).

Parameters:
  • sigma_sq (float or int) – The noise level variance (initial noise level when the noise level is estimated).
  • noise_level_estimation (str) – The method used for estimating (learning) the noise level in each iteration.

Notes

The above Parameters are the output channel parameters that must be passed in a var dict to the channel constructor.

Possible values for noise_level_estimation are:

  • ‘sample_variance’ - Estimate noise level using the sample variance.
  • ‘median’ - Estimate noise level from the median.
  • ‘em’ - Estimate noise using Expectation Maximization (EM).
  • ‘fixed’ - Use a fixed noise level in all iterations.

References

[1]S. Rangan, “Generalized Approximate Message Passing for Estimation with Random Linear Mixing”, arXiv:1010.5141v2, pp. 1-22, Aug. 2012.
[2](1, 2) F. Krzakala, M. Mezard, F. Sausset, Y. Sun, and L. Zdeborova, “Probabilistic reconstruction in compressed sensing: algorithms, phase diagrams, and threshold achieving matrices”, Journal of Statistical Mechanics: Theory and Experiment, vol. P08009, pp. 1-57, Aug. 2012.
[3]J. P. Vila and P. Schniter, “Expectation-Maximization Gaussian-Mixture Approximate Message Passing”, IEEE Transactions on Signal Processing, 2013, vol. 61, no. 19, pp. 4658-4672, Oct. 2013.
compute(var)[source]

Compute the AWGN output channel value.

Parameters:var (dict) – The variables used in computing of the output channel value.
Returns:
  • mean (ndarray) – The computed output channel mean.
  • variance (ndarray) – The computed output channel variance.