Publicly Available Code
- Phase Retrieval Codes
Several Matlab scripts for solving phase retrieval problems are available below. These include:
- BlockPR solves phase retrieval problems in near-linear time using windowed measurement masks. For details see "Fast Phase Retrieval from Local Correlation Measurements", "Phase Retrieval from Local Measurements: Improved Robustness via Eigenvector-Based Angular Synchronization", and/or "Inverting Spectrogram Measurements via Aliased Wigner Distribution Deconvolution and Angular Synchronization".
- PhaseLift+BP for solving the sparse phase retrieval problem with a near-optimal number of measurements. For details on this simple technique, see "Robust Sparse Phase Retrieval Made Easy".
- Michigan State University's Sparse FFT Repository
Several C and C++ codes developed by faculty at Michigan State are available here. Included is:
- DMSFT, implemented by Ruochuan Zhang, which was introduced in "A New Class of Fully Discrete Sparse Fourier Transforms: Faster Stable Implementations with Guarantees". If you use DMSFT for your paper, please cite the paper above. The code for CLW-DSFT also evaluated therein is available here.
- AAFFT, implemented by Mark Iwen, which was empirically evaluated in "Empirical Evaluation of a Sub-Linear Time Sparse DFT Algorithm". If you use AAFFT for your paper, please cite the empirical evaluation above.
- GFFT, implemented by Ben Segal, which was empirically evaluated in "Improved Sparse Fourier Approximation Results: Faster Implementations and Stronger Guarantees". This code is also available here. If you use GFFT for your research, please cite Ben's paper.
- MSFFT, implemented by David Lawlor and Bosu Choi, which was empirically evaluated in "A Multiscale Sub-linear Time Fourier Algorithm for Noisy Data". If you use this code, please cite David's paper.
- Sparse Legendre Expansion Code (uses AAFFT)
The code for computing sparse Legendre expansions tested in Section 5 of "Rapidly Computing Sparse Legendre Expansions via Sparse Fourier Transforms" is available here. This code was implemented by Janice Hu. If you use this code, please cite this paper.
- Fast Fourier Transforms for Structured Sparsity
The code evaluated in "A Deterministic Sparse FFT for Functions with Structured Fourier Sparsity" is available here. This code was implemented by Ruochuan Zhang and Sina Bittens.
- Deterministic Construction of Multiple Rank-1 Lattices
The code evaluated in "A Deterministic Algorithm for Constructing Multiple Rank-1 Lattices of Near-Optimal Size" is available here. For an index of the contents of the compressed file see MultipleRank1Lattice_index.html in the uncompressed code directory. This code was implemented and collated by Toni Volkmer and Craig Gross.
- Optimal Generation of GFFT Matrices
Code that generates the linear integer programs solved with CPLEX in Section 7 of "On the Design of Deterministic Matrices for Fast Recovery of Fourier Compressible Functions" is available here. This code was implemented by James Bailey.
- SHT: Sparse Harmonic Transforms for Functions of Many Variables
There are two versions of SHT code at present. They are:
- SHT version 1.0: The code used to perform all experiments in "Sparse Harmonic Transforms: A New Class of Sublinear-time Algorithms for Learning Functions of Many Variables" is available here. This code was implemented by Bosu Choi.
- SHT version 2.0: The code for all experiments in Section 5 of "Sparse Harmonic Transforms II: Best s-Term Approximation Guarantees for Bounded Orthonormal Product Bases in Sublinear-Time" is available here. This code was implemented by Toni Volkmer. If you use this code, please cite this paper.
- Distributed and Incremental SVD Code
The code used to perform all experiments in "A Distributed and Incremental SVD Algorithm for Agglomerative Data Analysis on Large Networks" is available here. This code was implemented by B.W. Ong.
- Improved Fourier Reconstruction of Piecewise Smooth Functions
The code used to perform all experiments in "Edge-Augmented Fourier Partial Sums with Applications to Magnetic Resonance Imaging (MRI)" is available here. This code was implemented by Aditya Viswanathan.