Skip to content

Matlab code for Structured PCA with OAMP

Notifications You must be signed in to change notification settings

LeiLiu-s-Lab/OAMP_2405-18081_Songbin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OAMP(Orthogonal Approximate Message Passing)

Matlab code for Optimality of Approximate Message Passing Algorithms for Spiked Matrix Models with Rotationally Invariant Noise.

References

The BAMP algorithms and Replica results are implemented base on the following papers

Content

OAMP_demo: A MATLAB Live Script that implements the OAMP algorithm with both optimal Resolvent and polynomial estimators.

OAMP

  • OAMP.m: Optimal orthogonal message passing algorithm with Resolvent estimator
  • OAMP_SE_FP: Solves Fixed points of SE and calculates corresponding free energy
  • OAMP_Poly: Orthogonal message passing algorithm with Polynomial estimator

Universality

  • OAMP_realcov_art_signal.m: Orthogonal message passing algorithm with Polynomial estimator for artificial signal and noise from real data.
  • Real data are generated following the methodology described in Empirical Bayes PCA in high dimensions

BAMP

BAMP code is based on Structured-PCA-

  • BAMP_quartic.m/BAMP_sestic.m: Implements the BAMP algorithm for quartic/sestic potential with Rademacher prior, sparse Rademacher prior, and 2-Point prior.
  • BAMP_SE_quartic.m/BAMP_SE_quartic_2Points: State evolution of BAMP with quartic potential for sparse Rademacher prior/2-Point prior.
  • BAMP_SE_sestic.m/BAMP_SE_sestic_2Points: State evolution of BAMP with sestic potential for Rademacher prior/2-Point prior.

Replica PCA

Replica code is based on Structured-PCA-

data

density_freecum.m/density_freecum_power6.m: Generates free cumulants of quartic/sestic potential. This code is from Structured-PCA-

About

Matlab code for Structured PCA with OAMP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • MATLAB 100.0%