Skip to content

This is the public code repository for "On the Unreasonable Effectiveness of Single Vector Krylov Methods for Low-Rank Approximation"

License

Notifications You must be signed in to change notification settings

RaphaelArkadyMeyerNYU/SingleVectorKrylov

Repository files navigation

Single Vector Krylov

This is the public code repository for On the Unreasonable Effectiveness of Single Vector Krylov Methods for Low-Rank Approximation, a paper by Raphael Meyer, Cameron Musco, and Christopher Musco.

This repo contains Julia code to recreate the paper's experiments, as well as the exact experimental data that generated our plots and the Latex code to generate our exact figures.

Julia Code

All of the code is in single_vec_krylov.jl, which was made to be browsed with Julia for Visual Studio Code. The code will work perfectly fine in other IDEs, but the demarkation between different blocks of code are made for VS Code. The file is well commented, so hopefully everything you need to know is already in that file.

The code does assume that nd3k_SVD.mat, human_gene2_SVD.mat, appu_SVD.mat, and exdata_1_SVD.mat are all stored locally, in the same directory as single_vec_krylov.jl. So if you want to recreate the grid of plots in Figures 1 and 6, be sure to have those files downloaded. You can find the files by searching for nd3k, human_gene_2, appu, and exdata_1 on this webpage and downloading the "MATLAB" file under "SVD Statistics".

Latex Code

We include a folder called exports full of CSVs that contain the exact data we use in the paper. These will be effectively generated by single_vec_krylov.jl, but we did not save the random seed for running these experiments, so we include our data for completeness. We also include the latex used to create our figures. plot_headers.tex is a short headers file to make sure the images use the same pgfplots version and use the same colors. Then, plot_fig_X.tex is the code used to generate Figure X in the paper, where $X \in {1,3,4,5,6,7}$.

About

This is the public code repository for "On the Unreasonable Effectiveness of Single Vector Krylov Methods for Low-Rank Approximation"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published