From Math.RWTH-Aachen.DE!GAP-Forum-Sender Mon Sep 30 17:38:58 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0v7lMr-000I83C; Mon, 30 Sep 96 17:38 MET
Message-Id:     <m0v7lDJ-00075CC.960930.172901@astoria.math.rwth-aachen.de>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1021 accepted at 30 Sep 96 17:36 +0100
Date:           Mon, 30 Sep 96 17:29:01 +0100
From:           Joachim Neubueser <joachim.neubueser@math.rwth-aachen.de>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Martin's Good-bye
Content-Type: text
Content-Length: 3996
Status: RO

Dear Colleagues,

Martin Schoenert has said  good-bye to us, I  guess  it is my  turn to
return  a most grateful  good-bye to him, but  also to say a few words
about the present situation of GAP, as Martin is leaving it.

Martin has very adequately described his engagement  with and for GAP,
and indeed for several   years  now I  have    often called him    the
'architect' of the system. As I have emphazised  in the preface to the
manual, his role in the general design of GAP cannot be overestimated,
but also, and  much less noticeable to  the majority of the users, his
constant struggle  for a  system  that is truely  open  because in all
details it has  a clean and  clear structure  that allows the  user to
extend and modify it for particular problems.

Such perfectionism  has sometimes overthrown  too optimistic estimates
for the date  of the next  release,  update etc. and indeed  the first
version of GAP 3 did come out much later  than was hoped and similarly
now  GAP  4 is long  overdue  measured by some  dates  that I was bold
enough   to mention.   However     these  times were used   for   long
considerations  of possibilities  that  in the  end paid  off by their
result.   In particular  during the   last  couple of  years intensive
discussions of  the desirable features   for GAP 4 took  place between
Martin,  Thomas Breuer and  Frank Celler.   What  had to be taken into
account were the problems of

- the  possibility to introduce  an  increasing number of mathematical
structures,

- the possibility  to handle a  fast increasing number  of algorithmic
methods for the same or related goals,

- and yet to  keep as much upward  compatibility as possible ( a point
much more important than in the transition from GAP 2 to GAP 3 in view
of the much bigger number of users).

During the GAP   workshop from September  1  - 7 we  got valuable, and
generally very    positive feedback from   about 20  participants from
outside Aachen about  the new  concepts of GAP  4, but  of course with
Martin leaving  the official GAP  team ( I  am glad that indeed we can
count on his continued advice, as he said  in his letter) the question
about the state of GAP 4 is most legitimate.

Kernel and compiler  of GAP 4 are operational,  the new structure will
allow additions to the kernel much more  easily. About half of the GAP
library has been adapted   to GAP 4 and   work by about six people  at
Aachen and  two in St Andrews  on the adaption  of the  rest is making
good progress.  Quite  a few new routines   are basically ready to  be
joined to GAP 4 soon after  a first release which  will have about the
same mathematical functionality as the  present version.  We hope that
the following timetable is realistic:

-  Until early December  '96 work of  the above mentioned  team with a
continuously growing library under CVS will go on;

- Then  there will be weekly  developmental  versions and  the team of
developers will be increased,  involving e.g. several  participants of
the workshop;

- About early March '97 a beta test version will be available to every
interested user;

- About May/June '97  GAP 4.1 will be  released and with it St Andrews
will take over control of the  further development of  GAP 4 which will
then lead to further versions adding more new features to the library.

- Moreover it is planned that a last update GAP 3.4.4 of GAP 3 will be
issued (already by St Andrews) in January '97.

Surely there are many  sizeable tasks ahead,  adapting the rest of the
library and the  share packages, and rewriting the  Manual for  GAP 4,
but I think that Martin is leaving GAP on a safe way  to version 4 and
moreover he leaves a number of cooperators who  have worked for a long
time closely with him and will continue what he did.

I  am not  sure, if I   can speak for the  users,  but for the team in
Aachen, I want to  express my most sincere and  warm thanks to him and
wish him all the best for his future plans.


Joachim Neubueser



From Math.RWTH-Aachen.DE!GAP-Forum-Sender Mon Oct  7 11:17:08 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vACkA-000I83C; Mon, 7 Oct 96 11:17 MET
Message-Id:     <m0vACbz-0008XoC.961007.110835@rowlf.math.rwth-aachen.de>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1026 accepted at 07 Oct 96 11:14 +0100
Date:           Thu, 03 Oct 96 19:59:30 +0200
From:           Varca Salvatore <varca@mercurio.mat.uniroma1.it>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        HELP GAP/OS2
Content-Type: text
Content-Length: 387
Status: RO

Hallo:  I' m a new GAP user ; the operating system on my machine (IBM 486)
is the IBM OS2 Warp :  where can I find the GAP-executables for OS2?? 
This is a big problem for me, because I can't compilate the sources by
myself and the GAP DOS-version that I have, runs too slowly.  The Gap
release i' m using is 3.4.3.  I' ll be very grateful for your help.  Thank
you for your response. 


From Math.RWTH-Aachen.DE!GAP-Forum-Sender Mon Oct  7 13:36:36 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vAEvA-000I83C; Mon, 7 Oct 96 13:36 MET
Message-Id:     <m0vAEoQ-00075CC.961007.132934@astoria.math.rwth-aachen.de>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1027 accepted at 07 Oct 96 13:34 +0100
Date:           Mon, 07 Oct 96 13:29:34 +0100
From:           Joachim Neubueser <joachim.neubueser@math.rwth-aachen.de>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        undocumented functions
Content-Type: text
Content-Length: 8100
Status: RO

Dear GAP users,

At various  times the following  problem  has been  brought up in GAP-
trouble and in private mail:

In addition to the GAP functions that are described in the manual, GAP
contains many 'undocumented' functions,  which have  been used by  the
developers of GAP to separate their code into pieces that e.g.  can be
called from different places.  Advanced users who  have looked at  the
source have often  found  it useful to   know about such functions  in
writing their own code,  and the request has been  put forward to give
better  help for finding  such  'undocumented' functions. Recently for
instance  Charles Wright in  a private letter  to me  has suggested to
give at least their names in the manual.

We  have  always maintained  that  GAP  is  an open   system which  in
particular allows  and supports  modifying  existing code for  special
purposes,  and hence the request  to know ways  of finding information
also about  'undocumented' functions is  most legitimate. On the other
hand we must emphazise:

***********************************************************************
*** It is impossible   to    give any warranty     that 'undocumented'*
*** functions may not change or even  vanish from  one  update to  the*
*** next.   Also very  often  such functions  deal  with very  special*
*** situations which are much  too complicated  to fully describe  for*
*** general safe understanding.   Hence  using such  functions in  own*
*** programs  is extremely  dangerous  and  must certainly  completely*
*** remain  under the user's  responsibility, who  must make sure that*
*** such a function does what (s)he  supposes, and must make sure that*
*** (s)he is not  falling into a  trap  when such function is  changed*
*** without warning. As  opposed to problems with functions documented*
*** in the  manual, we cannot  even promise help  if a user is getting*
*** into trouble by directly calling undocumented functions.          *
***********************************************************************

We are afraid that listing even just the names in the manual might let
users forget   about this warning, and   therefore we do  not  want to
follow the above suggestion. However we want to  point out that indeed
it is not too difficult to get hold of the names and information about
'undocumented' functions at  the level of  using operating  systems to
study the source which in any  case will be  necessary if one wants to
use them in one's own code. 

* In  fact,   because of the  missing   guarantee  for their unchanged
* survival of  updates,  they should be copied  under  a modified name
* into private code rather than called from the main GAP library.

So here are some suggestions how to find 'undocumented' functions:  

Martin Schoenert suggests:

One can  get a list  of most available GAP  functions, together with a
short description what  each function does,  simply by collecting  the
lines that start with '#F' from the library files.

Under UNIX this can be done with the program 'grep'

    grep -h '^#F' <gap-directory>/lib/*.g

the option '-h' tells 'grep' not to precede each line that begins with
'#F' with the filename.

Of  course one can  restrict the search to  a  certain class of files,
e.g., to search only in the files related to permutation groups use

    grep -h '^#F' <gap-directory>/lib/perm*.g

One can further restrict the search by specifying additional keywords

    grep -h '^#F.*central' <gap-directory>/lib/perm*.g

The last command results in the following output

  #F  CentralCompositionSeriesPPermGroup(<G>) .  central composition series
  #F  PermGroupOps.Centralizer(<G>,<g>) . . .  centralizer of a permutation
  #F  CentralizerNormalCSPG() . . . . . .  centralizer of a normal subgroup
  #F  CentralizerNormalTransCSPG()  . centralizer of normal in transitive G
  #F  CentralizerTransSymmCSPG()  . . .  centralizer of transitive G in S_n


Further the file "permstbc.g" contains  some functions for permutation
groups which  are    not caught this way    but  must  be  looked   up
individually.

Furthermore there  are  some local  functions  inside  large functions
which are used  to structure the code but  it is impossible to provide
any means to find them.

Some  share packages  like GAUVA follow   the coding convention of GAP
closely, so you  can  use the same   mechanism for these   packages by
replacing

    <gap-directory>/lib

by

    <gap-directory>/pkg/<pkg-name>/lib

in the above examples.


Alexander Hulpke further suggests:

Sometimes you will want to see not only  the first line of a functions
header (the line including the '#F') but also the complete header. The
following shell script  will run through  all library files and  print
you all comment  paragraphs including a  given string.  To use it  (it
works *only* on UNIX systems):

1. copy the text  between the two  'cut here' lines (but excluding the
lines themselves) to a new file 'gaphelp'

2.   put this file  in  a  directory   that  is given  in  your 'PATH'
environment  variable  (If not,  you  will  have  to call  it  with an
absolute path name)

3. Edit the file to replace '/usd/gap/3.5/lib' by the path of your gap
library directory.

4. change this file to executable by using 'chmod 755 gaphelp'

5. To use the program, execute a search by  calling 'gaphelp group' to
se all    library comments refering   to 'group'.  (Of course  you can
replace 'group' by  any other  string.) Note  that the search  is case
sensitive.

------------- cut here --------------------
#!/bin/sh
echo 'BEGIN{c=0;i=1;f=0;}
{a=substr($0,1,2);
if ((a=="##")||(a=="#A")||(a=="#F")) {c=1}
else {if ((c==1)&&(f==1)) {
	      for (j=1; j<i; j++) print s[j];
	      print"#################################################";
	      };
      c=0;f=0;i=1}
if ((c==1)&&(substr($0,1,3)!="###")) {s[i++]=substr($0,4,80);
	if ($0 ~ /'$1'/ ) f=1}
	      }' > /tmp/GaLiAwK.$$

# replace the path in the next line
for i in /usd/gap/3.5/lib/*
do
  awk -f /tmp/GaLiAwK.$$ $i | more
done
rm /tmp/GaLiAwK.$$
------------- cut here --------------------


Keep in mind  that some functions might  be kept in the group  library
files.  So if you  don't succeed, you might  want to replace  'lib' by
'grp' in above commands.

You can    replace  the  wildcard  '*'   in  above  paths    by single
filenames. You can get the names of GAPs library files by running 'ls'
in your GAP distributions 'lib' directory.

ls <gap-directory>/lib/*.g

At present the files are 

algmat.g        field.g         matring.g       permutat.g
abattoir.g      cdaggrp.g       finfield.g      matrix.g        polyfin.g
agcent.g        chartabl.g      fpgrp.g         module.g        polyfld.g
agclass.g       classfun.g      fpsgpres.g      monomial.g      polynom.g
agcomple.g      combinat.g      fptietze.g      morpheus.g      polyrat.g
agcoset.g       ctautoms.g      galois.g        numfield.g      polystff.g
agctbl.g        ctbasic.g       gaussian.g      numtheor.g      pq.g
aggroup.g       ctcharac.g      group.g         onecohom.g      ratclass.g
aghall.g        ctfilter.g      grpcoset.g      operatio.g      rational.g
aghomomo.g      ctgapmoc.g      grpctbl.g       permag.g        ring.g
aginters.g      ctgeneri.g      grpelms.g       permbckt.g      rowmodul.g
agnorm.g        ctlattic.g      grphomom.g      permcose.g      rowspace.g
agprops.g       ctmapcon.g      grplatt.g       permcser.g      saggroup.g
agsubgrp.g      ctmapusi.g      grpprods.g      permctbl.g      sagsbgrp.g
agwords.g       ctpermch.g      init.g          permgrp.g       sq.g
algebra.g       ctpgrp.g        integer.g       permhomo.g      sqstuff.g
algfac.g        ctsymmet.g      lattperf.g      permnorm.g      string.g
algfld.g        cyclotom.g      list.g          permoper.g      tom.g
algfp.g         dispatch.g      mapping.g       permprod.g      vecspace.g
alghomom.g      domain.g        matgrp.g        permstbc.g 

Hope this is of some help for now, in the future we intend to put some
of this and related help into the manual.
  
Joachim Neubueser





From Math.RWTH-Aachen.DE!GAP-Forum-Sender Wed Oct  9 09:44:53 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vAuG1-000I83C; Wed, 9 Oct 96 09:44 MET
Message-Id:     <m0vAu4G-000KWWC.961009.093240@gonzo.math.rwth-aachen.de>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1028 accepted at 09 Oct 96 09:42 +0100
Date:           Wed, 09 Oct 96 09:32:00 +0100 (MET)
From:           Heiko Theissen <heiko.theissen@math.rwth-aachen.de>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        [no subject]
Content-Type: text
Content-Length: 803
Status: RO

SV> Hallo: I' m a new GAP user ; the operating system on my machine
SV> (IBM 486) is the IBM OS2 Warp : where can I find the
SV> GAP-executables for OS2??  This is a big problem for me, because
SV> I can't compilate the sources by myself and the GAP DOS-version
SV> that I have, runs too slowly.  The Gap release i' m using is
SV> 3.4.3.  I' ll be very grateful for your help.  Thank you for
SV> your response.

I successfully compiled GAP for os2 (the makefile is already in the
distribution, the target is something like os2-emx, emx can be found
e.g. at ftp.uni-stuttgart.de/pub/systems/os2/emx-0.9).

Anyway the dos-version of GAP should work fine under os2: I think it
is just a matter of setting the right amount of memory in the dos
shell.

Marina






------- End of forwarded message -------


From Math.RWTH-Aachen.DE!GAP-Forum-Sender Mon Oct 14 11:14:18 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vCk2F-000I83C; Mon, 14 Oct 96 11:14 MET
Message-Id:     <m0vCjv5-000KWWC.961014.110647@gonzo.math.rwth-aachen.de>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1032 accepted at 14 Oct 96 11:12 +0100
Date:           Mon, 14 Oct 96 11:06:46 +0100
From:           Eddie C. Dost  <ecd@skynet.be>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Re: undocumented functions
Content-Type: text
Content-Length: 1283
Status: RO

> * In  fact,   because of the  missing   guarantee  for their unchanged
> * survival of  updates,  they should be copied  under  a modified name
> * into private code rather than called from the main GAP library.

I would indeed sugget this policy except for code which users of GAP
recontribute to the GAP effort, and which proves useful. This could
lead to faster (but managed by the maintainers) growing of GAP, as
people writing _good_ code would get the chance to have their time
rewarded by growing an 'undoc' function into a documented (or at least
supported, note the possibilities in this difference) one. The GAP
project would gain through contributes of decent code.

This is kinda the way the Linux project works, where I put most of
my efforts, and I can tell this leads to _extremely_ good and relyable
code, though the possible flow of the system might scare maintainers
at first.

But, taking a look at how other people would implement things, and
never thinking of oneselfs ideas as the greatest and only is what
makes a developer of compicated systems as GAP.

Concluding, I'd suggest letting those who can handle it deal with
the internals, and look _close_ at how and why those people did this
and maybe get some ideas for GAP for free.


Eddie.
ecd@skynet.be



From Math.RWTH-Aachen.DE!GAP-Forum-Sender Mon Oct 14 14:11:54 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vCmo9-000I83C; Mon, 14 Oct 96 14:11 MET
Message-Id:     <199610141249.AA08998@bruckner.stoch.uni-linz.ac.at>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1033 accepted at 14 Oct 96 14:09 +0100
Date:           Mon, 14 Oct 96 13:49:23 +0100
From:           Tim Boykett <tim@bruckner.stoch.uni-linz.ac.at>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Hensel/Newton Lifting
Content-Type: text
Content-Length: 674
Status: RO

Hello Forumites,


   I have been digging around the code for roots of
unity in the rings Z_n, and have found a technique
called the "Newton/Hensel method of lifting".
Does anyone have a reference that might explain the
algorithm, proof of its validity, etc.

  I also have run up against the problem that Gap
guarantees accuracy in RootsUnityMod only for 
k-th roots where k is a prime number. I want to
find the (p-1)th roots of 1 in Z_(p^i) for various i.
For p > 3, then p-1 is nonprime. How can the algorithm
be extended to deal with such cases? Experiments have
shown that the algorithm works occasionally, but also
fails sometimes.

  Thanks for help,


Tim Boykett


From Math.RWTH-Aachen.DE!GAP-Forum-Sender Tue Oct 15 09:22:27 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vD4lb-000I83C; Tue, 15 Oct 96 09:22 MET
Message-Id:     <m0vD4gt-000KWVC.961015.091731@gonzo.math.rwth-aachen.de>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1034 accepted at 15 Oct 96 09:20 +0100
Date:           Tue, 15 Oct 96 09:17:31 +0100
From:           Alexander Hulpke <alexander.hulpke@math.rwth-aachen.de>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Re: Hensel/Newton lifting
Content-Type: text
Content-Length: 2997
Status: RO

Dear GAP-Forum,

Tim Boykett asked:

>    I have been  digging around the code   for roots of  unity in the
> rings Z_n, and  have  found a  technique called the   "Newton/Hensel
> method of lifting".  Does anyone have a reference that might explain
> the algorithm, proof of its validity, etc.

Hensel  lifting is basically a  generalization of the classical Newton
method (to find roots  numerically) to $p$-adic approximations instead
of the   classical complex absolute  value.    Basically any  book  on
algebraic number theory  that covers the  p-adic numbers has a section
on it.  (Neukirch's  ``Algebraische Zahlentheorie'', Cassel's  ``Local
fields'' or  even  van der Waerdens  ``Algebra''  come  to mind.)  (Be
aware,  however,    that these   descriptions   sometimes  are  rather
nonconstructive  and don't show   how to improve approximations modulo
p^n but just show the existence of an appropriate element in the local
field.)

For constructive versions any book on computer algebra should describe
the  method when  describing the  standard Hensel  lifting process for
factorization of polynomials over the  rationals. (Personally I prefer
Cohen's ``A  Course  in Computational  Algebraic Number  Theory'', but
there are many other as for example ``Algorithms for Computer Algebra''
by Geddes, Czapor and Labahn.) The  classical reference is Zassenhaus'
seminal paper in J. Number Theory, 1 (1969), 291--311.

(Concerning that you are in Linz, I think anyone at  RISC can give you
an explanation also.)

The validity  of  the  Algorithm  is   probably best seen  by   simply
evaluating the lifted   result  modulo the  appropriate  power  of the
prime; the  existence of an appropriate element  in the valuation ring
of Q_p (usually also denoted by Z_p, which can lead to confusion) then
follows by a simple limit argument.

As you are just  searching for solutions in Z/p^nZ  then just  run the
lifting to the appropriate accuracy.

>   I also  have  run up  against the   problem  that Gap   guarantees
> accuracy in RootsUnityMod  only for  k-th roots  where k is  a prime
> number. I want to find the (p-1)th roots of 1 in Z_(p^i) for various
> i.   For  p > 3,  then  p-1 is nonprime. How   can the  algorithm be
> extended to deal with such cases?

(A necessary condition  is that  the extensuion  given  by the  p-1-st
roots  of unity  is  nonramified, but this  is  given for your  case.)
Probably the easiest way  is to implement a  Hensel lifting up  to the
correct accuracy yourself (the formulae are written explicitely in the
books, it's probably just 10 lines or so  of code). There is a general
Hensel lifting in GAP, used for factorizing polynomials over Q, but it
is rather hidden  and not well  interfaced  to be  used alone; in  the
terms  of the computer algebra books  you would lift the factorization
of (x^(p-1)-1).

If my description  still sounds cryptic, please  write  to me directly
and I will provide you with more help.

Best,

    Alexander Hulpke


From Math.RWTH-Aachen.DE!GAP-Forum-Sender Tue Oct 15 11:05:49 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vD6Ne-000I83C; Tue, 15 Oct 96 11:05 MET
Message-Id:     <199610150930.AA103391809@martigny.ai.mit.edu>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1035 accepted at 15 Oct 96 11:03 +0100
Date:           Tue, 15 Oct 96 05:30:09 -0400
From:           Bill Dubuque <wgd@martigny.ai.mit.edu>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Re: Hensel/Newton lifting
Content-Type: text
Content-Length: 4768
Status: RO

Tim Boykett asked:
>
>    I have been  digging around the code   for roots of  unity in the
> rings Z_n, and  have  found a  technique called the   "Newton/Hensel
> method of lifting".  Does anyone have a reference that might explain
> the algorithm, proof of its validity, etc.

See the following Math Reviews for entry points into the literature.
There is also a nice treatment in Zippel's text "Effective Polynomial
Computation", Kluwer, 1993.

-Bill Dubuque

------------------------------------------------------------------------------
85j:12012 12J20 65P05
von zur Gathen, Joachim (3-TRNT-C)
Hensel and Newton methods in valuation rings. (English)
Math. Comp. 42 (1984), no. 166, 637--661.
------------------------------------------------------------------------------
Hensel's lemma is a fundamental tool in the study of algebraic equations over
$p$-adic fields. In the folklore of number theory it has been known for a long
time that Hensel's and Newton's method are formally the same (this remark
appears in printed form in an article by D. J. Lewis published in a book
edited by W. J. LeVeque [Studies in number theory, 25--75, see p. 29,
Prentice-Hall, Englewood Cliffs, N.J., 1969; MR 39 #2699]).

A generalized version of Hensel's lemma in suitable valuation rings is
contained in N. Bourbaki's book [Elements of mathematics, 23, Commutative
algebra (French), see Chapter III, Section 4, Theorem 1 and Theorem 2,
Hermann, Paris, 1958; MR 20 #4576].

This paper also deals with the study of Hensel's method in valuation rings and
shows that Newton's method is a special case of Hensel's. The presentation
emphasizes the algorithmic point of view and is very detailed and clear. The
linear and quadratic cases of Hensel's lemma are both given. Newton's method
is applied to systems of nonlinear partial differential equations. Then the
author presents an algorithm for the computation of a shortest nonzero vector
in a non-Archimedean valuation module. These results are applied in the last
section, which contains an algorithm for factoring polynomials over a ring
with valuations.

              Reviewed by Maurice Mignotte

------------------------------------------------------------------------------
87a:12014 12J10 13A18
Ribenboim, Paulo (3-QEN)
Equivalent forms of Hensel's lemma. (English)
Exposition. Math. 3 (1985), no. 1, 3--24.
------------------------------------------------------------------------------
>From the introduction: "The celebrated Hensel's lemma, which is the
cornerstone of the theory of $p$-adic numbers, has been the object of
extensive studies. However, our aim in this paper is not to describe the
development of ideas and applications centered around Hensel's lemma, but
rather to examine closely the various formulations found in the literature. We
place ourselves in the framework of the theory of valued fields and show that
Hensel's lemma is logically equivalent to many propositions concerning the
number of extensions of the valuation to algebraic extensions, or the lifting
of polynomials from the residue field, or the determination of zeroes of a
polynomial by a method which dates back to Newton, or even to a geometric
formulation concerning the mutual distance between the zeroes of
polynomials. These facts are of a `folkloric' nature, yet no complete proof of
their equivalence has appeared in any one paper.

"This article is written at the level of research students."

              Reviewed by Antonio Jose Engler

------------------------------------------------------------------------------
90f:68096 68Q40 13A18 13J10
Miola, A. (I-ROME-I); Mora, T. (I-GENO)
Constructive lifting in graded structures: a unified view of Buchberger 
and Hensel methods. (English)
Computational aspects of commutative algebra.
J. Symbolic Comput. 6 (1988), no. 2-3, 305--322.
------------------------------------------------------------------------------
A graded structure is a filtered commutative ring $A$ which is filtered by a
totally ordered group and has a graded associated ring and a ring
completion. The authors define a process for solving, in the ring completion,
a polynomial multivariate equation over $A$ by successive approximations. They
discuss under which conditions this process converges.

The main interest of this theory is that Hensel lifting, Buchberger's
algorithm for Grobner basis computations in polynomial rings and Hironaka's
division process by a standard basis in rings of formal power series are
instances of the above process. For example, Hensel lifting is an
approximative resolution of $yz-a=0$, which needs some conditions on $a$ and
on the initial values of $y$ and $z$ to be convergent.

{For the entire collection see MR 89j:68004}.

              Reviewed by Daniel Lazard



From Math.RWTH-Aachen.DE!GAP-Forum-Sender Wed Oct 16 10:36:19 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vDSOa-000I83C; Wed, 16 Oct 96 10:36 MET
Message-Id:     <m0vDSMK-00075CC.961016.103352@astoria.math.rwth-aachen.de>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1036 accepted at 16 Oct 96 10:34 +0100
Date:           Wed, 16 Oct 96 10:33:51 +0100
From:           Joachim Neubueser <joachim.neubueser@math.rwth-aachen.de>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        contributions to GAP
Content-Type: text
Content-Length: 2768
Status: RO

Dear Forum members,

Let me  just briefly  comment  on  the  recent  forum letter by  Eddie
C. Dost:

  > * In  fact,   because of the  missing   guarantee  for their unchanged
  > * survival of  updates,  they should be copied  under  a modified name
  > * into private code rather than called from the main GAP library.

  I would indeed sugget this policy except for code which users of GAP
  recontribute to the GAP effort, and which proves useful. This could
  lead to faster (but managed by the maintainers) growing of GAP, as
  people writing _good_ code would get the chance to have their time
  rewarded by growing an 'undoc' function into a documented (or at least
  supported, note the possibilities in this difference) one. The GAP
  project would gain through contributes of decent code.

  This is kinda the way the Linux project works, where I put most of
  my efforts, and I can tell this leads to _extremely_ good and relyable
  code, though the possible flow of the system might scare maintainers
  at first.

  But, taking a look at how other people would implement things, and
  never thinking of oneselfs ideas as the greatest and only is what
  makes a developer of compicated systems as GAP.

  Concluding, I'd suggest letting those who can handle it deal with
  the internals, and look _close_ at how and why those people did this
  and maybe get some ideas for GAP for free.

We do indeed appreciate  to get contributions to  GAP from  its users,
the small team of GAP developers can  in no way  hope to cover all the
different  problems and solutions    of  the  hundreds of users     of
GAP. Therefore in this  Forum I have asked  several  times to  send us
code that has been written in the first place for own use and might be
interesting to others.

Some such  suggestions have in  fact found their  way into the code of
the  main  GAP   library, others  have   first been  gathered  in  the
'incoming' directory.

However, in addition  to improving and  extending the functionality of
GAP that way, we  are concerned on one hand  that the work represented
by such contributions does not completely vanish into anonymity and on
the other  that responsibilities  for  code stay clear.  Thus  we have
recently  created the two WWW lists  of  'deposited' and of 'accepted'
contributions that I have explained in GAP forum messages before, that
can also be found via the WWW pages of GAP.

Fully subscribing to  Eddie Dost's intention I  want to repeat my call
for contributions to GAP at all levels. I hope  that none of these get
lost, but I want to apologize that for lack of  manpower we may not in
all cases be  able to integrate code into  the main  GAP library soon,
even when this might be possible and desirable.

Joachim Neubueser


From Math.RWTH-Aachen.DE!GAP-Forum-Sender Wed Oct 16 10:58:26 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vDSk3-000I83C; Wed, 16 Oct 96 10:58 MET
Message-Id:     <m0vDSeh-00075CC.961016.105251@astoria.math.rwth-aachen.de>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1037 accepted at 16 Oct 96 10:56 +0100
Date:           Wed, 16 Oct 96 10:52:50 +0100
From:           Joachim Neubueser <joachim.neubueser@math.rwth-aachen.de>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        new ftp server for GAP
Content-Type: text
Content-Length: 386
Status: RO

Dear Forum members,

Julius Geppert and Nils Nicolaisen, ftp administrators for mathematics
at the university of Hamburg, Germany,  have informed us that GAP will
be mirrored on their ftp server

	ftp://ftp.math.uni-hamburg.de/pub/soft/math/gap

being updated every night. They can be reached by

        ftpadmin@math.uni-hamburg.de

With thanks for their support

Joachim Neubueser



From Math.RWTH-Aachen.DE!GAP-Forum-Sender Thu Oct 24 09:14:56 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vGKwD-000I89C; Thu, 24 Oct 96 09:14 MET
Message-Id:     <326C89AC.35834AD6@bruckner.stoch.uni-linz.ac.at>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1038 accepted at 24 Oct 96 09:12 +0100
Date:           Tue, 22 Oct 96 09:45:33 +0100
From:           Juergen <juergen@bruckner.stoch.uni-linz.ac.at>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Free Groups
Content-Type: text
Content-Length: 3499
Status: RO

Dear GAP-Forum,

usually things like the following work, but in this case
GAP behaves somewhat strange. Could anyone have a look at
this and let me know what mistake I have made.

gap> f := FreeGroup(4);
Group( f.1, f.2, f.3, f.4 )

gap> rels := [ f.1^3, f.2^3, f.3^3, f.4^3, 
  f.1^-1*f.2^-1*f.1*f.2^-1*f.1^-1*f.2*f.1*f.2, 
  f.1^-1*f.3^-1*f.1*f.3^-1*f.1^-1*f.3*f.1*f.3, 
  f.1^-1*f.4^-1*f.1*f.4^-1*f.1^-1*f.4*f.1*f.4, 
  f.2^-1*f.1^-1*f.2*f.1^-1*f.2^-1*f.1*f.2*f.1, 
  f.2^-1*f.3^-1*f.2*f.3^-1*f.2^-1*f.3*f.2*f.3, 
  f.2^-1*f.4^-1*f.2*f.4^-1*f.2^-1*f.4*f.2*f.4, 
  f.3^-1*f.1^-1*f.3*f.1^-1*f.3^-1*f.1*f.3*f.1, 
  f.3^-1*f.2^-1*f.3*f.2^-1*f.3^-1*f.2*f.3*f.2, 
  f.3^-1*f.4^-1*f.3*f.4^-1*f.3^-1*f.4*f.3*f.4, 
  f.4^-1*f.1^-1*f.4*f.1^-1*f.4^-1*f.1*f.4*f.1, 
  f.4^-1*f.2^-1*f.4*f.2^-1*f.4^-1*f.2*f.4*f.2, 
  f.4^-1*f.3^-1*f.4*f.3^-1*f.4^-1*f.3*f.4*f.3, 
  f.1^-1*f.2^-1*f.1*f.2*f.1^-1*f.2^-1*f.1^-1*f.2*f.1^2, 
  f.1^-1*f.2^-1*f.1*f.2*f.3^-1*f.2^-1*f.1^-1*f.2*f.1*f.3, 
  f.1^-1*f.2^-1*f.1*f.2*f.4^-1*f.2^-1*f.1^-1*f.2*f.1*f.4, 
  f.1^-1*f.3^-1*f.1*f.3*f.1^-1*f.3^-1*f.1^-1*f.3*f.1^2, 
  f.1^-1*f.3^-1*f.1*f.3*f.2^-1*f.3^-1*f.1^-1*f.3*f.1*f.2, 
  f.1^-1*f.3^-1*f.1*f.3*f.4^-1*f.3^-1*f.1^-1*f.3*f.1*f.4, 
  f.1^-1*f.4^-1*f.1*f.4*f.1^-1*f.4^-1*f.1^-1*f.4*f.1^2, 
  f.1^-1*f.4^-1*f.1*f.4*f.2^-1*f.4^-1*f.1^-1*f.4*f.1*f.2, 
  f.1^-1*f.4^-1*f.1*f.4*f.3^-1*f.4^-1*f.1^-1*f.4*f.1*f.3, 
  f.2^-1*f.1^-1*f.2*f.1*f.2^-1*f.1^-1*f.2^-1*f.1*f.2^2, 
  f.2^-1*f.1^-1*f.2*f.1*f.3^-1*f.1^-1*f.2^-1*f.1*f.2*f.3, 
  f.2^-1*f.1^-1*f.2*f.1*f.4^-1*f.1^-1*f.2^-1*f.1*f.2*f.4, 
  f.2^-1*f.3^-1*f.2*f.3*f.1^-1*f.3^-1*f.2^-1*f.3*f.2*f.1, 
  f.2^-1*f.3^-1*f.2*f.3*f.2^-1*f.3^-1*f.2^-1*f.3*f.2^2, 
  f.2^-1*f.3^-1*f.2*f.3*f.4^-1*f.3^-1*f.2^-1*f.3*f.2*f.4, 
  f.2^-1*f.4^-1*f.2*f.4*f.1^-1*f.4^-1*f.2^-1*f.4*f.2*f.1, 
  f.2^-1*f.4^-1*f.2*f.4*f.2^-1*f.4^-1*f.2^-1*f.4*f.2^2, 
  f.2^-1*f.4^-1*f.2*f.4*f.3^-1*f.4^-1*f.2^-1*f.4*f.2*f.3, 
  f.3^-1*f.1^-1*f.3*f.1*f.2^-1*f.1^-1*f.3^-1*f.1*f.3*f.2, 
  f.3^-1*f.1^-1*f.3*f.1*f.3^-1*f.1^-1*f.3^-1*f.1*f.3^2, 
  f.3^-1*f.1^-1*f.3*f.1*f.4^-1*f.1^-1*f.3^-1*f.1*f.3*f.4, 
  f.3^-1*f.2^-1*f.3*f.2*f.1^-1*f.2^-1*f.3^-1*f.2*f.3*f.1, 
  f.3^-1*f.2^-1*f.3*f.2*f.3^-1*f.2^-1*f.3^-1*f.2*f.3^2, 
  f.3^-1*f.2^-1*f.3*f.2*f.4^-1*f.2^-1*f.3^-1*f.2*f.3*f.4, 
  f.3^-1*f.4^-1*f.3*f.4*f.1^-1*f.4^-1*f.3^-1*f.4*f.3*f.1, 
  f.3^-1*f.4^-1*f.3*f.4*f.2^-1*f.4^-1*f.3^-1*f.4*f.3*f.2, 
  f.3^-1*f.4^-1*f.3*f.4*f.3^-1*f.4^-1*f.3^-1*f.4*f.3^2, 
  f.4^-1*f.1^-1*f.4*f.1*f.2^-1*f.1^-1*f.4^-1*f.1*f.4*f.2, 
  f.4^-1*f.1^-1*f.4*f.1*f.3^-1*f.1^-1*f.4^-1*f.1*f.4*f.3, 
  f.4^-1*f.1^-1*f.4*f.1*f.4^-1*f.1^-1*f.4^-1*f.1*f.4^2, 
  f.4^-1*f.2^-1*f.4*f.2*f.1^-1*f.2^-1*f.4^-1*f.2*f.4*f.1, 
  f.4^-1*f.2^-1*f.4*f.2*f.3^-1*f.2^-1*f.4^-1*f.2*f.4*f.3, 
  f.4^-1*f.2^-1*f.4*f.2*f.4^-1*f.2^-1*f.4^-1*f.2*f.4^2, 
  f.4^-1*f.3^-1*f.4*f.3*f.1^-1*f.3^-1*f.4^-1*f.3*f.4*f.1, 
  f.4^-1*f.3^-1*f.4*f.3*f.2^-1*f.3^-1*f.4^-1*f.3*f.4*f.2, 
  f.4^-1*f.3^-1*f.4*f.3*f.4^-1*f.3^-1*f.4^-1*f.3*f.4^2 ];;

gap> g := f/rels;;

gap> Size(g);
Error, Subword: illegal <from> value at
while LengthWord( rel * Subword( rel, 1, 1 ) ) < LengthWord( rel ) ...
in
AugmentedCosetTableMtc( G, H, -1, "_x" ) called from
D.operations.Size( D ) called from
Size( g ) called from
main loop
brk>

+----------------------------------------------------------------+
|Juergen Ecker - Institut fuer Mathematik - Univ. Linz - Austria |
|              - e-mail juergen@bruckner.stoch.uni-linz.ac.at    |
+----------------------------------------------------------------+


From Math.RWTH-Aachen.DE!GAP-Forum-Sender Thu Oct 24 09:14:55 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vGKwC-000I88C; Thu, 24 Oct 96 09:14 MET
Message-Id:     <326DF309.33F860C@bruckner.stoch.uni-linz.ac.at>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1039 accepted at 24 Oct 96 09:12 +0100
Date:           Wed, 23 Oct 96 11:27:21 +0100
From:           Juergen <juergen@bruckner.stoch.uni-linz.ac.at>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        PermGroup
Content-Type: text
Content-Length: 965
Status: RO

Dear GAP-Forum

I was trying to turn the following group into a permutation group:

gap> f := FreeGroup(4);;
gap> r := [ f.1^2, f.2^2, 
               .
               .
    {many of such lines}
               .
               .
        f.4^-1*f.3^-1*f.4*f.3*f.4^-1*f.3^-1*f.4^-1*f.3*f.4^2 ];;

gap> g := f/r;;

gap> Size(g);
1024

gap> PermGroup(g);
Error, List Element: <list>[1025] must have a value at
prm[i] := pos[PositionSorted( set, opr( D[i], gen ) )] ... in
arg[1].operations.Operation( arg[1], arg[2], arg[3] ) called from
Operation( G, Elements( G ), OnRight ) called from
G.operations.PermGroup( G ) called from
PermGroup( g ) called from
main loop
brk>

WHY DOES THIS HAPPEN ?

-- 
+----------------------------------------------------------------+
|Juergen Ecker - Institut fuer Mathematik - Univ. Linz - Austria |
|              - e-mail juergen@bruckner.stoch.uni-linz.ac.at    |
+----------------------------------------------------------------+


From Math.RWTH-Aachen.DE!GAP-Forum-Sender Fri Oct 25 09:22:11 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vGhWi-000I88C; Fri, 25 Oct 96 09:22 MET
Message-Id:     <m0vGhPN-0000OFC.961025.101425@beaker.math.rwth-aachen.de>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1040 accepted at 25 Oct 96 09:19 +0100
Date:           Fri, 25 Oct 96 10:14:00 +0100 (MET)
From:           Thomas Breuer <thomas.breuer@math.rwth-aachen.de>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        GAP Character Table Library Upgrade
Content-Type: text
Content-Length: 888
Status: RO

Dear GAP Forum,

Since the release of GAP-3.4, several new character tables have been
calculated with the help of GAP, or turned to GAP library format.
But until now there was no upgrade of the table library.

An upgraded version of the table library is now available via anonymous
'ftp' on the usual GAP servers (for example 'ftp.math.rwth-aachen.de'),
as archive 'newtbl.zoo' in the directory 'pub/incoming'.

The file 'newtbl.readme' in the same directory lists all details about
this upgrade.  The library contains 74 new Brauer tables and more than
100 new ordinary tables, among those 84 tables of perfect groups as given
on the microfiche in the book ``Perfect Groups'' by D. Holt and W. Plesken,
and some maximal subgroups of simple groups and their extensions.

The size of the archive is about 2 MB.

I hope you will enjoy the tables.

Thomas Breuer
(sam@math.rwth-aachen.de)



From Math.RWTH-Aachen.DE!GAP-Forum-Sender Mon Oct 28 09:01:31 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vHmcq-000I89C; Mon, 28 Oct 96 09:00 MET
Message-Id:     <m0vHmRW-0009h1C.961028.084906@hobbes.math.rwth-aachen.de>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1041 accepted at 28 Oct 96 08:58 +0100
Date:           Mon, 28 Oct 96 08:49:05 +0100
From:           Alexander Hulpke <alexander.hulpke@math.rwth-aachen.de>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Re: PermGroup
Content-Type: text
Content-Length: 2386
Status: RO

Dear GAP-Forum,

J"urgen Ecker asked:

> I was trying to turn the following group into a permutation group:
> gap> f := FreeGroup(4);;
> gap> r := [ f.1^2, f.2^2, 
[...]
> gap> g := f/r;;
> gap> PermGroup(g);
> Error, List Element: <list>[1025] must have a value at
[...]
> WHY DOES THIS HAPPEN ?

The function that gets invoked by 'PermGroup' is the standard routine to
convert a group to a permutation group. It simply takes the right regular
representation. To get this representation, elements have to be compared.

This is impossible in general for finitely presented groups, as elements are
only given by representatives in the free group. The comparison will always
take place in the free group, it will yield 'true' only, if the
representatives in the free group for both elements are actually the same.
See the chapter on 'Finitely Presented Groups' for a more elaborate
explanation of the problems arising in this context.

In the case of the 'PermGroup' routine, products are formed by
multiplication which seem not to lie in the group (as the representative of
the product in the free group might differ from the elements
given in the list of element representatives).
Obviously the routine cannot cope with such cases.

As a coset enumeration has already taken place to obtain a list of elements,
one should use the result of this coset enumerations to get a permutation
representation.

You might be interested how to achieve this in GAP:
Specify a subgroup for coset enumeration (if you want to
ensure that the representation is faithful you might take the trivial
subgroup) and use the command 'OperationCosetsFpGroup' to get the
permutation representation on the cosets. The manual will tell you more.

If you don't care about the degree of the representations involved and if
you insist on using 'PermGroup' for conversion, you have to install a
function like the following one (which ought to become a standard function
in the next version) before calling 'PermGroup'.

Note, however, that there is no advantage over the method outlined above
in using this function, it just calls 'OperationCosetsFpGroups' to get the
action on the cosets of the trivial subgroup.

FpGroupOps.PermGroup:=function(G)
local P;
  P:=OperationCosetsFpGroup(G,TrivialSubgroup(G));
  P.bijection:=InverseMapping(OperationHomomorphism(G,P));
  return P;
end;

Best,

  Alexander Hulpke






From Math.RWTH-Aachen.DE!GAP-Forum-Sender Mon Oct 28 09:00:58 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vHmcq-000I88C; Mon, 28 Oct 96 09:00 MET
Message-Id:     <m0vHmSX-0009h1C.961028.085009@hobbes.math.rwth-aachen.de>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1042 accepted at 28 Oct 96 08:58 +0100
Date:           Mon, 28 Oct 96 08:50:09 +0100
From:           Alexander Hulpke <alexander.hulpke@math.rwth-aachen.de>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Re: Free Groups
Content-Type: text
Content-Length: 1637
Status: RO

Dear GAP Forum,

J"urgen Ecker reported an error to the gap-forum. We were not able to
reproduce this error. A private discussion indicated that he was using an
old version of GAP which likely might be the reason of this error.

As there might be other users using older versions, I'll shortly give in
public instructions on how to upgrade to the most recent version of GAP:

The current version is 3.4.3. There have been 26 further patches to fix
bugs. If you type 'VERSION' in GAP, you should get a response like:

gap> VERSION;
"lib: v3r4p3 1995/12/20, src: v3r4p0 1994/07/10, sys: bsd gcc ansi"
(The end of the string, starting with "sys" might differ, depending on
the system you are using)
If you get this string, this means that you have installed at least 3.4.3.
*Otherwise upgrade*!

Unfortunately, there is no easy version to tell which patches have been
applied already. If in doubt, however, installing a patch twice will only
result in an error message by the installation program without messing
up your version. Just make sure that you install all patches in ascending
order.

To update GAP to the current version you should get the files

/pub/gap/gap3r4p3.zoo,
/pub/incoming/gapfix25.zoo
/pub/incoming/gapfix25.readme
/pub/gap/bugfixes/fix26lib.dif (and in future all fixes with a higher
number that have accumulated)

from our ftp server ftp.math.rwth-aachen.de.

Then install GAP as usual from the file gap3r4p4.zoo. Afterwards proceed
as in gapfix25.readme to update the patches 1-25 from gapfix25.zoo.
Finally use fix26lib (and possibly further fixes in the future) to apply
the last patch(es).

Alexander Hulpke




From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Thu Nov  7 13:37:27 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA18053; Thu, 7 Nov 96 13:37:24 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA07927; Thu, 7 Nov 96 13:38:57 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vLURg-0009KVC.961107.142436; Thu, 7 Nov 96 14:24 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vLURf-000I89C; Thu, 7 Nov 96 14:24 MET
Message-Id:     <m0vLUK5-0000NpC.961107.141645@beaker.math.rwth-aachen.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1044 accepted at 07 Nov 96 14:22 +0100
Date:           Thu, 07 Nov 96 14:16:00 +0100 (MET)
From: Thomas Breuer <thomas.breuer@math.rwth-aachen.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        FIX   27 for DANGEROUS bug in GAP/lib 3.4.3.16 character tables
Status: RO

    This mail contains a bugfix for a dangerous problem in GAP 3.4.3.
    *You should apply this bugfix as soon as possible*.
    The problem is in 'PrimeBlocks', and causes it to produce
    wrong results when it is called for other characters than the list
    of all irreducible characters of a character table.


VERSION

    GAP/lib 3.4.3.16


PRIORITY

    The problem is a *dangerous* problem, because it may cause
    a computation to produce incorrect results without a warning.
    Thus the bugfix has *high priority*, and we recommend that
    you apply it as soon as possible.


HOW TO APPLY

    Go to the GAP directory (the directory with the 'lib/' subdirectory),
    name this mail 'fix27lib.dif', and issue the command:

        patch -p0 < fix27lib.dif

    If 'patch' writes "I can't seem to find a patch in there" try 'patch -v'.
    If 'patch -v' gives an error message or reports a version older than 2.1,
    get 2.1 from 'ftp://FTP.Math.RWTH-Aachen.DE/pub/gap/utils/patch2_1.zoo'.

    This fix changes only the library.
    Thus you need not recompile the GAP kernel.


DESCRIPTION

    When 'PrimeBlocks' is called with three arguments, it treats the list
    of characters given as second argument as if it would be the list of
    all irreducible characters.

    gap> t:= CharTable( "A5" );;
    gap> PrimeBlocks( t, t.irreducibles{[1]}, 2 );
    rec(
      block := [ 1 ],
      defect := [ 0 ] )


CORRECT BEHAVIOUR

gap> t:= CharTable( "A5" );;
gap> PrimeBlocks( t, t.irreducibles{[1]}, 2 );
rec(
  block := [ 1 ],
  defect := [ 2, 0 ] )


COMMENT

    The clean solution would have been to get rid of the three argument
    version of 'PrimeBlocks'.


DIFFS

Prereq: 3.52.1.3
--- lib/ctcharac.g	Tue Nov  5 16:33:52 1996
+++ lib/ctcharac.g	Wed Nov  6 16:02:40 1996
@@ -3,14 +3,17 @@
 #A  ctcharac.g                  GAP library                     Thomas Breuer
 #A                                                              & Ansgar Kaup
 ##
-#A  @(#)$Id: forum96d.txt,v 1.1 1997/04/06 10:39:29 gap Exp $
+#A  @(#)$Id: forum96d.txt,v 1.1 1997/04/06 10:39:29 gap Exp $
 ##
 #Y  Copyright 1990-1992,  Lehrstuhl D fuer Mathematik,  RWTH Aachen,  Germany
 ##
 ##  This file contains those functions which mainly deal with characters.
 ##
 #H  $Log: forum96d.txt,v $
 #H  Revision 1.1  1997/04/06 10:39:29  gap
 #H  Added forum archives (ahulpke)
 #H
-#H  Revision 3.52.1.3  1996/06/19  14:58:39  sam
+#H  Revision 3.52.1.4  1996/11/06 15:02:12  sam
+#H  fixed 'PrimeBlocks' for three arguments
+#H
+#H  Revision 3.52.1.3  1996/06/19 14:58:39  sam
 #H  'List' does no longer accept lists with holes.
 #H
 #H  Revision 3.52.1.2  1995/06/28  07:03:38  sam
@@ -1883,11 +1886,7 @@
 
     tbl:= arg[1];
     prime:= arg[ Length( arg ) ];
-    if Length( arg ) = 2 then
-      characters:= tbl.irreducibles;
-    else
-      characters:= arg[2];
-    fi;
+    characters:= tbl.irreducibles;
     nccl:= Length( characters[1] );
     classes:= tbl.classes;
     primeblocks:= rec( block:= [], defect:= [] );
@@ -1962,25 +1961,26 @@
         fi;
       fi;
     od;
-    if Length( arg ) = 2 then
-      if not IsBound( tbl.irredinfo ) then tbl.irredinfo:= []; fi;
-      for i in [ 1 .. Length( characters ) ] do
-        if not IsBound( tbl.irredinfo[i] ) then tbl.irredinfo[i]:= rec(); fi;
-        if not IsBound( tbl.irredinfo[i].pblock ) then
-          tbl.irredinfo[i].pblock:= [];
-        fi;
-        tbl.irredinfo[i].pblock[ prime ]:= primeblocks.block[i];
-      od;
-      InfoCharTable2( "#I PrimeBlocks: prime blocks for prime ", prime,
-                      " written to the table\n" );
-    fi;
-    
+
+    if not IsBound( tbl.irredinfo ) then tbl.irredinfo:= []; fi;
+    for i in [ 1 .. Length( characters ) ] do
+      if not IsBound( tbl.irredinfo[i] ) then tbl.irredinfo[i]:= rec(); fi;
+      if not IsBound( tbl.irredinfo[i].pblock ) then
+        tbl.irredinfo[i].pblock:= [];
+      fi;
+      tbl.irredinfo[i].pblock[ prime ]:= primeblocks.block[i];
+    od;
+    InfoCharTable2( "#I PrimeBlocks: prime blocks for prime ", prime,
+                    " written to the table\n" );
+
     # compute the defects
     inverse:= InverseMap( primeblocks.block );
     for i in inverse do
       if IsInt( i ) then
         Add( primeblocks.defect, 0 );    # defect zero character
-        InfoCharTable2( "#I defect 0: X[", i, "]\n" );
+        if Length( arg ) = 2 then
+          InfoCharTable2( "#I defect 0: X[", i, "]\n" );
+        fi;
       else
         d:= ppart;
         for j in i do d:= GcdInt( d, characters[j][1] ); od;
@@ -1991,7 +1991,7 @@
         fi;
         Add( primeblocks.defect, d );
     
-        if InfoCharTable2 = Print then
+        if Length( arg ) = 2 and InfoCharTable2 = Print then
     
           # print defect and heights
           Print( "#I defect ", d, ";\n" );
@@ -2006,6 +2006,15 @@
         fi;
       fi;
     od;
+
+    if Length( arg ) = 3 then
+      characters:= List( arg[2], x -> Position( tbl.irreducibles, x ) );
+      if ForAll( characters, IsInt ) then
+        primeblocks.block:= primeblocks.block{ characters };
+      else
+        Error( "the entries of 'arg[2]' must be irreducible characters" );
+      fi;
+    fi;
     
     return primeblocks;
     end;
END OF  fix27lib.dif ________________________________________________________


From Math.RWTH-Aachen.DE!GAP-Forum-Sender Thu Nov  7 14:24:18 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vLURK-000I89C; Thu, 7 Nov 96 14:24 MET
Message-Id:     <m0vLUK5-0000NpC.961107.141645@beaker.math.rwth-aachen.de>
Sender:         GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To:      GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To:       GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1044 accepted at 07 Nov 96 14:22 +0100
Date:           Thu, 07 Nov 96 14:16:00 +0100 (MET)
From:           Thomas Breuer <thomas.breuer@math.rwth-aachen.de>
To:             Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        FIX   27 for DANGEROUS bug in GAP/lib 3.4.3.16 character tables
Content-Type: text
Content-Length: 5269
Status: RO

    This mail contains a bugfix for a dangerous problem in GAP 3.4.3.
    *You should apply this bugfix as soon as possible*.
    The problem is in 'PrimeBlocks', and causes it to produce
    wrong results when it is called for other characters than the list
    of all irreducible characters of a character table.


VERSION

    GAP/lib 3.4.3.16


PRIORITY

    The problem is a *dangerous* problem, because it may cause
    a computation to produce incorrect results without a warning.
    Thus the bugfix has *high priority*, and we recommend that
    you apply it as soon as possible.


HOW TO APPLY

    Go to the GAP directory (the directory with the 'lib/' subdirectory),
    name this mail 'fix27lib.dif', and issue the command:

        patch -p0 < fix27lib.dif

    If 'patch' writes "I can't seem to find a patch in there" try 'patch -v'.
    If 'patch -v' gives an error message or reports a version older than 2.1,
    get 2.1 from 'ftp://FTP.Math.RWTH-Aachen.DE/pub/gap/utils/patch2_1.zoo'.

    This fix changes only the library.
    Thus you need not recompile the GAP kernel.


DESCRIPTION

    When 'PrimeBlocks' is called with three arguments, it treats the list
    of characters given as second argument as if it would be the list of
    all irreducible characters.

    gap> t:= CharTable( "A5" );;
    gap> PrimeBlocks( t, t.irreducibles{[1]}, 2 );
    rec(
      block := [ 1 ],
      defect := [ 0 ] )


CORRECT BEHAVIOUR

gap> t:= CharTable( "A5" );;
gap> PrimeBlocks( t, t.irreducibles{[1]}, 2 );
rec(
  block := [ 1 ],
  defect := [ 2, 0 ] )


COMMENT

    The clean solution would have been to get rid of the three argument
    version of 'PrimeBlocks'.


DIFFS

Prereq: 3.52.1.3
--- lib/ctcharac.g	Tue Nov  5 16:33:52 1996
+++ lib/ctcharac.g	Wed Nov  6 16:02:40 1996
@@ -3,14 +3,17 @@
 #A  ctcharac.g                  GAP library                     Thomas Breuer
 #A                                                              & Ansgar Kaup
 ##
-#A  @(#)$Id: forum96d.txt,v 1.1 1997/04/06 10:39:29 gap Exp $
+#A  @(#)$Id: forum96d.txt,v 1.1 1997/04/06 10:39:29 gap Exp $
 ##
 #Y  Copyright 1990-1992,  Lehrstuhl D fuer Mathematik,  RWTH Aachen,  Germany
 ##
 ##  This file contains those functions which mainly deal with characters.
 ##
 #H  $Log: forum96d.txt,v $
 #H  Revision 1.1  1997/04/06 10:39:29  gap
 #H  Added forum archives (ahulpke)
 #H
-#H  Revision 3.52.1.3  1996/06/19  14:58:39  sam
+#H  Revision 3.52.1.4  1996/11/06 15:02:12  sam
+#H  fixed 'PrimeBlocks' for three arguments
+#H
+#H  Revision 3.52.1.3  1996/06/19 14:58:39  sam
 #H  'List' does no longer accept lists with holes.
 #H
 #H  Revision 3.52.1.2  1995/06/28  07:03:38  sam
@@ -1883,11 +1886,7 @@
 
     tbl:= arg[1];
     prime:= arg[ Length( arg ) ];
-    if Length( arg ) = 2 then
-      characters:= tbl.irreducibles;
-    else
-      characters:= arg[2];
-    fi;
+    characters:= tbl.irreducibles;
     nccl:= Length( characters[1] );
     classes:= tbl.classes;
     primeblocks:= rec( block:= [], defect:= [] );
@@ -1962,25 +1961,26 @@
         fi;
       fi;
     od;
-    if Length( arg ) = 2 then
-      if not IsBound( tbl.irredinfo ) then tbl.irredinfo:= []; fi;
-      for i in [ 1 .. Length( characters ) ] do
-        if not IsBound( tbl.irredinfo[i] ) then tbl.irredinfo[i]:= rec(); fi;
-        if not IsBound( tbl.irredinfo[i].pblock ) then
-          tbl.irredinfo[i].pblock:= [];
-        fi;
-        tbl.irredinfo[i].pblock[ prime ]:= primeblocks.block[i];
-      od;
-      InfoCharTable2( "#I PrimeBlocks: prime blocks for prime ", prime,
-                      " written to the table\n" );
-    fi;
-    
+
+    if not IsBound( tbl.irredinfo ) then tbl.irredinfo:= []; fi;
+    for i in [ 1 .. Length( characters ) ] do
+      if not IsBound( tbl.irredinfo[i] ) then tbl.irredinfo[i]:= rec(); fi;
+      if not IsBound( tbl.irredinfo[i].pblock ) then
+        tbl.irredinfo[i].pblock:= [];
+      fi;
+      tbl.irredinfo[i].pblock[ prime ]:= primeblocks.block[i];
+    od;
+    InfoCharTable2( "#I PrimeBlocks: prime blocks for prime ", prime,
+                    " written to the table\n" );
+
     # compute the defects
     inverse:= InverseMap( primeblocks.block );
     for i in inverse do
       if IsInt( i ) then
         Add( primeblocks.defect, 0 );    # defect zero character
-        InfoCharTable2( "#I defect 0: X[", i, "]\n" );
+        if Length( arg ) = 2 then
+          InfoCharTable2( "#I defect 0: X[", i, "]\n" );
+        fi;
       else
         d:= ppart;
         for j in i do d:= GcdInt( d, characters[j][1] ); od;
@@ -1991,7 +1991,7 @@
         fi;
         Add( primeblocks.defect, d );
     
-        if InfoCharTable2 = Print then
+        if Length( arg ) = 2 and InfoCharTable2 = Print then
     
           # print defect and heights
           Print( "#I defect ", d, ";\n" );
@@ -2006,6 +2006,15 @@
         fi;
       fi;
     od;
+
+    if Length( arg ) = 3 then
+      characters:= List( arg[2], x -> Position( tbl.irreducibles, x ) );
+      if ForAll( characters, IsInt ) then
+        primeblocks.block:= primeblocks.block{ characters };
+      else
+        Error( "the entries of 'arg[2]' must be irreducible characters" );
+      fi;
+    fi;
     
     return primeblocks;
     end;
END OF  fix27lib.dif ________________________________________________________



From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Sun Nov 10 18:34:23 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA09691; Sun, 10 Nov 96 18:34:20 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA08821; Sun, 10 Nov 96 18:35:46 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vMehv-0009KXC.961110.193411; Sun, 10 Nov 96 19:34 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vMehu-000I89C; Sun, 10 Nov 96 19:34 MET
Message-Id:     <199611101825.MAA01535@everest.ma.utexas.edu>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1045 accepted at 10 Nov 96 19:31 +0100
Date:           Sun, 10 Nov 96 12:25:16 -0600
From: Patrick Callahan  <callahan@math.utexas.edu>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        aut
Status: RO

How do you get GAP to compute the automorphism group of a group?

I am interested in the question: What is the smallest group which
has an automorphism group of odd order?

Thanks,
 Pat Callahan

From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Tue Nov 12 12:02:32 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA25100; Tue, 12 Nov 96 12:02:29 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA06424; Tue, 12 Nov 96 12:04:05 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vNHR4-0009KXC.961112.125522; Tue, 12 Nov 96 12:55 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vNHR4-000I89C; Tue, 12 Nov 96 12:55 MET
Message-Id:     <m0vNHJJ-0009h6C.961112.124721@hobbes.math.rwth-aachen.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1047 accepted at 12 Nov 96 12:52 +0100
Date:           Tue, 12 Nov 96 12:47:21 +0100
From: Bettina Eick <bettina.eick@math.rwth-aachen.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Re: aut
Status: RO

Dear gap forum,

Pat Callahan wrote:
> How do you get GAP to compute the automorphism group of a group?

In general, you could use the function `AutomorphismGroup(G)' to compute
the automorphism group of the group G. 

If your group happens to be a finite p-group given as AgGroup, then you
could also use the function `AutomorphismsPGroup' contained in the share
package ANUPQ. This will be much more efficient than the generic function.
It will return a list of automorphisms which generate a supplement to the
inner automorphism group in the full automorphism group. To call this
function you have to `RequirePackage("anupq")' first.

(In near future we expect that there will also be another share package
released which will contain efficient functions to compute the automorphism
group of a finite soluble group.)

> I am interested in the question: What is the smallest group which
> has an automorphism group of odd order?
The trivial group, of course :-)
Next there is the cyclic group of order 2. 

The smallest non-trivial group with automorphism group of odd order
has size 3^6. There is a catalogue of all 3-groups of order up to
3^6 in GAP. You can get a group of this catalogue by the command
ThreeGroup( size, nr ). The group ThreeGroup( 3^6, 31 ) has an
automorphism group of odd order.

I checked that none of the groups of order between 3 and 3^6-1 has
an automorphism group of odd order using a catalogue of all groups
of order up to 1000 without 512 and 768 and using GAP to compute
automorphism groups. This catalogue has been computed just recently
by Hans Ulrich Besche and myself and it is not publically available
yet. 

To find the smallest group with automorphism group of odd order
it is enough to consider groups of odd order.
(Consider the Sylow 2-subgroup S of a group G. Either S is not 
contained in the centre of G, then 2 divides the size of the inner
automorphism group. Or S is contained in the center, then it is
normal and thus has a complement K in G. Therefore G = S x K and
Aut(G) = Aut(S) x Aut(K). Hence Aut(K) has odd order as well and
S must be trivial or the cyclic group of order 2.)

Best wishes,

Bettina



From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Thu Nov 14 12:58:26 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA08669; Thu, 14 Nov 96 12:58:24 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA11035; Thu, 14 Nov 96 12:59:53 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vO1LG-0009KaC.961114.135626; Thu, 14 Nov 96 13:56 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vO1LG-000I8AC; Thu, 14 Nov 96 13:56 MET
Message-Id:     <96Nov14.134228met.9632@sunbulirsch19.mathematik.tu-muenchen.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1048 accepted at 14 Nov 96 13:54 +0100
Date:           Thu, 14 Nov 96 13:42:25 +0100
From: Liebert Wolfgang <liebert@mathematik.tu-muenchen.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        aut
Status: RO

Dear Bettina Eick:

  In response to your answer to Pat Callahan's question: Do I also use the
function 'AutomorphismPGroup' if I want to compute the automorphism group
of a finite abelian p-group?

Thanks, W. Liebert
-- 

============================================================================
Prof. Dr. Wolfgang Liebert         Tel. office: (089) 28928108
Technische Universitaet Muenchen   Tel. home: (089) 967931
Mathematisches Institut            Fax: (089) 28928156
D-80290 Muenchen                   e-mail: liebert@mathematik.tu-muenchen.de
============================================================================

From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Thu Nov 14 14:07:20 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA09587; Thu, 14 Nov 96 14:07:18 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA12221; Thu, 14 Nov 96 14:08:51 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vO2Oe-0009KiC.961114.150400; Thu, 14 Nov 96 15:04 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vO2Od-000I8AC; Thu, 14 Nov 96 15:03 MET
Message-Id:     <m0vO2ID-0009iMC.961114.145721@hobbes.math.rwth-aachen.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1049 accepted at 14 Nov 96 15:01 +0100
Date:           Thu, 14 Nov 96 14:57:21 +0100
From: Bettina Eick <bettina.eick@math.rwth-aachen.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Re: aut
Status: RO

Dear Gap Forum,

W. Liebert wrote:
>   In response to your answer to Pat Callahan's question: Do I also use the
> function 'AutomorphismPGroup' if I want to compute the automorphism group
> of a finite abelian p-group?

At the moment this seems to be the most efficient way to compute the
automorphism group of a finite abelian group with GAP.

However, with a little bit of effort, one can more or less read off the
automorphism group of a finite abelian group from its cyclic decomposition.
(See, for instance, Kenjiro Shoda, "Uber die Automorphismen einer endlichen
abelschen Gruppe, Math. Ann. 100 (1928), 674 - 686.) 
Alexander Hulpke has implemented this method, but it is not yet part of
the standard distribution of GAP. If there is demand for it, we would be
happy to supply this function.

Best wishes,

Bettina Eick


From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Thu Nov 14 14:09:30 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA09628; Thu, 14 Nov 96 14:09:28 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA12363; Thu, 14 Nov 96 14:11:06 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vO2Sa-0009KpC.961114.150804; Thu, 14 Nov 96 15:08 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vO2Sa-000I8AC; Thu, 14 Nov 96 15:08 MET
Message-Id:     <m0vO2MX-0009iMC.961114.150149@hobbes.math.rwth-aachen.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1050 accepted at 14 Nov 96 15:05 +0100
Date:           Thu, 14 Nov 96 15:01:49 +0100
From: Alexander Hulpke <alexander.hulpke@math.rwth-aachen.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Transitive groups galore
Status: RO

Dear GAP-Forum,

I have put an archive on our ftp server that contains files for
the transitive groups (i.e. class representatives within the symmetric group)
of degree 2 to 22. The degrees 2-15 are (with slight technical changes within
the files) identical with the library distributed so far, degrees 16-22 were
computed anew for my PhD thesis (I have lists for degees up to 30, but the
further degrees still need checking before a release). Further information
can be found on my 3W page
http://www.math.rwth-aachen.de/~ahulpke/index.html

The archive is /pub/incoming/trans22.zoo on our ftp server
ftp.math.rwth-aachen.de

To install the files, simply unpack the archive using 'unzoo' and move all
the unpacked files in the 'grp'-directory of your GAP distribution,
overwriting existing files. You're done.

Best regards,

               Alexander Hulpke

From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Thu Nov 14 20:22:30 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA22997; Thu, 14 Nov 96 20:22:28 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA22250; Thu, 14 Nov 96 20:23:59 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vO8Ht-0009KjC.961114.212125; Thu, 14 Nov 96 21:21 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vO8Hs-000I8AC; Thu, 14 Nov 96 21:21 MET
Message-Id:     <Pine.NXT.3.91.961114140156.2972C-100000@everest.ma.utexas.edu>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1051 accepted at 14 Nov 96 21:19 +0100
Date:           Thu, 14 Nov 96 14:04:45 -0600
From: Patrick James Callahan <callahan@math.utexas.edu>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        counting orders
Status: RO

GAP-forum,
 Is there a simple way to create a list of how many elements of each order
there are for a given group? Thanks,
 Pat Callahan


From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Fri Nov 15 10:05:05 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA06985; Fri, 15 Nov 96 10:05:03 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA20740; Fri, 15 Nov 96 10:06:38 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vOL6z-0009KqC.961115.110301; Fri, 15 Nov 96 11:03 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vOL6z-000I8AC; Fri, 15 Nov 96 11:03 MET
Message-Id:     <199611150918.KAA00342@avalon.ira.uka.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1054 accepted at 15 Nov 96 11:00 +0100
Date:           Fri, 15 Nov 96 10:24:54 +0100
From: egner <egner@ira.uka.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Order distribution of a group
Status: RO

Dear GAP-Forum,

Pat Callahan wrote in his e-mail

> GAP-forum,
>  Is there a simple way to create a list of how many elements of each
order
> there are for a given group? Thanks,
>  Pat Callahan

Here is quick solution :-)

# Order distribution of a group (for Pat Callahan)
# Sebastian Egner, 15.11.96, GAP v3.4 

#F OrderDistributionGroup( <group> )
#F   returns the distribution of the orders of the elements of 
#F   <group> as a sorted list of pairs [<order>, <frequency>].
#F   (The function uses ConjugacyClasses.)
#F

OrderDistributionGroup := function ( G )
  local cs, cs1, i;

  cs := 
    List(
      ConjugacyClasses(G), 
      C -> [ Order(G, Representative(C)), Size(C) ]
    );

  Sort(cs);
  cs1 := [ cs[1] ];
  for i in [2..Length(cs)] do
    if cs[i][1] = cs1[Length(cs1)][1] then
      cs1[Length(cs1)][2] := cs1[Length(cs1)][2] + cs[i][2];
    else
      Add(cs1, cs[i]);
    fi;
  od;
  return cs1;
end;

- - - 
Sebastian Egner
Institut fr Algorithmen und Kognitive Systeme
Universitt Karlsruhe
Am Fasanengarten 5
D-76128 Karlsruhe
Tel.    +49 721 608 4304 / +49 721 96400 14
Fax.    +49 721 69 68 93
e-mail  egner@informatik.uni-karlsruhe.de

From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Fri Nov 15 10:04:28 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA06966; Fri, 15 Nov 96 10:04:18 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA20664; Fri, 15 Nov 96 10:05:58 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vOL7d-0009KyC.961115.110341; Fri, 15 Nov 96 11:03 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vOL7Y-000I8AC; Fri, 15 Nov 96 11:03 MET
Message-Id:     <m0vOKwC-0009h2C.961115.105152@hobbes.math.rwth-aachen.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1053 accepted at 15 Nov 96 11:00 +0100
Date:           Fri, 15 Nov 96 10:51:52 +0100
From: Alexander Hulpke <alexander.hulpke@math.rwth-aachen.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Re: counting orders
Status: RO

Dear GAP-Forum,

Pat Callahan asked:

>  Is there a simple way to create a list of how many elements of each order
> there are for a given group? Thanks,

If the group is finite, of fair size, if you know a set of generators and if
the group is given in a representation in which computations are feasible
(for example for finitely presented groups, the coset enumeration might not
succeed in the memory available; if your group is a permutation group or an
AgGroup there is no such problem), the following commands compute a list
containing orders and numbers:

# orders occuring
ord:=Set(List(ConjugacyClasses(G),i->Order(G,i.representative)));
# numbers
cnt:=List(ord,i->0);
for i in ConjugacyClasses(G) do
  o:=Order(G,i.representative);
  p:=Position(ord,o);
  cnt[p]:=cnt[p]+Size(i);
od;

result:=List([1..Length(ord)],i->[ord[i],cnt[i]]);

Best regards,

    Alexander Hulpke

From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Tue Nov 19 11:16:20 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA22319; Tue, 19 Nov 96 11:16:18 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA08617; Tue, 19 Nov 96 11:10:08 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vPnoM-0009KYC.961119.115350; Tue, 19 Nov 96 11:53 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vPnoM-000I8AC; Tue, 19 Nov 96 11:53 MET
Message-Id:     <199611181545.PAA00598@caolila.dcs.st-and.ac.uk>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1055 accepted at 19 Nov 96 11:51 +0100
Date:           Mon, 18 Nov 96 15:45:03 +0000
From: Steve Linton <sal@dcs.st-and.ac.uk>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Final patch release of version 3.4
Status: RO

Dear GAP Forum,

A final (we hope) patch release of GAP version 3 release 4 will be made in St 
Andrews in January 1997. The main purpose of this release will be to gather 
together all the bugfixes since version 3.4.3, and to announce new and 
upgraded share libraries, additional character tables and other optional 
additions to the system. A few, VERY limited enhancements to the library may 
be included, if we can be very certain that no new bugs are introduced. There 
will be no changes to the kernel, except for integration of the sources for 
the latest Apple Macintosh version.

The purpose of this message is to ask the users of the system, developers of 
packages and others to make a particular effort to report any bugs, 
suggestions for VERY small improvements, or new packages, as soon as possible, 
so that we will have time to integrate them with the system, and test them 
thoroughly, before January. Upgrades to refereed share packages (or packages 
accepted before we started refereeing) will not need to be (re-)refereed, they 
will simply be checked for correct packaging and documentation. We may also 
suggest small improvements, for example to take advantage of other parts of 
the system which have also been enhanced.

	Steve Linton
 



From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Wed Nov 20 15:36:06 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA02115; Wed, 20 Nov 96 15:36:02 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA10807; Wed, 20 Nov 96 15:37:42 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vQEdj-0009KfC.961120.163239; Wed, 20 Nov 96 16:32 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vQEdi-000I8AC; Wed, 20 Nov 96 16:32 MET
Message-Id:     <199611201525.QAA13134@rudolf>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1056 accepted at 20 Nov 96 16:30 +0100
Date:           Wed, 20 Nov 96 16:25:03 +0100
From: Andreas Prinz <prinz@informatik.hu-berlin.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Segmentation fault
Status: RO

Hi,
I ran across a segmentation error with the following
computation:

-10-bash:spurtefix-[~/Prog/Gap]-> bin/mygap 
gap> el:=List([1..4],x->rec(num:=x));
[ rec(
      num := 1 ), rec(
      num := 2 ), rec(
      num := 3 ), rec(
      num := 4 ) ]
gap> bl:=List([1..2],x->rec(num:=x,els:=Filtered(el,e->(e.num+x ) mod 2 =0)));
[ rec(
      num := 1,
      els := [ rec(
              num := 1 ), rec(
              num := 3 ) ] ), rec(
      num := 2,
      els := [ rec(
              num := 2 ), rec(
              num := 4 ) ] ) ]
gap> for b in bl do for e in b.els do e.block:=b; od; od;
gap> Set(bl);
Segmentation fault (core dumped)
-11-bash:spurtefix-[~/Prog/Gap]-> 

I guess, it is due to the recursive nature of the structs, but
I need it to be such. Probably I can do with defining a "<"
relation for the records, but there seems to be a bug in gap
anyway.
Finally I must admit that I run gap 3.4 as of 10 Jul 94 without
any patches. Maybe the problem has disappeared since that.

Andreas

From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Wed Nov 20 16:47:04 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA04354; Wed, 20 Nov 96 16:47:02 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA15778; Wed, 20 Nov 96 16:48:39 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vQFgl-0009KjC.961120.173951; Wed, 20 Nov 96 17:39 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vQFgk-000I8AC; Wed, 20 Nov 96 17:39 MET
Message-Id:     <m0vQFaJ-0000NmC.961120.173311@beaker.math.rwth-aachen.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1057 accepted at 20 Nov 96 17:37 +0100
Date:           Wed, 20 Nov 96 17:33:00 +0100 (MET)
From: Thomas Breuer <thomas.breuer@math.rwth-aachen.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Re: Segmentation fault
Status: RO

Dear GAP-Forum,

Andreas Prinz wrote

> I ran across a segmentation error with the following
> computation:
> 
> gap> el:=List([1..4],x->rec(num:=x));;
> gap> bl:=List([1..2],x->rec(num:=x,els:=Filtered(el,e->(e.num+x) mod 2=0)));;
> gap> for b in bl do for e in b.els do e.block:=b; od; od;
> gap> Set(bl);
> Segmentation fault (core dumped)
> 
> I guess, it is due to the recursive nature of the structs, but
> I need it to be such. Probably I can do with defining a "<"
> relation for the records, but there seems to be a bug in gap
> anyway.

Indeed the problem occurs because the objects contain themselves as
proper substructures.
Here is how 'bl[1]' looks like before the call of 'Set'.

    gap> bl[1];
    rec(
      num := 1,
      els := [ rec(
              num := 1,
              block := ~ ), rec(
              num := 3,
              block := ~ ) ] )

As the GAP manual says in the section "Comparison of Records",
the comparison of records is implemented by comparing the components.
This runs into an infinite recursion in this case.
So I would not regard the behaviour as a bug.

(A simpler example is the comparison of two lists that contain themselves.

    gap> l:= [];; l[1]:= l;; l;
    [ ~ ]
    gap> l = Copy( l );
    <segmentation fault>

This runs into an infinite recursion for the same reason.)

If one knows about the internal structure of objects as in the list 'bl',
implementing a special method for '<' that looks at the non-recursive
components first will solve the problem; the details are described in the
manual section cited above.

Kind regards
Thomas


From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Fri Nov 22 08:42:58 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA06426; Fri, 22 Nov 96 08:42:48 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA18248; Fri, 22 Nov 96 08:44:31 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vQrAG-0009KfC.961122.094048; Fri, 22 Nov 96 09:40 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vQrAF-000I8AC; Fri, 22 Nov 96 09:40 MET
Message-Id:     <3295634F.57967B94@bruckner.stoch.uni-linz.ac.at>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1059 accepted at 22 Nov 96 09:38 +0100
Date:           Fri, 22 Nov 96 09:24:47 +0100
From: Tim <tim@bruckner.stoch.uni-linz.ac.at>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Compacted problems?
Status: RO

Dear Mr and Mrs Gap,

Whilst using the AllSolvableGroups library, I ran into
the rather perturbing problem:


gap> all[1];
3^2xD8
gap> Centre(last);
Error, AUTO: 'Compacted' must be defined by the evaluation at
gensInv := Compacted( gensInv ) ... in
KernelHomomorphismAgGroupAgGroup( a ) called from
obj.operations.Kernel( obj ) called from
Kernel( a ) called from
G.operations.FactorGroup( G, N ) called from
FactorGroup( G, N ) called from
...
brk> 

all is a list of groups from the library sharing
some properties. Now gensInv is an empty list,
which could explain the problem, but what is
most perturbing is that Bettina Eick has done
some very similar computations (I copied direct
from her) and her's worked without any problems.

Does anyone have any decent ideas? We are patched up to 26,
other than that we are generally up to date, and we have no
general problems with GAP....hmm


Thanks in advance,


  tim



-- 
Tim Boykett		tim@bruckner.stoch.uni-linz.ac.at
                   Co-conspirator:
Contained              Yield7                   Nearrings

From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Mon Nov 25 08:41:57 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA18864; Mon, 25 Nov 96 08:41:54 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA09071; Mon, 25 Nov 96 08:43:39 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vRwYI-0009KZC.961125.093806; Mon, 25 Nov 96 09:38 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vRwYH-000I8AC; Mon, 25 Nov 96 09:38 MET
Message-Id:     <m0vRwRM-0009gyC.961125.093056@hobbes.math.rwth-aachen.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1060 accepted at 25 Nov 96 09:35 +0100
Date:           Mon, 25 Nov 96 09:30:56 +0100
From: Alexander Hulpke <alexander.hulpke@math.rwth-aachen.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Re: compacted problems ?
Status: RO

Dear GAP-Forum,

Tim Boykett asked:

> Error, AUTO: 'Compacted' must be defined by the evaluation at

This error message means that 'Compacted' is not defined in the file where
it is referred to by 'AUTO'. You can confirm this easily by starting a new
gap and typing 'Compacted;'
If you get an error message here your library is seriously in trouble.

> Does anyone have any decent ideas? We are patched up to 26,

I don't know how it happened (there must be some problem somewhere hidden,
as just a few days ago I was asked privately about the same problem), but
somehow you managed to get older versions of files (namely list.g) in your
library.
The most likely reason for this I can think of is that you applied the
patches (or installed gapfix25.zoo) over a copy of 3.4.2 instead of 3.4.3.
This results in an unusably corrupted library.

In the above mentioned case, reinstalling GAP 3.4.3 from scratch solved the
problems. I suppose this will also be the remedy here.

Probably a short reminder on how to reinstall an up-to-date GAP:

  Get the full 3.4.3 distribution from our ftp server (ftp.math.rwth-aachen.de
  or one of the mirrors), the file is /pub/gap/gap3r4p3.zoo and install this
  version.

  Then get the patches1-25 from the file /pub/incoming/gapfix25.zoo
  and unpack these files *over* the installed files. Make sure that
  permissions are set appropriate so that you can overwrite files (I'm not
  sure whether 'unzoo' will give warnings).
  Finally use the two last patches fix26lib.dif and fix27lib.dif (directory
  /pub/gap/bugfixes) using 'patch'.

  (Instead of using gapfix25.zoo, you can of course use fix01-fix25 from the
  bugfixes directory. Just don't use both!)

The release 3.4.infinity scheduled for the beginning of next year again will
be one single installation archive without the need for patches.

Best regards,

   Alexander Hulpke



From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Mon Nov 25 10:24:13 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA20087; Mon, 25 Nov 96 10:24:11 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA14142; Mon, 25 Nov 96 10:25:57 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vRy6T-0009KfC.961125.111729; Mon, 25 Nov 96 11:17 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vRy6S-000I8AC; Mon, 25 Nov 96 11:17 MET
Message-Id:     <32996E6B.151423DF@bruckner.stoch.uni-linz.ac.at>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1062 accepted at 25 Nov 96 11:15 +0100
Date:           Mon, 25 Nov 96 11:01:15 +0100
From: Erhard Aichinger <erhard@bruckner.stoch.uni-linz.ac.at>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        literature on computing with p-groups
Status: RO

Dear Forum,

Since I am currently investigating polynomial functions on
p-groups, I have found out that a lot of properties of the
group (exponent, centre, ...) can be directly seen from 
the power-commutator-representation of the group. I have read what
is written in Sim's book "Computation with finitely presented groups",
but I suppose that there is a lot of more detailled information
on computing with p-groups.

I see that one possibility to learn more about computing with
p-groups is reading the source of the GAP-functions; 
but you can probably point out a better source of information
(e.g. Master's or PhD-theses) on this subject to me. 

Best regards,

Erhard

+---------------------------------------------------------------+
| Erhard Aichinger                                              |
| Institut fuer Mathematik, Univ. Linz, 4040 Linz, Oesterreich  |
| email: erhard@bruckner.stoch.uni-linz.ac.at                   |
| Telefon: 0043 732 2468 9154                                   |
| Fax: 0043 732 2468 10                                         |
+---------------------------------------------------------------+

From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Mon Nov 25 16:26:44 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA26371; Mon, 25 Nov 96 16:26:41 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA03235; Mon, 25 Nov 96 16:19:32 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vS3be-0009KeC.961125.171002; Mon, 25 Nov 96 17:10 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vS3bb-000I8AC; Mon, 25 Nov 96 17:09 MET
Message-Id:     <m0vS3Sa-00040hC.961125.170040@stadler.math.rwth-aachen.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1065 accepted at 25 Nov 96 17:06 +0100
Date:           Mon, 25 Nov 96 17:00:00 +0100 (MET)
From: Eamonn OBrien <eamonn.obrien@math.rwth-aachen.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Re: literature on computing with p-groups
Status: RO

Dear Gap Forum,

Erhard Aichinger <erhard@bruckner.stoch.uni-linz.ac.at> writes:

>... but I suppose that there is a lot of more detailled information
>on computing with p-groups.

>I see that one possibility to learn more about computing with
>p-groups is reading the source of the GAP-functions; 
>but you can probably point out a better source of information
>(e.g. Master's or PhD-theses) on this subject to me. 

Sims' book provides references for computation with  
and structural investigations of p-groups.

The following -- which intersects some of his material --
may also be of some interest to you.

* Computing power commutator presentations for p-quotients 
  Newman & O'Brien (1996, to appear); Havas & Newman (1980) 

* Generating descriptions of p-groups (Newman, 1977; O'Brien, 1990)

* Isomorphism testing (O'Brien, 1994);
  Computing automorphism groups (O'Brien, 1995)

* Collection -- Leedham-Green and Soicher (1990), Vaughan-Lee (1990)

* Structural analysis: most of these deal with soluble groups;

  -- Laue, Neub"user and Schoenwaelder (1984)
  
  -- Glasby and Slattery (1990) 

  -- F. Celler, J.Neub"user, C.R.B. Wright. 
     Some remarks on the computation of complements and normalizers in
     soluble groups.
     Acta Applicandai Mathematicai Vol 21, pages 57 - 76, 1990.

  -- M. Mecky, J. Neub"user.
     Some remarks on the computation of conjugacy classes of soluble groups.
    Bulletin of the Australian Math Soc. Vol 40, Nr 2, pages 281 - 293, 1989.

   - Bettina Eick (1996, to appear) 
     Special presentations for finite soluble groups and computing 
     (Pre-)Frattini subgroups.
     Available by anon ftp from ftp.math.rwth-aachen.de 
                 get pub/incoming/special.dvi.Z

    Bettina provided me with the following description of its contents:
    
    "I recall the definitions of polycyclic generating sequences and
    special pcgs. Then the (almost trivial) computation of a Hall
    system and of maximal subgroups of a group with special pcgs
    is described. Finally I introduce a method to compute a prefrattini
    subgroup of a group with special pcgs and derive a method to
    compute the Frattini subgroup of such a group."

Precise references for these papers can be found in an algebra 
BibTeX database maintained by me; it is available via my home-page
http://www.math.rwth-aachen.de/~obrien
My papers are also available directly via my home-page.

The package anupq distributed with GAP provides access to
the first four of these. The structural analysis algorithms
are also available directly in GAP.
 
Best wishes,
Eamonn

From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Tue Nov 26 22:19:53 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA20679; Tue, 26 Nov 96 22:19:50 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA06087; Tue, 26 Nov 96 22:21:40 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vSVqS-0009KfC.961126.231912; Tue, 26 Nov 96 23:19 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vSVqR-000I8AC; Tue, 26 Nov 96 23:19 MET
Message-Id:     <199611262213.XAA07342@wsdw08.win.tue.nl>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1066 accepted at 26 Nov 96 23:16 +0100
Date:           Tue, 26 Nov 96 23:13:43 +0100
From: Dmitrii V. Pasechnik <pasec@can.nl>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Read in a function.
Status: RO

Dear Forum,

I don't understand why the following does not work.
(Gap 3.4 on a Sun under SunOS or a PC under Linux 2.0).

gap> tt:=function(infile)
>     local A;
>     Read(infile);
>     return A;
> end;
gap> Read("c");
gap> A;
10
gap>
gap> tt("c");
Error, Variable: 'A' must have a value at
return A ... in
tt( "c" ) called from
main loop
brk> 
brk> return;
gap> Read("c");
gap> A;
10
gap> 

I don't see why A:=10 is not executed inside the function.
Or, rather, why the evaluation of A is somehow delayed (?)

I tried to change Read into READ and see if it reports "true" - it does...

the file "c" is as follows (just one line).
#--------------------------
A:=10;;
#---------------


Many thanks in advance,
Dima

PS. This happened when I tried to Exec something producing a
GAP-readable file and then Read it there, all within a function.
What would be the alternative to what I'm trying to do?


Dmitrii V. Pasechnik
Department of Mathematics
Eindhoven University of Technology
PO Box 513, 5600 MB Eindhoven
The Netherlands
e-mail: dima@win.tue.nl
http://www.can.nl/~pasec

From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Wed Nov 27 08:38:07 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA03737; Wed, 27 Nov 96 08:38:05 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA27689; Wed, 27 Nov 96 08:39:55 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vSfTv-0009KgC.961127.093635; Wed, 27 Nov 96 09:36 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vSfTv-000I8AC; Wed, 27 Nov 96 09:36 MET
Message-Id:     <m0vSfMM-0009gyC.961127.092846@hobbes.math.rwth-aachen.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1067 accepted at 27 Nov 96 09:34 +0100
Date:           Wed, 27 Nov 96 09:28:45 +0100
From: Alexander Hulpke <alexander.hulpke@math.rwth-aachen.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Re: Read in a function
Status: RO

Dear GAP-Forum,

Dimitrii Pasechnik asked:

> I don't understand why the following does not work.
> 
> gap> tt:=function(infile)
> >     local A;
> >     Read(infile);
> >     return A;
> > end;
[...]

This problem has been discussed in the forum several times before, for your
convenience I append an answer of Martin Sch"onert to basically the same
question.
(By the way: The full GAP distribution contains in the 'etc' directory files
'forum9xy.txt which archive older forum mails, you can also browse them on
our 3W pages.)

> PS. This happened when I tried to Exec something producing a
> GAP-readable file and then Read it there, all within a function.
> What would be the alternative to what I'm trying to do?

Make 'A' a global variable.

Best regards,

     Alexander Hulpke


============== old message ================================

>From martin@bert.math.rwth-aachen.de Mon Nov  2 21:58:52 1992
Date:           Mon, 02 Nov 92 21:58:52 +0100
From:           "Martin Schoenert" <martin@bert.math.rwth-aachen.de>
Subject:        Re: Reading from files

Eamonn O'Brien writes in his e-mail message of 2-Nov-92

    Why does the following piece of code not work? It generates
    an error message

    Error, Variable 'G' must have a value at
    ..

    I know that by not declaring G locally within the procedure
    I can persuade it to work OK -- but if I do that, it
    overwrites whatever existing value G had.

    This may have serious side effects -- where for example
    I have a group G defined in Gap, and I now want to read
    another group called G defined in "file.g" and return it
    from ReadFromFile to the main level
    under some other name. Is there any sensible way to
    achieve this without wiping out my existing G?

    I guess that I can encase the definition of G in the file
    within a function and call that function. But are there
    other approaches? Is this problem something which is
    intended /unavoidable / or a bug?

    Thanks,
    Eamonn O'Brien
    obrien@pell.anu.edu.au

    ##################################################
    #code to read value from file and return it
    ReadFromFile := function ()

       local exist, G;

       exist := READ("file.g");
       return G;
    end; #ReadFromFile

    l := ReadFromFile ();
    Print ("The value returned from the function is ", l, "\n");

    ############################################################

    #contents of file.g
    G := 5;

Let me try to explain why this works this  way.  I make this  fairly long
because most descriptions of programming  languages  are quite  brief  in
this  regard  (in  fact  most fail  to  describe  the  difference between
identifiers and variables).

On the one hand there are *variables*.  A variable is an abstract entity.
Variables  are  either global  variables,  formal  argument variables  of
functions, or local variables of functions.  Global variables are created
on demand.   With each function  call GAP creates one  variable  for each
formal  argument  (i.e.,  for   each  identifier  that   appears  in  the
parenthesis  following   the   'function'   keyword  in   the  function's
definition),  and one  variable for each local (i.e., for each identifier
that follows the 'local' keyword in the function's definition).

On  the  other  hand there are *identifiers*.   They are  just strings of
characters that appear in GAP's input (there are certain rules which rule
what is considered  an identifier as opposed to  an integer or a keyword,
but  this does  not  interest  us  here).   Each  variable  has a  unique
identifier, which is usually called its *name*.

The interesting connection  is  the one  that goes  from  identifiers  to
variables.  So for example in the following piece of code there are three
variables whose name is 'a' and we must define to which such variable the
identifier 'a' in the 'Print' statement is referring to.

    a := "global a";
    f := function ()
        local a;
        a := "a of f";
        h();
    end;
    g := function ()
        local a;
        a := "a of f";
        h := function ()
            Print( a, "\n" );
        end;
        f();
    end;
    g();

There  are  three  variables  called  'a', so there  are  three different
possibilities.  The first is to argue that the function 'h' has  no local
variable called 'a',  so  the  identifier  'a' must refer  to the  global
variable (and 'Print' should print "global a").

Another interpretation is that when the 'Print' statement is executed the
last *dynamically* created variable called 'a' is the one of  'f', so the
identifier  'a'  in  the  'Print' statement should refer to this variable
(and  'Print' should print "a  of  f").   This  point of view is  usually
called *dynamical scoping*.

The last interpretation is that when one reads the text the last variable
that was introduced before the  'Print' statement is that of the function
'g', so the identifier 'a' in  the 'Print' statement should refer to this
variable (and 'Print'  should  print  "a of  g").  This point  of view is
usually called *lexical scoping*.

If you try  this example in GAP you will see that the last interpretation
is the one adopted in GAP.

Lexical  scoping is considered  a *good  thing*  (by the Lisp  community,
which  initially tried dynamical  scoping), because it  has the following
property (usually called *alpha-renaming*):

    If one  replaces the identifier of an argument or a local variable of
    a function with  another  identifier  that  is not used  within  the
    functions body, the behavior of any program that calls this function
    does not change.

For example assume for the moment that GAP uses  dynamical scoping.  Then
the above example would print "a of f".  If we now change the name of the
local variable of 'f' from  'a' to 'aa', calling 'g' would suddenly print
"a of g" (because this becomes  the  dynamically innermost instance of  a
variable called 'a').

Thus  lexical  scoping confines the scope  where the name  of a  variable
makes  any  difference  to a lexically  apparent part of the source  text
(hence  the  name).   The  philosophy behind  this  is  the  idea that  a
programming  language should  be  as little surprising as possible.   And
having a program's behavior  changed simply by renaming a local variable
'i' to 'ThisIsALoopVariable' is surprising.

If we look at Eamonn's code fragment,  we see that what he asks for would
violate this property.  Suppose for the moment that the definition of the
local  variable  called  'G'  would  indeed  capture  the  assignment  in
'file.g'.  If  we now would change the name of this  local variable  from
'G' to  'H'  in the  function  'ReadFromFile' but  not in  'file.g', then
suddenly the  program would (mysteriously) behave  different,  because now
the  assignment in 'file.g'  would assign to the global variable with the
name 'G' (or a local  variable of the name 'G' that happens to be  active
when we execute 'ReadFromFile').

I  hope that this rather  long  explanation  impressed  you  above on the
virtues  of lexical  scoping that  you don't  actually  want  to use  the
following hack ;-)

    ReadFromFile := function ( name )
        local    oldG, newG, exists;
        if IsBound( G )  then
            oldG := G;
        fi;
        exists := READ( name );
        newG := G;
        if IsBound( oldG )  then
            G := oldG;
        else
            Unbind( G );
        fi;
        return newG;
    end;

Martin.

--
Martin Sch"onert,   Martin.Schoenert@Math.RWTH-Aachen.DE,  +49 241 804551
Lehrstuhl D f"ur Mathematik, Templergraben 64, RWTH, D 51 Aachen, Germany





From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Fri Nov 29 13:21:10 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA25693; Fri, 29 Nov 96 13:21:08 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA29605; Fri, 29 Nov 96 13:22:59 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vTSnr-0009KgC.961129.141627; Fri, 29 Nov 96 14:16 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vTSnr-000I8AC; Fri, 29 Nov 96 14:16 MET
Message-Id:     <m0vTSba-0009iMC.961129.140346@hobbes.math.rwth-aachen.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1069 accepted at 29 Nov 96 14:14 +0100
Date:           Fri, 29 Nov 96 14:03:45 +0100
From: Bettina Eick <bettina.eick@math.rwth-aachen.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Catalogue of groups
Status: RO

Dear GAP-users,

We  would  like to announce the availability of two new GAP pack-
ages.

The first one is a catalogue of all groups of order  up  to  1000
without the groups of order 512 and 768.
The  groups are listed up to isomorphism.  The soluble groups are
given as  AgGroups,   the   non-soluble groups  are   given    as
permutation  groups.  To use this package you need GAP  3.4.3 and
the following file from our ftp server:

ftp to               ftp.math.rwth-aachen.de
and get the file     pub/incoming/grpcat.tar.gz.

There is a README file contained which gives all necessary infor-
mation about installation and usage of the package.


The second  package contains  a  function which  returns the cat-
alogue number of a given group in the above catalogue.  The group
in  question  has to be given as AgGroup or PermGroup and  has to
have order at most 1000 but not 256, 512 or  768.  The  catalogue
number  is  determined by computing invariants of the given group
and comparing with a stored list of invariants of the  groups  in
the  catalogue.  Thus this package is completely independent from
the catalogue itsself, but clearly it does not  make  much  sence
without  it :-).  To use this  package you need GAP 3.4.3 as well
and  the file
                     pub/incoming/grpid.tar.gz 

from the above ftp server. Furthermore in this package  the ANUPQ
share package of GAP is used in some cases.
Again there is a README file  contained  in   the  package  which
gives  all  necessary information about installation and usage of
the package.


Suggestions and comments on both packages are welcome and  should
be send directly to either of us. Our e-mail addresses are

           Hans-Ulrich.Besche@math.rwth-aachen.de
           Bettina.Eick@math.rwth-aachen.de

Best wishes,

Hans Ulrich Besche and Bettina Eick

From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Thu Dec  5 19:11:07 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA09462; Thu, 5 Dec 96 19:11:05 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA04644; Thu, 5 Dec 96 19:13:03 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vVjAl-0009KeC.961205.200927; Thu, 5 Dec 96 20:09 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vVjAk-000I8AC; Thu, 5 Dec 96 20:09 MET
Message-Id:     <199612051855.KAA07840@bright.uoregon.edu>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1071 accepted at 05 Dec 96 20:07 +0100
Date:           Thu, 05 Dec 96 10:55:24 -0800
From: C.R.B. Wright <wright@bright.uoregon.edu>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        The AutAG Share Package
Status: RO

It is a pleasure to be able to announce the new GAP share package AutAG by
Michael Smith. The package contains functions for computing the
automorphism groups of finite solvable groups and for displaying the
results in a form that is easy to comprehend and easy to use for further
computations.  

The clear documentation and sample examples make this package easy to
pick up and work with at once. I recommend it for general use unless
the group in question is a p-group, in which case the ANUPq routines
may be faster.

A short description of the package is available on the GAP WWW pages
holding information about accepted share packages:

http://www.math.rwth-aachen.de/LDFM/GAP/Info/share.html
http://www-gap.dcs.st-and.ac.uk/~gap/Info/share.html
http://www.ccs.neu.edu/Cobwebs/GAP/Info/share.html
http://wwwmaths.anu.edu.au/research.groups/algebra/GAP/www/Info/share.html

The package itself has been deposited in the files 

http://www.math.rwth-aachen.de/ftp/pub/incoming/autag-1.0.tar.Z (82K)
ftp://ftp.math.rwth-aachen.de/pub/incoming/autag-1.0.tar.gz (58K)

and is also available from

ftp://ftpmaths.anu.edu.au//pub/smith/autag-1.0.tar.gz

With the next upgrade of GAP 3.4 which is planned to be released by St.
Andrews in January or February, the share package will become part of the
distribution of GAP.

Charles R.B. Wright

From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Thu Dec 12 17:19:45 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA28413; Thu, 12 Dec 96 17:19:42 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA25303; Thu, 12 Dec 96 17:21:46 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vYEaD-0009KdC.961212.180605; Thu, 12 Dec 96 18:06 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vYEaB-000I8AC; Thu, 12 Dec 96 18:06 MET
Message-Id:     <199612121651.IAA05884@bright.uoregon.edu>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1073 accepted at 12 Dec 96 18:02 +0100
Date:           Thu, 12 Dec 96 08:51:15 -0800
From: C.R.B. Wright <wright@bright.uoregon.edu>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Quantum matrices
Status: RO

At the request of a potential GAP user, I forward the following request
for information. Please reply either to the Forum or directly to Mr. Pop.

In my original reply to him I suggested that he might consider using
GAP, but that I was not familar enough with his problem to tell him
which GAP functions would be most helpful. I also suggested that his
question might be better suited to math.sci, but that some GAP users
might be able to help him out, and I suggested that he post a note to
the Forum after checking to see what GAP resources he had available at
his university. This is his response.

C.R.B. Wright

--------------------------


I would like to ask if anyone may help me with the following problem:

I need to do some calculations in the ring of quantum matrices
for n=4  or 5.
These are iterated Ore rings so we have in hand substitutions, 
eventually any monomial can be written as a sum  of ordered
monomials.  For n=3  I can do it by hand, but already n=4 is messy 
and I try to find if :

1 - Do you know of any software that does such calculations (for 
   noncommutative Ore polynomials) or alike ?

2 - Is there a way of doing it in Maple, Mathematica,  etc?

3 - Do you know somebody that knows about it or can help?

Of course if necessary I may write myself a program but 
I would be happy to learn that it was already done. 

I would really appreciate your help.

Sincerely yours,

Horia Pop

14MLH, Department of Mathematics
The University of Iowa
Iowa City, IA 52242-1419

e-mail hpop@math.uiowa.edu

tel: (319) 335-3253 office
     (319) 339-8678 home
fax: (319) 335-0627


From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Fri Dec 13 22:36:54 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA24537; Fri, 13 Dec 96 22:36:51 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA15420; Fri, 13 Dec 96 22:38:24 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vYg1r-0009KWC.961213.232427; Fri, 13 Dec 96 23:24 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vYg1q-000I8AC; Fri, 13 Dec 96 23:24 MET
Message-Id:     <m0vYfws-0000XdC@tiffy.math.rwth-aachen.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1077 accepted at 13 Dec 96 23:22 +0100
Date:           Fri, 13 Dec 96 23:19:00 +0100 (MET)
From: Meinolf Geck <meinolf.geck@math.rwth-aachen.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        [no subject]
Status: RO

Dear Mr Pop,
I don't know exactly what quantum matrices and iterated Ore rings are,
but from what you write I understand that, in any case, calculations with
formal expressions are involved. I don't know of any already existing 
package to work with this. If the formal expressions that you work with 
involve several different but commuting variables, then MAPLE looks like
the right system to use. If you just have one variable or if you work in
a non-commutative context, then it might be better to write some  programs
in GAP where your objects are represented by GAP "records", with operations
specified in an "operations record".  For example, in the GAP share package 
"weyl" we have also realized Hecke algeras associated with finite Coxeter 
groups in this way, and this works quite well. (Hecke algebras are certain 
non-commutative algebras over polynomials rings, with a basis labelled by 
the elements of a finite Coxeter group, say the symmetric group.) -- This
is not much,  but maybe it helps you a bit further.

Sincerely yours, Meinolf Geck
-------------------------------------------------------------------------
Meinolf Geck                    UFR de Math'ematiques et UMR 9994 du CNRS
geck@math.jussieu.fr              Universit'e Paris 7, 2 Place Jussieu,    
http://www.mathp7.jussieu.fr/~geck                 F--75251 Paris, France
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Mon Dec 16 09:18:41 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA09181; Mon, 16 Dec 96 09:18:38 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA02760; Mon, 16 Dec 96 09:20:15 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vZZ58-0009KeC.961216.101130; Mon, 16 Dec 96 10:11 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vZZ58-000I8AC; Mon, 16 Dec 96 10:11 MET
Message-Id:     <32B50E8E.41C6@bruckner.stoch.uni-linz.ac.at>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1078 accepted at 16 Dec 96 10:09 +0100
Date:           Mon, 16 Dec 96 16:55:42 +0800
From: Tim Boykett <tim@bruckner.stoch.uni-linz.ac.at>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Citation for Eick's list and Gap in general
Status: RO

Hello Gapsters,

   When I find something using Eick's list of
groups, how do I cite this in a paper? The
last reference I had for Gap also seems a little
old, I'm sure there has been real changes
since 1992.

 Thanks all,


  tim boykett

From GAP-Forum-Sender@Math.RWTH-Aachen.DE  Tue Dec 17 09:01:34 1996
Return-Path: <GAP-Forum-Sender@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA15759; Tue, 17 Dec 96 09:01:32 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA17231; Tue, 17 Dec 96 09:03:18 GMT
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vZvEF-0009KkC.961217.095023; Tue, 17 Dec 96 09:50 MET
Received: by samson.math.rwth-aachen.de (Smail3.1.28.1 #11)
	id m0vZvEE-000I8AC; Tue, 17 Dec 96 09:50 MET
Message-Id:     <m0vZv6K-0009jvC.961217.094212@hobbes.math.rwth-aachen.de>
Sender: GAP-Forum-Sender@Math.RWTH-Aachen.DE
Errors-To: GAP-Forum-Errors@Math.RWTH-Aachen.DE
Reply-To: GAP Forum <GAP-Forum-Reply@Math.RWTH-Aachen.DE>
X-Miles:        GAP Forum article 1079 accepted at 17 Dec 96 09:47 +0100
Date:           Tue, 17 Dec 96 09:42:11 +0100
From: Bettina Eick <bettina.eick@math.rwth-aachen.de>
To: Multiple recipients of list <GAP-Forum@Math.RWTH-Aachen.DE>
Subject:        Citations
Status: RO

Dear Tim Boykett,

if you want to cite GAP, you can do that as follows.

  Martin Sch"onert et al. 
  GAP -- Groups, Algorithms, and Programming.
  Lehrstuhl D f"ur Mathematik, Rheinisch Westf"alische Technische
  Hochschule, Aachen, Germany.
  fifth edition, 1995.

The catalogue of groups is not included in the currently released
version of GAP 3.4.3, but it will be included in the next release
GAP 3.4.4.
Moreover we are at the moment in process of writing up two papers
about the construction of this catalogue. There are

  Hans Ulrich Besche and Bettina Eick.
  Construction of finite soluble groups.
  In preparation.

  Hans Ulrich Besche and Bettina Eick.
  Construction of finite non-soluble groups.
  In preparation.

Best wishes,
         Bettina Eick



From fceller@Math.RWTH-Aachen.DE  Mon Dec 30 18:02:36 1996
Return-Path: <fceller@Math.RWTH-Aachen.DE>
Received: from tamdhu by gregory.dcs.st-and.ac.uk (4.1/SMI-4.1)
	id AA12450; Mon, 30 Dec 96 18:02:32 GMT
Received: from hurin.math.rwth-aachen.de by tamdhu (4.1/SMI-4.1)
	id AA15629; Mon, 30 Dec 96 18:04:49 GMT
Received: from samson.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vem4p-0009KYC.961230.190443; Mon, 30 Dec 96 19:04 MET
Received: from hurin.math.rwth-aachen.de by samson.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #11) id m0vem4Z-000I8AC; Mon, 30 Dec 96 19:04 MET
Received: from skeeter.math.rwth-aachen.de by hurin.math.rwth-aachen.de with smtp
	(Smail3.1.28.1 #30) id m0vem4Z-0009KWC.961230.190427; Mon, 30 Dec 96 19:04 MET
Received: by skeeter.math.rwth-aachen.de (Smail3.1.28.1 #26)
	id m0vem4Z-000BnEC.961230.190427; Mon, 30 Dec 96 19:04 MET
To: gap-trouble@Math.RWTH-Aachen.DE
Date: Sat, 28 Dec 1996 12:37:24 +0100
Message-Id: <199612281137.MAA00308@marvel.conecta.it>
X-Sender: almax@marvel.conecta.it (Unverified)
X-Mailer: Windows Eudora Light Version 1.5.2
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
To: GAP-Forum@Math.RWTH-Aachen.DE
From: massimo ales <almax@marvel.conecta.it>
Subject: !!!!helping a beginner
Status: RO

Is there someone who has a patch just compiled for a Ms-Dos 486? I'm not
able to compiling it ! thanks.

