First run
	CreateData_PhaseRetrieval.m
	CreateData_MaxCut.m
	CreateData_NoisyLowRank_Nystrom.m
These three scripts draw random instances from the given matrix classes and save
these instances as datasets. Test files will automatically load and use them once the datasets are created. 

There are two alternative ways to run the tests. To run them in cluster using 
the MATLAB parallel computing toolbox, you can use MAIN_CLUSTER script. 
For this, you should copy the complete set of codes, including the datasets 
into a folder in your cluster. You should also modify the line 138 of 
MAIN_CLUSTER accordingly. Once you run this script, it will batch the 
experiments using MATLAB SLURM interface. Once the experiments are finished, 
download the results to your local machine.

If you do not have access to a cluster, you can run the tests in your local 
machine, however this can take some time. You might want to decrease the number of Monte Carlo simulations for this case. 

Once the experiments are finished, you can generate the figures in the paper 
by running files "Plot_Figure_*.m".

This toolbox uses some scripts copied (and possibly modified) from PRACTICALSKETCHING toolbox developed in [TYUC2017P].
	
NOTE: You should run and save results for the tests only once. When there are 
more than one set of saved results in results folder, plotting figures would 
give an error. In this case, delete the old results for each set of experiments 
and rerun the plotting script.

See our reference paper [TYUC2017Nys] for more details.

[TYUC2017P] J.A. Tropp, A. Yurtsever, M. Udell and V. Cevher, Practical Sketching Algorithms for Low-Rank Matrix Approximation, Accepted to SIAM J. Matrix Anal. Appl., August 2017.

[TYUC2017Nys] J.A. Tropp, A. Yurtsever, M. Udell and V. Cevher. Fixed-Rank Approximation of a Positive-Semidefinite Matrix from Streaming Data. In Proc. 31st Conference on Neural Information Processing Systems (NIPS), Long Beach, CA, USA, December 2017.

Coded by: Alp Yurtsever
Ecole Polytechnique Federale de Lausanne, Switzerland.
Laboratory for Information and Inference Systems, LIONS.
contact: alp.yurtsever@epfl.ch
Created: August 29, 2016
Last modified: October 24, 2017