Provided by: geomview_1.9.5-3build1_amd64 bug


       discrete group file formats


       An ascii file representation of a discrete geometric group.


       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

       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     default
                   conformalball  [not currently implemented]
              display These values set characteristics of the the display of the discrete
                   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.

       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:
              (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 )
                           1             0             0             0
                           0             1             0             0
                           0             0             1             0
                           1             0          -0.1             1

                           1             0             0             0
                           0             1             0             0
                           0             0             1             0
                         0.1             1             0             1

                           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 )
              { = 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


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


       Charlie Gunn.


       For dimension 2, the code should read and write 3 x 3 matrices.

                                          Date: 92/08/26                             discgrp(5gv)