MATLAB code for Stable Nonconvex Statistical Estimation for Simultaneous Low-rank and Smooth Data.
The package contains the synthetic experiments used in the manuscript, supplementary numerical studies, and real-data demonstrations for images, hyperspectral compressed imaging, traffic time-series imputation, and video background/foreground separation.
- MATLAB R2021a or later.
- Image Processing Toolbox is required by the image examples and several TV-based baselines.
- Manopt and matrix-sensing utilities needed by the simulation scripts are included under
simulations/tools/.
Set MATLAB's Current Folder to the repository root before running the scripts below. Do not recursively add the whole repository to the MATLAB path; each entry script adds only the folders it needs.
sLRMF_code/
├── README.md
├── methods/
│ ├── LRMF.m
│ ├── sLRMF.m
│ ├── synthetic/
│ └── baselines/
├── simulations/
│ ├── demo_test.m
│ ├── main/
│ ├── supplementary/
│ └── tools/
├── applications/
│ ├── README.md
│ ├── image/
│ │ ├── README.md
│ │ ├── data/
│ │ └── methods/
│ ├── hyperspectral/
│ ├── traffic/
│ ├── video/
│ └── shared/
└── results/
├── main/
├── supplementary/
└── applications/
The main figure scripts are in simulations/main/.
| Manuscript result | Script | Main output |
|---|---|---|
| Figure 2(a,b) | figure2_linear_convergence.m |
figure2_errors.pdf, figure2_log_gaps.pdf |
| Figure 3(a) | figure3a_smoothness_dependent_error.m |
figure3a_smoothness_dependent_error.pdf |
| Figure 3(b) | figure3b_smoothness_applications.m |
figure3b_smoothness_applications.pdf |
| Figure 3(c) | figure3c_smoothness_other_methods.m |
figure3c_smoothness_other_methods.pdf |
| Figure 4 | figure4_oracle_scaling.m |
figure4_oracle_scaling.pdf |
Example:
run('simulations/main/figure3a_smoothness_dependent_error.m');
run('simulations/main/figure3b_smoothness_applications.m');
run('simulations/main/figure3c_smoothness_other_methods.m');Each Figure 3 script saves both the plotted figure and its numerical results under results/main/. Experiment parameters and Monte Carlo repetition counts are defined near the top of each script.
See simulations/supplementary/README.md. The supplementary folders contain:
- convergence experiments for sensing, completion, and robust PCA;
- smoothness-dependent errors in multiple norms;
- norm-specific effective-smoothness experiments;
- regularization studies and experiments associated with Theorems 6 and 7.
Outputs are written to results/supplementary/.
run('applications/image/demo_image_denoising.m');
run('applications/image/demo_image_sensing.m');
run('applications/image/demo_image_inpainting.m');
run('applications/image/demo_image_outlier_removal.m');Three sample images are included under applications/image/data/. These scripts are single-image demonstrations; they are not the full BSD300 batch aggregation reported in the manuscript.
run('applications/hyperspectral/demo_hsi_compressed_imaging.m');
run('applications/traffic/demo_traffic_time_series_imputation.m');
run('applications/video/demo_video_background_modeling.m');The HSI and traffic datasets are not redistributed because of their size; download and preparation instructions are provided in the corresponding data/README.md files. A 20-frame airport video example and foreground mask are included in applications/video/data/ so that the video workflow can be run directly.
See applications/README.md for the application-to-manuscript mapping and output locations.
Running a script writes results under results/; files with matching names are overwritten. Most scripts save PDF figures and MAT files, and some application runners also save CSV summaries and PNG previews.
The included third-party Manopt and sensing utilities retain their original license and author notices.