polymaking-0.8.6/ 0000755 0000766 0000024 00000000000 14071427117 012712 5 ustar mhorn staff polymaking-0.8.6/PackageInfo.g 0000644 0000766 0000024 00000005255 14071427055 015241 0 ustar mhorn staff SetPackageInfo( rec( PackageName := "polymaking", Subtitle := "Interfacing the geometry software polymake", Version := "0.8.6", Date := "08/07/2021", # dd/mm/yyyy format License := "GPL-2.0-or-later", Persons := [ rec( LastName := "Roeder", FirstNames := "Marc", IsAuthor := true, IsMaintainer := true, Email := "roeder.marc@gmail.com", ), rec( LastName := "GAP Team", FirstNames := "The", IsAuthor := false, IsMaintainer := true, Email := "support@gap-system.org", ), ], Status := "deposited", PackageWWWHome := "https://gap-packages.github.io/polymaking/", README_URL := Concatenation( ~.PackageWWWHome, "README.md" ), PackageInfoURL := Concatenation( ~.PackageWWWHome, "PackageInfo.g" ), SourceRepository := rec( Type := "git", URL := "https://github.com/gap-packages/polymaking", ), IssueTrackerURL := Concatenation( ~.SourceRepository.URL, "/issues" ), ArchiveURL := Concatenation( ~.SourceRepository.URL, "/releases/download/v", ~.Version, "/polymaking-", ~.Version ), ArchiveFormats := ".tar.gz", AbstractHTML := "This package provides a very basic interface to the polymake program by Ewgenij Gawrilow, Michael Joswig et al.", PackageDoc := rec( BookName := "polymaking", ArchiveURLSubset := ["doc"], HTMLStart := "doc/chap0.html", PDFFile := "doc/manual.pdf", SixFile := "doc/manual.six", LongTitle := "A package for using polymake in GAP", ), Dependencies := rec( GAP := ">=4.8", NeededOtherPackages := [], SuggestedOtherPackages := [["GAPDoc", ">= 0.99"]], ExternalConditions := ["polymake (http://www.polymake.org) must be installed"] ), AvailabilityTest := ReturnTrue, TestFile := "tst/testall.g", Keywords := ["interface","polymake","computational geometry"], AutoDoc := rec( TitlePage := rec( Abstract := """ This package provides a very basic interface to the polymake program by Ewgenij Gawrilow, Michael Joswig et al. . The polymake program itself is not included. """, Acknowledgements := """ This work has been supported by Marie Curie Grant No. MTKD-CT-2006-042685 """, Copyright := """ ©right; 2007--2013 Marc Roeder.
This package is distributed under the terms of the GNU General Public License version 2 or later (at your convenience). See the file "LICENSE" or[GJ] Gawrilow, E. and Joswig, M., polymake, \URL{http://polymake.org/}.
generated by GAPDoc2HTML
polymaking-0.8.6/doc/chap0_mj.html 0000644 0000766 0000024 00000030724 14071427117 016034 0 ustar mhorn staffVersion 0.8.6
8 July 2021
Marc Roeder
Email: roeder.marc@gmail.com
This package provides a very basic interface to the polymake program by Ewgenij Gawrilow, Michael Joswig et al. [GJ]. The polymake program itself is not included.
© 2007--2013 Marc Roeder.
This package is distributed under the terms of the GNU General Public License version 2 or later (at your convenience). See the file "LICENSE" or https://www.gnu.org/copyleft/gpl.html
This work has been supported by Marie Curie Grant No. MTKD-CT-2006-042685
generated by GAPDoc2HTML
polymaking-0.8.6/doc/chap2.html 0000644 0000766 0000024 00000075061 14071427117 015353 0 ustar mhorn staffThe interaction with the polymake program is done via files. A PolymakeObject
is mainly a pointer to a file and a list of known properties of the object. These properties need not be stored in the file. Whenever polymake is called, the returned value is read from standard output and stored in the PolymakeObject
corresponding to the file for which polymake is called. The files for polymake are written in the old (non-xml) format. The first run of polymake converts them into the new (xml) format. This means that changes to the file by means of the methods outlined below after the first run of polymake will probably lead to corrupted files.
‣ CreateEmptyFile ( filename ) | ( method ) |
Returns: nothing
Creates an empty file with name filename. Note that filename has to include the full path and the directory for the file must exist.
‣ CreatePolymakeObject ( ) | ( method ) |
‣ CreatePolymakeObject ( appvertyp ) | ( method ) |
‣ CreatePolymakeObject ( dir ) | ( method ) |
‣ CreatePolymakeObject ( dir, appvertyp ) | ( method ) |
‣ CreatePolymakeObject ( prefix, dir ) | ( method ) |
‣ CreatePolymakeObject ( prefix, dir, appvertyp ) | ( method ) |
Returns: PolymakeObject
If called without arguments, this method generates an empty file in the directory defined by POLYMAKE_DATA_DIR
(3.2-2). If a directory dir is given (this directory must exist), an empty file is generated in this directory. If prefix is not given, the file is called polyN
where N
is the current runtime. If a file of this name already exists, a number is appended separated by a dot (example: "poly1340" and "poly1340.1"). If prefix is given, the filename starts with this prefix. Optionally, the file can be generated with a header specifying application, version and type of the object. This is done by passing the triple of strings appvertyp to CreatePolymakeObject
. A valid triple is ["polytope","2.3","RationalPolytope"]
. Validity is checked by CheckAppVerTypList
(2.1-3).
‣ CheckAppVerTypList ( appvertyp ) | ( method ) |
Returns: bool
Checks if the triple arppvertyp of strings specifies an application and type of polymake version 2.3. More specifically, the first entry has to be an application from ["polytope","surface","topaz"]
and the third entry has to be a type corresponding to the application given in the first entry. The second entry is not checked.
‣ CreatePolymakeObjectFromFile ( filename ) | ( method ) |
‣ CreatePolymakeObjectFromFile ( dir, filename ) | ( method ) |
Returns: PolymakeObject
This method generates a PolymakeObject
corresponding to the file filename in the directory dir. If dir is not given, the POLYMAKE_DATA_DIR
is used.If no file with name filename exists in dir (or POLYMAKE_DATA_DIR
, respectively), an empty file is created. Note that the contents of the file do not matter for the generation of the object. In particular, the object does not know any of the properties that might be encoded in the file. The only way to transfer information from files to PolymakeObject
s is via Polymake
(2.5-1).
A PolymakeObject
contains information about the directory of its file, the name of its file and about properties calculated by calling Polymake
(2.5-1). The properties returned by the polymake
program are stored under the name polymake
assigns to them (that is, the name of the data block in the corresponding file). The following methods can be used to access the information stored in a PolymakeObject
. But be careful! All functions return the actual object. No copies are made. So if you change one of the returned objects, you change the PolymakeObject
itself.
‣ DirectoryOfPolymakeObject ( poly ) | ( method ) |
Returns: Directory
Returns the directory of the file associated with poly.
‣ FilenameOfPolymakeObject ( poly ) | ( method ) |
Returns: String
Returns the name of the file associated with poly. This does only mean the name of the file, not the full path. For the full path and file name see FullFilenameOfPolymakeObject
(2.2-3)
‣ FullFilenameOfPolymakeObject ( poly ) | ( method ) |
Returns: String
Returns the file associated with the PolymakeObject
poly with its complete path.
‣ NamesKnownPropertiesOfPolymakeObject ( poly ) | ( method ) |
Returns: List of Strings
Returns a list of the names of all known properties. This does only include the properties returned by Polymake
(2.5-1), "dir"
and "filename"
are not included. If no properties are known, fail
is returned.
‣ KnownPropertiesOfPolymakeObject ( poly ) | ( method ) |
Returns: Record
Returns the record of all known properties. If no properties are known, fail
is returned.
‣ PropertyOfPolymakeObject ( poly, name ) | ( method ) |
Returns the value of the property name if it is known. If the value is not known, fail
is returned. name must be a String
.
Suppose the file /tmp/threecube.poly
contains the three dimensional cube in polymake form. Now generate a PolymakeObject
from this file and call Polymake
(2.5-1) to make the vertices of the cube known to the object.
### suppose we have a polymake file /tmp/threecube.poly ### containing a cube in three dimensions gap> cube:=CreatePolymakeObjectFromFile(Directory("/tmp"),"threecube.poly"); <polymake object. No properties known> gap> FilenameOfPolymakeObject(cube); "threecube.poly" gap> FullFilenameOfPolymakeObject(cube); "/tmp/threecube.poly" #nothing is known about the cube: gap> NamesKnownPropertiesOfPolymakeObject(cube); fail gap> Polymake(cube,"VERTICES"); [ [ -1, -1, -1 ], [ 1, -1, -1 ], [ -1, 1, -1 ], [ 1, 1, -1 ], [ -1, -1, 1 ], [ 1, -1, 1 ], [ -1, 1, 1 ], [ 1, 1, 1 ] ] # Now <cube> knows its vertices: gap> Print(cube); <polymake object threecube.poly. Properties known: [ "VERTICES" ]> gap> PropertyOfPolymakeObject(cube,"VERTICES"); [ [ -1, -1, -1 ], [ 1, -1, -1 ], [ -1, 1, -1 ], [ 1, 1, -1 ], [ -1, -1, 1 ], [ 1, -1, 1 ], [ -1, 1, 1 ], [ 1, 1, 1 ] ] gap> KnownPropertiesOfPolymakeObject(cube); rec( VERTICES := [ [ -1, -1, -1 ], [ 1, -1, -1 ], [ -1, 1, -1 ], [ 1, 1, -1 ], [ -1, -1, 1 ], [ 1, -1, 1 ], [ -1, 1, 1 ], [ 1, 1, 1 ] ] )
To transfer data from GAP to polymake, the following methods can be used. But bear in mind that none of these functions test if the resulting polymake file is still consistent.
‣ AppendToPolymakeObject ( poly, string ) | ( method ) |
Returns: nothing
This appends the string string to the file associated to the PolymakeObject
poly. It is not tested if the string is syntactically correct as a part of a polymake file. It is also not tested if the string is compatible with the data already contained in the file.
INEQUALITIES, POINTS and VERTICES can be appended to a polymake object using the following functions:
‣ AppendPointlistToPolymakeObject ( poly, pointlist ) | ( method ) |
Returns: nothing
Takes a list pointlist of vectors and converts it into a string which represents a polymake block labeled "POINTS". This string is then added to the file associated with poly. The "POINTS" block of the file associated with poly then contains points with leading ones, as polymake uses affine notation.
‣ AppendVertexlistToPolymakeObject ( poly, pointlist ) | ( method ) |
Returns: nothing
Does the same as AppendPointlistToPolymakeObject
, but with "VERTICES" instead of "POINTS".
‣ AppendInequalitiesToPolymakeObject ( poly, ineqlist ) | ( method ) |
Returns: nothing
Just appends the inequalities given in ineqlist to the polymake object poly (with caption "INEQUALITIES"). Note that this does not check if an "INEQUALITIES" section does already exist in the file associated with poly.
‣ ConvertMatrixToPolymakeString ( name, matrix ) | ( method ) |
Returns: String
This function takes a matrix matrix and converts it to a string. This string can then be appended to a polymake file via AppendToPolymakeObject
(2.4-1) to form a block of data labeled name. This may be used to write blocks like INEQUALITIES or FACETS.
‣ ClearPolymakeObject ( poly ) | ( method ) |
‣ ClearPolymakeObject ( poly, appvertyp ) | ( method ) |
Returns: nothing
Deletes all known properties of the PolymakeObject
poly and replaces its file with an empty one.
If the triple of strings appvertyp specifying application, version and type (see CheckAppVerTypList
(2.1-3)) is given, the file is replaced with a file that contains only a header specifying application, version and type of the polymake object.
There are also methods to manipulate the known values without touching the file of the PolymakeObject
:
‣ WriteKnownPropertyToPolymakeObject ( poly, name, data ) | ( method ) |
Takes the object data and writes it to the known properties section of the PolymakeObject
poly. The string name is used as the name of the property. If a property with that name already exists, it is overwritten. Again, there is no check if data is consistent, correct or meaningful.
‣ UnbindKnownPropertyOfPolymakeObject ( poly, name ) | ( method ) |
If the PolymakeObject
poly has a property with name name, that property is unbound. If there is no such property, fail
is returned.
‣ Polymake ( poly, option: PolymakeNolookup ) | ( method ) |
This method calls the polymake program (see POLYMAKE_COMMAND
(3.2-1)) with the option option. You may use several keywords such as "FACETS VERTICES"
as an option. The returned value is cut into blocks starting with keywords (which are taken from output and not looked up in option). Each block is then interpreted and translated into GAP readable form. This translation is done using the functions given in ObjectConverters
(4.1-4). The first line of each block of polymake output is taken as a keyword and the according entry in ObjectConverters
(4.1-4) is called to convert the block into GAP readable form. If no conversion function is known, an info string is printed and fail
is returned. If only one keyword has been given as option, Polymake
returns the result of the conversion operation. If more than one keyword has been given or the output consists of more than one block, Polymake
returns fail
. In any case, the calculated values for each block are stored as known properties of the PolymakeObject
poly as long as they are not fail
. If Polymake
is called with an option that corresponds to a name of a known property of poly, the known property is returned. In this case, there is no call of the external program. (see below for suppression of this feature).
Note that the command Polymake
returns fail
if nothing is returned by the program polymake or more than one block of data is returned. For example, the returned value of Polymake(poly,"VISUAL")
is always fail
. Likewise, Polymake(poly,"POINTS VERTICES")
will return fail
(but may add new known properties to poly). For a description of the conversion functions, see chapter 4.
If the option PolymakeNolookup is set to anything else than false, the polymake program is called even if poly already has a known property with name option.
Note that whenever Polymake
returns fail
, a description of the problem is stored in POLYMAKE_LAST_FAIL_REASON
(3.1-2). If you call Polymake
with more than one keyword, POLYMAKE_LAST_FAIL_REASON
(3.1-2) is changed before polymake is called. So any further reason to return fail
will overwrite it.
Let's generate a three dimensional permutahedron.
gap> S:=SymmetricGroup(3); Sym( [ 1 .. 3 ] ) gap> v:=[1,2,3]; [ 1, 2, 3 ] gap> points:=Orbit(S,v,Permuted);; gap> permutahedron:=CreatePolymakeObject(); <polymake object. No properties known> gap> AppendPointlistToPolymakeObject(permutahedron,points); gap> Polymake(permutahedron,"VOLUME"); 3 gap> Polymake(permutahedron,"N_VERTICES"); 6 #Now <permutahedron> knows its number of vertices, but not the vertices: gap> PropertyOfPolymakeObject(permutahedron,"VERTICES"); fail gap> NamesKnownPropertiesOfPolymakeObject(permutahedron); [ "VOLUME", "N_VERTICES" ] #Let's look at the object! gap> Polymake(permutahedron,"VISUAL"); #I There was no or wrong polymake output fail gap> Polymake(permutahedron,"DIM"); 2
generated by GAPDoc2HTML
polymaking-0.8.6/doc/polymaking.toc 0000644 0000766 0000024 00000015541 14071427117 016346 0 ustar mhorn staff \contentsline {chapter}{\numberline {1}\leavevmode {\color {Chapter }Installation and Preface}}{4}{chapter.1} \contentsline {section}{\numberline {1.1}\leavevmode {\color {Chapter }A few words about the installation of polymake}}{4}{section.1.1} \contentsline {section}{\numberline {1.2}\leavevmode {\color {Chapter }Setting variables for external programs}}{4}{section.1.2} \contentsline {subsection}{\numberline {1.2.1}\leavevmode {\color {Chapter }SetPolymakeDataDirectory}}{5}{subsection.1.2.1} \contentsline {subsection}{\numberline {1.2.2}\leavevmode {\color {Chapter }SetPolymakeCommand}}{5}{subsection.1.2.2} \contentsline {subsection}{\numberline {1.2.3}\leavevmode {\color {Chapter }Setting variables permanently}}{5}{subsection.1.2.3} \contentsline {chapter}{\numberline {2}\leavevmode {\color {Chapter }Polymake interaction}}{6}{chapter.2} \contentsline {section}{\numberline {2.1}\leavevmode {\color {Chapter }Creating Polymake Objects}}{6}{section.2.1} \contentsline {subsection}{\numberline {2.1.1}\leavevmode {\color {Chapter }CreateEmptyFile}}{6}{subsection.2.1.1} \contentsline {subsection}{\numberline {2.1.2}\leavevmode {\color {Chapter }CreatePolymakeObject}}{6}{subsection.2.1.2} \contentsline {subsection}{\numberline {2.1.3}\leavevmode {\color {Chapter }CheckAppVerTypList}}{7}{subsection.2.1.3} \contentsline {subsection}{\numberline {2.1.4}\leavevmode {\color {Chapter }CreatePolymakeObjectFromFile}}{7}{subsection.2.1.4} \contentsline {section}{\numberline {2.2}\leavevmode {\color {Chapter }Accessing Properties of Polymake Objects}}{7}{section.2.2} \contentsline {subsection}{\numberline {2.2.1}\leavevmode {\color {Chapter }DirectoryOfPolymakeObject}}{7}{subsection.2.2.1} \contentsline {subsection}{\numberline {2.2.2}\leavevmode {\color {Chapter }FilenameOfPolymakeObject}}{7}{subsection.2.2.2} \contentsline {subsection}{\numberline {2.2.3}\leavevmode {\color {Chapter }FullFilenameOfPolymakeObject}}{8}{subsection.2.2.3} \contentsline {subsection}{\numberline {2.2.4}\leavevmode {\color {Chapter }NamesKnownPropertiesOfPolymakeObject}}{8}{subsection.2.2.4} \contentsline {subsection}{\numberline {2.2.5}\leavevmode {\color {Chapter }KnownPropertiesOfPolymakeObject}}{8}{subsection.2.2.5} \contentsline {subsection}{\numberline {2.2.6}\leavevmode {\color {Chapter }PropertyOfPolymakeObject}}{8}{subsection.2.2.6} \contentsline {section}{\numberline {2.3}\leavevmode {\color {Chapter }Example: Creating and Accessing Polymake Objects}}{8}{section.2.3} \contentsline {section}{\numberline {2.4}\leavevmode {\color {Chapter }Writing to Polymake Objects}}{9}{section.2.4} \contentsline {subsection}{\numberline {2.4.1}\leavevmode {\color {Chapter }AppendToPolymakeObject}}{9}{subsection.2.4.1} \contentsline {subsection}{\numberline {2.4.2}\leavevmode {\color {Chapter }AppendPointlistToPolymakeObject}}{9}{subsection.2.4.2} \contentsline {subsection}{\numberline {2.4.3}\leavevmode {\color {Chapter }AppendVertexlistToPolymakeObject}}{9}{subsection.2.4.3} \contentsline {subsection}{\numberline {2.4.4}\leavevmode {\color {Chapter }AppendInequalitiesToPolymakeObject}}{9}{subsection.2.4.4} \contentsline {subsection}{\numberline {2.4.5}\leavevmode {\color {Chapter }ConvertMatrixToPolymakeString}}{10}{subsection.2.4.5} \contentsline {subsection}{\numberline {2.4.6}\leavevmode {\color {Chapter }ClearPolymakeObject}}{10}{subsection.2.4.6} \contentsline {subsection}{\numberline {2.4.7}\leavevmode {\color {Chapter }WriteKnownPropertyToPolymakeObject}}{10}{subsection.2.4.7} \contentsline {subsection}{\numberline {2.4.8}\leavevmode {\color {Chapter }UnbindKnownPropertyOfPolymakeObject}}{10}{subsection.2.4.8} \contentsline {section}{\numberline {2.5}\leavevmode {\color {Chapter }Calling Polymake and converting its output}}{10}{section.2.5} \contentsline {subsection}{\numberline {2.5.1}\leavevmode {\color {Chapter }Polymake}}{10}{subsection.2.5.1} \contentsline {section}{\numberline {2.6}\leavevmode {\color {Chapter }An Example}}{11}{section.2.6} \contentsline {chapter}{\numberline {3}\leavevmode {\color {Chapter }Global Variables}}{13}{chapter.3} \contentsline {section}{\numberline {3.1}\leavevmode {\color {Chapter }Getting information about polymake output}}{13}{section.3.1} \contentsline {subsection}{\numberline {3.1.1}\leavevmode {\color {Chapter }InfoPolymaking}}{13}{subsection.3.1.1} \contentsline {subsection}{\numberline {3.1.2}\leavevmode {\color {Chapter }POLYMAKE{\textunderscore }LAST{\textunderscore }FAIL{\textunderscore }REASON}}{13}{subsection.3.1.2} \contentsline {section}{\numberline {3.2}\leavevmode {\color {Chapter }Variables for system interaction}}{13}{section.3.2} \contentsline {subsection}{\numberline {3.2.1}\leavevmode {\color {Chapter }POLYMAKE{\textunderscore }COMMAND}}{13}{subsection.3.2.1} \contentsline {subsection}{\numberline {3.2.2}\leavevmode {\color {Chapter }POLYMAKE{\textunderscore }DATA{\textunderscore }DIR}}{13}{subsection.3.2.2} \contentsline {chapter}{\numberline {4}\leavevmode {\color {Chapter }Converting Polymake Output}}{15}{chapter.4} \contentsline {section}{\numberline {4.1}\leavevmode {\color {Chapter }The General Method}}{15}{section.4.1} \contentsline {subsection}{\numberline {4.1.1}\leavevmode {\color {Chapter }Converter- Philosopy}}{15}{subsection.4.1.1} \contentsline {subsection}{\numberline {4.1.2}\leavevmode {\color {Chapter }ConvertPolymakeOutputToGapNotation}}{15}{subsection.4.1.2} \contentsline {subsection}{\numberline {4.1.3}\leavevmode {\color {Chapter }SplitPolymakeOutputStringIntoBlocks}}{16}{subsection.4.1.3} \contentsline {subsection}{\numberline {4.1.4}\leavevmode {\color {Chapter }ObjectConverters}}{16}{subsection.4.1.4} \contentsline {section}{\numberline {4.2}\leavevmode {\color {Chapter }Conversion Functions}}{16}{section.4.2} \contentsline {subsection}{\numberline {4.2.1}\leavevmode {\color {Chapter }ConvertPolymakeNumber}}{16}{subsection.4.2.1} \contentsline {subsection}{\numberline {4.2.2}\leavevmode {\color {Chapter }ConvertPolymakeScalarToGAP}}{16}{subsection.4.2.2} \contentsline {subsection}{\numberline {4.2.3}\leavevmode {\color {Chapter }ConvertPolymakeMatrixOrListOfSetsToGAP}}{16}{subsection.4.2.3} \contentsline {subsection}{\numberline {4.2.4}\leavevmode {\color {Chapter }ConvertPolymakeMatrixToGAP}}{17}{subsection.4.2.4} \contentsline {subsection}{\numberline {4.2.5}\leavevmode {\color {Chapter }ConvertPolymakeVectorToGAP}}{17}{subsection.4.2.5} \contentsline {subsection}{\numberline {4.2.6}\leavevmode {\color {Chapter }ConvertPolymakeBoolToGAP}}{17}{subsection.4.2.6} \contentsline {subsection}{\numberline {4.2.7}\leavevmode {\color {Chapter }ConvertPolymakeSetToGAP}}{17}{subsection.4.2.7} \contentsline {subsection}{\numberline {4.2.8}\leavevmode {\color {Chapter }ConvertPolymakeListOfSetsToGAP}}{17}{subsection.4.2.8} \contentsline {subsection}{\numberline {4.2.9}\leavevmode {\color {Chapter }ConvertPolymakeGraphToGAP}}{18}{subsection.4.2.9} \contentsline {chapter}{References}{19}{chapter*.5} \contentsline {chapter}{Index}{20}{section*.6} polymaking-0.8.6/doc/chap3.html 0000644 0000766 0000024 00000014014 14071427117 015343 0 ustar mhorn staff‣ InfoPolymaking | ( info class ) |
If set to at least 2, the output of polymake is shown. At level 1, warnings are shown. This is the default. And at level 0, the polymake package remains silent.
‣ POLYMAKE_LAST_FAIL_REASON | ( global variable ) |
Contains a string that explains the last occurence of fail
as a return value of Polymake
(2.5-1).
The variables for interaction with the system are contained in the file environment.gi
. Each of these variables has a function to set it, see 1.2. If POLYMAKE_COMMAND
or POLYMAKE_DATA_DIR
are set at startup, they are not overwritten. So if you don't want (or don't have the rights) to modify environment.gi
, you can set the variables in your .gaprc
file.
‣ POLYMAKE_COMMAND | ( global variable ) |
This variable should contain the name of the polymake program in the form as returned by Filename
So a probable value is Filename(Directory("/usr/local/bin"),"polymake")
.
‣ POLYMAKE_DATA_DIR | ( global variable ) |
In this directory the files for polymake will be created. By default, this generates a temporary directory using DirectoryTemporary
generated by GAPDoc2HTML
polymaking-0.8.6/doc/chap1_mj.html 0000644 0000766 0000024 00000020074 14071427117 016032 0 ustar mhorn staffTo install the package, just unpack it in your packages directory (usually ~/gap/pkg
for local installation). To use polymaking, you need a working installation of the program polymake https://polymake.org. 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.
The interaction with polymake is restricted to writing files and carrying out simple operations. These looked like
polymake file KEYWORD1 KEYWORD2 KEYWORD3
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 lib/pm_script_arg.pl
to emulate this.
polymake ––script lib/pm_script_arg.pl KEYWORD1 KEYWORD2 KEYWORD3
Using custom scripts is not supported.
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 PolymakeObject
in GAP. As of polymaking version 0.8.0, old versions of polymake (i.e. versions before 2.7.9) are not supported anymore.
polymaking will try to guess the location of polymake. If this fails, a warning is issued at load time (InfoWarning
level 1). Note that the guessing procedure is suppressed when POLYMAKE_COMMAND
(3.2-1) is set manually (see 1.2-3).
setenv PATH ${PATH}:<your polymakepath>
The general rule is: If polymaking finds polymake by itself, there is nothing to worry about.
As polymaking 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.
‣ SetPolymakeDataDirectory ( dir ) | ( method ) |
Sets the directory in which all polymake files are created to dir. The standard place for these files is a temporary directory generated when the package is loaded. This manipulates POLYMAKE_DATA_DIR
(3.2-2).
‣ SetPolymakeCommand ( command ) | ( method ) |
Sets the name for the polymake program to command. This manipulates POLYMAKE_COMMAND
(3.2-1).
To permanently set the values of POLYMAKE_COMMAND
(3.2-1), and POLYMAKE_DATA_DIR
(3.2-2), add the lines
POLYMAKE_DATA_DIR:=Directory("/home/mypolymakedatadir"); POLYMAKE_COMMAND:=Filename(Directory("/home/mypolymakebindir/"),"polymake");
to your .gaprc
file (see ???). Note that these have to be before the LoadPackage("polymaking");
line. Or you can change the values of the above variables by editing lib/environment.gi
generated by GAPDoc2HTML
polymaking-0.8.6/doc/title.xml 0000644 0000766 0000024 00000002217 14071427114 015321 0 ustar mhorn staff