Allowed options:
File => "filename" | "AUTO"
Store the objects in a gcl (geomview control language) file instead of starting the interactive GUI. The geometric data in OFF format is embedded in the Lisp-style commands, but can be easily extracted using any text editor, if needed.
The .gcl suffix is automatically added to the file name.
Specify AUTO if you want the filename be automatically derived from the drawing title.
You can also use any expression allowed for the perl open function, like "-" for terminal output, "&HANDLE" for an already opened file handle, or "| program" for a pipe.
Allowed options:
File => "filename" | "AUTO"
Store the object in a JVX file instead of starting the interactive GUI. The .jvx suffix is automatically added to the file name.
Specify AUTO if you want the filename be automatically derived from the drawing title.
You can also use any expression allowed for the perl open function, like "-" for terminal output, "&HANDLE" for an already opened file handle, or "| program" for a pipe.
Allowed options:
File => "filename" | "AUTO"
Only store the object in a .pov file, don't start the renderer.
The .pov suffix is automatically added to the file name.
Specify AUTO if you want the filename be automatically derived from the drawing title.
You can also use any expression allowed for the perl open function, like "-" for terminal output, "&HANDLE" for an already opened file handle, or "| program" for a pipe.
Allowed options:
File => "filename" | "AUTO"
Only store the object in a .ps file, don't start the viewer.
The .ps suffix is automatically added to the file name.
Specify AUTO if you want the filename be automatically derived from the drawing title.
You can also use any expression allowed for the perl open function, like "-" for terminal output, "&HANDLE" for an already opened file handle, or "| program" for a pipe.

## Basic

These functions are part of the core user interface. They are available in both scripting and interactive modes.

application ([ "name" | object ])
Set the current application to the one given by name (loading its rules if necessary) or by an object of the type Poly::Application.
Called without arguments just returns the current Poly::Application object, which is also available in the variable $application. Say print $application->name to see its name.
include ("rulefile", ...)
Read additional rule files, interpret them in the context of the current application. If no paths are specified explicitly, the rulefiles are searched in the current directory as well as along the path kept in the variable @lookup_rules, stored in your preference file ~/.polymake/prefer.pl.
load ("filename")
Read the data file filename and create the object according to the type stored there. If the data file does not contain a type declaration, the default type of the current application is assumed.
When called in a void context (that is, the return value is neither explicitly stored in a variable, nor passed to another function) the object is stored in the variable $this. The application which has created this data file is then made the current application.
save ([ object [, "filename" [, overwrite ]]])
Store the given object, or $this if omitted, in a data file.
If filename is specified, create the file with this name and store the object there. The boolean option overwrite allows to overwrite existing files. If omitted or FALSE, and the given file already exists, emit a warning message and do nothing.
If filename is omitted, write the object back to the file it was loaded from. If the object was created with a new constructor, a new file is created, with the name consisting of the object name (specified by the creation) and the application-specific suffix. If the object name is empty, an artificial name of the form ObjectType_NNN is generated, where NNN is an ordinal number.
In any case all open transactions on the object are reverted with rollback prior to writing to the file. The save operation is not performed if the changed attribute of the object reverts to FALSE after the rollback.
prefer ("label" | "label.sublevels" | "*.sublevels" "label", ...)
Make the production rules, user functions, or methods labeled with given label be preferred over competing rules (functions, methods). The label syntax is the same as in the prefer directive in the rule files, except that the complex label names and wildcards must be quoted in order to obey perl syntax.
The new preference list is also saved in your personal file ~/.polymake/prefer.pl It remains active in all forthcoming sessions until you revoke it with another prefer or reset_preference command.
For the sake of symmetry you can call this function by its alias name set_preference.
prefer_now ("label" | "label.sublevels" | "*.sublevels" "label", ...)
Has the same effect as prefer, but the changes are not persistent. The lifespan of the new preference order lasts up to the end of the current user cycle (that is, end of user script or interpretation of the current input line in interactive mode).
reset_preference ("label" | "label.sublevels" | "*.sublevels" | "*" | "all")
Reset the matching preference lists to the initial state as declared in the rule files. This change is permanent, the former settings are wiped out from the user's preference file ~/.polymake/prefre.pl
The arguments "*" and "all" revert all preference lists in all loaded applications to the initial state.

## Filters

Functions converting the printable representation of the properties. The input arguments are either scalars or array references, the same applies to the return value.

Filter functions are primarily used in print commands and in conversion utilities preparing the input data for external software packages.

printable
Obtain a printable representation of the arguments. For visual objects, nothing is returned; the corresponding visualization back-end routines are called instead.
labeled (property, labels)
property is expected to be of type set or incidence_matrix. labels should be an array or a string with whitespace separated words.
In the result, each cardinal number will be substituted by the label with corresponding index; the indices start, as usual, with 0.
row_labeled (property [, labels ])
labels should be an array or a string with whitespace separated words. Each item in the property will be prepended with corresponding label and a colon. If property is a string, the labeled items are whitespace-separated words. If property is an array, the labeled items are array elements (=lines).
If labels are omitted, takes the ordinal numbers starting with 0.
numbered (property)
Equivalent to row_labeled with omitted labels argument. Preserved for backwards compatibility.
packed (property)
property may be an array or a single line. For each input line, this filter sorts the elements numerically, counts the number of their occurence, and produces an output line in the map format:
`{(Element Count) ... }`
When applied to already packed representation, returns the input without changes.
average (property)
property may be an array or a single line. For each input line, this filter computes the average of the elements in it.
Can be also applied to the packed representation.
dense (property)
property is expected to be of type set or incidence_matrix. Each input line is interpreted as a sparse vector with (implicit) 0/1 entries and extended to a dense vector.
convert_to_rational
Converts a property of type matrix or vector to the rational representation.
convert_to_float
Converts a property of type matrix or vector to the floating-point representation.

## Visualization

compose ([ "title" ], VisualObject, ... , decorations ...)
Create a composite drawing of several VisualObject's. Optional title will replace the default one taken from the first object. Trailing decorations (like VertexColor) are applied to all components as default values.
static (VisualObject)
Suppress creation of dynamic (interactive) scenes. Currently affects graph spring embedder (VISUAL_GRAPH) and Schlegel diagrams of polytopes (SCHLEGEL).
javaview (VisualObject, ..., options)
Call JavaView with the given visual objects.
postscript (VisualObject, ..., options)
Create a Postscript (tm) drawing with the given visual objects.
geomview (VisualObject, ..., options)
Call geomview with the given visual object.
povray (VisualObject, ..., options)
Call POV-Ray with the given visual object.

## Comparing

check_iso (Graph1, Graph2)
Check the isomorphism of two graph properties using the dreadnaut program from the nauty package. If you need to see all the details reported by dreadnaut, increase the verbosity level.