BiG-AMP is hosted online as part of the GAMPMATLAB package. The best way to obtain the most current version of the code is to checkout a working copy of the repository from SourceForge using the terminal command:

svn co https://svn.code.sf.net/p/gampmatlab/code gampmatlab

Alternatively, the current version of the code is periodically stored in a zip file and made available for download on the GAMPMATLAB site. The dates on the release notes below correspond to the names of zip files on the site.

## Usage

• Download BiG-AMP or (preferably) checkout the latest version using the svn command above.
• Several folders must be added to the MATLAB path for BiG-AMP to function correctly. The easiest way to add these paths is to run one of the setup_ functions in the /code/examples/BiGAMP folder in the repository.
• Three low-level BiG-AMP codes are provided: BiGAMP, BiGAMP_Lite, and BiGAMP_X2. BiGAMP is the standard algorithm that will be used most frequently. BiGAMP_Lite is a specialized version for matrix completion that makes several assumptions to obtain a very fast code. Finally, BiGAMP_X2 is a variant of BiGAMP that can handle the case where a submatrix of $$\textbf{A}$$ is known. See our Publications for details on these methods.
• Many users will not need to call these low-level functions directly. They can instead use EMBiGAMP_MC, EMBiGAMP_RPCA, and EMBiGAMP_DL to run EM-BiG-AMP on problems in matrix completion, robust PCA, and dictionary learning, respectively.
• Simple examples illustrating the use of these codes are provided on the Examples page, along with more complex examples that run comparisons like those found in our arXiv submission. The code for these examples can be found in the repostory in the /code/examples/BiGAMP folder.

## Release Notes

This section provides release notes for major changes to the BiG-AMP code. The dates correspond to names of zip files available on the GAMPMATLAB site.

### 20131031: Modified Inputs and Ouputs

This release changed the input and output formats for all of the BiG-AMP codes. The outputs are now analogous to the format used by the G-AMP routines, improving ease of use. In addition, the input options have been broken into two objects. The first object describes the problem setup, while the second contains options for the BiG-AMP optimizer. This division allows the user to specify the problem setup without overriding any default options. It will also be useful for planned expansions of the code. (This release was revision 340 in the subversion repostory.)

### 20131019a: Automatic maximum rank

This release added automatic calculation of the maximum allowed rank for EM-BiG-AMP for matrix completion for both rank learning methods based on the maximum uniquely identifiable rank for the number of provided measurements. The maximum allowed rank is determined based on the number of free parameters in the SVD of a rank $$N$$ matrix that is $$M \times L$$. (This release was revision 330 in the subversion repostory.)

### 20131019: Rank Learning

This release clarified the comments and outputs of several functions. In addition, a second method for rank learning was added to EMBiGAMP_MC. Methods using rank contraction and AICc are now both included. (This release was revision 329 in the subversion repostory.)

### 20131018: Examples Release

This release streamlimed the method of passing options to the EM-BiGAMP codes to make them more user-friendly. Additional examples were also added to make the code more accesible to first-time users. (This release was revision 327 in the subversion repostory.)

### 20131016: Initial Release

The first major release of BiG-AMP. The BiG-AMP,BiG-AMP_Lite, and BiG-AMP_X2 codes were released, along with EM-BiG-AMP variants for marix completion, dictionary learning, and robust PCA. Several examples were also included to demonstrate running BiG-AMP on problems in these categories. For completenes, several competing algorithms were provided for ease of comparison.

© 2013 Jason T. Parker
Template design by Andreas Viklund