The main tasks of Agama library include:
Computation of gravitational potential and forces
Orbit integration and analysis
Conversion between position/velocity and action/angle coordinates
Distribution functions
Self-consistent multi-component galaxy models
Orbit-superposition (Schwarzschild) models
Framework for finding best-fit parameters of a model from data
Auxiliary utilities (e.g., various mathematical routines)
The stellar-dynamical Monte Carlo code Raga, the Fokker--Planck code PhaseFlow, and the Schwarzschild modelling code Forstand are included in the Agama distribution.
The core of the library is written in C++, and there are Python, C and Fortran interfaces; it may be used as a plugin for other stellar-dynamical software packages: amuse, gala, galpy, nemo, arepo, gadget-4.
The recommended way of installation is to download and unpack the library, and then run
python setup.py install --user
to create the Makefile, compile the library and executable programs, and place
the Python extension module into the standard location for user-installed Python packages.
Alternatively, one may install it via
pip install --user agama
which will download the latest version from Github and then proceed in the above way.
Finally, one may manually create/edit the Makefile and compile the library, as explained in the INSTALL file.
The package contains collection of examples and test programs both in C++ and Python.
Reference documentation includes both the user's guide and a more technical description of implementation details. It is also available on arXiv, although not kept up to date.