Linux (and Solaris)

These instructions apply to most Linux distributions and to Solaris with little or no change. The two options, in order of preference, are compiling from source or using Docker.

Compiling from Source

Download the source code using git

For users who are not familiar with git, see Help with git. git is included by default on most Linux distributions. Choose a directory to store the source code, navigate there in your terminal, then type:

git clone https://github.com/jeffreyadams/atlasofliegroups.git

This creates a subdirectory atlasofliegroups and stores the files there.

Compile

After you have the source code, cd to the atlasofliegroups directory and type:

make

If all goes well you will have an executable file atlas. Give the command:

atlas

You should see something like:

This is 'atlas' (version 1.1, axis language version 1.0),
the Atlas of Lie Groups and Representations interpreter,
compiled on Dec 30 2021 at 16:01:25.   http://www.liegroups.org/

Congratulations! Go on to After compiling for the next steps.

Compiler Notes

You may need to edit the Makefile to change the line CXX = g++ -std=c++0x depending on your system. To find your default compiler version: g++ --version. The software has been well tested with g++ versions 4.8 and above.

The most likely reason for a compile error has to do with the readline library. The software will run without it. To check if this is the problem:

make readline=false

If this succeeds you have a functioning version of the software, but without readline functions.

After compiling

We recommend running:

make install

This makes atlas accessible from anywhere by putting a shell script in ~/bin pointing to the atlas-scripts directory. Make sure ~/bin is in your path.

The software relies on a large set of auxiliary files in atlasofliegroups/atlas-scripts with suffix .at. Generally you want to load all of these by loading the single file all.at, which happens automatically if you use make install.

Other ways of launching atlas

We recommend creating a directory atlasofliegroups/my_files and always starting atlas from there:

cd atlasofliegroups
mkdir my_files
cd my_files
atlas

Or without make install:

cd atlasofliegroups
mkdir my_files
cd my_files
../atlas --path=../atlas-scripts all.at

Or from the atlasofliegroups directory directly:

./atlas --path=atlas-scripts all.at

Or from the atlas-scripts directory (no path needed):

cd atlasofliegroups/atlas-scripts
../atlas all.at

The compiler also produces an executable Fokko which has the core software but not the scripting language.

File Input and Output

When you read files from within atlas it looks in the working directory (from which you launched atlas) and the atlas-scripts directory, or whatever directory you specify with --path. Output files are always written to the working directory.

Other Compile Options

When compiling with make, additional options are available. In particular:

make optimize=true

This is recommended — compilation is slower but the code runs substantially faster. See the Makefile for more options.

Updating the atlas software

At any time you can update using git. In the atlasofliegroups directory:

git pull origin master

If only .at files changed you typically do not need to run make again. If .cpp files changed, run make again.

Using Docker

Docker installs a self-contained Linux environment (container) on your machine. This is a good option if you have trouble compiling the software yourself. It requires administrative privileges so is mainly used for personal machines.

Install Docker (community version) for your system, then give the command:

sudo docker run -it jeffreyadams/atlasofliegroups:version1.1

This downloads the software and runs it (launching atlas and reading in all.at). The first time takes up to a few minutes; subsequent times are much faster. To get the latest update:

sudo docker pull jeffreyadams/atlasofliegroups:version1.1

File Input and Output in Docker

Since Docker runs in a container, some extra effort is required to read and write files from the host system. Use the -v flag to mount a host directory:

sudo docker run -it -v /host/path:/container/path jeffreyadams/atlasofliegroups:version1.1