YAGS - Yet Another Graph System
Copyright (C) 2025 C. Cedillo, D. López, R. MacKinney-Romero, M.A. Pizaña, I.A. Robles, R. and Villarroel-Flores.
This program is free software distributed under GPLv3. For details, see http://www.gnu.org/licenses/gpl-3.0.html.
YAGS - Yet Another Graph System is a GAP package for dealing with graphs, in the sense of Graph Theory (not bar graphs, pie charts nor graphs of functions). Hence our graphs are ordered pairs G=(V,E), where V is a finite set of vertices and E is a finite set of edges which are (ordered or unordered) pairs of vertices.
Snapshots and its official webpage is here.
An online cheatsheet can be found here.
If you are fond of git, and you already installed GAP, then you could
clone our repository as usual (here we assume that GAP-DIR is your GAP
installation directory):
git clone http://github.com/yags/yags.git GAP-DIR/pkg/yags
Otherwise, you may follow these installation instructions:
-
Install GAP.
-
Unpack YAGS: the contents of the zip file should go under
GAP-DIR/pkg/yags/. Here, we assume thatGAP-DIRis your GAP installation directory. -
(Optional) Install a Java runtime environment to enable the GUI graph visualizer. &YAGS; supports Java versions 8 and newer. You can verify your current Java version with the command: java --version, and install Java using: sudo apt install default-jre on Debian-based systems (such as Ubuntu).
-
Test YAGS by running GAP, loading YAGS and executing a few basic commands in a terminal:
> gap --- some GAP info here --- gap> LoadPackage("yags"); Loading YAGS - Yet Another Graph System 0.0.7-dev. Copyright (C) 2025 by the YAGS authors; for details type: ?yags:authors true gap> CliqueNumber(Icosahedron);NumberOfCliques(Icosahedron); 3 20 gap> Draw(Icosahedron);
Did it work? Congratulations! Otherwise, consider the following troubleshooting issues:
-
Is GAP working?
Make sure it is. Follow carefully GAP's installation and troubleshooting procedures. -
Is the installation directory correct?
The GAP's installation directory,GAP-DIR, is typically something like/opt/gap4r8/(in MS Windows it may look likeC:\gap4r8\). If this is the case, the YAGS's installation directory,YAGS-DIR, is/opt/gap4r8/pkg/yags/(in MS Windows, it would beC:\gap4r8\pkg\yags\). Then, the full path for YAGS's info filePackageInfo.gshould be/opt/gap4r8/pkg/yags/PackageInfo.g(orC:\gap4r8\pkg\yags\PackageInfo.g). -
Are you using GRAPE?
GRAPE and YAGS are incompatible: they can not be loaded at the same time. If you had an initialization file that loads GRAPE automatically, you should disable it in order to use YAGS. Alternatively, the commandgap -rstarts GAP disabling any user-specific configuration files. -
Unauthorized to access GAP's directories?
The installation procedure above assumed that you have full access to your computer (i.e. that you are the root of the system or that you are using your PC or Mac). If this is not the case, you can also install YAGS under your user directory. For instance, if your user directory is/home/joe/then you can create a subdirectory/home/joe/.gap/and hence your YAGS's installation directory will be/home/joe/.gap/pkg/yags/. Then you can start GAP usinggap -l ";/home/joe/.gap"so that GAP knows where your YAGS is.
If you publish a result and you used YAGS during your research, please cite us as you would normally do with a research paper:
[CLMPRV25] Cedillo, C., López, D., MacKinney-Romero, R., Pizaña, M. A., Robles, I. A. and Villarroel-Flores, R.,
YAGS, Yet Another Graph System, Version 0.0.7-dev (2025), (GAP package),
http://xamanek.izt.uam.mx/yags/.
@misc{YAGS0.0.7-dev,
author = {Cedillo, C. and López D. and MacKinney-Romero, R. and Piza{~n}a, M. A. and Robles, I. A., Villarroel-Flores, R.},
title = {{YAGS}, Yet Another Graph System, {V}ersion 0.0.7-dev},
month = {Jun},
year = {2025},
note = {GAP package},
howpublished = {\href{http://xamanek.izt.uam.mx/yags/}},
keywords = {graph; graph theory; clique; clique graph; graph morphism; backtracking},
printedkey = {CLMPRV25}
}
Several other citation formats can be obtained from the file
YAGS-DIR/CITATION or by typing Cite("yags"); at the GAP prompt.
More information about YAGS can be found on its official web page and manual, which is available in html and pdf formats.
You can receive notifications about YAGS (i.e. new releases, bug fixes, etc.) by subscribing to its email distribution list.
If you are a developer, you may contribute to our project on our public repository.
Comments, support requests, bug reports and installation notifications are welcome at yags@xamanek.izt.uam.mx.
