Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This set of Matlab codes reproduce the figures and experimental results published in our paper:

A Geometric Analysis of Phase Retrieval.
Ju Sun, Qing Qu, John Wright.

  • Folder grad_heuristic: to reproduce the results in Figure 1. Run test_gd.m to start.
  • Folder landscape: to reproduce Figure 2 and Figure 5.
  • Folder simulation: to reproduce the plot in Figure 4, as well as the comparison of TRM with gradient descent on an Columbia campus image (columbiacampus.jpg).
    • Run test_real.m to start the real image experiments; try to tune the TRM parameters by setting the options before calling the TRM (the gradient descent algorithm converges very slowly -- we set a high error tolerance to allow early stopping; the reference parameter setting for TRM is very conservative)
    • Run test_geometry.m to start the geometry test as described in Fig. 4.

Note that the TRM implementation is based on the Manopt package, with changes to the conjugate gradient routine. The changes are contained in the file:


Compared to tCG.m which is originally called by trustregions.m, the modified version explicitly checks for presence of negative curvature(s) when the gradient is small; if present, the negative curvature direction is used as the initial search direction for the (truncated) conjugate gradient algorithm. With this modification, ridable saddle points can be properly skipped.

Codes written by Ju Sun, Qing Qu, and John Wright. For questions or bug reports please send email to Ju Sun,

Thanks to bug reporters:


Geometric analysis of phase retrieval with iid complex Gaussian measurements



No releases published


No packages published


You can’t perform that action at this time.