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]

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. 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]

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. mean (ndarray) – The computed output channel mean. variance (ndarray) – The computed output channel variance.