Includes code used to produce all figures in "Approximate Message Passing with Rigorous Guarantees for Pooled Data and Quantitative Group Testing" by Nelvin Tan, Pablo Pascual Cobo, Jonathan Scarlett and Ramji Venkataramanan - https://arxiv.org/abs/2309.15507.
All plots are generated using Python files.
In order to run the files, the following Python libraries are required: numpy, scipy, math, numba, cvxpy and matplotlib. In addition, library tikzplotlib can be used to generate tikz files corresponding to each of the plots.
Includes functions for matrix creation and transformations, as well as the denoising function, state evolution (SE) and approximate message passing (AMP) for pooled data testing. This script also includes functions to implement linear programming (LP), convex optimization (CVX) and iterative hard thresholding (IHT).
Includes functions for matrix and vector creation and transformations, as well as the denoising function and approximate message passing (AMP) for quantitative group testing (QGT). This script also includes functions to implement linear programming (LP) for QGT.
Includes functions to compute the corresponding state evolution (SE) to AMP QGT.
Includes output function
Generates plots for AMP for noiseless pooled data in Fig. 1a (L=2) and Fig. 1b (L=3).
Generates AMP vs CVX, IHT plots for pooled data testing in Fig. 2a (
Generates plots for AMP for pooled data under different Gaussian noise levels in Fig. 3a (L=2) and Fig. 3b (L=3), as well as plot for pooled data with mismatched proportions
Generates FPR vs FNR plots for QGT AMP and State Evolution in Fig. 5.
Generates plots for AMP and LP QGT correlation with defective probabilities
Generates plots for AMP and LP QGT FPR vs FNR with defective probabilities
Generates plots for QGT under uniform noise
Generates FPR vs FNR plot for QGT under uniform noise
Generates correlation plots for AMP and LP QGT with uniform noise, with defective probabilities
Generates FPR vs FNR plots for AMP and LP QGT with uniform noise, with defective probabilities