1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
<Chapter Label="chap:environment"><Heading>Installation and Preface</Heading>
To install the package, just unpack it in your packages directory
(usually <C>~/gap/pkg</C> for local installation).
To use <Package>polymaking</Package>, you need a working installation of the program
polymake <URL>https://polymake.org</URL>. The
package has been tested on linux and Mac OS X (10.4, 10.5 and 10.6).
But it should be as platform independent as &GAP; and polymake.
<P/>
The interaction with polymake is restricted to writing files and
carrying out simple operations. These looked like
<Br/>
<C>polymake file KEYWORD1 KEYWORD2 KEYWORD3</C>
<Br/>
on the command line for polymake versions before 4. The keywords are polymake methods without arguments.
Since polymake no longer supports this interface the polymaking package
provides the script <C>lib/pm_script_arg.pl</C> to emulate this.
<Br/>
<C>polymake ––script lib/pm_script_arg.pl KEYWORD1 KEYWORD2 KEYWORD3</C>
<Br/>
Using custom scripts is not supported.<Br/>
Every call to polymake will re-start the program anew. This causes considerable overhead.
The number of calls to polymake is reduced by caching the results in the so-called
<K>PolymakeObject</K> in GAP.
As of polymaking version 0.8.0, old versions of polymake (i.e. versions before 2.7.9) are not
supported anymore.
<Section Label="chap:polymakeinstall">
<Heading>A few words about the installation of polymake</Heading>
<Package>polymaking</Package> will try to guess the location of polymake. If
this fails, a warning is issued at load time (<K>InfoWarning</K> level 1). Note
that the guessing procedure is suppressed when <Ref Var="POLYMAKE_COMMAND" />
is set manually (see <Ref Label="SetVarPermanently"/>).
<Br/>
<Code><![CDATA[setenv PATH ${PATH}:<your polymakepath>]]></Code>
<Br/>
The general rule is: If <Package>polymaking</Package> finds polymake by itself,
there is nothing to worry about.
</Section>
<Section Label="chap:varsetters">
<Heading>Setting variables for external programs</Heading>
As <Package>polymaking</Package> uses the program polymake, it needs to
know
where this program lives. The communication with polymake is done
by writing files for polymake and reading its output (as returned to
standard output "the prompt"). Note that the interface does not read any
polymake file.
<ManSection>
<Meth Name="SetPolymakeDataDirectory" Arg="dir" />
<Description>
Sets the directory in which all polymake files are created to
<A>dir</A>. The standard place for these files is a temporary
directory generated when the package is loaded. This
manipulates <Ref Var="POLYMAKE_DATA_DIR"/>.
</Description>
</ManSection>
<ManSection>
<Meth Name="SetPolymakeCommand" Arg="command"/>
<Description>
Sets the name for the polymake program to <A>command</A>. This
manipulates <Ref Var="POLYMAKE_COMMAND"/>.
</Description>
</ManSection>
<Subsection Label="SetVarPermanently"><Heading>Setting variables permanently</Heading>
To permanently set the values of <Ref Var="POLYMAKE_COMMAND" />, and
<Ref Var="POLYMAKE_DATA_DIR"/>, add the lines
</Subsection>
<Listing>
POLYMAKE_DATA_DIR:=Directory("/home/mypolymakedatadir");
POLYMAKE_COMMAND:=Filename(Directory("/home/mypolymakebindir/"),"polymake");
</Listing>
to your <F>.gaprc</F> file (see <Ref Label="The gap.ini and gaprc files"
BookName="ref"></Ref>). Note that these have to be
<Emph>before</Emph> the <C>LoadPackage("polymaking");</C> line.
Or you can change the values of the above variables by editing
<F>lib/environment.gi</F>
</Section>
</Chapter>
|