This Text file is old! In a 🏛️Museum, an unsorted archive of (user-)pages. (Saved from Geocities in Oct-2009. The archival story: oocities.org)
--------------------------------------- (To 🚫report any bad content: archivehelp @ gmail.com)
>

Author: Assaf Wool
email: assafwool@yahoo.com
date: July 2007

What's new?
===========

- QuatRegionViewer.pl: A new viewer writteen in perl for 
  displaying fundamental regions computed using QuatAlg.gap.

- CompRegion100.gap: A gap script used to  compute 
  fundamental regions for all quaternion algebras with
  discriminant up to 100.

- Grp100.txt: A new version of the file, ccreated by 
  CompRegion100.gap, compatible with the viewer. 

- QuatAlg.gap: Some changes for compatibillity with the viewer,
  nicer regions in some cases, improved running time.

Viewer for fundamental regions
==============================

The file QuatRegionViewer.pl is a viewer in perl that can 
display the fundamental regions computed using QuatAlg.gap.

When the viewer is run it tries to read data from a file
called "Grp100.txt" in the same directory. To read a file 
located elsewhere use the "Choose file" button. The viewer
expects a certain format, which is provided by the gap functions.

To display a fundamental region, choose a discriminant from
the list of discriminants that appears in the input file and
press the "Begin" button. The region appears within the unit 
circle, with its sides in same-color pairs that correspond to
inverse gluing transformations.

Around the region appear small green circles. These are the
images of 0 by all the gluing transformations. By clicking
with mouse in one of these circles the neighbouring region
is displayed and becomes the current region. This can
be repeated so that many regions are displayed simultaneously.
The current group element transforming the initial region
to the current one appears on the right, and the image of 0
under this element appears as a small blue circle.

As regions approach the unit circle they become Euclidianly 
small, and neighbouring regions become very near. The
buttons on the bottom allow navigation, moving in all four
directions and zooming in and out, to create a better view.
The location of the current view is displayed on the bottom,
with the xy coordinates of the bottom left corner and the 
side length of the display square. This can be manually 
changed and applied using the "Redraw" button.

Known problems:
1) There is almost no error checking when reading the file
containing the fundamental region data. If an input file 
has unexpected structure the program may fail to display
regions or even crash.

2) All computations in the viewer are done with ordinary
floating point perl scalars. This means there is an
accuracy problem. After a few zoom-in operations (less than
10) strange things can happen, parts of regions disappear, sides 
don't meet in a point as they should, etc.


Changes in QuatAlg.gap 
======================

- There are small changes in findVertices  to make 
the description of the fundamental region compatible
with the viewer.

- There are some changes in findQuatGeneraators, mostly
intended to improve performance of this function. When 
checking if an element is redundant as a generator,
it is first checked against the non-redundant elements 
already found. It is checked against all elements
(with larger isometric radii) only if the first check
fails. Since there are only a few non-redundant elements
and they catch most redundant elements, this additional
step reduces the overall time. For example, in the case
of D=111 there is an improvement of a factor of 2 in the
running time of createQuatObj, and the final loop of
findQuatGenerators is improved by a factor of 4.

- A second change in findQuatGenerators iss to check
for redundancy against elements with larger isometric radii,
not all elements with smaller index in the list even if
they have the same isometric radius. This is a cleaner
definition of non-redundant elements. This change required
adjustments in arrangeGenerators in the case of u=1 where
the group contains the 2-torsion zero-preserving element i.
In the previous version elements with the same isometric 
circle, which exist in this case, were removed in 
findQuatGenerators. In the new version these "duplicates"
appear in the generator list, and have to be removed in 
arrangeGenerators.

- There is a change in findTorsionW, that  chooses a
different torsion point of  in some cases. In the
previous version if g_1*i is a torsion element its torsion
point was chosen. This corresponds to choosing a vertex in 
the middle of the side defined by g_1, and this caused
some regions to be very strange looking. This choice
is now not allowed, only torsion points that correspond
to "vertex" (instead of "edge") relations.

New version of Output
=====================

The file Grp100.txt contains descriptions of fundamental
regions for all quaternion algebras with discriminant
up to 100. This is a second version of the file, with two
kinds of changes. First, this version is compatible 
with the viewer while the previous version is not. 
There are some additional lines and small changes in 
line formatting for this purpose. Second, some of the
regions have changed comparing to the previous version.
This is the result of the algorithmic changes in 
QuatAlg.gap. 

The file CompRegion100.gap contains the gap script used
to compute Grp100.txt. It is useful for creating 
similar files for other discriminants, files which
are compatible with the viewer.

Text file Source (historic): geocities.com/assafwool/Quat

geocities.com/assafwool

(to report bad content: archivehelp @ gmail)