Provided by: geomview_1.9.4-3_i386 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 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     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-

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