  
  [1X2 [33X[0;0YInstalling [5XDigraphs[105X[101X[1X[133X[101X
  
  
  [1X2.1 [33X[0;0YFor those in a hurry[133X[101X
  
  [33X[0;0YIn this section we give a brief description of how to start using [5XDigraphs[105X.[133X
  
  [33X[0;0YIt is assumed that you have a working copy of [5XGAP[105X with version number 4.10.0
  or  higher.  The  most  up-to-date version of [5XGAP[105X and instructions on how to
  install    it    can    be    obtained    from    the   main   [5XGAP[105X   webpage
  [7Xhttp://www.gap-system.org[107X.[133X
  
  [33X[0;0YThe  following  is  a  summary of the steps that should lead to a successful
  installation of [5XDigraphs[105X:[133X
  
  [30X    [33X[0;6Yensure  that  the  [5XIO[105X package version 4.5.1 or higher is available. [5XIO[105X
        must be compiled before [5XDigraphs[105X can be loaded.[133X
  
  [30X    [33X[0;6Yensure  that the [5XOrb[105X package version 4.8.2 or higher is available. [5XOrb[105X
        has  better  performance  when  compiled,  but although compilation is
        recommended,  it  is  not  required  to be compiled for [5XDigraphs[105X to be
        loaded.[133X
  
  [30X    [33X[0;6Yensure  that  the  [5Xdatastructures[105X  package  version 0.2.5 or higher is
        available.[133X
  
  [30X    [33X[0;6Y[12XThis step is optional:[112X certain functions in [5XDigraphs[105X require the [5XGrape[105X
        package  to  be  available; see Section [14X2.2-1[114X for full details. To use
        these  functions  make  sure  that  the [5XGrape[105X package version 4.8.1 or
        higher  is  available. If [5XGrape[105X is not available, then [5XDigraphs[105X can be
        used  as  normal  with  the  exception  that  the  functions listed in
        Subsection [14X2.2-1[114X will not work.[133X
  
  [30X    [33X[0;6Y[12XThis  step  is  optional:[112X  certain  functions  in [5XDigraphs[105X require the
        [5XNautyTracesInterface[105X  package to be available. If you want to make use
        of  these  functions,  please  ensure  that  the  [5XNautyTracesInterface[105X
        package version 0.2 or higher is available. If [5XNautyTracesInterface[105X is
        not  available, then [5XDigraphs[105X can be used as normal with the exception
        that functions whose names contain [21XNauty[121X will not work.[133X
  
  [30X    [33X[0;6Ydownload  the  package  archive [11Xdigraphs-1.3.1.tar.gz[111X from the Digraph
        package webpage ([7Xhttp://digraphs.github.io/Digraphs/[107X).[133X
  
  [30X    [33X[0;6Yunzip  and  untar  the  file,  this  should  create a directory called
        [11Xdigraphs-1.3.1[111X.[133X
  
  [30X    [33X[0;6Ylocate  the  [11Xpkg[111X  directory  of your [5XGAP[105X directory, which contains the
        directories [11Xlib[111X, [11Xdoc[111X and so on. Move the directory [11Xdigraphs-1.3.1[111X into
        the [11Xpkg[111X directory.[133X
  
  [30X    [33X[0;6Yit   is   necessary  to  compile  the  [5XDigraphs[105X  package.  Inside  the
        [11Xpkg/digraphs-1.3.1[111X directory, type[133X
  
  [4X      [32X[104X
          [4X./configure[104X
          [4Xmake[104X
        [4X[32X[104X
  
        [33X[0;6YFurther information about this step can be found in Section [14X2.3[114X.[133X
  
  [30X    [33X[0;6Ystart [5XGAP[105X in the usual way (i.e. type [10Xgap[110X at the command line).[133X
  
  [30X    [33X[0;6Ytype [10XLoadPackage("digraphs");[110X[133X
  
  [33X[0;0YIf  you  want to check that the package is working correctly, you should run
  some of the tests described in Section [14X2.5[114X.[133X
  
  
  [1X2.2 [33X[0;0YOptional package dependencies[133X[101X
  
  [33X[0;0YThe  [5XDigraphs[105X  package  is  written  in  [5XGAP[105X  and C code and requires the [5XIO[105X
  package.  The  [5XIO[105X package is used to read and write transformations, partial
  permutations, and bipartitions to a file.[133X
  
  
  [1X2.2-1 [33X[0;0YThe Grape package[133X[101X
  
  [33X[0;0YThe  [5XGrape[105X  package  must  be  available  for the following operations to be
  available:[133X
  
  [30X    [33X[0;6Y[2XGraph[102X ([14X3.2-3[114X) with a digraph argument[133X
  
  [30X    [33X[0;6Y[2XAsGraph[102X ([14X3.2-4[114X) with a digraph argument[133X
  
  [30X    [33X[0;6Y[2XDigraph[102X ([14X3.1-7[114X) with a [5XGrape[105X graph argument[133X
  
  [33X[0;0YIf  [5XGrape[105X  is  not  available,  then [5XDigraphs[105X can be used as normal with the
  exception that the functions above will not work.[133X
  
  
  [1X2.3 [33X[0;0YCompiling the kernel module[133X[101X
  
  [33X[0;0YThe  [5XDigraphs[105X  package  has  a  [5XGAP[105X  kernel  component  in C which should be
  compiled.  This  component  contains certain low-level functions required by
  [5XDigraphs[105X.[133X
  
  [33X[0;0YIt is not possible to use the [5XDigraphs[105X package without compiling it.[133X
  
  [33X[0;0YTo  compile  the  kernel  component inside the [11Xpkg/digraphs-1.3.1[111X directory,
  type[133X
  
  [4X[32X[104X
    [4X[104X
    [4X./configure[104X
    [4Xmake[104X
  [4X[32X[104X
  
  [33X[0;0YIf  you  installed  the package in another 'pkg' directory than the standard
  'pkg'  directory  in  your [5XGAP[105X 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).[133X
  
  [33X[0;0YIf  you  installed  [5XGAP[105X  on  several  architectures,  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![133X
  
  
  [1X2.4 [33X[0;0YRebuilding the documentation[133X[101X
  
  [33X[0;0YThe [5XDigraphs[105X package comes complete with pdf, html, and text versions of the
  documentation.  However,  you  might  find  it  necessary, at some point, to
  rebuild  the  documentation.  To  rebuild  the documentation, please use the
  function [2XDigraphsMakeDoc[102X ([14X2.4-1[114X).[133X
  
  [1X2.4-1 DigraphsMakeDoc[101X
  
  [33X[1;0Y[29X[2XDigraphsMakeDoc[102X(  ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YNothing[133X
  
  [33X[0;0YThis  function  should  be  called  with no argument to compile the [5XDigraphs[105X
  documentation.[133X
  
  
  [1X2.5 [33X[0;0YTesting your installation[133X[101X
  
  [33X[0;0YIn  this  section  we  describe  how  to  test  that  [5XDigraphs[105X is working as
  intended.    To    test   that   [5XDigraphs[105X   is   installed   correctly   use
  [2XDigraphsTestInstall[102X    ([14X2.5-1[114X)    or    for   more   extensive   tests   use
  [2XDigraphsTestStandard[102X ([14X2.5-2[114X).[133X
  
  [33X[0;0YIf  something goes wrong, then please review the instructions in Section [14X2.1[114X
  and ensure that [5XDigraphs[105X has been properly installed. If you continue having
  problems,         please         use         the        issue        tracker
  ([7Xhttps://github.com/digraphs/Digraphs/issues[107X)  to  report the issues you are
  having.[133X
  
  [1X2.5-1 DigraphsTestInstall[101X
  
  [33X[1;0Y[29X[2XDigraphsTestInstall[102X(  ) [32X function[133X
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X.[133X
  
  [33X[0;0YThis  function  can be called without arguments to test your installation of
  [5XDigraphs[105X  is  working  correctly. These tests should take no more than a few
  seconds  to  complete. To test more comprehensively that [5XDigraphs[105X is working
  correctly, use [2XDigraphsTestStandard[102X ([14X2.5-2[114X).[133X
  
  [1X2.5-2 DigraphsTestStandard[101X
  
  [33X[1;0Y[29X[2XDigraphsTestStandard[102X(  ) [32X function[133X
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X.[133X
  
  [33X[0;0YThis  function  can  be  called without arguments to test all of the methods
  included  in  [5XDigraphs[105X.  These  tests  should  take  less  than  a minute to
  complete.[133X
  
  [33X[0;0YTo quickly test that [5XDigraphs[105X is installed correctly use [2XDigraphsTestInstall[102X
  ([14X2.5-1[114X). For a more thorough test, use [2XDigraphsTestExtreme[102X ([14X2.5-3[114X).[133X
  
  [1X2.5-3 DigraphsTestExtreme[101X
  
  [33X[1;0Y[29X[2XDigraphsTestExtreme[102X(  ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YNothing.[133X
  
  [33X[0;0YThis  function  should  be  called with no argument. It executes a series of
  very  demanding  tests,  which  measure  the  performance  of  a  variety of
  functions  on  large  examples. These tests take a long time to complete, at
  least several minutes.[133X
  
  [33X[0;0YFor  these  tests  to  complete,  the  digraphs library [10Xdigraphs-lib[110X must be
  downloaded  and  placed  in  the  [10Xdigraphs[110X  directory  in  a subfolder named
  [11Xdigraphs-lib[111X. This library can be found on the [5XDigraphs[105X website.[133X
  
