## 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.

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

visualize ([ "title" ], VisualObject, ...)
Create a drawing with given VisualObject's. Optional title will replace the default one taken from the first object.
The visualization program is chosen based on the types of the given objects, as well as on the user preferences.
Multiple visual objects of the same kind may be passed together packed into anonymous arrays; this will essentially accelerate the chosing procedure.
No matter how many visual objects are passed, they all will be stuffed on the same page (window, etc.) If it is not what you want, call this function several times giving it smaller sets of objects.
Note that for the most visualization packages the real work will be delayed until the end of the user interaction cycle. In interactive shell mode, it is after the whole user input line is executed, in script mode it occurs just before the script termination. This allows to bundle several drawings to multi-page documents (or multi-window presentations), as far as supported by the visualization package.
However, when called in non-void context, this function simply returns the first VisualObject, with the rest objects attached to it.
All single-object drawing methods (like VISUAL, VISUAL_GRAPH, SCHLEGEL, etc.) always return their results via visualize. This way you can use them for both immediate drawing (by calling them in void context) and composing more complex pictures, e.g. `visualize(VISUAL, VISUAL_DUAL)`
static_javaview
don't use the interactive components even if available
JVXfile ([ FILENAME ])
Redirect the drawing produced by the next visualization method or function into a JVX file FILENAME. JVX is the XML-based file format used by JavaView.
The .jvx suffix is added automatically. If FILENAME is omitted, the contents will be printed to STDOUT.

## 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.
check_iso (Polytope1, Polytope2)
Check whether the face lattices of two polytopes are isomorphic. The problem is reduced to graph isomorphism of the vertex-facet incidence graphs.
check_congruence (Polytope1, Polytope2)
Check whether two given polytopes are congruent, i.e. whether there is an affine isomorphism between them that is induced by a (possibly scaled) orthogonal matrix.
This function returns the scale factor, or 0 if the polytopes are not congruent.
We are using the reduction of the congruence problem (for arbitrary point sets) to the graph isomorphism problem due to:
Akutsu, T.: On determining the congruence of point sets in {d} dimensions. Comput. Geom. Theory Appl. 9, 247--256 (1998), no. 4
The construction is described in the documentation of the client congruence_graphs.