next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
gfanInterface :: Installation and Configuration of gfanInterface

Installation and Configuration of gfanInterface

The gfanInterface package makes use of the binary executables from Anders Jensen’s gfan software package. These binary files are distributed with Macaulay2 (since version 1.3) and so, it is not necessary to install gfan separately.

The gfanInterface package contains the configuration option "path" which allows the user to specify which gfan executables are used. When the path unspecified, it defaults to an empty string and the binaries provided by Macaulay2 are used.

You can change the path, if needed, while loading the package:

i1 : loadPackage("gfanInterface", Configuration => { "path" => "/directory/to/gfan/"}, Reload => true)

o1 = gfanInterface

o1 : Package

The path to the executables should end in a slash. To set the path permanently, one needs to change gfanInterface.m2 either before installing or in the installed copy. You will find the path configuration near the top of the file.

If gfanInterface is already installed and loaded, you can find the path of the source file by the following command:

i2 : gfanInterface#"source file"

o2 = /home/dan/src/M2/M2.git/M2/Macaulay2/packages/gfanInterface.m2

If you want to use gfan executables outside of Macaulay2, they can be found with currentLayout#"programs":

i3 : prefixDirectory | currentLayout#"programs"

o3 = /home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/
     usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/

If you would like to see the input and output files used to communicate with gfan you can set the "keepfiles" configuration option to true. If "verbose" is set to true, gfanInterface will output the names of the temporary files used.

i4 : loadPackage("gfanInterface", Configuration => { "keepfiles" => true, "verbose" => true}, Reload => true);
using temporary file /tmp/M2-26490-0/86
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan --help < /tmp/M2-26490-0/86 > /tmp/M2-26490-0/86.out 2> /tmp/M2-26490-0/86.err
using temporary file /tmp/M2-26490-0/87
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _buchberger --help < /tmp/M2-26490-0/87 > /tmp/M2-26490-0/87.out 2> /tmp/M2-26490-0/87.err
using temporary file /tmp/M2-26490-0/88
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _doesidealcontain --help < /tmp/M2-26490-0/88 > /tmp/M2-26490-0/88.out 2> /tmp/M2-26490-0/88.err
using temporary file /tmp/M2-26490-0/89
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _fancommonrefinement --help < /tmp/M2-26490-0/89 > /tmp/M2-26490-0/89.out 2> /tmp/M2-26490-0/89.err
using temporary file /tmp/M2-26490-0/90
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _fanlink --help < /tmp/M2-26490-0/90 > /tmp/M2-26490-0/90.out 2> /tmp/M2-26490-0/90.err
using temporary file /tmp/M2-26490-0/91
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _fanproduct --help < /tmp/M2-26490-0/91 > /tmp/M2-26490-0/91.out 2> /tmp/M2-26490-0/91.err
using temporary file /tmp/M2-26490-0/92
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _groebnercone --help < /tmp/M2-26490-0/92 > /tmp/M2-26490-0/92.out 2> /tmp/M2-26490-0/92.err
using temporary file /tmp/M2-26490-0/93
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _homogeneityspace --help < /tmp/M2-26490-0/93 > /tmp/M2-26490-0/93.out 2> /tmp/M2-26490-0/93.err
using temporary file /tmp/M2-26490-0/94
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _homogenize --help < /tmp/M2-26490-0/94 > /tmp/M2-26490-0/94.out 2> /tmp/M2-26490-0/94.err
using temporary file /tmp/M2-26490-0/95
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _initialforms --help < /tmp/M2-26490-0/95 > /tmp/M2-26490-0/95.out 2> /tmp/M2-26490-0/95.err
using temporary file /tmp/M2-26490-0/96
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _interactive --help < /tmp/M2-26490-0/96 > /tmp/M2-26490-0/96.out 2> /tmp/M2-26490-0/96.err
using temporary file /tmp/M2-26490-0/97
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _ismarkedgroebnerbasis --help < /tmp/M2-26490-0/97 > /tmp/M2-26490-0/97.out 2> /tmp/M2-26490-0/97.err
using temporary file /tmp/M2-26490-0/98
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _krulldimension --help < /tmp/M2-26490-0/98 > /tmp/M2-26490-0/98.out 2> /tmp/M2-26490-0/98.err
using temporary file /tmp/M2-26490-0/99
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _latticeideal --help < /tmp/M2-26490-0/99 > /tmp/M2-26490-0/99.out 2> /tmp/M2-26490-0/99.err
using temporary file /tmp/M2-26490-0/100
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _leadingterms --help < /tmp/M2-26490-0/100 > /tmp/M2-26490-0/100.out 2> /tmp/M2-26490-0/100.err
using temporary file /tmp/M2-26490-0/101
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _markpolynomialset --help < /tmp/M2-26490-0/101 > /tmp/M2-26490-0/101.out 2> /tmp/M2-26490-0/101.err
using temporary file /tmp/M2-26490-0/102
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _minkowskisum --help < /tmp/M2-26490-0/102 > /tmp/M2-26490-0/102.out 2> /tmp/M2-26490-0/102.err
using temporary file /tmp/M2-26490-0/103
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _minors --help < /tmp/M2-26490-0/103 > /tmp/M2-26490-0/103.out 2> /tmp/M2-26490-0/103.err
using temporary file /tmp/M2-26490-0/104
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _mixedvolume --help < /tmp/M2-26490-0/104 > /tmp/M2-26490-0/104.out 2> /tmp/M2-26490-0/104.err
using temporary file /tmp/M2-26490-0/105
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _polynomialsetunion --help < /tmp/M2-26490-0/105 > /tmp/M2-26490-0/105.out 2> /tmp/M2-26490-0/105.err
using temporary file /tmp/M2-26490-0/106
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _render --help < /tmp/M2-26490-0/106 > /tmp/M2-26490-0/106.out 2> /tmp/M2-26490-0/106.err
using temporary file /tmp/M2-26490-0/107
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _renderstaircase --help < /tmp/M2-26490-0/107 > /tmp/M2-26490-0/107.out 2> /tmp/M2-26490-0/107.err
using temporary file /tmp/M2-26490-0/108
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _resultantfan --help < /tmp/M2-26490-0/108 > /tmp/M2-26490-0/108.out 2> /tmp/M2-26490-0/108.err
using temporary file /tmp/M2-26490-0/109
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _saturation --help < /tmp/M2-26490-0/109 > /tmp/M2-26490-0/109.out 2> /tmp/M2-26490-0/109.err
using temporary file /tmp/M2-26490-0/110
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _secondaryfan --help < /tmp/M2-26490-0/110 > /tmp/M2-26490-0/110.out 2> /tmp/M2-26490-0/110.err
using temporary file /tmp/M2-26490-0/111
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _stats --help < /tmp/M2-26490-0/111 > /tmp/M2-26490-0/111.out 2> /tmp/M2-26490-0/111.err
using temporary file /tmp/M2-26490-0/112
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _substitute --help < /tmp/M2-26490-0/112 > /tmp/M2-26490-0/112.out 2> /tmp/M2-26490-0/112.err
using temporary file /tmp/M2-26490-0/113
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tolatex --help < /tmp/M2-26490-0/113 > /tmp/M2-26490-0/113.out 2> /tmp/M2-26490-0/113.err
using temporary file /tmp/M2-26490-0/114
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _topolyhedralfan --help < /tmp/M2-26490-0/114 > /tmp/M2-26490-0/114.out 2> /tmp/M2-26490-0/114.err
using temporary file /tmp/M2-26490-0/115
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tropicalbasis --help < /tmp/M2-26490-0/115 > /tmp/M2-26490-0/115.out 2> /tmp/M2-26490-0/115.err
using temporary file /tmp/M2-26490-0/116
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tropicalbruteforce --help < /tmp/M2-26490-0/116 > /tmp/M2-26490-0/116.out 2> /tmp/M2-26490-0/116.err
using temporary file /tmp/M2-26490-0/117
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tropicalevaluation --help < /tmp/M2-26490-0/117 > /tmp/M2-26490-0/117.out 2> /tmp/M2-26490-0/117.err
using temporary file /tmp/M2-26490-0/118
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tropicalfunction --help < /tmp/M2-26490-0/118 > /tmp/M2-26490-0/118.out 2> /tmp/M2-26490-0/118.err
using temporary file /tmp/M2-26490-0/119
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tropicalhypersurface --help < /tmp/M2-26490-0/119 > /tmp/M2-26490-0/119.out 2> /tmp/M2-26490-0/119.err
using temporary file /tmp/M2-26490-0/120
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tropicalintersection --help < /tmp/M2-26490-0/120 > /tmp/M2-26490-0/120.out 2> /tmp/M2-26490-0/120.err
using temporary file /tmp/M2-26490-0/121
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tropicallifting --help < /tmp/M2-26490-0/121 > /tmp/M2-26490-0/121.out 2> /tmp/M2-26490-0/121.err
using temporary file /tmp/M2-26490-0/122
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tropicallinearspace --help < /tmp/M2-26490-0/122 > /tmp/M2-26490-0/122.out 2> /tmp/M2-26490-0/122.err
using temporary file /tmp/M2-26490-0/123
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tropicalmultiplicity --help < /tmp/M2-26490-0/123 > /tmp/M2-26490-0/123.out 2> /tmp/M2-26490-0/123.err
using temporary file /tmp/M2-26490-0/124
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tropicalrank --help < /tmp/M2-26490-0/124 > /tmp/M2-26490-0/124.out 2> /tmp/M2-26490-0/124.err
using temporary file /tmp/M2-26490-0/125
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tropicalstartingcone --help < /tmp/M2-26490-0/125 > /tmp/M2-26490-0/125.out 2> /tmp/M2-26490-0/125.err
using temporary file /tmp/M2-26490-0/126
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tropicaltraverse --help < /tmp/M2-26490-0/126 > /tmp/M2-26490-0/126.out 2> /tmp/M2-26490-0/126.err
using temporary file /tmp/M2-26490-0/127
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _tropicalweildivisor --help < /tmp/M2-26490-0/127 > /tmp/M2-26490-0/127.out 2> /tmp/M2-26490-0/127.err
using temporary file /tmp/M2-26490-0/128
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _overintegers --help < /tmp/M2-26490-0/128 > /tmp/M2-26490-0/128.out 2> /tmp/M2-26490-0/128.err
i5 : QQ[x,y];
i6 : gfan {x,y};
using temporary file /tmp/M2-26490-0/129
/home/dan/src/M2/M2.git/M2/BUILD/dan/builds.tmp/ubuntu1910-release-1.15/usr-dist/x86_64-Linux-Ubuntu-19.10/libexec/Macaulay2/bin/gfan _bases < /tmp/M2-26490-0/129 > /tmp/M2-26490-0/129.out 2> /tmp/M2-26490-0/129.err

Finally, if you want to be able to render Groebner fans and monomial staircases to .png files, you should install fig2dev and specify its path as follows:

i7 : loadPackage("gfanInterface", Configuration => { "fig2devpath" => "/directory/to/fig2dev/"}, Reload => true)

o7 = gfanInterface

o7 : Package

Again, the path should end in a slash.