Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 91213ddcfbe7f54821d42c2d9e091326 > files > 3055

gap-system-packages-4.4.12-5mdv2010.0.i586.rpm

<html><head><title>[xgap] 10.1 Concept</title></head>
<body text="#000000" bgcolor="#ffffff">
[<a href = "C010S000.htm">Up</a>] [<a href ="C010S002.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<h1>10.1 Concept</h1><p>
<p>
There are two main changes in the concept. The first is the migration to
<font face="Gill Sans,Helvetica,Arial">GAP</font>4 with all the bells and whistles like object oriented design with
operations, methods and method selection via filters. XGAP4 is rewritten 
nearly totally with these technologies. This should make the reusage of
code in the future easier. One can now use big parts of the code of XGAP
for own structures by just replacing some methods via overloading.
<p>
The second change is that there is no longer any mathematical ``knowledge''
or algorithm in XGAP. It is now only a front end and a graphical user
interface. All code for finitely presented groups resides now in the <font face="Gill Sans,Helvetica,Arial">GAP</font>
library. This is a much cleaner concept and should make the management of
the source code easier. At the same time XGAP has become a much more
generic program. Operations for subgroups are for example no longer hard
wired into XGAP case by case but there is generic code which can be
adapted just by hacking a few tables.
<p>
These generalizations made some sacrifices necessary, because XGAP does
no longer know anything about the mathematics it is displaying. It may for
example happen that XGAP does no longer adapt its behaviour to the
amount of data that is known about some finitely presented groups. The
reason for this is, that the generic poset routines cannot know that the
vertices stand for groups at all. So sometimes one has to trigger the
comparison of subgroups of finitely presented groups manually (see section
<a href="C005S012.htm#SSEC4">Compare Subgroups</a> for a description how to do this).
<p>
In the old <font face="Gill Sans,Helvetica,Arial">GAP</font>3 version of XGAP there were three different programs
for the full subgroup lattice of a (finite) group (<code>GraphicLattice</code>), the
interactive partial subgroup lattice of a finite group
(<code>InteractiveLattice</code>) and the interactive partial subgroup lattice of a
finitely presented group (<code>InteractiveFpLattice</code>) respectively. Now there
is only one generic program to display subgroup lattices interactively
(<code>GraphicSubgroupLattice</code>).
<p>
XGAP can now handle subgroups of infinite index. They are either
placed in a ``finite size'' level or in an ``infinity'' level. See
<a href="C005S003.htm">levelsintro</a> for details.
<p>
A new logging facility allows to automatically produce a protocol of
the actions the user performs via mouse clicks. This is convenient
because the normal <font face="Gill Sans,Helvetica,Arial">GAP</font> command script contains no useful
information about the selected entries in the menus. See
<a href="C005S002.htm">loggingfacility</a> for details.
<p>
There is a new layer to display generic posets that do not have to be
subgroup lattices. It can be used to display posets interactively very
easily. This is for example used in the new link to the C-MeatAxe written
by Michael Ringe. The code for this link is also included in XGAP4.
<p>
Code for the display of graphic graphs is planned but not yet completed.
<p>
The user of XGAP should not realize much of those changes (except of
course the name of the function to display a subgroup lattice). The
programmer on the other hand has to get used to the new techniques. It was
not in all places possible to achieve total compatibility for existing
code. Some changes also were introduced deliberately to make the
programmers adapt their programs to the new situation!
<p>
<p>
[<a href = "C010S000.htm">Up</a>] [<a href ="C010S002.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
<address>xgap manual<br>Mai 2003
</address></body></html>