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