discgrp(5) (Date: 92/08/26) discgrp(5)
NAME
discrete group file formats
SYNOPSIS
An ascii file representation of a discrete geometric group.
SUMMARY
This file format applies to a wide variety of groups
encountered in topology and geometry. At the beginning of
the file is the string DISCGRP, in conformity with other
OOGL file formats (see oogl(5)). The remainder of the file
is a series of parenthesized expressions.
The file format is based on an expandable set of key markers
and values. A typical entry would be
(group borromean )
where parentheses enclose the expression. The string
'group' is called the key marker. The remaining text
contains a value, in this case a character string which is
the name of the group. Key markers currently recognized and
their values include:
group A name for this group.
comment An arbitrary comment [maximum length 256 bytes]
[must be enclosed in double quotes]
attribute One of a several keyword identifiers including:
euclidean is a euclidean group
hyperbolic is a hyperbolic group
spherical is a spherical group
transposed the matrices are transposed
finite this is a finite group
model In the case that 'hyperbolic' is an attribute, and the dimension is
three, this keyword sets the model that is
expected for reading subsequent isometries, i.e., expects elements of
SL(2,C) if the model is upperhalfspace or conformalball and O(3,1,R) if it is
projective.
projective default
upperhalfspace
conformalball [not currently implemented]
display These values set characteristics of the the display of the discrete
group.
centercam keeps the camera centered in central dirichlet domain.
zcull removes tiles which lie behind the camera.
showcam if centercam is set, displays camgeom, if provided (see below).
dimn The dimension of the space.
ngens Number of generators.
gens List of generators.
nels Number of group elements.
els List of group elements.
wafile Word acceptor file (in DEAGL format version 2.2)
camgeom An OOGL-format geometry description to represent the observer.
geom An OOGL-format geometry description. Will replace the default Dirichlet domain computation.
Page 1 (printed 12/22/98)
discgrp(5) (Date: 92/08/26) discgrp(5)
String-matching of key markers and attribute values is
case-insensitive.
Currently all matrices must be 4x4 real matrices. Hence the
only valid dimensions are 2,3, or 4. The typical case is
dimension 3 where there are projective models for
hyperbolic, euclidean, and spherical geometry. Dimension 2
groups should leave the z-coordinate unchanged.
Matrices are considered transposed if they are considered to
act on column vectors as in: M.v = v'. This is the usual
mathematical convention convention. So, if you use this
convention you must mark your matrices as being transposed.
Group elements are specified by an optional character string
followed by a list of 16 real numbers. For the case of
generators, the character string represents the name of that
generator. Its main use is with the automatic group
software: the name used here should match that of the
generator in the word acceptor file. It should, for
example, be a single character for the software to work
reliably. For composite elements, the string is the word in
the generators which describes this group element.
OOGL libraries expect discrete group files to use the '.dgp'
suffix.
A file which describes the group of the three dimensional
torus follows:
DISCGRP
(group 3torus )
(comment " This is a test of the new discrete group library. " )
(attribute Euclidean )
(display centercam )
(enumdepth 3 ) # look at all words of length 3 or less in generators
(enumdist 10.0 ) # and which don't move the origin more than 10.0
(dimn 3 )
(ngens 3 )
(gens
a
1 0 0 0
0 1 0 0
0 0 1 0
1 0 -0.1 1
b
1 0 0 0
0 1 0 0
0 0 1 0
0.1 1 0 1
c
Page 2 (printed 12/22/98)
discgrp(5) (Date: 92/08/26) discgrp(5)
1 0 0 0
0 1 0 0
0 0 1 0
0 0.2 1 1
)
(cpoint 0.000000 0.000000 0.000000 1.000000 )
(camgeom
{ = OFF
5 2 5
0 0 0
-0.1 0 0.5
0.1 0 0.5
0 -0.1 0.5
0 0.1 0.5
3 0 1 2 200 200 0 .8
3 0 3 4 0 200 200 .8
}
)
FILES
Example group files are to be found in the OOGL release in
${GEOM}/data/groups, where e.g., GEOM = /u/gcg/ngrap. See
also discgrp(3) and automata(1).
AUTHORS
Charlie Gunn.
BUGS
For dimension 2, the code should read and write 3 x 3
matrices.
Page 3 (printed 12/22/98)