  
  [1X4 [33X[0;0YInstallation[133X[101X
  
  [33X[0;0YThis  package provides an interface between [5XGAP[105X and either PARI/GP or OSCAR.
  When  [5XAlnuth[105X  is  loaded  in [5XGAP[105X running inside OSCAR, it automatically uses
  OSCAR.  Otherwise,  [5XAlnuth[105X  uses  PARI/GP,  which  has  to  be  obtained and
  installed  independently  of this package. [5XAlnuth[105X works with PARI/GP Version
  2.5 or higher.[133X
  
  
  [1X4.1 [33X[0;0YInstalling Alnuth[133X[101X
  
  [33X[0;0YThe  package  [5XAlnuth[105X  is part of the standard distribution of [5XGAP[105X so that in
  most  cases  there is no need to install it separately. If you are using [5XGAP[105X
  inside  OSCAR,  then [5XAlnuth[105X is already bundled and automatically uses OSCAR,
  so no further installation is required. Otherwise, to use [5XAlnuth[105X you need to
  have  PARI/GP  installed.  See  the  following  section  for  information on
  PARI/GP.[133X
  
  [33X[0;0YIn   case  you  want  to  update  [5XAlnuth[105X  independently  of  your  main  [5XGAP[105X
  installation  or  if  you  are  interested  in  an  old  version  of  [5XAlnuth[105X
  interfacing to KANT/KASH you can find all released versions of [5XAlnuth[105X in the
  form             of            gzipped            tar-archives            at
  [7Xhttps://github.com/gap-packages/alnuth/releases[107X[133X
  
  [33X[0;0YThere  are  two  ways of installing a [5XGAP[105X package. If you have permission to
  add  files  to the installation of [5XGAP[105X on your system you may install [5XAlnuth[105X
  into  the  [10Xpkg[110X  subdirectory of the [5XGAP[105X installation tree. Otherwise you may
  install  [5XAlnuth[105X  in  a  private  [10Xpkg[110X  directory (for details see Subsections
  [14X'Reference:  Installing a GAP Package'[114X and [14X'Reference: GAP Root Directories'[114X
  in the [5XGAP[105X reference manual).[133X
  
  [33X[0;0YTo  install  the  latest  version  of  [5XAlnuth[105X  download  one of the archives
  [10Xalnuth.tar.gz[110X,  move  it  to the directory [10Xpkg[110X in which you want to install,
  and  unpack  the  archive.  If you are using the command line you can unpack
  with the command [10Xtar xzf alnuth.tar.gz[110X.[133X
  
  
  [1X4.2 [33X[0;0YGetting PARI/GP[133X[101X
  
  [33X[0;0YUsing  [5XAlnuth[105X  outside  OSCAR requires an installation of PARI/GP in Version
  2.5   or   higher.   The   software   PARI/GP   is   freely   available   at
  [7Xhttps://pari.math.u-bordeaux.fr/[107X[133X
  
  [33X[0;0YNote  that  the place where PARI/GP is located in your system is independent
  of the place where [5XAlnuth[105X is installed.[133X
  
  [31X1[131X   [33X[0;6Y[13XInstalling under Linux[113X[133X
  
        [33X[0;6YIn  many Linux distributions PARI/GP can be installed via the software
        package  manager,  but  this might sometimes be an older version which
        cannot  be  used  together  with [5XAlnuth[105X. (Starting GP from the command
        line  with  the  option  [10X--version-short[110X  will  show  you  the version
        number.)[133X
  
        [33X[0;6YIf  you  install  PARI/GP  from  source make sure you install with GMP
        support for better performance and complete the installation with [10Xmake
        install[110X  so  that you can start GP by just calling [10Xgp[110X from the command
        line.[133X
  
  [31X2[131X   [33X[0;6Y[13XInstalling under Windows[113X[133X
  
        [33X[0;6YFor  Windows  it is sufficient to get the basic GP binary which can be
        found at [7Xhttps://pari.math.u-bordeaux.fr/download.html[107X[133X
  
  
  [1X4.3 [33X[0;0YAdjust the path of the executable for GP[133X[101X
  
  [33X[0;0YWhen [5XAlnuth[105X is used outside OSCAR, it needs to know where the executable for
  GP  is.  In the default setting [5XAlnuth[105X looks for an executable program named
  [10Xgp[110X  in  the search paths of the system. More precisely, for a file [10Xgp[110X inside
  one  of  the directories in the list returned by [10XDirectoriesSystemPrograms()[110X
  (called in a [5XGAP[105X session).[133X
  
  [33X[0;0YUnder  Linux the default setting should work with a standard installation of
  PARI/GP.[133X
  
  [33X[0;0YFor  the  default  setting  to  work under Windows the downloaded executable
  file,  for example [10Xgp-2-5-0.exe[110X has to be renamed to [10Xgp.exe[110X and moved to one
  of the directories listed by [10XDirectoriesSystemPrograms()[110X (Ignore the leading
  [10Xcygdrive[110X  in  each  path  name and note that the single letter specifies the
  drive,  for example [10X/cygdrive/c/Windows/[110X denotes the folder [10XWindows[110X on drive
  [10XC:[110X).[133X
  
  [33X[0;0YTo  check  whether an executable of GP in Version 2.5 or higher is available
  with the default setting, you can use the function[133X
  
  [1X4.3-1 PariVersion[101X
  
  [33X[1;0Y[29X[2XPariVersion[102X(  ) [32X function[133X
  
  [33X[0;0Ywhich prints the version number, if the user preference [10XPariGpPath[110X refers to
  a usable GP executable.[133X
  
  [33X[0;0YIf you cannot use the default setting for you purpose, you have several ways
  to configure Alnuth.[133X
  
  [33X[0;0YThe recommended approach is to use the [5XGAP[105X user preference system:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSetUserPreference("alnuth", "PariGpPath", "/home/my/pari-2.5.0/gp");[127X[104X
    [4X[25Xgap>[125X [27XSetUserPreference("alnuth", "PariStackSize", 256);[127X[104X
    [4X[25Xgap>[125X [27XWriteGapIniFile();[127X[104X
  [4X[32X[104X
  
  [33X[0;0YThis  changes  the current session immediately. [10XWriteGapIniFile()[110X writes the
  current  non-default  settings  to  your  personal [11Xgap.ini[111X, so they are used
  again  in future [5XGAP[105X sessions. See [14X'Reference: Configuring User preferences'[114X
  for background on the user preference system.[133X
  
  [33X[0;0YThe    user    preferences    relevant    for    Alnuth    are    shown   by
  [10XShowUserPreferences("alnuth");[110X.  The  most  important  ones  are [10XPariGpPath[110X,
  [10XPariGpOptions[110X, [10XPariStackSize[110X, and [10XPrimitiveElementTrials[110X.[133X
  
  [33X[0;0YIn  older versions of [5XAlnuth[105X configuration was done via the global variables
  [10XAL_EXECUTABLE[110X,  [10XAL_PATH[110X,  [10XAL_OPTIONS[110X,  [10XAL_STACKSIZE[110X,  and  [10XPRIM_TEST[110X.  These
  globals  are  deprecated,  and they trigger a warning when used. The globals
  except  for  [10XAL_PATH[110X  still  serve  as  a fallback if the corresponding user
  preference is unusable. Their replacements are as follows:[133X
  
  [8X[10XAL_EXECUTABLE[110X[8X[108X
        [33X[0;6Yuse the user preference [10XPariGpPath[110X[133X
  
  [8X[10XAL_OPTIONS[110X[8X[108X
        [33X[0;6Yuse the user preference [10XPariGpOptions[110X[133X
  
  [8X[10XAL_STACKSIZE[110X[8X[108X
        [33X[0;6Yuse the user preference [10XPariStackSize[110X[133X
  
  [8X[10XPRIM_TEST[110X[8X[108X
        [33X[0;6Yuse the user preference [10XPrimitiveElementTrials[110X[133X
  
  [8X[10XAL_PATH[110X[8X[108X
        [33X[0;6Yhas been removed; Alnuth now always uses the bundled GP helper files.[133X
  
  [33X[0;0YFor  backwards  compatibility,  the  following  functions  still exist after
  loading  the  package  (see  Section  [14X4.4[114X), but they are deprecated wrappers
  around the user preference system.[133X
  
  [1X4.3-2 SetAlnuthExternalExecutable[101X
  
  [33X[1;0Y[29X[2XSetAlnuthExternalExecutable[102X( [3Xpath[103X ) [32X function[133X
  
  [33X[0;0Ysets  the  user preference [10XPariGpPath[110X for the current [5XGAP[105X session. Depending
  on  your  installation  of PARI/GP and your operating system the string [3Xpath[103X
  can  be either the command to start GP in a terminal (for example [10Xgp[110X) or the
  complete  path to the executable of GP. The function is deprecated; new code
  should call [10XSetUserPreference("alnuth", "PariGpPath", path);[110X directly.[133X
  
  [33X[0;0YThe function returns the stored preference value.[133X
  
  [1X4.3-3 SetAlnuthExternalExecutablePermanently[101X
  
  [33X[1;0Y[29X[2XSetAlnuthExternalExecutablePermanently[102X( [3Xpath[103X ) [32X function[133X
  
  [33X[0;0Ydoes    the    same    as   [10XSetAlnuthExternalExecutable[110X   and   then   calls
  [10XWriteGapIniFile()[110X  to  persist  the current user preference settings in your
  personal   [11Xgap.ini[111X.  The  function  is  deprecated;  new  code  should  call
  [10XSetUserPreference("alnuth", "PariGpPath", path); WriteGapIniFile();[110X instead.[133X
  
  [1X4.3-4 RestoreAlnuthExternalExecutablePermanently[101X
  
  [33X[1;0Y[29X[2XRestoreAlnuthExternalExecutablePermanently[102X(  ) [32X function[133X
  
  [33X[0;0Yrestores  the  default value of [10XPariGpPath[110X and then calls [10XWriteGapIniFile()[110X.
  The  function  is  deprecated; new code should set [10XPariGpPath[110X to the desired
  default command or path and then call [10XWriteGapIniFile()[110X directly.[133X
  
  
  [1X4.4 [33X[0;0YLoading and testing the package[133X[101X
  
  [33X[0;0YIf  [5XAlnuth[105X  is  not  loaded  when  GAP  is  started  you  have to request it
  explicitly  to  use  it. This is done by calling [10XLoadPackage("alnuth");[110X in a
  GAP  session.  If  [5XAlnuth[105X had not been loaded already a short banner will be
  displayed.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XLoadPackage("alnuth");[127X[104X
    [4X[28XLoading Alnuth 4.0.0 (ALgebraic NUmber THeory and an interface to PARI/GP and OSCAR)[128X[104X
    [4X[28Xby Björn Assmann,[128X[104X
    [4X[28X   Andreas Distler (a.distler@tu-bs.de), and[128X[104X
    [4X[28X   Bettina Eick (http://www.iaa.tu-bs.de/beick).[128X[104X
    [4X[28Xmaintained by:[128X[104X
    [4X[28X   Max Horn (https://www.quendi.de/math) and[128X[104X
    [4X[28X   The GAP Team (support@gap-system.org).[128X[104X
    [4X[28XHomepage: https://gap-packages.github.io/alnuth[128X[104X
    [4X[28XReport issues at https://github.com/gap-packages/alnuth/issues[128X[104X
    [4X[28Xtrue[128X[104X
    [4X[28Xgap>[128X[104X
  [4X[32X[104X
  
  [33X[0;0YTo  load  a  certain version of [5XAlnuth[105X you can specify the version number as
  second  argument  in  the  call to [10XLoadPackage[110X. (See [2XLoadPackage[102X ([14XReference:
  LoadPackage[114X)  in  the [5XGAP[105X reference manual or type [10X?LoadPackage[110X within a GAP
  session).[133X
  
  [33X[0;0YOnce the package is loaded, it is possible to check the correct installation
  running     a     short     test     by     calling    [10XReadPackage("Alnuth",
  "tst/testinstall.tst");[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XReadPackage("Alnuth", "tst/testinstall.g");[127X[104X
    [4X[28XArchitecture: aarch64-apple-darwin21.4.0-default64-kv8[128X[104X
    [4X[28X[128X[104X
    [4X[28Xtesting: GAPROOT/pkg/alnuth/tst/ALNUTH.tst[128X[104X
    [4X[28X      66 ms (33 ms GC) and 11.0MB allocated for GAPROOT/pkg/alnuth/tst/ALNUTH.tst[128X[104X
    [4X[28Xtesting: GAPROOT/pkg/alnuth/tst/version.tst[128X[104X
    [4X[28X      21 ms (21 ms GC) and 29.6KB allocated for GAPROOT/pkg/alnuth/tst/version.tst[128X[104X
    [4X[28X-----------------------------------[128X[104X
    [4X[28Xtotal        87 ms (54 ms GC) and 11.0MB allocated[128X[104X
    [4X[28X              0 failures in 2 files[128X[104X
    [4X[28X[128X[104X
    [4X[28X#I  No errors detected while testing[128X[104X
    [4X[28Xgap>[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  architecture,  timings  and  memory  usage  will  usually differ; other
  discrepancies in the output indicate some problem.[133X
  
  [33X[0;0YIf  the  test suite runs into an error in the first part, which when running
  outside  OSCAR verifies the availability of PARI/GP, check your installation
  of  PARI/GP  and consult the last chapter of the documentation of [5XAlnuth[105X for
  more information.[133X
  
  [33X[0;0YIf you find any bugs or have any suggestions or comments, we would very much
  appreciate  it if you would let us know by submitting an issue at the [5XAlnuth[105X
  issue  tracker on GitHub [7Xhttps://github.com/gap-packages/alnuth/issues[107X or by
  writing an mail to [7Xmailto:support@gap-system.org[107X.[133X
  
  [33X[0;0Y [133X
  
