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: softthreholding operator applied to vector of singular values (used in Xupdate 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.rpkg.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.rpkg.org 
SZVD: ADMM for sparse zerovariance discriminant analysis
Matlab and R code for sparse zerovariance discriminant analysis and performing the numerical simulations in
 B. Ames and M. Hong. Alternating direction method of multipliers for sparse zerovariance discriminant analysis and principal component analysis.
 SZVD.m: Sparse ZeroVariance Discriminant analysis heuristic for performing highdimensional linear discriminant analysis.
 SZVD_Val.m: SZVD with validation to choose the tuning parameter controlling the sparsityinducing 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 zerovariance 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 ksubgraph 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 nuclearnorm plus l1relaxation of the densest ksubgraph 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 ksubgraph 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(12): 429465, 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 kdisjoint clique problem
Matlab code for performing the numerical simulations in
 B. Ames and S. Vavasis. Convex optimization for the planted kdisjointcliqueproblem. Mathematical Programming. 147(12): 429465, 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.