GithubHelp home page GithubHelp logo

DOI Binder Build status Code coverage

README

Digraphs package for GAP

Copyright (C) 2014-21 by Jan De Beule, Julius Jonušas, James D. Mitchell, Wilf A. Wilson, Michael Young et al.

Getting Digraphs

To get the latest version of the package, download the archive file digraphs-x.x.x.tar.gz from the Digraphs webpage. Then, inside the pkg subdirectory of your GAP installation, unpack the archive digraphs-x.x.x.tar.gz, using

gunzip digraphs-x.x.x.tar.gz; tar xvf digraphs-x.x.x.tar

for example. This will create a subdirectory digraphs-x.x.x.

Issues

For questions, remarks, suggestions, and issues please use the issue tracker.

Installation

It is assumed that you have a working copy of GAP with version number 4.10.0 or higher. The most up-to-date version of GAP, and instructions on how to install it, can be obtained from the main GAP webpage.

The following is a summary of the steps that should lead to a successful installation of Digraphs:

  • get the IO package version 4.5.1 or higher.
  • get the orb package version 4.8.2 or higher.
  • get the datastructures package version 0.2.5 or higher.
  • this step is optional: certain methods in Digraphs require the Grape package to be available; a full list of these functions can be found in the first chapter of the manual. To use these functions make sure that the Grape package version 4.8.1 or higher is available.
  • this step is optional: get the NautyTracesInterface package version 0.2 or higher.
  • download the package archive digraphs-x.x.x.tar.gz from the Digraphs webpage.
  • unzip and untar the file digraphs-x.x.x.tar.gz using, for example,
      gunzip digraphs-x.x.x.tar.gz; tar xvf digraphs-x.x.x.tar
    
    which should create a directory called digraphs-x.x.x.
  • locate the pkg directory of your GAP directory, which contains the directories lib, doc and so on. Move the directory digraphs-x.x.x into the pkg directory (if it is not there already).
  • compile the kernel module; more details are given below.
  • start GAP in the usual way.
  • type LoadPackage("digraphs");

Compiling the kernel module

The Digraphs package has a GAP kernel component written in C, which has to be compiled in order for the package to work. This component contains certain low-level functions that the package requires.

It is not possible to use the Digraphs package without compiling it.

To compile the kernel component inside the digraphs-x.x.x directory, type

./configure
make

If you installed the package in a pkg directory other than the standard pkg directory in your GAP installation, then you have to do two things. Firstly, during compilation you have to use the option --with-gaproot=PATH of the configure script where PATH is a path to the main GAP root directory (if not given, the default ../.. is assumed).

If you installed GAP on several architectures, then you must execute the configure/make step for each of the architectures. You can either do this immediately after configuring and compiling GAP itself on this architecture, or alternatively set the environment variable CONFIGNAME to the name of the configuration you used when compiling GAP before running ./configure. Note however that your compiler choice and flags (environment variables CC and CFLAGS) need to be chosen to match the setup of the original GAP compilation. For example, you have to specify 32-bit or 64-bit mode correctly!

Configuration options

In addition to the usual autoconf generated configuration flags, the following flags are provided.

Option Meaning
--enable-code-coverage enable code coverage support
--enable-compile-warnings enable compiler warnings
--enable-debug enable debug mode
--with-external-bliss use external bliss
--with-external-planarity use external planarity
--with-gaproot specify root of GAP installation
--without-intrinsics do not use compiler intrinsics even if available

Digraphs vendors the bliss and planarity libraries in the extern directory. If you wish to use your system copy of bliss or planarity, please use the configure options --with-external-bliss or --with-external-planarity, as appropriate.

If you wish to install a development version of the Digraphs package, then you must first run the command ./autogen.sh before compilation. However, development versions of the package may be unstable, and we recommend using the most recently released version of the package when possible.

Enjoy!

digraphs's Projects

bliss icon bliss

bliss - compute graph automorphisms - by Tommi Junttila, Petteri Kaski - with patches from GAP

graphviz icon graphviz

A proto GAP package for manipulating graphviz objects

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.