Software Packages
densub: ADMM for the DENsest SUBmatrix problem
Software for solving the densest subgraph and submatrix problems and for performing the numerical simulations found in the manuscript:
- P. Bombina and B. Ames. Convex optimization for the densest subgraph and densest submatrix problems.
- densub: ADMM algorithm for our relaxation of the densest subgraph and submatrix problems.
- mat_shrink: soft-threholding operator applied to vector of singular values (used in X-update step of densub).
- plantedsubmatrix: samples random matrix from the planted submatrix model.
- densubDEMO: demonstration script illustrating usage of all other files.
|
|
Monthly and total R package downloads as of 9/3/2020.
Download statistics calculated using cranlogs.r-pkg.org |
accSDA: proximal gradient methods for sparse optimal scoring discriminant analysis
Matlab and R packages for accelerated sparse discriminant analysis (accSDA) and for performing the numerical simulations in
The Matlab implementation of accSDA can be obtained from the github repository github.com/gumeo/accSDA_matlab.
- S. Atkins, G. Einarsson, L. Clemmensen, and B. Ames. Proximal methods for sparse optimal scoring and discriminant analysis. Preprint available from https://arxiv.org/pdf/1705.07194.
The Matlab implementation of accSDA can be obtained from the github repository github.com/gumeo/accSDA_matlab.
|
|
Monthly and total R package downloads as of 9/3/2020.
Download statistics calculated using cranlogs.r-pkg.org |
SZVD: ADMM for sparse zero-variance discriminant analysis
Matlab and R code for sparse zero-variance discriminant analysis and performing the numerical simulations in
- B. Ames and M. Hong. Alternating direction method of multipliers for sparse zero-variance discriminant analysis and principal component analysis.
- SZVD.m: Sparse Zero-Variance Discriminant analysis heuristic for performing high-dimensional linear discriminant analysis.
- SZVD_Val.m: SZVD with validation to choose the tuning parameter controlling the sparsity-inducing penalty.
- SZVD_ADMM.m: alternating direction method of multipliers heuristic for identifying each discriminant vector in SZVD and SZVD_Val.
- test_ZVD.m: applies nearest centroid classification using the discriminant vectors given by SZVD and/or SZVD_Val.
- vec_shrink.m: soft thresholding operator used by SZVD_ADMM.
- ZVD.m: performs classical zero-variance discriminant analysis (without penalization).
- sparseZVD2.R: contains R versions of SZVD, SZVD_Val, SZVD_ADMM, test_ZVD, vec_shrink, and ZVD.
- make_synthetic_data.R: generates synthetic data sets for testing performance as described in the paper.
ADMM for the Densest k-subgraph problem
Matlab code for performing the numerical simulations in
- B. Ames. Guaranteed Recovery of Planted Cliques and Dense Subgraphs by Convex Relaxation. Submitted for publication 2013.
- DKS_ADMM2.m: alternating direction method of multipliers solver for the nuclear-norm plus l1-relaxation of the densest k-subgraph problem given in the paper.
- planted_dks.m: generates adjacency matrix of a graph containing a planted clique of desired size and noise level.
- DBKS_ADMM2.m, planted_dbks.m: same as above but for the bipartite k-subgraph problem.
ADMM for the Planted cluster and bicluster problems
Matlab code for performing the numerical simulations in
- B. Ames. Guaranteed clustering and biclustering via semidefinite programming. Mathematical Programming. 147(1-2): 429-465, 2014
- Cluster_ADMM and Bicluster_ADMM: code for solving our SDP relaxations using the alternating direction method of multipliers.
- gen_clustersizes.m, planted_kdb.m, planted_kdc.m, planted_wkdb.m, and planted_wkdc.m: code for generating test instances.
SDPNAL and CVX code for the Planted k-disjoint clique problem
Matlab code for performing the numerical simulations in
- B. Ames and S. Vavasis. Convex optimization for the planted k-disjoint-clique-problem. Mathematical Programming. 147(1-2): 429-465, 2014
Disclaimer
All software provided is experimental research software and is not intended or designed to be otherwise. If you manage to find an error or bug in the code, please let me know.