In this chapter we cover the basics of starting to use RepLAB.
The representation theory code of the library is self-contained. Extended features such as unit tests, code coverage and convex optimization make use of external code. Here are two ways of installing the library with the desired set of features to get started. Choose the one which suits you best.
Download the latest release ZIP, see the GitHub release page for all releases. This ZIP file includes the core code, but not the external dependencies.
Launch MATLAB/Octave, run the replab_init autoinstall
script in the root folder
which will take care of downloading and installing dependencies, which are:
to run tests: MOxUnit
to define convex optimization (SDP) problems and run corresponding tests: YALMIP
to solve SDP problems and run corresponding tests: SDPT3
Go to the “Initializing the library” section below and follow the usage instructions there.
For advanced users only
Clone the library from GitHub using the following command:
git clone --recursive https://www.github.com/replab/replab
which will download the latest master
version, and update the Git
submodules automatically.
This creates a folder RepLAB with all the necessary code, including the VPI library for large integers, the testing suite MOxUnit, and the tools needed for semidefinite programming.
To ignore changes that will happen when the SDPT3 submodule is compiled, (and thus untracked files are created), run the following command:
git config submodule.SDPT3.ignore untracked
or add a ignore = untracked
line to the [submodule "SDPT3"]
section
in .git/config
.
If you want to run the release process, check out the gh-pages
branch in the
docs/
folder by running:
git worktree add docs gh-pages
in the root RepLAB folder.
To use the library, the RepLAB folder must be added in Matlab or Octave. Additional paths are also necessary to enable specific functionalities, as mentioned above, and a few variables mush be initialized. This can be done with
replab_init
which should lead to the following output
>> replab_init
Adding RepLAB to the path
Initializing dependency vpi
Initializing dependency YALMIP
Initializing dependency sdpt3
Adding embedded SDPT3 solver to the path
Initializing dependency MOxUnit
>>
This command checks in particular whether an instance of YALMIP is
available and
configured on your
system. If this is not the case, the embedded version of yalmip is used.
RepLAB uses the YALMIP interface to
solve convex optimization problems. The replab_init
command also
ensures that an SDP solver
such as SeDuMi is properly set up.
If this is not the case, it activates the embedded SDPT3 solver. The
proper installation of a YALMIP instance can be checked with the command
yalmiptest
.
The command replab_init
should always be used before running any
RepLAB command. This command only takes some time to run the first
time it is called in a MATLAB/Octave session.
The script replab_config.m
present in the root folder can be customized:
for example, unneeded dependencies can be commented out, and various RepLAB
options can be configured.
This script is run once during the replab_init
initialization; subsequent calls
to replab_init
will not run it again, except if a clear all
command has been
run in between.
The proper installation of RepLAB can then be checked by running the test commands:
replab_runtests
This checks the proper working of the whole package (requires the companion packages for test and convex optimization).