Home > From hulpke at math.colostate.edu Fri Jan 4 19:35:13 2008

From: hulpke at math.colostate.edu (Alexander Hulpke)

Date: Fri Jan 4 19:36:00 2008

Subject: [GAP Forum] Cartesian Group Direct Product

In-Reply-To: <BAY116-F389196E09F49D16582DCFDD14C0@phx.gbl>

References: <BAY116-F389196E09F49D16582DCFDD14C0@phx.gbl>

Message-ID: <45807BA7-83C3-4FCD-985D-B9A01256CDEA@math.colostate.edu>

Dear Paul Hjelmsted, Dear GAP-Forum,

> The problem with this is that it merely seems to shuffle between the

> non-Cartesian

> form of the permutations, that is, for example, sending (123) to

> (567) (Second Embedding) or merely leaving at at (123) (First

> Embedding) but I may be doing something wrong.

>

> I am not getting anything Cartesian-wise. Perhaps I must leave D4

> (actually called Dihedral(8)),

> as a pc-group and not a perm group?

>

> After I get this right, I need to generate the CycleIndex, and then

> expand it in a manner you indicated, to get the full Polya

> Polynomial, whose coefficients will be useful to me (especially to

> find how many octads there are under D8 X S3 (Dihedral(16) X

> Symmetric(3)) and other issues

>

> I need these generators for D4 X S3:

>

> (0,3,6,9)(1,4,7,10)(2,5,8,11)

> (0,4,8)(1,5,9)(2,6,10)(3,7,11)

> (1,7)(3,9)(5,11)

> (1,11)(2,10)(3,9)(4,8)(5,7)

>

> Or something with the same meaning

OK. You want a different representation for the direct product. GAP

gives you by default the intransitive action (which has smaller

degree), you would prefer the transitive product action.

The easiest way to construct this group is to let the intransitive

direct product act on the cartesian product of the domains:

gap> d4:=DihedralGroup(IsPermGroup,8);

Group([ (1,2,3,4), (2,4) ])

gap> s3:=SymmetricGroup(3);

Sym( [ 1 .. 3 ] )

gap> d:=DirectProduct(d4,s3);

Group([ (1,2,3,4), (2,4), (5,6,7), (5,6) ])

gap> cart:=Cartesian([1..4],[5..7]);

[ [ 1, 5 ], [ 1, 6 ], [ 1, 7 ], [ 2, 5 ], [ 2, 6 ], [ 2, 7 ], [ 3, 5 ],

[ 3, 6 ], [ 3, 7 ], [ 4, 5 ], [ 4, 6 ], [ 4, 7 ] ]

gap> hom:=ActionHomomorphism(d,cart,OnTuples,"surjective");

<action epimorphism>

gap> prod:=Image(hom);

Group([ (1,4,7,10)(2,5,8,11)(3,6,9,12), (4,10)(5,11)(6,12),

(1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,2)(4,5)(7,8)(10,11) ])

Up to labelling (which is due to the arrangement of the pairs in

`cart') these are the generators you listed. You can use the map `hom'

to go back to the intransitive direct product and use its

decomposition functions.

Best wishes,

Alexander Hulpke

-- Colorado State University, Department of Mathematics,

Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA

email: hulpke@math.colostate.edu, Phone: ++1-970-4914288

http://www.math.colostate.edu/~hulpke

From phjelmstad at msn.com Sat Jan 5 18:05:33 2008

From: phjelmstad at msn.com (PAUL HJELMSTAD)

Date: Sat Jan 5 18:06:28 2008

Subject: [GAP Forum] Cartesian Group Direct Product

In-Reply-To: <45807BA7-83C3-4FCD-985D-B9A01256CDEA@math.colostate.edu>

Message-ID: <BAY116-F3980C429D7625EC9D7C0C4D14D0@phx.gbl>

Dear Alexander Hulpke, Dear GAP-Forum,

Thanks! I realized after I sent my last message, that I was not

understanding the meaning of "Cartesian" correctly, but I see you understood

what I meant. Someone else called what I am looking for the "cross-product"

representation, or what you call the transitive product representation.

Finding the CycleIndex should be relatively easy here, but expanding to the

Polya Polynomial

has proved difficult, merely because of a problem with variables. Thanks

PGH

>From: Alexander Hulpke <hulpke@math.colostate.edu>

>To: PAUL HJELMSTAD <phjelmstad@msn.com>

>CC: GAP Forum <forum@gap-system.org>

>Subject: Re: [GAP Forum] Cartesian Group Direct Product

>Date: Fri, 4 Jan 2008 12:35:13 -0700

>

>Dear Paul Hjelmsted, Dear GAP-Forum,

>

>>The problem with this is that it merely seems to shuffle between the

>>non-Cartesian

>>form of the permutations, that is, for example, sending (123) to (567)

>>(Second Embedding) or merely leaving at at (123) (First Embedding) but I

>>may be doing something wrong.

>>

>>I am not getting anything Cartesian-wise. Perhaps I must leave D4

>>(actually called Dihedral(8)),

>>as a pc-group and not a perm group?

>>

>>After I get this right, I need to generate the CycleIndex, and then

>>expand it in a manner you indicated, to get the full Polya Polynomial,

>>whose coefficients will be useful to me (especially to find how many

>>octads there are under D8 X S3 (Dihedral(16) X Symmetric(3)) and other

>>issues

>>

>>I need these generators for D4 X S3:

>>

>>(0,3,6,9)(1,4,7,10)(2,5,8,11)

>>(0,4,8)(1,5,9)(2,6,10)(3,7,11)

>>(1,7)(3,9)(5,11)

>>(1,11)(2,10)(3,9)(4,8)(5,7)

>>

>>Or something with the same meaning

>

>OK. You want a different representation for the direct product. GAP gives

>you by default the intransitive action (which has smaller degree), you

>would prefer the transitive product action.

>

>The easiest way to construct this group is to let the intransitive direct

>product act on the cartesian product of the domains:

>

>gap> d4:=DihedralGroup(IsPermGroup,8);

>Group([ (1,2,3,4), (2,4) ])

>gap> s3:=SymmetricGroup(3);

>Sym( [ 1 .. 3 ] )

>gap> d:=DirectProduct(d4,s3);

>Group([ (1,2,3,4), (2,4), (5,6,7), (5,6) ])

>gap> cart:=Cartesian([1..4],[5..7]);

>[ [ 1, 5 ], [ 1, 6 ], [ 1, 7 ], [ 2, 5 ], [ 2, 6 ], [ 2, 7 ], [ 3, 5 ],

> [ 3, 6 ], [ 3, 7 ], [ 4, 5 ], [ 4, 6 ], [ 4, 7 ] ]

>gap> hom:=ActionHomomorphism(d,cart,OnTuples,"surjective");

><action epimorphism>

>gap> prod:=Image(hom);

>Group([ (1,4,7,10)(2,5,8,11)(3,6,9,12), (4,10)(5,11)(6,12),

> (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,2)(4,5)(7,8)(10,11) ])

>

>

>Up to labelling (which is due to the arrangement of the pairs in `cart')

>these are the generators you listed. You can use the map `hom' to go back

>to the intransitive direct product and use its decomposition functions.

>

>

>Best wishes,

>

> Alexander Hulpke

>

>-- Colorado State University, Department of Mathematics,

>Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA

>email: hulpke@math.colostate.edu, Phone: ++1-970-4914288

>http://www.math.colostate.edu/~hulpke

>

>

From phjelmstad at msn.com Tue Jan 15 02:04:05 2008

From: phjelmstad at msn.com (PAUL HJELMSTAD)

Date: Tue Jan 15 02:04:43 2008

Subject: FW: [GAP Forum] Cartesian Group Direct Product

Message-ID: <BAY116-W3973CD1F75D7977BA3CBB1D1470@phx.gbl>

Dear GAP-Forum:

I also found the Cycle Index and Polya Polynomial of the Group generated by all the primes coprime to 24 (Totient). (1,5,7,11,13,17,19,23) Here are my results. My question is, what is the Group-theoretical name for this? (Something

like D8.2 X S3, having order 192?)

G:= Group( [ (1,2,3,4,5,6,7,8), (1,3)(2,6)(5,7), (1,5)(3,7), (1,7)(2,6)(3,5), ( 9,10), ( 9,10,11) ] );

(Convert to Cartesian...)

Cycle Index:

1/192*x_1^24+1/96*x_1^12*x_2^6+1/64*x_1^8*x_2^8+1/24*x_1^6*x_2^9+1/32*x_1^4*x_\2^10+1/8*x_1^2*x_2^11+5/48*x_2^12+1/96*x_3^8+1/48*x_3^4*x_6^2+1/6*x_4^6+1/12*x\_3^2*x_6^3+5/96*x_6^4+1/6*x_8^3+1/12*x_12^2+1/12*x_24

Polya:

x_1^24+x_1^23+7*x_1^22+23*x_1^21+97*x_1^20+294*x_1^19+870*x_1^18+2051*x_1^17+4\272*x_1^16+7352*x_1^15+10980*x_1^14+13790*x_1^13+15008*x_1^12+13790*x_1^11+109\80*x_1^10+7352*x_1^9+4272*x_1^8+2051*x_1^7+870*x_1^6+294*x_1^5+97*x_1^4+23*x_1\^3+7*x_1^2+x_1+1

Thanks

PGH

To: phjelmstad@msn.comCC: forum@gap-system.org; hulpke@math.colostate.eduSubject: Re: [GAP Forum] Cartesian Group Direct ProductFrom: Paul.Hjelmstad@allianzlife.comDate: Sun, 6 Jan 2008 16:06:22 -0600Dear Alexander Hulpke, Dear GAP-Forum, Works great. The relabelling was confusing, but that is because the permutation for S3 permutes the origin, so to speak, using (5,6), but it doesn't matter, I get the correct CycleIndex and expanding it out is easy, now that I know what to do. This is the Polya Polynomials I get for D8 X S3 and C8 X C3 respectively, I believe they are correct: x^24+x^23+9*x^22+31*x^21+151*x^20+496*x^19+1553*x^18+3777*x^17+8028*x^16+13981\ *x^15+21042*x^14+26516*x^13+28898*x^12+26516*x^11+21042*x^10+13981*x^9+8028*x^\ 8+3777*x^7+1553*x^6+496*x^5+151*x^4+31*x^3+9*x^2+x+1 x^24+x^23+12*x^22+85*x^21+446*x^20+1771*x^19+5620*x^18+14421*x^17+30667*x^16+5\ 4484*x^15+81752*x^14+104006*x^13+112720*x^12+104006*x^11+81752*x^10+54484*x^9+\ 30667*x^8+14421*x^7+5620*x^6+1771*x^5+446*x^4+85*x^3+12*x^2+x+1 Paul HjelmstadITS Enterprise Security763-582-6547 (x46547)Paul_Hjelmstad@allianzlife.com

'PAUL HJELMSTAD' <phjelmstad@msn.com> 01/05/2008 12:05 PM

To

hulpke@math.colostate.edu

cc

forum@gap-system.org

Subject

Re: [GAP Forum] Cartesian Group Direct Product

Dear Alexander Hulpke, Dear GAP-Forum,Thanks! I realized after I sent my last message, that I was not understanding the meaning of 'Cartesian' correctly, but I see you understood what I meant. Someone else called what I am looking for the 'cross-product' representation, or what you call the transitive product representation.Finding the CycleIndex should be relatively easy here, but expanding to the Polya Polynomialhas proved difficult, merely because of a problem with variables. ThanksPGH>From: Alexander Hulpke <hulpke@math.colostate.edu>>To: PAUL HJELMSTAD <phjelmstad@msn.com>>CC: GAP Forum <forum@gap-system.org>>Subject: Re: [GAP Forum] Cartesian Group Direct Product>Date: Fri, 4 Jan 2008 12:35:13 -0700>>Dear Paul Hjelmsted, Dear GAP-Forum,>>>The problem with this is that it merely seems to shuffle between the >>non-Cartesian>>form of the permutations, that is, for example, sending (123) to (567) >>(Second Embedding) or merely leaving at at (123) (First Embedding) but I >>may be doing something wrong.>>>>I am not getting anything Cartesian-wise. Perhaps I must leave D4 >>(actually called Dihedral(8)),>>as a pc-group and not a perm group?>>>>After I get this right, I need to generate the CycleIndex, and then >>expand it in a manner you indicated, to get the full Polya Polynomial, >>whose coefficients will be useful to me (especially to find how many >>octads there are under D8 X S3 (Dihedral(16) X Symmetric(3)) and other >>issues>>>>I need these generators for D4 X S3:>>>>(0,3,6,9)(1,4,7,10)(2,5,8,11)>>(0,4,8)(1,5,9)(2,6,10)(3,7,11)>>(1,7)(3,9)(5,11)>>(1,11)(2,10)(3,9)(4,8)(5,7)>>>>Or something with the same meaning>>OK. You want a different representation for the direct product. GAP gives >you by default the intransitive action (which has smaller degree), you >would prefer the transitive product action.>>The easiest way to construct this group is to let the intransitive direct >product act on the cartesian product of the domains:>>gap> d4:=DihedralGroup(IsPermGroup,8);>Group([ (1,2,3,4), (2,4) ])>gap> s3:=SymmetricGroup(3);>Sym( [ 1 .. 3 ] )>gap> d:=DirectProduct(d4,s3);>Group([ (1,2,3,4), (2,4), (5,6,7), (5,6) ])>gap> cart:=Cartesian([1..4],[5..7]);>[ [ 1, 5 ], [ 1, 6 ], [ 1, 7 ], [ 2, 5 ], [ 2, 6 ], [ 2, 7 ], [ 3, 5 ],> [ 3, 6 ], [ 3, 7 ], [ 4, 5 ], [ 4, 6 ], [ 4, 7 ] ]>gap> hom:=ActionHomomorphism(d,cart,OnTuples,'surjective');><action epimorphism>>gap> prod:=Image(hom);>Group([ (1,4,7,10)(2,5,8,11)(3,6,9,12), (4,10)(5,11)(6,12),> (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,2)(4,5)(7,8)(10,11) ])>>>Up to labelling (which is due to the arrangement of the pairs in `cart') >these are the generators you listed. You can use the map `hom' to go back >to the intransitive direct product and use its decomposition functions.>>>Best wishes,>> Alexander Hulpke>>-- Colorado State University, Department of Mathematics,>Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA>email: hulpke@math.colostate.edu, Phone: ++1-970-4914288>http://www.math.colostate.edu/~hulpke>>

CONFIDENTIALITY NOTICE: The information in this message, and any files transmitted with it, is confidential, may be legally privileged, and intended only for the use of the individual(s) named above. Be aware that the use of any confidential or personal information may be restricted by state and federal privacy laws. If you are not the intended recipient, do not further disseminate this message. If this message was received in error, please notify the sender and delete it.

From megha.iitd at gmail.com Tue Jan 15 10:24:17 2008

From: megha.iitd at gmail.com (Megha Gupta)

Date: Tue Jan 15 10:24:53 2008

Subject: [GAP Forum] related to matrices

Message-ID: <1447f9270801150224v7e7eff4dy90ffdf49894d1777@mail.gmail.com>

Dear Gap Forum,

Given invertible matrices A, B, C having determinant 1 and entries from

integers i.e. from SL(3,Z). Is it possible to check whether A can be written

as a product of powers of matrices B, C and their inverses?

Cheers

Megha

From alice at maths.uwa.edu.au Wed Jan 16 07:53:08 2008

From: alice at maths.uwa.edu.au (Alice Niemeyer)

Date: Wed Jan 16 07:54:06 2008

Subject: [GAP Forum] GAP related Research Jobs at Perth Western Australia

Message-ID: <478DB7E4.60003@maths.uwa.edu.au>

Hi everyone,

the following jobs are available at UWA in Perth.

At the very least one of the appointments will be for

algorithms for group theory and these algorithms

are usually developed and implemented in GAP.

Cheers,

Alice Niemeyer.

> > RESEARCH ASSOCIATE POSITIONS (REF: 2139)

> > SCHOOL OF MATHEMATICS AND STATISTICS, UNIVERSITY OF WESTERN AUSTRALIA

> >

> > 2 x 3 year appointments

> > 1 x 2 year appointment

> > with further employment dependent on funding

> > and demand for the research programs.

> > Salary Range: Level A $48,905 - $66,367 p.a. - minimum starting salary

> > for appointee with PhD will be $61,827 p.a.

> > Closing date: Friday, 29 February 2008

> >

> > Full details available at:

> >

> > https://www.his.admin.uwa.edu.au/jobvacs/external/academic/doc/doc1089925.RTF

> >

> >

> >

> > Three positions are available in the research group in Groups and

> > Combinatorics led by Professor Cheryl E. Praeger and including Dr Alice

> > Niemeyer, Associate Professors Cai Heng Li and Gordon Royle and Dr

> > Michael Giudici. Appointees are expected to conduct research within the

> > research programs of Praeger's ARC Federation Fellowship Grant ?Group

> > actions: combinatorics, geometry and computation? and/or Niemeyer and

> > Praeger's ARC Discovery Grant ?Groups: statistics, structure and

> > algorithms?. At least one successful applicant will work in the area of

> > computational group theory and at least one will work in the area of

> > permutation groups and algebraic combinatorics.

> >

> > A PhD (or near-completion) in a relevant field is essential. Beyond

> > technical strength, we seek persons who get excited about achieving an

> > outcome to join our focussed research teams. For further information

> > regarding any of these positions please email Cheryl Praeger or Alice

> > Niemeyer at mathsjobs@maths.uwa.edu.au.

> >

> > Application Details: Applicants must address the selection criteria.

> > Written applications quoting the reference number, personal contact

> > details, qualifications and experience, along with contact details of

> > three referees should be sent to Director, Human Resources, The

> > University of Western Australia, M350, 35 Stirling Highway, Crawley WA

> > 6009 or emailed to jobs@uwa.edu.au by the closing date.

> >

--

=*=*=*=*=*=*=*=*=*=*=*=M=*=*=*=*M*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

Alice C. Niemeyer =@\___) =@\ School of Mathematics & Statistics

alice@maths.uwa.edu.au \_ ( ( \ University of Western Australia

+61-8-6488 3890 .| .| .|_(\_) Nedlands, WA 6009, Australia.

=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

WWW: http://www.maths.uwa.edu.au/~alice/

From jaijinenedra at yahoo.co.in Mon Jan 21 08:49:46 2008

From: jaijinenedra at yahoo.co.in (Vivek Jain)

Date: Mon Jan 21 08:50:23 2008

Subject: [GAP Forum] transversals

Message-ID: <876717.63223.qm@web8708.mail.in.yahoo.com>

How can we determine all the right transversals with identity of a subgroup in a finite group using GAP?

Vivek Kumar Jain

Dept. of Mathematics

Univ. of Allahabad

Allahabad-211002

India

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

Bollywood, fun, friendship, sports and more. You name it, we have it.

From dkahrobaei at CityTech.Cuny.Edu Fri Jan 18 16:27:08 2008

From: dkahrobaei at CityTech.Cuny.Edu (Delaram Kahrobaei)

Date: Mon Jan 21 10:31:57 2008

Subject: [GAP Forum] Group Theory and Theoretical Computer Science Conference

Message-ID: <47908D0C0200009F000009F9@email1.citytech.cuny.edu>

May 2nd 2008

Interdisciplinary Research in Logic, Group Theory, and Theoretical Computer Science Conference at CUNY

The Second Conference for Women in Mathematics (New York)

All interested members of the mathematical community are invited to attend.

Speakers will include

Moira Chas (Stony Brook University)

Natasha Dobrinen (University of Denver)

Olga Kharlampovich (McGill University)

Gretchen Ostheimer (Hofstra University)

Jennifer Taback (Bowdoin College)

Carol Wood (Wesleyan University)

Discussion Panel

Jane Gilman (Rutgers University)

Linda Keen (Lehman College and The Graduate Center (CUNY) (Tentative)

Estela Rojas (NYC College of Technology (CUNY))

Gretchen Ostheimer (Hofstra University)

Christina Sormani (Lehman College and The Graduate Center (CUNY))

This will be the second meeting of the New York Women in Mathematics Network supported by NSF.

There will be a poster session for women PhD students. To apply please contact one of the organizers

Victoria Gitman (vgitman@nylogic.org) or Delaram Kahrobaei(dkahrobaei@citytech.cuny.edu).

Further details of the meeting are available at:

http://www.nywimn.net

Delaram Kahrobaei, Ph.D.

Assistant Professor in Mathematics

E-mail: DKahrobaei@CityTech.CUNY.edu

Tel: +1.718.260.5384

Fax: +1.718.254.8537

Cel: +1.646.318.8520

Webpage: http://websupport1.citytech.cuny.edu/Faculty/dkahrobaei/

Address: Mathematics Department (Namm 707), New York City College of Technology (CUNY), 300 Jay Street, Brooklyn, NY 11201

From l.h.soicher at qmul.ac.uk Wed Jan 23 20:44:39 2008

From: l.h.soicher at qmul.ac.uk (Leonard Soicher)

Date: Wed Jan 23 20:45:52 2008

Subject: [GAP Forum] Announcing the Circle Package

Message-ID: <20080123204439.GA15610@maths.qmul.ac.uk>

Dear Forum Members,

It is my pleasure to announce the newly accepted Circle package for GAP,

by Alexander Konovalov and Panagiotis Soules. This package provides

functionality to compute in the adjoint groups of associative rings.

The Circle package homepage is

http://www.cs.st-andrews.ac.uk/~alexk/circle.htm

where you can download the package and also find HTML and PDF

documentation.

Sincerely,

Leonard Soicher

(on behalf of the GAP Council)

From gerhard.hiss at math.rwth-aachen.de Fri Jan 25 16:31:43 2008

From: gerhard.hiss at math.rwth-aachen.de (Gerhard Hiss)

Date: Fri Jan 25 16:32:14 2008

Subject: [GAP Forum] Wedderga

Message-ID: <hiss-1080125173143.A0213916@sirius.math.rwth-aachen.de>

Dear Members of the GAP forum,

it is my pleasure to announce the new GAP package Wedderga by

Osnel Broche Cristo, Alexander Konovalov, Aurora Olivieri,

Gabriela Olteanu, and Angel del Rio.

Wedderga contains routines to compute the Wedderburn decomposition

of a group algebra of a finite group over abelian number fields and over

finite fields. Wedderga also contains functions to compute the primitive

central idempotents of group algebras, and to construct crossed products.

Wedderga homepages are

http://www.um.es/adelrio/wedderga.htm

and

http://www.cs.st-andrews.ac.uk/~alexk/wedderga.htm,

where you can download the package and its documentation.

Sincerely,

Gerhard Hiss

January 25, 200

--

Gerhard Hiss, Lehrstuhl D fuer Mathematik, RWTH Aachen, 52056 Aachen

Tel.: (+49) (0) 241 / 80-94543

From armahg at gmail.com Fri Jan 25 21:56:58 2008

From: armahg at gmail.com (George Armah)

Date: Fri Jan 25 21:57:36 2008

Subject: [GAP Forum] Cross Compiling GAP for Mac OS X

Message-ID: <479A5B2A.8070009@gmail.com>

Hello,

I am trying to build a universal gap binary for Mac OS X.

To get started I ran the following to try and test what the results of a

cross compilation would be

./configure --build=i686-apple-darwin8 --with-arch=apple

--host=powerpc-apple-darwin8

and got the following error:

checking unaligned access... configure: error: cannot run test program

while cross compiling

See `config.log' for more details.

make: *** [bin/powerpc-apple-darwin8-gcc/Makefile] Error 1

Is there a way to disable the above test? Am I doing this completely wrong?

Any and all advice is welcome.

Thanks in advance,

George Armah.

p.s. I am an undergraduate Math & C.S. major and am using GAP and the

kbmag package to learn about the Automatic structures of

Coxeter groups.

From ndroock1 at gmail.com Sun Jan 27 10:39:58 2008

From: ndroock1 at gmail.com (Nilo de Roock)

Date: Sun Jan 27 10:40:18 2008

Subject: [GAP Forum] gap and Windows Vista

Message-ID: <fe34b49e0801270239k6b75751cla42f15ea77f1bab7@mail.gmail.com>

forum,

I am aware this is not a math related gap question but I don't know

where else to go.

The command c:/gap4r4/bin/gapw95 -L c:/gap4r4/bin/ws.gap works fine on

XP but generates the following error message on Vista: gap: sorry,

options must not be grouped '-L:'.

<screencopy>

Vista:

C:\gap4r4\bin>gapw95 -L: "c:/gap4r4/bin/ws.gap"

gap: sorry, options must not be grouped '-L:'.

usage: gap [OPTIONS] [FILES]

run the Groups, Algorithms and Programming system, Version 4.4.10

use '-h' option to get help.

gap: Press <Enter> to end program

C:\gap4r4\bin>

</screencopy>

<screencopy>

XP: ( behaviour is as expected ).

C:\gap4r4\bin>c:/gap4r4/bin/gapw95 -L c:/gap4r4/bin/ws.gap

GAP4, Version: 4.4.10 of 02-Oct-2007, i686-pc-cygwin-gcc

Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0,

small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2,

id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 0.1,

trans 1.0, prim 2.1 loaded.

Packages: AClib 1.1, Polycyclic 2.2, Alnuth 2.2.5, CrystCat 1.1.2,

Cryst 4.1.5, AutPGrp 1.2, CRISP 1.3.1, CTblLib 1.1.3,

TomLib 1.1.2, FactInt 1.5.2, GAPDoc 1.1, FGA 1.1.0.1,

IRREDSOL 1.1.2, LAGUNA 3.4, Sophus 1.23, Polenta 1.2.7,

ResClasses 2.5.3 loaded.

gap>

</screencopy>

--

kind regards / met vriendelijke groet,

nilo de roock

From resteban at mat.upv.es Sun Jan 27 14:18:05 2008

From: resteban at mat.upv.es (Ramon Esteban)

Date: Sun Jan 27 14:18:38 2008

Subject: [GAP Forum] gap and Windows Vista

In-Reply-To: <fe34b49e0801270239k6b75751cla42f15ea77f1bab7@mail.gmail.com>

References: <fe34b49e0801270239k6b75751cla42f15ea77f1bab7@mail.gmail.com>

Message-ID: <20080127141805.GA8823@upvnet.upv.es>

Dear Nilo, dear forum,

I see you are writing '-L:' in the Vista command line and '-L' in the

XP command line. Have you tried to delete the ':' in the Vista

version?

I have not tried the Vista version, so I cannot tell you more.

Best regards,

--

Ramon <resteban@mat.upv.es>

Clau p?blica PGP/Llave p?blica PGP/Clef publique PGP/PGP public key:

http://www.rediris.es/cert/servicios/keyserver/

http://ttt.upv.es/~resteban/resteban.pgp

Nou tel?fon/Nuevo tel?fono/Nouveau t?l?phone/New phone: (+34)963877007 x76676

* Nilo de Roock <ndroock1@gmail.com> [080127 12:48]:

> forum,

>

> I am aware this is not a math related gap question but I don't know

> where else to go.

>

> The command c:/gap4r4/bin/gapw95 -L c:/gap4r4/bin/ws.gap works fine on

> XP but generates the following error message on Vista: gap: sorry,

> options must not be grouped '-L:'.

>

>

> <screencopy>

> Vista:

> C:\gap4r4\bin>gapw95 -L: "c:/gap4r4/bin/ws.gap"

> gap: sorry, options must not be grouped '-L:'.

> usage: gap [OPTIONS] [FILES]

> run the Groups, Algorithms and Programming system, Version 4.4.10

> use '-h' option to get help.

>

> gap: Press <Enter> to end program

>

> C:\gap4r4\bin>

> </screencopy>

>

>

> <screencopy>

> XP: ( behaviour is as expected ).

> C:\gap4r4\bin>c:/gap4r4/bin/gapw95 -L c:/gap4r4/bin/ws.gap

> GAP4, Version: 4.4.10 of 02-Oct-2007, i686-pc-cygwin-gcc

> Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0,

> small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2,

> id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 0.1,

> trans 1.0, prim 2.1 loaded.

> Packages: AClib 1.1, Polycyclic 2.2, Alnuth 2.2.5, CrystCat 1.1.2,

> Cryst 4.1.5, AutPGrp 1.2, CRISP 1.3.1, CTblLib 1.1.3,

> TomLib 1.1.2, FactInt 1.5.2, GAPDoc 1.1, FGA 1.1.0.1,

> IRREDSOL 1.1.2, LAGUNA 3.4, Sophus 1.23, Polenta 1.2.7,

> ResClasses 2.5.3 loaded.

> gap>

> </screencopy>

>

> --

> kind regards / met vriendelijke groet,

> nilo de roock

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

From ndroock1 at gmail.com Sun Jan 27 20:08:43 2008

From: ndroock1 at gmail.com (Nilo de Roock)

Date: Sun Jan 27 20:10:04 2008

Subject: [GAP Forum] gap and Windows Vista

In-Reply-To: <20080127141805.GA8823@upvnet.upv.es>

References: <fe34b49e0801270239k6b75751cla42f15ea77f1bab7@mail.gmail.com>

<20080127141805.GA8823@upvnet.upv.es>

Message-ID: <fe34b49e0801271208m5d016372l2e944ae4f2248354@mail.gmail.com>

Thank you very much, Ramon!

It must have been the 'copy / paste'-ing from one vmware XP machine to

another vmware Vista machine, that got it ( me ) mixed up. A

non-problem but nevertheless solved.

kind regards,

nilo

2008/1/27, Ramon Esteban <resteban@mat.upv.es>:

> Dear Nilo, dear forum,

>

> I see you are writing '-L:' in the Vista command line and '-L' in the

> XP command line. Have you tried to delete the ':' in the Vista

> version?

>

> I have not tried the Vista version, so I cannot tell you more.

>

> Best regards,

> --

> Ramon <resteban@mat.upv.es>

>

> Clau p?blica PGP/Llave p?blica PGP/Clef publique PGP/PGP public key:

> http://www.rediris.es/cert/servicios/keyserver/

> http://ttt.upv.es/~resteban/resteban.pgp

> Nou tel?fon/Nuevo tel?fono/Nouveau t?l?phone/New phone: (+34)963877007 x76676

>

> * Nilo de Roock <ndroock1@gmail.com> [080127 12:48]:

> > forum,

> >

> > I am aware this is not a math related gap question but I don't know

> > where else to go.

> >

> > The command c:/gap4r4/bin/gapw95 -L c:/gap4r4/bin/ws.gap works fine on

> > XP but generates the following error message on Vista: gap: sorry,

> > options must not be grouped '-L:'.

> >

> >

> > <screencopy>

> > Vista:

> > C:\gap4r4\bin>gapw95 -L: "c:/gap4r4/bin/ws.gap"

> > gap: sorry, options must not be grouped '-L:'.

> > usage: gap [OPTIONS] [FILES]

> > run the Groups, Algorithms and Programming system, Version 4.4.10

> > use '-h' option to get help.

> >

> > gap: Press <Enter> to end program

> >

> > C:\gap4r4\bin>

> > </screencopy>

> >

> >

> > <screencopy>

> > XP: ( behaviour is as expected ).

> > C:\gap4r4\bin>c:/gap4r4/bin/gapw95 -L c:/gap4r4/bin/ws.gap

> > GAP4, Version: 4.4.10 of 02-Oct-2007, i686-pc-cygwin-gcc

> > Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0,

> > small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2,

> > id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 0.1,

> > trans 1.0, prim 2.1 loaded.

> > Packages: AClib 1.1, Polycyclic 2.2, Alnuth 2.2.5, CrystCat 1.1.2,

> > Cryst 4.1.5, AutPGrp 1.2, CRISP 1.3.1, CTblLib 1.1.3,

> > TomLib 1.1.2, FactInt 1.5.2, GAPDoc 1.1, FGA 1.1.0.1,

> > IRREDSOL 1.1.2, LAGUNA 3.4, Sophus 1.23, Polenta 1.2.7,

> > ResClasses 2.5.3 loaded.

> > gap>

> > </screencopy>

> >

> > --

> > kind regards / met vriendelijke groet,

> > nilo de roock

> >

> > _______________________________________________

> > Forum mailing list

> > Forum@mail.gap-system.org

> > http://mail.gap-system.org/mailman/listinfo/forum

>

From bob.heffernan at gmail.com Tue Jan 29 14:50:59 2008

From: bob.heffernan at gmail.com (Robert Heffernan)

Date: Tue Jan 29 14:51:23 2008

Subject: [GAP Forum] question

Message-ID: <6d9a83e90801290650leeb5326p2e44582f228827fc@mail.gmail.com>

Hi,

I've written a (very naive) function to test if two groups are

isoclinic. However, it will sometimes return true and sometimes false

for the same two groups & I'm not sure why this is happening.

The code is below. I would be very grateful for any suggestions,

thank you,

Bob Heffernan

# Code to test if two groups G and H are isoclinic.

# we want:

# i) an isomorphism phi1 from G/Z(G) -> H/Z(H)

# ii) an isomorphism phi2 from G' -> H'

# st. if

# a) (g1Z(G))phi1=h1Z(H); and

# b) (g2Z(G))phi1=h2Z(H)

# then

# c) ([g1,g2])phi2 = [h1,h2]

# returns true if G~H

IsIsoclinic := function(G,H)

local DG,DH,ZG,ZH,GZG,HZH,phi1,phi2,elG,piG,piH,g1,g2,g1p,g2p,h1,h2;

G:=Image(IsomorphismPcGroup(G));

H:=Image(IsomorphismPcGroup(H));

DG:=DerivedSubgroup(G);

DH:=DerivedSubgroup(H);

ZG:=Centre(G);

ZH:=Centre(H);

GZG:=FactorGroup(G,ZG);

HZH:=FactorGroup(H,ZH);

phi1:=IsomorphismGroups(GZG,HZH);

if phi1=fail then return false; fi;

phi2:=IsomorphismGroups(DG,DH);

if phi2=fail then return false; fi;

elG:=Elements(G);

piG:=NaturalHomomorphismByNormalSubgroup(G,ZG);

piH:=NaturalHomomorphismByNormalSubgroup(H,ZH);

for g1 in elG do

for g2 in elG do

g1p:=Image(phi1, Image(piG, g1));

g2p:=Image(phi1, Image(piG, g2));

h1:=PreImagesRepresentative(piH, g1p);

h2:=PreImagesRepresentative(piH, g2p);

if not(Image(phi2, Comm(g1,g2))=Comm(h1,h2)) then return false; fi;

od;

od;

return true;

end;

From reichard at maths.uwa.edu.au Wed Jan 30 00:25:47 2008

From: reichard at maths.uwa.edu.au (Sven Reichard)

Date: Wed Jan 30 00:26:14 2008

Subject: [GAP Forum] question

In-Reply-To: <6d9a83e90801290650leeb5326p2e44582f228827fc@mail.gmail.com>

References: <6d9a83e90801290650leeb5326p2e44582f228827fc@mail.gmail.com>

Message-ID: <479FC40B.4060308@maths.uwa.edu.au>

Bob,

according to your definition you need to find two group isomorphisms which satisfy certain

properties in relation to each other. For both phi1 and phi2, there may be several

candidates. GAP normally uses random methods for certain tasks, so IsomorphismGroups is

not guaranteed to return the same isomorphism each time it is called.

If for a certain choice of phi1 and phi2 your properties are fulfilled you can be sure the

groups are isoclinic. However, if for one choice they are not fulfilled it does not mean

they are not isoclinic; we might just have picked the wrong set of isomorphisms. You need

to somehow show that for any choice of phi1 and phi2, a) and b) do not necessarily imply c).

Hope this helps.

Sven.

Robert Heffernan wrote:

> Hi,

>

> I've written a (very naive) function to test if two groups are

> isoclinic. However, it will sometimes return true and sometimes false

> for the same two groups & I'm not sure why this is happening.

>

> The code is below. I would be very grateful for any suggestions,

>

> thank you,

> Bob Heffernan

>

> # Code to test if two groups G and H are isoclinic.

> # we want:

> # i) an isomorphism phi1 from G/Z(G) -> H/Z(H)

> # ii) an isomorphism phi2 from G' -> H'

> # st. if

> # a) (g1Z(G))phi1=h1Z(H); and

> # b) (g2Z(G))phi1=h2Z(H)

> # then

> # c) ([g1,g2])phi2 = [h1,h2]

>

> # returns true if G~H

> IsIsoclinic := function(G,H)

> local DG,DH,ZG,ZH,GZG,HZH,phi1,phi2,elG,piG,piH,g1,g2,g1p,g2p,h1,h2;

> G:=Image(IsomorphismPcGroup(G));

> H:=Image(IsomorphismPcGroup(H));

>

> DG:=DerivedSubgroup(G);

> DH:=DerivedSubgroup(H);

> ZG:=Centre(G);

> ZH:=Centre(H);

>

> GZG:=FactorGroup(G,ZG);

> HZH:=FactorGroup(H,ZH);

>

> phi1:=IsomorphismGroups(GZG,HZH);

> if phi1=fail then return false; fi;

> phi2:=IsomorphismGroups(DG,DH);

> if phi2=fail then return false; fi;

>

> elG:=Elements(G);

>

> piG:=NaturalHomomorphismByNormalSubgroup(G,ZG);

> piH:=NaturalHomomorphismByNormalSubgroup(H,ZH);

>

> for g1 in elG do

> for g2 in elG do

> g1p:=Image(phi1, Image(piG, g1));

> g2p:=Image(phi1, Image(piG, g2));

> h1:=PreImagesRepresentative(piH, g1p);

> h2:=PreImagesRepresentative(piH, g2p);

> if not(Image(phi2, Comm(g1,g2))=Comm(h1,h2)) then return false; fi;

> od;

> od;

> return true;

> end;

--

Sven Reichard

School of Mathematics and Statistics

The University of Western Australia

35 Stirling Highway

Crawley 6009

Western Australia

>

From rollandj at uwm.edu Sun Feb 3 00:29:51 2008

From: rollandj at uwm.edu (Jeffrey Rolland)

Date: Sun Feb 3 00:29:55 2008

Subject: [GAP Forum] Help Configuring GAP Packages on iBook 900 MHz

Message-ID: <47A50AFF.9030408@uwm.edu>

Hello, all!

I am trying to install GAP on an iBook 900 MHz running Mac OS 10.4.11

with 640 MB of RAM.

I have a basic GAP install compiled. The problem is getting all the

packages configured (or otherwise installed).

The packages are installed in the directory /usr/local/lib/gap4r4/pkg/.

Inside this directory, there is a shell script InstPackages.sh; I am

attaching a copy of InstPackages.sh.

When I cd to /usr/local/lib/gap4r4/pkg/ and run ./InstPackages.sh, I get

the error message "tcsh: ./InstPackages.sh: Command not found." (I am

running tcsh as my default shell.)

Can someone help me trouble-shoot the package installation process?

Sincerely,

--

Jeffrey Rolland

<rollandj@uwm.edu>

-------------- next part --------------

#!/usr/bin/sh

# $Id: InstPackages.sh,v 1.7 2006/12/06 17:07:16 gap Exp $

# You need 'gzip', GNU 'tar', a C compiler, sed, pdftex to run this.

# Copy the current merged package archive to the 'pkg' subdirectory of

# your GAP installation.

# Then start this script (or do it step by step with cut and paste) inside

# this 'pkg' subdirectory.

# Frank L?beck, Frank.Luebeck@Math.RWTH-Aachen.De for questions and complaints.

# Note, that this isn't and is not intended to be a sophisticated script.

# Even if it doesn't work completely automatically for you, you may get

# an idea what to do for a complete installation of GAP.

# first unpack the merged package archive inside the 'pkg' subdirectory:

# tar xpzvf packages-*.tar.gz

cd ace

./configure ../..

make

cd ..

cd anupq

./configure ../..

# on Linux with gmp in standard place and with GAP 4.3 gap.sh script

# in standard path as: gap just do: make (otherwise check installation

# instructions - configure output gives hints)

make

cd ..

# You may not want a writable directory here! In this case substitute

# the directories 'datagens' and 'dataword' by links to somewhere else.

cd atlasrep

chmod 1777 datagens dataword

cd ..

# Installation of Carat produces a lot of data, maybe you want to leave

# this out until a user complains.

# It is not possible to move around compiled binaries because these have the

# path to some data files burned in.

cd carat

tar xzpf carat-2.0.tar.gz

rm -f bin

ln -s carat-2.0/bin bin

cd carat-2.0/functions

# Install the include Gmp first.

# (If you have already Gmp on your system, you can delete the file

# gmp-4.1.2.tar.gz and delete the target 'Gmp' from the target 'ALL' in

# carat-2.0/Makefile.)

tar xzpf gmp-4.1.2.tar.gz

cd ..

make TOPDIR=`pwd` Links

# Note that Gmp may use processor specific code, so this step may not be ok

# for a network installation if you want to use the package on older computers

# as well.

make TOPDIR=`pwd` Gmp

# And now the actual Carat programs.

make TOPDIR=`pwd` CFLAGS=`-O2`

cd ../..

cd cohomolo

./configure

cd standalone/progs.d

cp makefile.orig makefile

cd ../..

make

cd ..

# create dynamic library with EDIM kernel module

cd edim

make clean

unsetenv LANG

unsetenv LC_ALL

./configure

make

cd ..

cd example

./configure ../..

make

cd ..

cd fplsa

./configure ../..

make CC="gcc -O2 "

cd doc

tex manual

tex manual

makeindex manual

tex manual

cd ../..

cd grape

./configure ../..

make

cd ..

cd guava*

./configure ../..

make

cd ..

cd kbmag

make clean

./configure ../..

make COPTS="-O2 -g"

cd ..

# nq needs 'gmp' the GNU multi precision integer package, it is contained in

# the 'carat' package installed above (you can use another installation

# of 'gmp', adjust the argument -I... and -L... below accordingly)

cd nq

setenv COPTS "-I../../carat/carat/include -L../../carat/carat/lib"

./configure

make

unsetenv COPTS

cd ..

# openmath

cd openmath

cd OMCv1.3c/src

./configure

make

cd ../..

./configure ../..

make

cd ..

# see the pargap documentation how to use this

# (in particular, user needs procgroup file)

# [more complicated to include EDIM kernel module ...]

cd pargap

./configure ../..

make

cp bin/pargap.sh ../../bin/

cd ..

rm -f ALLPKG

# For XGap the following shared libraries of the X window system must be

# installed on your machine together with the development files (header

# files and so on):

#

# libXaw.so, libXmu.so, libXt.so, libXext.so, libX11.so, libSM.so, libICE.so

#

# In addition you need on XFree Version >= 4:

#

# libXpm.so

#

# If you miss one of these under Linux you can usually just install some

# more packages of your favorite distribution. The development files usually

# come in some package with "dev" in its name.

cd xgap

./configure

make

rm -f ../../bin/xgap.sh

cp bin/xgap.sh ../../bin/

cd ..

From justin at mac.com Sun Feb 3 01:13:43 2008

From: justin at mac.com (Justin C. Walker)

Date: Sun Feb 3 01:14:35 2008

Subject: [GAP Forum] Help Configuring GAP Packages on iBook 900 MHz

In-Reply-To: <47A50AFF.9030408@uwm.edu>

References: <47A50AFF.9030408@uwm.edu>

Message-ID: <1A6B71F0-9028-4F9B-90A7-5CFE2C6C217C@mac.com>

Dear Jeffrey, Forum:

On Feb 2, 2008, at 16:29 , Jeffrey Rolland wrote:

> I am trying to install GAP on an iBook 900 MHz running Mac OS

> 10.4.11 with 640 MB of RAM.

>

> I have a basic GAP install compiled. The problem is getting all the

> packages configured (or otherwise installed).

>

> The packages are installed in the directory /usr/local/lib/gap4r4/

> pkg/. Inside this directory, there is a shell script

> InstPackages.sh; I am attaching a copy of InstPackages.sh.

>

> When I cd to /usr/local/lib/gap4r4/pkg/ and run ./InstPackages.sh,

> I get the error message "tcsh: ./InstPackages.sh: Command not

> found." (I am running tcsh as my default shell.)

>

> Can someone help me trouble-shoot the package installation process?

[[Added in proof :-} I just noticed that script begins with the

string "#!/usr/bin/sh". This actually may be the problem (the shells

on Mac OS X are usually in "/bin"). Try changing that to "#!/bin/

sh". If that doesn't fix it, read on.]

From the error message you get ("not found"), it appears that the

problem is not with the installation script. Typically, shells on

Unix-like systems find executable commands with the help of a "shell

variable" called PATH. This gives a list of directories in which the

shell should look if you type a command that does not begin with a "/".

In addition, files that are to be executed must be marked as executable.

You can determine which of these might be the problem as follows.

It may be that your PATH is not set up to let you execute commands in

the current directory. Type the following

% echo $PATH

You should see a string of pathnames interspersed with ':'s. Look at

this string and see if you see ":.:" (in the middle), ".:" (at the

beginning), or ":." (at the end). If it's there, your problem is

probably that the script is not marked to be executed. If it is not

there, you can modify your path variable, but the easiest way to fix

your problem may be to execute the command using the full path name:

% /usr/local/lib/gap4r4/pkg/InstPackages.sh

To see if the file is executable, type

% ls -l InstPackages.sh

The latter assumes you are in the directory containing that file.

You might see something like the following:

% ls -l /bin/sh

-r-xr-xr-x 1 root wheel 1068844 Apr 24 2007 /bin/sh

% ls -l /etc/motd

-rw-r--r-- 1 root wheel 19 Jul 1 2006 /etc/motd

The first case is an executable, and the row of letters at the

beginning has 'x's; the second is not executable and does not have

'x's. Your file should have 'x's. If it does not, you can do one of

two things. You can execute this as a shell script:

% sh InstPackages.sh

or you can mark this as executable:

% chmod +x InstPackages.sh

I hope this helps (not knowing how familiar you are with command-line

and Unixy operations, I erred on the chatty side).

Justin

--

Justin C. Walker, Curmudgeon at Large

Institute for the Absorption of Federal Funds

-----------

If it weren't for carbon-14, I wouldn't date at all.

-----------

From hulpke at mac.com Sun Feb 3 01:15:50 2008

From: hulpke at mac.com (Alexander Hulpke)

Date: Sun Feb 3 01:16:55 2008

Subject: [GAP Forum] Help Configuring GAP Packages on iBook 900 MHz

In-Reply-To: <47A50AFF.9030408@uwm.edu>

References: <47A50AFF.9030408@uwm.edu>

Message-ID: <9CF7DA53-B536-42DA-97E3-1D706B5A0500@mac.com>

Dear Jeffrey Rolland,

> The packages are installed in the directory /usr/local/lib/gap4r4/

> pkg/. Inside this directory, there is a shell script

> InstPackages.sh; I am attaching a copy of InstPackages.sh.

>

> When I cd to /usr/local/lib/gap4r4/pkg/ and run ./InstPackages.sh, I

> get the error message "tcsh: ./InstPackages.sh: Command not

> found." (I am running tcsh as my default shell.)

The error is prompted by the fact that the script wants to run using

`sh' at `/usr/bin/sh', while under OSX sh sits under `/bin/sh'.

You could edit this first line of InstallPackages.sh, tough you might

get similar errors from other packages.

Alternatively you could link sh under /usr/bin:

cd /usr/bin

sudo ln -s /bin/sh .

Again the package installations themselves might hang on some similar

path or library issues.

(E.g. for installing XGAP you must install X11 and the X11SDK which

might not be installed by default, you can find them on the

installation disk for Tiger.)

Best,

Alexander Hulpke

>

-- Colorado State University, Department of Mathematics,

Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA

email: hulpke@math.colostate.edu, Phone: ++1-970-4914288

http://www.math.colostate.edu/~hulpke

From rollandj at uwm.edu Sun Feb 3 02:18:59 2008

From: rollandj at uwm.edu (Jeffrey Rolland)

Date: Sun Feb 3 02:19:16 2008

Subject: [GAP Forum] Help Configuring GAP Packages on iBook 900 MHz

In-Reply-To: <1A6B71F0-9028-4F9B-90A7-5CFE2C6C217C@mac.com>

References: <47A50AFF.9030408@uwm.edu>

<1A6B71F0-9028-4F9B-90A7-5CFE2C6C217C@mac.com>

Message-ID: <47A52493.1090809@uwm.edu>

Justin C. Walker wrote:

> Dear Jeffrey, Forum:

>

> On Feb 2, 2008, at 16:29 , Jeffrey Rolland wrote:

>

>> I am trying to install GAP on an iBook 900 MHz running Mac OS 10.4.11

>> with 640 MB of RAM.

>>

>> I have a basic GAP install compiled. The problem is getting all the

>> packages configured (or otherwise installed).

>>

>> The packages are installed in the directory

>> /usr/local/lib/gap4r4/pkg/. Inside this directory, there is a shell

>> script InstPackages.sh; I am attaching a copy of InstPackages.sh.

>>

>> When I cd to /usr/local/lib/gap4r4/pkg/ and run ./InstPackages.sh, I

>> get the error message "tcsh: ./InstPackages.sh: Command not found." (I

>> am running tcsh as my default shell.)

>>

>> Can someone help me trouble-shoot the package installation process?

>

> [[Added in proof :-} I just noticed that script begins with the string

> "#!/usr/bin/sh". This actually may be the problem (the shells on Mac OS

> X are usually in "/bin"). Try changing that to "#!/bin/sh". If that

> doesn't fix it, read on.]

<snip>

> Justin

Justin,

Thanks so much for the reply!

It appears the /usr/bin/sh vs. /bin/sh thing was it. (Obviously, I do

zero shell scriping :)) It's running now (and it appears it will be

running for some time).

If I have any more problems, I'll email again, but that was it for now.

Thanks again.

Sincerely,

--

Jeffrey Rolland

<rollandj@uwm.edu>

From rollandj at uwm.edu Sun Feb 3 02:21:12 2008

From: rollandj at uwm.edu (Jeffrey Rolland)

Date: Sun Feb 3 02:21:16 2008

Subject: [GAP Forum] Help Configuring GAP Packages on iBook 900 MHz

In-Reply-To: <9CF7DA53-B536-42DA-97E3-1D706B5A0500@mac.com>

References: <47A50AFF.9030408@uwm.edu>

<9CF7DA53-B536-42DA-97E3-1D706B5A0500@mac.com>

Message-ID: <47A52518.9070802@uwm.edu>

Alexander Hulpke wrote:

> Dear Jeffrey Rolland,

>

>> The packages are installed in the directory

>> /usr/local/lib/gap4r4/pkg/. Inside this directory, there is a shell

>> script InstPackages.sh; I am attaching a copy of InstPackages.sh.

>>

>> When I cd to /usr/local/lib/gap4r4/pkg/ and run ./InstPackages.sh, I

>> get the error message "tcsh: ./InstPackages.sh: Command not found." (I

>> am running tcsh as my default shell.)

>

> The error is prompted by the fact that the script wants to run using

> `sh' at `/usr/bin/sh', while under OSX sh sits under `/bin/sh'.

> You could edit this first line of InstallPackages.sh, tough you might

> get similar errors from other packages.

<snip>

> Best,

>

> Alexander Hulpke

Alexander,

Thanks so much for your reply!

The /usr/bin/sh vs. /bin/sh thing appears to have been it. It's running

now - yay!

If I have any futher problems, I'll email again, but that was it for now.

Thanks again.

Sincerely,

--

Jeffrey Rolland

<rollandj@uwm.edu>

From graham.ellis at nuigalway.ie Sun Feb 3 20:08:37 2008

From: graham.ellis at nuigalway.ie (Ellis, Grahamj)

Date: Sun Feb 3 20:11:41 2008

Subject: [GAP Forum] De Brun Workshop On Computational Algebra

References: <7BC4FCB2B695D64CBF525CEC6437532701BA33D1@EVS1.ac.nuigalway.ie>

<7BC4FCB2B695D64CBF525CEC6437532701BA33D2@EVS1.ac.nuigalway.ie>

<7BC4FCB2B695D64CBF525CEC6437532701BA33D3@EVS1.ac.nuigalway.ie>

<7BC4FCB2B695D64CBF525CEC6437532701BA33D4@EVS1.ac.nuigalway.ie>

<7BC4FCB2B695D64CBF525CEC6437532701BA33D5@EVS1.ac.nuigalway.ie>

<7BC4FCB2B695D64CBF525CEC6437532701BA33D6@EVS1.ac.nuigalway.ie>

<7BC4FCB2B695D64CBF525CEC6437532701BA33DA@EVS1.ac.nuigalway.ie>

Message-ID: <7BC4FCB2B695D64CBF525CEC6437532701BA33E9@EVS1.ac.nuigalway.ie>

First de Brun Workshop on Computational Algebra

===================================

The De Brun Centre at NUI Galway (http://hamilton.nuigalway.ie/DeBrunCentre) will run a series of workshops on computational algebra over the next few years. The first of these

(http://hamilton.nuigalway.ie/DeBrunCentre/FirstWorkshop/poster/FirstWorkshop.html)

will be held at the National University of Ireland, Galway, from 21 July to August 1, 2008.

The workshop, at which we expect to have approximately 40 participants, will consist of four morning lecture courses by

Gerhard Hiss (Aachen)

John McKay (Concordia)

Mike Stillman (Cornell)

Bernd Sturmfels (Berkeley).

and a full programme of afternoon lectures on recent research in computational algebra. The organizers encourage workshop participants to submit abstracts for contributed talks.

The workshop is supported by Science Foundation Ireland and there is some funding available to assist graduate students, postdocs (and possibly others).

For registration details see http://hamilton.nuigalway.ie/DeBrunCentre/FirstWorkshop/poster/FirstWorkshopDetails.html .

The organizers,

Graham Ellis

Goetz Pfeiffer

From l.h.soicher at qmul.ac.uk Wed Feb 6 14:20:37 2008

From: l.h.soicher at qmul.ac.uk (Leonard Soicher)

Date: Wed Feb 6 14:21:11 2008

Subject: [GAP Forum] Announcing the RDS Package

Message-ID: <20080206142037.GA6732@maths.qmul.ac.uk>

Dear Forum Members,

It is my pleasure to announce the newly accepted RDS package for GAP,

by Marc Roeder. This package is for finding relative difference sets in

(not necessarily abelian) groups. In addition, there is functionality for

constructing resulting block designs and for analyzing projective planes.

The RDS package can be downloaded from

http://www.maths.nuigalway.ie/~roeder/rds.shtml

where you can also find HTML and PDF documentation.

Sincerely,

Leonard Soicher

(on behalf of the GAP Council)

From rollandj at uwm.edu Fri Feb 8 17:39:48 2008

From: rollandj at uwm.edu (Jeffrey Rolland)

Date: Fri Feb 8 17:39:34 2008

Subject: [GAP Forum] Compute Homotopy Groups with GAP?

Message-ID: <47AC93E4.6060008@uwm.edu>

Hello, all!

I am a newbie to GAP.

I have used the module HAP to compute group homologies for a certain

group - the binary icosahedral group, P, aka SL(2,5) and the Poincare

group - to great success. HAP correctly tells me H_n(P) is Z_120 for n

congruent to 3 mod 4.

I am interested, however, not in the space BP, but the space BP+, the

result of applying Quillen's Plus Construction to BP with respect to P.

Of course, this makes BP+ simply connected; moreover, it leaves the

homology groups of BP+ unchanged from those of BP.

But now, by Hurewitz Theorem, pi_3(BP+) = H_3(BP+) = H_3(BP) = Z_120.

So, BP+ is no longer aspherical.

What I would like is a way of computing pi_4(BP+) through pi_8(BP+) -

without "building my own nails" (as one of the professors at my school

accuses me of doing all to often), that is, by getting GAP or some other

source to do it for me (I have bigger fish to fry).

If this beyond GAP's present capabilities, knowing that would be a plus.

If anyone knows of a reference for this in the literature, I would be

eternally grateful.

Thank you in advance for any assistance you can provide.

Sincerely,

--

Jeffrey Rolland

<rollandj@uwm.edu>

From rollandj at uwm.edu Fri Feb 8 21:42:53 2008

From: rollandj at uwm.edu (Jeffrey Rolland)

Date: Fri Feb 8 21:43:03 2008

Subject: [Fwd: Re: [GAP Forum] Help Configuring GAP Packages on iBook 900 MHz]

Message-ID: <47ACCCDD.1010508@uwm.edu>

Hello, again, all!

Thanks so much for your help with the package install script.

It turns out that the install script crashed on the "nq" ("Nilpotent

Quotient") package. The problem appears to be that one of the files

attempts to include the "malloc.h" library, but this package has been

replaced by the "stdlib.h" package on Mac Os X.

I tried just changing the inclusion, but the script appears to run cvs

to download the source files.

Has anyone had any success getting this package to compile on Mac OS X?

I am running Tiger (OS 10.4.11) on an iBook G3 900 MHz with 640 MB of RAM.

Thanks in advance for any assistance you can provide.

Sincerely,

--

Jeffrey Rolland

<rollandj@uwm.edu>

-------- Original Message --------

Subject: Re: [GAP Forum] Help Configuring GAP Packages on iBook 900 MHz

Date: Sat, 02 Feb 2008 20:21:12 -0600

From: Jeffrey Rolland <rollandj@uwm.edu>

To: forum@gap-system.org

References: <47A50AFF.9030408@uwm.edu>

<9CF7DA53-B536-42DA-97E3-1D706B5A0500@mac.com>

Alexander Hulpke wrote:

> Dear Jeffrey Rolland,

>

>> The packages are installed in the directory

>> /usr/local/lib/gap4r4/pkg/. Inside this directory, there is a shell

>> script InstPackages.sh; I am attaching a copy of InstPackages.sh.

>>

>> When I cd to /usr/local/lib/gap4r4/pkg/ and run ./InstPackages.sh, I

>> get the error message "tcsh: ./InstPackages.sh: Command not found." (I

>> am running tcsh as my default shell.)

>

> The error is prompted by the fact that the script wants to run using

> `sh' at `/usr/bin/sh', while under OSX sh sits under `/bin/sh'.

> You could edit this first line of InstallPackages.sh, tough you might

> get similar errors from other packages.

<snip>

> Best,

>

> Alexander Hulpke

Alexander,

Thanks so much for your reply!

The /usr/bin/sh vs. /bin/sh thing appears to have been it. It's running

now - yay!

If I have any futher problems, I'll email again, but that was it for now.

Thanks again.

Sincerely,

--

Jeffrey Rolland

<rollandj@uwm.edu>

_______________________________________________

Forum mailing list

Forum@mail.gap-system.org

http://mail.gap-system.org/mailman/listinfo/forum

--

--

Jeffrey Rolland

<rollandj@uwm.edu>

From rollandj at uwm.edu Fri Feb 8 21:57:44 2008

From: rollandj at uwm.edu (Jeffrey Rolland)

Date: Fri Feb 8 21:57:24 2008

Subject: [GAP Forum] Use GAP to Compute Hom(G1, G2)?

Message-ID: <47ACD058.70703@uwm.edu>

Hello, all!

I am a newbie to GAP.

I am trying to compute the set of all homomorphisms from a group G1

[which is the semi-direct product of the integeres Z with the binary

icosahedral group P (also known as SL(2,5) and the Poincare group)] to

the group P (the Poincare group again) - Hom(G1, P). This sort of

problem seems right up GAP's alley.

I have a presentatiion for G1: <z, s, t| s^3(st)^(-2), t^5(st^(-2),

zs(s^2ts^2t^3z)^(-1), zt(s^5ts^2tz)^(-1)>. (The first two relators

recreate the Poincare group; the second two relators give the

consequences for sliding the "z" past the "s" and the "t",

respectively.) The group G1 satisfies the short exact sequence 1 -> P ->

G1 -> Z - 1; it is the only group (other than ZxP) to do so (up to

congruence).

If anyone can help me compute this set of homomorphisms from G1 to P, I

would greatly appreciate it.

Sincerely,

--

Jeffrey Rolland

<rollandj@uwm.edu>

From rollandj at uwm.edu Fri Feb 8 22:10:18 2008

From: rollandj at uwm.edu (Jeffrey Rolland)

Date: Fri Feb 8 22:09:57 2008

Subject: [GAP Forum] Compute Homotopy Groups with GAP?

In-Reply-To: <7BC4FCB2B695D64CBF525CEC6437532701BA3431@EVS1.ac.nuigalway.ie>

References: <47AC93E4.6060008@uwm.edu>

<7BC4FCB2B695D64CBF525CEC6437532701BA3431@EVS1.ac.nuigalway.ie>

Message-ID: <47ACD34A.2010909@uwm.edu>

Ellis, Grahamj wrote:

> Jeffrey Roland wrote:

>> I am interested, however, not in the space BP, but the space BP+, the

>> result of applying Quillen's Plus Construction to BP with respect to P.

>> Of course, this makes BP+ simply connected; moreover, it leaves the

>> homology groups of BP+ unchanged from those of BP.

>

> Hi Jeffrey,

>

> There is no method in HAP for computing the homotopy groups of BP+. The main focus (as yet) in HAP is on homology of BP.

>

> One place to look for ideas is the KENZO package by Francis Ssergereart at Grenoble. It uses simplicial groups and sets to model homotopy types with main focus on simply connected spaces.I don't think it will answer you problem directly though.

>

> All the best,

>

> Graham

Dear Graham,

Thanks so much for your input.

I have tried finding KENZO on the net, but all of the links to it that I

have found appear to be broken. I will keep trying. Hopefully, once I

find it, it will be able to answer my question.

Sincerely,

--

Jeffrey Rolland

<rollandj@uwm.edu>

From hulpke at math.colostate.edu Fri Feb 8 22:37:27 2008

From: hulpke at math.colostate.edu (Alexander Hulpke)

Date: Fri Feb 8 22:38:40 2008

Subject: [GAP Forum] Use GAP to Compute Hom(G1, G2)?

In-Reply-To: <47ACD058.70703@uwm.edu>

References: <47ACD058.70703@uwm.edu>

Message-ID: <C708016C-A0CA-475E-9C5E-73D3F4015A36@math.colostate.edu>

Dear GAP Forum,

Jeffrey Rolland asked:

> I am trying to compute the set of all homomorphisms from a group G1

> [which is the semi-direct product of the integeres Z with the binary

> icosahedral group P (also known as SL(2,5) and the Poincare group)]

> to the group P (the Poincare group again) - Hom(G1, P). This sort of

> problem seems right up GAP's alley.

>

> I have a presentatiion for G1: <z, s, t| s^3(st)^(-2), t^5(st^(-2),

> zs(s^2ts^2t^3z)^(-1), zt(s^5ts^2tz)^(-1)>.

The easiest seems to be to find all quotients of G1 that are

isomorphic to a subgroup of SL(2,5). (There is some redundancy in this

and for bigger cases other methods would be better. However in this

case everything else is far more work for the user.)

gap> f:=FreeGroup("z","s","t");

<free group on the generators [ z, s, t ]>

gap> AssignGeneratorVariables(f);

#I Assigned the global variables [ z, s, t ]

gap> rels:=[ s^3*t^-1*s^-1*t^-1*s^-1, t^4*s^-1*t^-1*s^-1,

z*s*z^-1*t^-3*s^-2*t^-1*s^-2,

z*t*z^-1*t^-1*s^-2*t^-1*s^-5 ];

[ s^3*t^-1*s^-1*t^-1*s^-1, t^4*s^-1*t^-1*s^-1,

z*s*z^-1*t^-3*s^-2*t^-1*s^-2,

z*t*z^-1*t^-1*s^-2*t^-1*s^-5 ]

gap> G1:=f/rels;

<fp group on the generators [ z, s, t ]>

Careful: This group has no quotient isomorphic to A_5 and thus cannot

have SL(2,5) as quotient. So its probably not the group you want.

Now create SL(2,5) as permutation group (more efficient than matrix

form):

gap> P:=SL(2,5);

SL(2,5)

gap> P:=Image(IsomorphismPermGroup(P));

Group([ (1,2,4,8)(3,6,9,5)(7,12,13,17)(10,14,11,15)(16,20,21,24)

(18,22,19,23),

(1,3,7)(2,5,10)(4,9,13)(6,11,8)(12,16,20)(14,18,22)(15,19,23)

(17,21,24) ])

All subgroups (careful: Only up to conjugacy. We will get

homomorphisms only up to conjugacy as well!)

s:=List(ConjugacyClassesSubgroups(P),Representative);

gap> List(s,Size);

[ 1, 2, 3, 4, 5, 6, 8, 10, 12, 20, 24, 120 ]

Now for each subgroup find the epimorphisms, together they are all

homomorphisms:

gap> q:=List(s,i->GQuotients(G1,i));

[ [ [ z, s, t ] -> [ (), (), () ] ],

[ [ z, s, t ] -> [ (1,4)(2,8)(3,9)(5,6)(7,13)(10,11)(12,17)(14,15)

(16,

21)(18,19)(20,24)(22,23), (), () ] ],

[ [ z, s, t ] -> [ (1,3,7)(2,5,10)(4,9,13)(6,11,8)(12,16,20)

(14,18,22)(15,

19,23)(17,21,24), (), () ] ],

[ [ z, s, t ] -> [ (1,2,4,8)(3,6,9,5)(7,12,13,17)(10,14,11,15)

(16,20,21,

24)(18,22,19,23), (), () ] ],

[ [ z, s, t ] -> [ (3,13,23,21,15)(5,11,20,19,12)(6,10,24,18,17)

(7,22,16,14,

9), (), () ] ],

[ [ z, s, t ] -> [ (1,9,7,4,3,13)(2,6,10,8,5,11)(12,21,20,17,16,24)

(14,19,

22,15,18,23), (), () ] ], [ ],

[ [ z, s, t ] -> [ (1,4)(2,8)(3,7,23,16,15,9,13,22,21,14)

(5,10,20,18,12,6,

11,24,19,17), (), () ] ], [ ], [ ], [ ], [ ] ]

gap> List(q,Length);

[ 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0 ]

Again, this is for the presentation you gave which I think is not the

group you want. In any case these are the commands you need in GAP.

Best,

Alexander Hulpke

-- Colorado State University, Department of Mathematics,

Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA

email: hulpke@math.colostate.edu, Phone: ++1-970-4914288

http://www.math.colostate.edu/~hulpke

From justin at mac.com Sat Feb 9 00:25:20 2008

From: justin at mac.com (Justin Walker)

Date: Sat Feb 9 00:25:41 2008

Subject: [Fwd: Re: [GAP Forum] Help Configuring GAP Packages on iBook 900

MHz]

In-Reply-To: <47ACCCDD.1010508@uwm.edu>

References: <47ACCCDD.1010508@uwm.edu>

Message-ID: <82A1F8A3-B98F-4E5A-A750-F7534062B0B4@mac.com>

Dear Jeffrey and Forum,

On Feb 8, 2008, at 1:42 PM, Jeffrey Rolland wrote:

> Has anyone had any success getting this package to compile on Mac OS

> X? I am running Tiger (OS 10.4.11) on an iBook G3 900 MHz with 640

> MB of RAM.

I have in the past had luck with the following egregious hack:

$ sudo touch /usr/include/malloc.h

This creates an empty 'malloc.h' that the compiler will find. This

should satisfy it, and since this file is unnecessary (at least on Mac

OS X, and, I think, on many modern systems :-}), the fact that it

provides no content should pass unnoticed.

As I say, I have tried it in the past and it's worked, but that is no

guarantee.

Regards,

Justin

--

Justin C. Walker, Curmudgeon-At-Large

Institute for the Absorption of Federal Funds

--------

Men are from Earth.

Women are from Earth.

Deal with it.

--------

From alexander.konovalov at gmail.com Sat Feb 9 01:29:47 2008

From: alexander.konovalov at gmail.com (Alexander Konovalov)

Date: Sat Feb 9 01:30:04 2008

Subject: [Fwd: Re: [GAP Forum] Help Configuring GAP Packages on iBook 900

MHz]

In-Reply-To: <47ACCCDD.1010508@uwm.edu>

References: <47ACCCDD.1010508@uwm.edu>

Message-ID: <0CE8C5E1-9101-485D-B13A-FAB7A4D0FFF5@gmail.com>

Dear Jeffrey,

I put some notes how to install some GAP packages on Mac OS X here:

http://www.cs.st-andrews.ac.uk/~alexk/gap/pkgmacos.txt

Hope that they may help in your situation.

Best wishes,

Alexander

On 8 Feb 2008, at 21:42, Jeffrey Rolland wrote:

> Hello, again, all!

>

> Thanks so much for your help with the package install script.

>

> It turns out that the install script crashed on the "nq" ("Nilpotent

> Quotient") package. The problem appears to be that one of the files

> attempts to include the "malloc.h" library, but this package has

> been replaced by the "stdlib.h" package on Mac Os X.

>

> I tried just changing the inclusion, but the script appears to run

> cvs to download the source files.

>

> Has anyone had any success getting this package to compile on Mac OS

> X? I am running Tiger (OS 10.4.11) on an iBook G3 900 MHz with 640

> MB of RAM.

>

> Thanks in advance for any assistance you can provide.

>

> Sincerely,

> --

> Jeffrey Rolland

> <rollandj@uwm.edu>

>

> -------- Original Message --------

> Subject: Re: [GAP Forum] Help Configuring GAP Packages on iBook 900

> MHz

> Date: Sat, 02 Feb 2008 20:21:12 -0600

> From: Jeffrey Rolland <rollandj@uwm.edu>

> To: forum@gap-system.org

> References: <47A50AFF.9030408@uwm.edu> <9CF7DA53-B536-42DA-97E3-1D706B5A0500@mac.com

> >

>

> Alexander Hulpke wrote:

>> Dear Jeffrey Rolland,

>>> The packages are installed in the directory /usr/local/lib/gap4r4/

>>> pkg/. Inside this directory, there is a shell script

>>> InstPackages.sh; I am attaching a copy of InstPackages.sh.

>>>

>>> When I cd to /usr/local/lib/gap4r4/pkg/ and run ./InstPackages.sh,

>>> I get the error message "tcsh: ./InstPackages.sh: Command not

>>> found." (I am running tcsh as my default shell.)

>> The error is prompted by the fact that the script wants to run

>> using `sh' at `/usr/bin/sh', while under OSX sh sits under `/bin/sh'.

>> You could edit this first line of InstallPackages.sh, tough you

>> might get similar errors from other packages.

>

> <snip>

>

>> Best,

>> Alexander Hulpke

>

> Alexander,

>

> Thanks so much for your reply!

>

> The /usr/bin/sh vs. /bin/sh thing appears to have been it. It's

> running

> now - yay!

>

> If I have any futher problems, I'll email again, but that was it for

> now.

>

> Thanks again.

>

> Sincerely,

> --

> Jeffrey Rolland

> <rollandj@uwm.edu>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

> --

> --

> Jeffrey Rolland

> <rollandj@uwm.edu>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

From rollandj at uwm.edu Sat Feb 9 01:31:24 2008

From: rollandj at uwm.edu (Jeffrey Rolland)

Date: Sat Feb 9 01:31:05 2008

Subject: [Fwd: Re: [GAP Forum] Help Configuring GAP Packages on iBook

900 MHz]

In-Reply-To: <82A1F8A3-B98F-4E5A-A750-F7534062B0B4@mac.com>

References: <47ACCCDD.1010508@uwm.edu>

<82A1F8A3-B98F-4E5A-A750-F7534062B0B4@mac.com>

Message-ID: <47AD026C.2040100@uwm.edu>

Justin Walker wrote:

> Dear Jeffrey and Forum,

>

> On Feb 8, 2008, at 1:42 PM, Jeffrey Rolland wrote:

>

>> Has anyone had any success getting this package to compile on Mac OS

>> X? I am running Tiger (OS 10.4.11) on an iBook G3 900 MHz with 640 MB

>> of RAM.

>

> I have in the past had luck with the following egregious hack:

> $ sudo touch /usr/include/malloc.h

>

> This creates an empty 'malloc.h' that the compiler will find. This

> should satisfy it, and since this file is unnecessary (at least on Mac

> OS X, and, I think, on many modern systems :-}), the fact that it

> provides no content should pass unnoticed.

>

> As I say, I have tried it in the past and it's worked, but that is no

> guarantee.

>

> Regards,

>

> Justin

<snip>

Justin,

Thanks, that took care of the the malloc.h problem.

Now, I have a new problem. Make complains that it can't find a certain

file in the carat directory:

(cd src; make GNU_MP_LIB=. GNU_MP_INC=.)

gcc -O3 -DLONGLONG -I../../carat/carat/include -L../../carat/carat/lib

-DVERSION='"2.0 January 2003"' nq.o consistency.o pc.o relations.o

word.o system.o time.o addgen.o tails.o eliminate.o engel.o glimt.o

instances.o presentation.o mem.o pcarith.o collect.o combicol.o

trmetab.o gap.o -L. -o nq -lgmp -static

/usr/bin/ld: can't locate file for: -lcrt0.o

collect2: ld returned 1 exit status

make[1]: *** [nq] Error 1

make: *** [compile] Error 2

The file isn't in /usr/local/lib/gap4r4/pkg/carat/carat-2.0/lib.

Any suggestions/

Sincerely,

--

Jeffrey Rolland

<rollandj@uwm.edu>

From rollandj at uwm.edu Sat Feb 9 01:37:07 2008

From: rollandj at uwm.edu (Jeffrey Rolland)

Date: Sat Feb 9 01:37:04 2008

Subject: [GAP Forum] Use GAP to Compute Hom(G1, G2)?

In-Reply-To: <C708016C-A0CA-475E-9C5E-73D3F4015A36@math.colostate.edu>

References: <47ACD058.70703@uwm.edu>

<C708016C-A0CA-475E-9C5E-73D3F4015A36@math.colostate.edu>

Message-ID: <47AD03C3.9030606@uwm.edu>

Alexander Hulpke wrote:

> Dear GAP Forum,

>

> Jeffrey Rolland asked:

>

>> I am trying to compute the set of all homomorphisms from a group G1

>> [which is the semi-direct product of the integeres Z with the binary

>> icosahedral group P (also known as SL(2,5) and the Poincare group)] to

>> the group P (the Poincare group again) - Hom(G1, P). This sort of

>> problem seems right up GAP's alley.

>>

>> I have a presentatiion for G1: <z, s, t| s^3(st)^(-2), t^5(st^(-2),

>> zs(s^2ts^2t^3z)^(-1), zt(s^5ts^2tz)^(-1)>.

>

> The easiest seems to be to find all quotients of G1 that are isomorphic

> to a subgroup of SL(2,5). (There is some redundancy in this and for

> bigger cases other methods would be better. However in this case

> everything else is far more work for the user.)

<snip>

> Careful: This group has no quotient isomorphic to A_5 and thus cannot

> have SL(2,5) as quotient. So its probably not the group you want.

<snip>

> Best,

>

> Alexander Hulpke

<snip>

Prof. Hulpke,

Oops! You are right. I actually want all homomorhphisms to Out(P) = Z_2.

I know you can just send z from the Z in G1 to 1 in Z_2 and the s and t

from the P in G1 to 0 in Z_2, but I needed to know if there were any

other homs. Sorry, it's been a long time since I looked at this, and I

forgot what I needed. I put this on the back burner until I realized GAP

may be able to do this.

At any rate, your post should give me what I need. Thanks.

Sincerely,

--

Jeffrey Rolland

<rollandj@uwm.edu>

From dima at ntu.edu.sg Sat Feb 9 06:33:24 2008

From: dima at ntu.edu.sg (Dmitrii Pasechnik)

Date: Sat Feb 9 06:34:19 2008

Subject: [Fwd: Re: [GAP Forum] Help Configuring GAP Packages on iBook

900 MHz]

In-Reply-To: <47AD026C.2040100@uwm.edu>

Message-ID: <C3D36A34.4AE4%dima@ntu.edu.sg>

Dear Jeffrey and Forum,

On 2/9/08 9:31 AM, "Jeffrey Rolland" <rollandj@uwm.edu> wrote:

[...]

>

> Now, I have a new problem. Make complains that it can't find a certain

> file in the carat directory:

>

> (cd src; make GNU_MP_LIB=. GNU_MP_INC=.)

> gcc -O3 -DLONGLONG -I../../carat/carat/include -L../../carat/carat/lib

> -DVERSION='"2.0 January 2003"' nq.o consistency.o pc.o relations.o

> word.o system.o time.o addgen.o tails.o eliminate.o engel.o glimt.o

> instances.o presentation.o mem.o pcarith.o collect.o combicol.o

> trmetab.o gap.o -L. -o nq -lgmp -static

> /usr/bin/ld: can't locate file for: -lcrt0.o

> collect2: ld returned 1 exit status

> make[1]: *** [nq] Error 1

> make: *** [compile] Error 2

>

> The file isn't in /usr/local/lib/gap4r4/pkg/carat/carat-2.0/lib.

this could be due to GMP built with wrong options.

I have had problems using GPM supplied within carat, until I switched to GMP

supplied by fink (do you use fink? www.finkproject.org).

You'd comment out building Gmp in carat's top makefile, and add

-I/sw/include to the CFLAGS there.

Then everything builds fine.

Anyhow, it's certainly better to have out-of-package-tree installation of

GPM on your system, be it the fink's one or other, for GMP is used by lots

of software around...

HTH,

Dmitrii

>

> Any suggestions/

>

> Sincerely,

> --

> Jeffrey Rolland

> <rollandj@uwm.edu>

--

Dima Pasechnik

http://www.ntu.edu.sg/home/dima/

From maasiru at yahoo.com Sat Feb 9 16:11:22 2008

From: maasiru at yahoo.com (muniru asiru)

Date: Sat Feb 9 16:11:46 2008

Subject: [GAP Forum] cubic equations

Message-ID: <409319.59515.qm@web53306.mail.re2.yahoo.com>

Dear Forum,

Please assist me in programming Gap to find x(rational

number) and y(integer number) so that

(y-1)x^3+yx^2+(y+1)x-y=0, y<>1.

The only solutions I got is (x,y)=(1/2,3). Could

anyone help find others?

Thanks

maasiru

____________________________________________________________________________________

Never miss a thing. Make Yahoo your home page.

http://www.yahoo.com/r/hs

From nikos.ap at gmail.com Sat Feb 9 19:45:57 2008

From: nikos.ap at gmail.com (Nikos Apostolakis)

Date: Sat Feb 9 19:47:03 2008

Subject: [GAP Forum] Re: cubic equations

In-Reply-To: <409319.59515.qm@web53306.mail.re2.yahoo.com>

Message-ID: <87y79thq16.fsf@knotter.earthlink.net>

On Sat, Feb 09, 2008 at 08:11:22AM -0800, thus spake muniru asiru:

> Dear Forum,

>

> Please assist me in programming Gap to find x(rational

> number) and y(integer number) so that

> (y-1)x^3+yx^2+(y+1)x-y=0, y<>1.

>

> The only solutions I got is (x,y)=(1/2,3). Could

> anyone help find others?

>

Two more solutions are (1,0) and (56/103, - 418488) if there is an other

solution with x > 0 the denominator of x is larger than 1000.

I used maxima to symbolicaly solve the equation to get that the general

solution is

[y = (x^3-x)/(x^3 + x^2 + x -1)]

then still using maxima we substitute x = m/n to get:

y = (m*n^2 - m^3)/(n^3 - m*n^2 - m^2*n - m^3)

Then using Gap (since this is Gap forum ;)) I did:

Filtered(Cartesian([1..1000], [1..1000]), x -> IsInt((x[1]*x[2]^2-x[1]^3)/(x[2]^3-x[1]*x[2]^2-x[1]^2*x[2]-x[1]^3)));;

List(last, x -> x[1]/x[2]);;

Collected(last); #==> [ [ 1/2, 500 ], [ 56/103, 9 ], [ 1, 1000 ] ]

Of course the above is a quick"brute force" approach. Perhaps there is a more

elegant way.

HTH,

Nikos

> Thanks

>

> maasiru

>

From justin at mac.com Sat Feb 9 22:35:36 2008

From: justin at mac.com (Justin C. Walker)

Date: Sat Feb 9 22:36:36 2008

Subject: [Fwd: Re: [GAP Forum] Help Configuring GAP Packages on iBook 900

MHz]

In-Reply-To: <47AD026C.2040100@uwm.edu>

References: <47ACCCDD.1010508@uwm.edu>

<82A1F8A3-B98F-4E5A-A750-F7534062B0B4@mac.com>

<47AD026C.2040100@uwm.edu>

Message-ID: <0B80D81F-3F80-4BFB-AB53-6B08B1771028@mac.com>

On Feb 8, 2008, at 17:31 , Jeffrey Rolland wrote:

> Justin Walker wrote:

>> Dear Jeffrey and Forum,

>> On Feb 8, 2008, at 1:42 PM, Jeffrey Rolland wrote:

>>> Has anyone had any success getting this package to compile on Mac

>>> OS X? I am running Tiger (OS 10.4.11) on an iBook G3 900 MHz with

>>> 640 MB of RAM.

>> I have in the past had luck with the following egregious hack:

>> $ sudo touch /usr/include/malloc.h

>> This creates an empty 'malloc.h' that the compiler will find.

>> This should satisfy it, and since this file is unnecessary (at

>> least on Mac OS X, and, I think, on many modern systems :-}), the

>> fact that it provides no content should pass unnoticed.

>> As I say, I have tried it in the past and it's worked, but that is

>> no guarantee.

>> Regards,

>> Justin

>

> <snip>

>

> Justin,

>

> Thanks, that took care of the the malloc.h problem.

>

> Now, I have a new problem. Make complains that it can't find a

> certain file in the carat directory:

>

> (cd src; make GNU_MP_LIB=. GNU_MP_INC=.)

> gcc -O3 -DLONGLONG -I../../carat/carat/include -L../../carat/carat/

> lib -DVERSION='"2.0 January 2003"' nq.o consistency.o pc.o

> relations.o word.o system.o time.o addgen.o tails.o eliminate.o

> engel.o glimt.o instances.o presentation.o mem.o pcarith.o

> collect.o combicol.o trmetab.o gap.o -L. -o nq -lgmp -static

> /usr/bin/ld: can't locate file for: -lcrt0.o

> collect2: ld returned 1 exit status

> make[1]: *** [nq] Error 1

> make: *** [compile] Error 2

>

> The file isn't in /usr/local/lib/gap4r4/pkg/carat/carat-2.0/lib.

I've reproduced this on my system. I really don't think this is a

'gmp' issue, and I would not (yet) start fooling around with fink or

MacPorts. The problem seems more basic: the fact that "-lcrt0.o" is

the issue means (to me, at least) that the tool chain is really

confused.

In the future, please include this information, since it will help

diagnose this kind of problem:

- hardware platform (processor, if known)

- OS

- OS version

- GAP version and (if it's about a package) package version

I am running on a Mac Pro (Dual Quad Xeon, 3GHz), Mac OS X 10.4.11.

I tried this with Gap 4.4.10, and nq 2.2.

I find that my locally-built GMP is built as a 64-bit library, while

nq is built 32-bit. I think that is the problem (GMP seems to insist

on 64-bit builds if it's possible).

Let us know what the above information is, and whether you built GMP

yourself (and if not, where it came from).

Justin

--

Justin C. Walker, Curmudgeon-At-Large

Institute for the Enhancement of the Director's Income

--------

When LuteFisk is outlawed,

Only outlaws will have LuteFisk

--------

From rollandj at uwm.edu Sun Feb 10 03:33:44 2008

From: rollandj at uwm.edu (Jeffrey Rolland)

Date: Sun Feb 10 03:33:28 2008

Subject: [Fwd: Re: [GAP Forum] Help Configuring GAP Packages on iBook

900 MHz]

In-Reply-To: <0B80D81F-3F80-4BFB-AB53-6B08B1771028@mac.com>

References: <47ACCCDD.1010508@uwm.edu>

<82A1F8A3-B98F-4E5A-A750-F7534062B0B4@mac.com>

<47AD026C.2040100@uwm.edu>

<0B80D81F-3F80-4BFB-AB53-6B08B1771028@mac.com>

Message-ID: <47AE7098.4000709@uwm.edu>

Justin C. Walker wrote:

>

> On Feb 8, 2008, at 17:31 , Jeffrey Rolland wrote:

<snip>

Justin,

>>

>> Thanks, that took care of the the malloc.h problem.

>>

>> Now, I have a new problem. Make complains that it can't find a certain

>> file in the carat directory:

>>

>> (cd src; make GNU_MP_LIB=. GNU_MP_INC=.)

>> gcc -O3 -DLONGLONG -I../../carat/carat/include -L../../carat/carat/lib

>> -DVERSION='"2.0 January 2003"' nq.o consistency.o pc.o relations.o

>> word.o system.o time.o addgen.o tails.o eliminate.o engel.o glimt.o

>> instances.o presentation.o mem.o pcarith.o collect.o combicol.o

>> trmetab.o gap.o -L. -o nq -lgmp -static

>> /usr/bin/ld: can't locate file for: -lcrt0.o

>> collect2: ld returned 1 exit status

>> make[1]: *** [nq] Error 1

>> make: *** [compile] Error 2

>>

>> The file isn't in /usr/local/lib/gap4r4/pkg/carat/carat-2.0/lib.

>

> I've reproduced this on my system. I really don't think this is a 'gmp'

> issue, and I would not (yet) start fooling around with fink or

> MacPorts. The problem seems more basic: the fact that "-lcrt0.o" is the

> issue means (to me, at least) that the tool chain is really confused.

>

> In the future, please include this information, since it will help

> diagnose this kind of problem:

> - hardware platform (processor, if known)

> - OS

> - OS version

> - GAP version and (if it's about a package) package version

>

> I am running on a Mac Pro (Dual Quad Xeon, 3GHz), Mac OS X 10.4.11.

>

> I tried this with Gap 4.4.10, and nq 2.2.

>

> I find that my locally-built GMP is built as a 64-bit library, while nq

> is built 32-bit. I think that is the problem (GMP seems to insist on

> 64-bit builds if it's possible).

>

> Let us know what the above information is, and whether you built GMP

> yourself (and if not, where it came from).

>

> Justin

<snip>

Justin (et. al),

Thanks for the response.

My info is

Hardware: Apple iBook G3 900 MHz

OS and Version: Mac OS X 10.4.11

GAP: 4.4.9

NQ Version: 2.2

GMP Version (Long Edition): OK, here's where it gets embarassing. I

*had* tried to compile GMP myself a while ago, but it failed some

checks, so I never install it (I forgot this until your post :( ). I

just redownloaded it and compiled it, and I installed it before I did a

"make check" :( - but when I did eventually do a "make check", it passed

all tests this time :) So, to make a long story short, I am using

version 4.2.2.

GMP Version (Short Edition): 4.2.2

I have not tried recomiling NQ since installing GMP.

Please let me know if there is any additional information you require.

Thank you in advance for any assistance you can provide.

Sincerely,

--

Jeffrey Rolland

<rollandj@uwm.edu>

From dima at ntu.edu.sg Sun Feb 10 06:17:53 2008

From: dima at ntu.edu.sg (Dmitrii Pasechnik)

Date: Sun Feb 10 06:20:21 2008

Subject: [Fwd: Re: [GAP Forum] Help Configuring GAP Packages on iBook

900 MHz]

In-Reply-To: <0B80D81F-3F80-4BFB-AB53-6B08B1771028@mac.com>

Message-ID: <C3D4B811.4B00%dima@ntu.edu.sg>

Dear Justin,

On 2/10/08 6:35 AM, "Justin C. Walker" <justin@mac.com> wrote:

[...]

>> Now, I have a new problem. Make complains that it can't find a

>> certain file in the carat directory:

>>

>> (cd src; make GNU_MP_LIB=. GNU_MP_INC=.)

>> gcc -O3 -DLONGLONG -I../../carat/carat/include -L../../carat/carat/

>> lib -DVERSION='"2.0 January 2003"' nq.o consistency.o pc.o

>> relations.o word.o system.o time.o addgen.o tails.o eliminate.o

>> engel.o glimt.o instances.o presentation.o mem.o pcarith.o

>> collect.o combicol.o trmetab.o gap.o -L. -o nq -lgmp -static

>> /usr/bin/ld: can't locate file for: -lcrt0.o

>> collect2: ld returned 1 exit status

>> make[1]: *** [nq] Error 1

>> make: *** [compile] Error 2

>>

>> The file isn't in /usr/local/lib/gap4r4/pkg/carat/carat-2.0/lib.

>

> I've reproduced this on my system. I really don't think this is a

> 'gmp' issue,

well, the problem evidently lies in the way carat builds gpm library. Hence

it IS a gmp issue :)

I don't see why we really should discuss buidling gmp in this forum,

especially as there are well-known ways to avoid messing around with this on

the particular platform we talk about, e.g. to use fink.

Otherwise you are of course right that the tool chain gets confused here.

But it's gmp's toolchain...

> and I would not (yet) start fooling around with fink or

> MacPorts.

without one of them, developing "generic" unix soft, such as gap, on a Mac

becomes a major pain, that's why it's not "fooling around", but rather a

very reasonable thing to do.

Cheers,

Dmitrii

From justin at mac.com Sun Feb 10 21:26:14 2008

From: justin at mac.com (Justin C. Walker)

Date: Sun Feb 10 21:27:22 2008

Subject: [Fwd: Re: [GAP Forum] Help Configuring GAP Packages on iBook 900

MHz]

In-Reply-To: <47AE7098.4000709@uwm.edu>

References: <47ACCCDD.1010508@uwm.edu>

<82A1F8A3-B98F-4E5A-A750-F7534062B0B4@mac.com>

<47AD026C.2040100@uwm.edu>

<0B80D81F-3F80-4BFB-AB53-6B08B1771028@mac.com>

<47AE7098.4000709@uwm.edu>

Message-ID: <53BF5AC5-1CD6-4EBE-B980-E50CCE7691CC@mac.com>

Dear Jeffrey and Forum,

On Feb 9, 2008, at 19:33 , Jeffrey Rolland wrote:

> Justin C. Walker wrote:

>> On Feb 8, 2008, at 17:31 , Jeffrey Rolland wrote:

>>> (cd src; make GNU_MP_LIB=. GNU_MP_INC=.)

>>> gcc -O3 -DLONGLONG -I../../carat/carat/include -L../../carat/

>>> carat/lib -DVERSION='"2.0 January 2003"' nq.o consistency.o pc.o

>>> relations.o word.o system.o time.o addgen.o tails.o eliminate.o

>>> engel.o glimt.o instances.o presentation.o mem.o pcarith.o

>>> collect.o combicol.o trmetab.o gap.o -L. -o nq -lgmp -static

>>> /usr/bin/ld: can't locate file for: -lcrt0.o

>>> collect2: ld returned 1 exit status

>>> make[1]: *** [nq] Error 1

>>> make: *** [compile] Error 2

>>>

>>> The file isn't in /usr/local/lib/gap4r4/pkg/carat/carat-2.0/lib.

>> I've reproduced this on my system. I really don't think this is a

>> 'gmp' issue, and I would not (yet) start fooling around with fink

>> or MacPorts. The problem seems more basic: the fact that "-

>> lcrt0.o" is the issue means (to me, at least) that the tool chain

>> is really confused.

>> In the future, please include this information, since it will help

>> diagnose this kind of problem:

>> - hardware platform (processor, if known)

>> - OS

>> - OS version

>> - GAP version and (if it's about a package) package version

>> I am running on a Mac Pro (Dual Quad Xeon, 3GHz), Mac OS X 10.4.11.

>> I tried this with Gap 4.4.10, and nq 2.2.

>> I find that my locally-built GMP is built as a 64-bit library,

>> while nq is built 32-bit. I think that is the problem (GMP seems

>> to insist on 64-bit builds if it's possible).

>> Let us know what the above information is, and whether you built

>> GMP yourself (and if not, where it came from).

>

> Hardware: Apple iBook G3 900 MHz

This pretty much eliminates the "64-bit" answer :-}

> OS and Version: Mac OS X 10.4.11

> GAP: 4.4.9

> NQ Version: 2.2

>

> GMP Version (Long Edition): OK, here's where it gets embarassing.

No need to be too embarrassed; many of us have been in the same boat

at times :-}

> GMP Version (Short Edition): 4.2.2

>

> I have not tried recomiling NQ since installing GMP.

I would do that (I rebuilt GMP on my system, forcing it to 32 bits,

and the 'nq' build completed).

If that doesn't work, post the results of

file $XXX/libgmp*

ar x $XXX/libgmp.a fscanf.o

file fscanf.o

rm fscanf.o

(XXX = path to the libraries).

Hope that helps.

Justin

--

Justin C. Walker, Curmudgeon-At-Large

Institute for the Enhancement of the Director's Income

--------

Experience is what you get

when you don't get what you want.

--------

From justin at mac.com Sun Feb 10 22:04:59 2008

From: justin at mac.com (Justin C. Walker)

Date: Sun Feb 10 22:05:52 2008

Subject: [Fwd: Re: [GAP Forum] Help Configuring GAP Packages on iBook 900

MHz]

In-Reply-To: <C3D4B811.4B00%dima@ntu.edu.sg>

References: <C3D4B811.4B00%dima@ntu.edu.sg>

Message-ID: <92D1167C-F527-4108-87E2-417B8D48ED28@mac.com>

Dear Dimitrii,

On Feb 9, 2008, at 22:17 , Dmitrii Pasechnik wrote:

> Dear Justin,

>

> On 2/10/08 6:35 AM, "Justin C. Walker" <justin@mac.com> wrote:

> [...]

>>> Now, I have a new problem. Make complains that it can't find a

>>> certain file in the carat directory:

>>>

>>> (cd src; make GNU_MP_LIB=. GNU_MP_INC=.)

>>> gcc -O3 -DLONGLONG -I../../carat/carat/include -L../../carat/carat/

>>> lib -DVERSION='"2.0 January 2003"' nq.o consistency.o pc.o

>>> relations.o word.o system.o time.o addgen.o tails.o eliminate.o

>>> engel.o glimt.o instances.o presentation.o mem.o pcarith.o

>>> collect.o combicol.o trmetab.o gap.o -L. -o nq -lgmp -static

>>> /usr/bin/ld: can't locate file for: -lcrt0.o

>>> collect2: ld returned 1 exit status

>>> make[1]: *** [nq] Error 1

>>> make: *** [compile] Error 2

>>>

>>> The file isn't in /usr/local/lib/gap4r4/pkg/carat/carat-2.0/lib.

>>

>> I've reproduced this on my system. I really don't think this is a

>> 'gmp' issue,

> well, the problem evidently lies in the way carat builds gpm

> library. Hence

> it IS a gmp issue :)

>

> I don't see why we really should discuss buidling gmp in this forum,

> especially as there are well-known ways to avoid messing around

> with this on

> the particular platform we talk about, e.g. to use fink.

> Otherwise you are of course right that the tool chain gets confused

> here.

> But it's gmp's toolchain...

>

>> and I would not (yet) start fooling around with fink or

>> MacPorts.

> without one of them, developing "generic" unix soft, such as gap,

> on a Mac

> becomes a major pain, that's why it's not "fooling around", but

> rather a

> very reasonable thing to do.

I wasn't trying to provoke a discussion on the issue of fink/macports

(and I'm not disagreeing that fink and macports are good ways to deal

with Unix software on Mac OS X). I wanted to isolate what was going

wrong for Jeffrey.

For someone not familiar with software development, tackling the job

of installing either of these schemes can be daunting. Throwing that

into the mix at the start didn't seem like the right approach.

It may be that it works out to be a GMP issue, but for now, my

concern is getting to the bottom of a specific failure.

In my case, the problem seems to be related to differences between 64-

bit and 32-bit toolchains (and the fact that I had a 64-bit GMP and a

32-bit nq). I'm not sure yet what is wrong in Jeffrey's case.

Justin

--

Justin C. Walker, Curmudgeon-At-Large

Institute for the Enhancement of the Director's Income

--------

When LuteFisk is outlawed,

Only outlaws will have LuteFisk

--------

From gordon at csse.uwa.edu.au Mon Feb 11 17:34:57 2008

From: gordon at csse.uwa.edu.au (Gordon Royle)

Date: Mon Feb 11 17:36:07 2008

Subject: [GAP Forum] Two Guava Questions...

Message-ID: <CF3D74BD-D5D9-45C1-8DCA-DFC99CE92C9C@csse.uwa.edu.au>

Hi..

I have two Guava questions... I have never used it before, so I am

working from scratch.

(1) Leon's code..

I installed a new copy of GAP and compiled the C code for Leon's

automorphism group stuff following the instructions.

However if I start GAP and LoadPackage("guava") from any location

OTHER than $GAPROOT then I get a message "C code not compiled"

(2) Generator Matrices

When I create a code with GeneratorMatCode, it seems to go away and

precompute a whole pile of stuff taking perhaps minutes to enter a

code.. what is it doing at this point? Is there a way of making it

"lazy" so that it only computes things when and if they are asked for...

Thanks

Gordon

--

Associate Professor Gordon Royle

School of Computer Science & Software Engineering / School of

Mathematics & Statistics

University of Western Australia

http://people.csse.uwa.edu.au/gordon

From wdjoyner at gmail.com Mon Feb 11 17:57:59 2008

From: wdjoyner at gmail.com (David Joyner)

Date: Mon Feb 11 17:58:23 2008

Subject: [GAP Forum] Two Guava Questions...

In-Reply-To: <CF3D74BD-D5D9-45C1-8DCA-DFC99CE92C9C@csse.uwa.edu.au>

References: <CF3D74BD-D5D9-45C1-8DCA-DFC99CE92C9C@csse.uwa.edu.au>

Message-ID: <8cf963450802110957m33350d19k4b06479cc6b67efb@mail.gmail.com>

On Feb 11, 2008 12:34 PM, Gordon Royle <gordon@csse.uwa.edu.au> wrote:

> Hi..

>

> I have two Guava questions... I have never used it before, so I am

> working from scratch.

>

> (1) Leon's code..

>

> I installed a new copy of GAP and compiled the C code for Leon's

> automorphism group stuff following the instructions.

>

> However if I start GAP and LoadPackage("guava") from any location

> OTHER than $GAPROOT then I get a message "C code not compiled"

I'm not sure if this should be viewed as a bug or not. It it a problem

for you? It has never been a problem for me.

>

> (2) Generator Matrices

>

> When I create a code with GeneratorMatCode, it seems to go away and

> precompute a whole pile of stuff taking perhaps minutes to enter a

> code.. what is it doing at this point? Is there a way of making it

> "lazy" so that it only computes things when and if they are asked for...

Some commands have faster method implemented - such as

RandomLinearCode. For most commands, though, it searches some tables

and tries to get estimates for the parameters. I think that is the

part that takes the most time. Removing that would, I think,

require a significant amount of programming.

>

> Thanks

Thanks for trying out GUAVA! Hope this helps.

>

> Gordon

>

> --

> Associate Professor Gordon Royle

> School of Computer Science & Software Engineering / School of

> Mathematics & Statistics

> University of Western Australia

> http://people.csse.uwa.edu.au/gordon

>

>

>

>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From wdjoyner at gmail.com Mon Feb 11 18:43:49 2008

From: wdjoyner at gmail.com (David Joyner)

Date: Mon Feb 11 18:44:33 2008

Subject: [GAP Forum] Two Guava Questions...

In-Reply-To: <CF3D74BD-D5D9-45C1-8DCA-DFC99CE92C9C@csse.uwa.edu.au>

References: <CF3D74BD-D5D9-45C1-8DCA-DFC99CE92C9C@csse.uwa.edu.au>

Message-ID: <8cf963450802111043u368923cfv1aceb08779dc7a1b@mail.gmail.com>

A follow-up to my previous reply.

Cen Tjhai (a GUAVA co-developer) reminded me off-list that

GeneratorMatCodeNC does exactly what Gordon was asking for.

It's undocumented though (and I'd forgotten about it). so I'll try

to remember to fix that in the next release of GUAVA.

Thanks CJ!

On Feb 11, 2008 12:34 PM, Gordon Royle <gordon@csse.uwa.edu.au> wrote:

> Hi..

>

> I have two Guava questions... I have never used it before, so I am

> working from scratch.

>

> (1) Leon's code..

>

> I installed a new copy of GAP and compiled the C code for Leon's

> automorphism group stuff following the instructions.

>

> However if I start GAP and LoadPackage("guava") from any location

> OTHER than $GAPROOT then I get a message "C code not compiled"

>

> (2) Generator Matrices

>

> When I create a code with GeneratorMatCode, it seems to go away and

> precompute a whole pile of stuff taking perhaps minutes to enter a

> code.. what is it doing at this point? Is there a way of making it

> "lazy" so that it only computes things when and if they are asked for...

>

> Thanks

>

> Gordon

>

> --

> Associate Professor Gordon Royle

> School of Computer Science & Software Engineering / School of

> Mathematics & Statistics

> University of Western Australia

> http://people.csse.uwa.edu.au/gordon

>

>

>

>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From kohl at mathematik.uni-stuttgart.de Tue Feb 12 13:02:53 2008

From: kohl at mathematik.uni-stuttgart.de (Stefan Kohl)

Date: Tue Feb 12 13:04:33 2008

Subject: [GAP Forum] cubic equations

In-Reply-To: <409319.59515.qm@web53306.mail.re2.yahoo.com>

References: <409319.59515.qm@web53306.mail.re2.yahoo.com>

Message-ID: <47B198FD.3060707@mathematik.uni-stuttgart.de>

Dear Forum,

Muniru Asiru asked:

> Please assist me in programming Gap to find x(rational

> number) and y(integer number) so that

> (y-1)x^3+yx^2+(y+1)x-y=0, y<>1.

>

> The only solutions I got is (x,y)=(1/2,3). Could

> anyone help find others?

A general remark in advance: It is well-known that there is no general

algorithm for computing the set of solutions of a diophantine equation,

or even only for deciding whether there is a solution at all.

However, now let's turn to Muniru Asiru's particular equation:

He asks for rational zeros of a certain family of cubic polynomials

with integer coefficients.

For approximating zeros of polynomials with integer coefficients,

GAP provides a function ContinuedFractionApproximationOfRoot( P, n ).

As the name suggests, this function computes the n-th continued fraction

approximation of some real zero of the polynomial P.

As an example, let's compute the 20th continued fraction

approximation of the third root of 2:

gap> x := Indeterminate(Integers);; SetName(x,"x");

gap> ContinuedFractionApproximationOfRoot(x^3-2,20);

1348776323/1070524477

gap> last^3-2;

1671371601/1226845304290527628130119333

There is also another function ContinuedFractionExpansionOfRoot( P, n ),

which computes the first n terms of the corresponding continued fraction

expansions.

As an example, let's compute the first 20 terms of the

continued fraction expansion of the third root of 2:

gap> ContinuedFractionExpansionOfRoot(x^3-2,20);

[ 1, 3, 1, 5, 1, 1, 4, 1, 1, 8, 1, 14, 1, 10, 2, 1, 4, 12, 2, 3 ]

Both of these functions require that the leading coefficient of P is

positive, that P(0) is negative and that P has only one positive real zero.

These conditions are satisfied for Muniru Asiru's polynomial if y > 1,

and they are satisfied for its additive inverse if y < 0.

Now note that the continued fraction expansion of a rational number stops

after a finite number of terms.

Given this, we can start to look for solutions.

First we enter Muniru Asiru's family of polynomials:

gap> x := Indeterminate(Integers);; SetName(x,"x");

gap> pol := y -> (y-1)*x^3+y*x^2+(y+1)*x-y;;

Then we look for solutions with y > 1 ...

gap> Filtered([1..500000],

> y->Length(ContinuedFractionExpansionOfRoot(pol(y),10)) < 10);

[ 3 ]

gap> ContinuedFractionExpansionOfRoot(pol(3),10);

[ 0, 2 ]

gap> ContinuedFractionApproximationOfRoot(pol(3),10);

1/2

... and obtain the solution (1/2,3).

Next we look for solutions with y < 0 ...

gap> Filtered([1..500000],

> y->Length(ContinuedFractionExpansionOfRoot(-pol(-y),10)) < 10);

[ 418488 ]

gap> ContinuedFractionExpansionOfRoot(-pol(-418488),10);

[ 0, 1, 1, 5, 4, 2 ]

gap> ContinuedFractionApproximationOfRoot(-pol(-418488),10);

56/103

... and obtain the solution (56/103,-418488).

We can also look what happens slightly below and above -418488:

gap> ContinuedFractionExpansionOfRoot(-pol(-418486),10);

[ 0, 1, 1, 5, 4, 1, 1, 64099453, 1, 1 ]

gap> ContinuedFractionExpansionOfRoot(-pol(-418487),10);

[ 0, 1, 1, 5, 4, 1, 1, 128199214, 9, 2 ]

gap> ContinuedFractionExpansionOfRoot(-pol(-418488),10);

[ 0, 1, 1, 5, 4, 2 ]

gap> ContinuedFractionExpansionOfRoot(-pol(-418489),10);

[ 0, 1, 1, 5, 4, 2, 128199826, 1, 8, 2 ]

gap> ContinuedFractionExpansionOfRoot(-pol(-418490),10);

[ 0, 1, 1, 5, 4, 2, 64100066, 2, 1, 1 ]

gap> ContinuedFractionExpansionOfRoot(-pol(-418491),10);

[ 0, 1, 1, 5, 4, 2, 42733479, 1, 1, 3 ]

... and even still

gap> ContinuedFractionExpansionOfRoot(-pol(-420000),10);

[ 0, 1, 1, 5, 4, 2, 85093, 1, 14, 1 ]

If one wishes, one could probably use this pattern to greatly reduce

computation time when looking for further solutions.

Best wishes,

Stefan Kohl

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

http://www.cip.mathematik.uni-stuttgart.de/~kohlsn/

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

From sal at cs.st-and.ac.uk Thu Feb 14 16:05:40 2008

From: sal at cs.st-and.ac.uk (Steve Linton)

Date: Thu Feb 14 16:04:57 2008

Subject: [GAP Forum] Experimental Patch to Long-standing Itanium Problem

Message-ID: <20080214160540.28f0ee0b@cs.st-and.ac.uk>

Dear GAP Forum,

As some of you will recall, there is a very long standing

problem running GAP on processors from Intel's Itanium processor family, found

mainly in large multi-processor servers and supercomputers.

We believe that we have now fixed this problem, and the fix will be included

in the next release of GAP, but, if you wish to try it out in the meantime,

you can download it as a patch to apply to GAP 4r4p10. See

http://www.gap-system.org/Faq/Hardware-OS/hardware-os8.html

for a link to the patch.

Please let us know how you get on.

Steve Linton

--

Steve Linton School of Computer Science &

Centre for Interdisciplinary Research in Computational Algebra

University of St Andrews Tel +44 (1334) 463269

http://www.cs.st-and.ac.uk/~sal Fax +44 (1334) 463278

From mlederer at math.uni-bielefeld.de Thu Feb 14 22:23:44 2008

From: mlederer at math.uni-bielefeld.de (Mathias Lederer)

Date: Thu Feb 14 22:25:11 2008

Subject: [GAP Forum] Wedderburn and representations

Message-ID: <86201AFB-215C-405A-84CB-CE7BA0546E98@math.uni-bielefeld.de>

Dear GAP forum,

I am currently learning to use the Wedderburn package, which I find

very appealing. I want to apply the Wedderburn also to the following

situation, which deals with a special class of representations of G.

Take a group G and a field F such that FG is semisimple. Let FG = A_1

\times \ldots \times A_s be the Weddderburn decomposition of FG.

Next, let H be a subgroup of G. The vector space

F(G/H) := \oplus_{g \in G} F gH

(that is, a vector space with the coset classes as a basis) has a

canonical action of G, hence, is an FG-module. Therefore, it is a

direct sum V_1 \oplus \ldots \oplus V_s, where V_i is a module over

A_i. The algebra A_i is a matrix algebra over a division algebra,

say, A_i = M_{n_i}(D_i). Up to isomorphism, there exists a unique

irreducible A_i-module, to wit, U_i = D_i^{n_i}. Hence the module V_i

is a direct sum of a number of copies of U_i, say, V_i = U_i^{f_i}.

Here are my questions.

1) The Wedderburn package enables one to compute decomposition FG =

A_1 \times \ldots \times A_s. If I understand correctly, each A_i is

not given in the form A_i = M_{n_i}(D_i) as above. Instead, a

cyclotomic algebra, which is Brauer equivalent to A_i, is given. Can

one also compute the form A_i = M_{n_i}(D_i)? So do we get the

division algebra and the size of the matrices?

2) Can one compute the multiplicity f_i with which the irreducible

A_i-module shows up in F(G/H)?

Many thanks in advance,

Mathias

From adelrio at um.es Fri Feb 15 22:31:16 2008

From: adelrio at um.es (Angel del Rio)

Date: Fri Feb 15 22:32:14 2008

Subject: [GAP Forum] Wedderburn and representation

Message-ID: <47B612B4.6090402@um.es>

Dear GAP Forum,

This is a reply to a message by Mathias Lederer on Wedderburn

Decomposition of semisimple group algebras and representations.

Your first question:

1) The Wedderburn package enables one to compute decomposition FG = A_1

\times \ldots \times A_s. If I understand correctly, each A_i is not

given in the form A_i = M_{n_i}(D_i) as above. Instead, a cyclotomic

algebra, which is Brauer equivalent to A_i, is given. Can one also

compute the form A_i = M_{n_i}(D_i)? So do we get the division algebra

and the size of the matrices?

To compute the form M_{n_i}(D_i) is usually a difficult task. In fact

just to compute the size of the matrices is not obvious.

Notice that the degree of A_i coincides with the degree of each

irreducible character chi of G which does not vanishes on A_i and it is

equal to n_im_i, where m_i is the Schur index of A_i, or equivalently

the Schur degree of chi over F.

In theory, if F is a global field then the calculation of the Schur

index or even of the Hasse invariant of A_i (or D_i) should be doable by

using local information (See Reiner, Maximal Orders).

Unfortunately in many cases this is a difficult task and as far as I

know there is not an "implementable" method to do this.

This is the subject of many research papers.

See for example:

P. Schmid, Representation-groups for the Schur index, J. Algebra 97

(1985) 101-115.

B. Banieqbal, On bounding the Schur index of induced modules, Bull. LMS

18 (1986) 17-23.

A. Turull, On the Schur index of quasi primitive characters, Journal

LMS 35 (1987) 421-432.

A. Herman, Using character correspondence for Schur index computations,

J. Algebra 159 (2003) 353-360.

A. Herman, Using G-algebras for Schur index computations, J. Algebra 260

(2003) 463-475.

Your second question:

2) Can one compute the multiplicity f_i with which the irreducible

A_i-module shows up in F(G/H)?

Unfortunately there is not anything else that can be said because the

first question is included in the second one for H=1.

Indeed, the multiplicity f_i equals n_i, the size of the matrices and

computing this is already hard for this case.

Resuming, wedderga, provides a description of the simple components of

group algebras, but to have a full understanding of these components we

still need fundamental research on the calculation of Schur indexes and

local invariants.

Some of the experts in the field are Herman, Turull and Schimd.

They may give more information.

?ngel

--

?ngel del R?o Mateos

Departamento de Matem?ticas

Universidad de Murcia

+34 968 363537

From savchuk at math.tamu.edu Mon Feb 18 05:12:09 2008

From: savchuk at math.tamu.edu (Dmytro Savchuk)

Date: Mon Feb 18 05:13:34 2008

Subject: [GAP Forum] new release of AutomGrp package v 1.1.1

Message-ID: <1001996987185.20080217231209@math.tamu.edu>

Dear Forum,

We are glad to announce a new release of the package AutomGrp V 1.1.1.

It provides methods for computations with groups and semigroups

generated by finite automata or given by wreath recursion, as well as

with their finitely generated subgroups and elements.

Several new features were added and couple of bugs were fixed. For

more details refer to file NEWS in the main folder of the package.

The package and documentation is available at

http://finautom.sourceforge.net/

If you have any problems with installation, please let us know. Note,

that it depends on FGA package.

Best Wishes!

Dmytro

From p_niroomand at yahoo.com Mon Feb 18 15:53:42 2008

From: p_niroomand at yahoo.com (peyman niroomand)

Date: Mon Feb 18 15:59:24 2008

Subject: [GAP Forum] Request

Message-ID: <940948.76528.qm@web50504.mail.re2.yahoo.com>

Dear Gap Forum,

I have a some questions about GAP.

1) Let G be a finite group and G\wedge G is a Non-abelian Exterior Square of G. Can we compute the following group with GAP ?

H={g\in G |g\wedge x=1 \for all x\in G}.

2) Can we use GAP to decide when x\wedge y is equal to 1 for any pair (x,y) in G^2 ?

Best Regards.

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

Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.

From savchuk at math.tamu.edu Mon Feb 18 20:52:22 2008

From: savchuk at math.tamu.edu (Dmytro Savchuk)

Date: Mon Feb 18 20:52:46 2008

Subject: [GAP Forum] new release of AutomGrp package v 1.1.1

Message-ID: <1572053400463.20080218145222@math.tamu.edu>

Dear Forum,

We are glad to announce a new release of the package AutomGrp V 1.1.1.

It provides methods for computations with groups and semigroups

generated by finite automata or given by wreath recursion, as well as

with their finitely generated subgroups and elements.

Several new features were added and couple of bugs were fixed. For

more details refer to file NEWS in the main folder of the package.

The package and documentation is available at

http://finautom.sourceforge.net/

If you have any problems with installation, please let us know. Note,

that it depends on FGA package.

Best Wishes!

Dmytro

From hnguyen at math.ufl.edu Wed Feb 27 21:59:30 2008

From: hnguyen at math.ufl.edu (Hung Ngoc Nguyen)

Date: Wed Feb 27 21:59:52 2008

Subject: [GAP Forum] Character Table of some groups.

Message-ID: <Pine.SOL.4.44.0802271635180.13855-100000@blackbird.math.ufl.edu>

Dear GAP forum,

I want to know the character tables (or atleast character degrees) of the

universal covers of some (simple) orthogonal groups like: O8+(3), O8-(3),

O9(3). It worked when I did with those

orthogonal groups but unfortunately it failed for

their universal covers. I just wonder whether the character tables of

these universal covers are available on GAP ot not? By the way I am using

version 4.4.9.

Thank you very much for your help.

Hung Ngoc Nguyen

Mathematics Department

University of Florida

From frank.luebeck at math.rwth-aachen.de Wed Feb 27 23:48:11 2008

From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=)

Date: Wed Feb 27 23:48:32 2008

Subject: [GAP Forum] Character Table of some groups.

In-Reply-To: <Pine.SOL.4.44.0802271635180.13855-100000@blackbird.math.ufl.edu>

References: <Pine.SOL.4.44.0802271635180.13855-100000@blackbird.math.ufl.edu>

Message-ID: <20080227234811.GA31235@beteigeuze>

On Wed, Feb 27, 2008 at 04:59:30PM -0500, Hung Ngoc Nguyen wrote:

> Dear GAP forum,

>

> I want to know the character tables (or atleast character degrees) of the

> universal covers of some (simple) orthogonal groups like: O8+(3), O8-(3),

> O9(3). It worked when I did with those

> orthogonal groups but unfortunately it failed for

> their universal covers. I just wonder whether the character tables of

> these universal covers are available on GAP ot not? By the way I am using

> version 4.4.9.

> Thank you very much for your help.

>

> Hung Ngoc Nguyen

> Mathematics Department

> University of Florida

Dear Hung Ngoc Nguyen, dear Forum,

I think the complete character tables of the universal covers of the

mentioned simple groups are not known (and so not in the GAP character table

library).

But you can find the lists of character degrees (and multiplicities) for these

groups, and even covers of O8+(q), O8-(q), O9(q) for all prime powers q,

on the web page:

http://www.math.rwth-aachen.de/~Frank.Luebeck/chev/DegMult/

See under "D_4(q)_sc", "^2D_4(q)_sc", "B_4(q)_sc", respectively.

With best regards,

Frank

--

/// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, ///

\\\ 52062 Aachen, Germany \\\

/// E-mail: Frank.Luebeck@Math.RWTH-Aachen.De ///

\\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\

From kksa at math.ku.dk Thu Feb 28 09:34:17 2008

From: kksa at math.ku.dk (Kasper Andersen)

Date: Thu Feb 28 09:34:46 2008

Subject: [GAP Forum] cubic equations

In-Reply-To: <47B198FD.3060707@mathematik.uni-stuttgart.de>

References: <409319.59515.qm@web53306.mail.re2.yahoo.com>

<47B198FD.3060707@mathematik.uni-stuttgart.de>

Message-ID: <alpine.LSU.1.00.0802271207350.21899@galois.math.ku.dk>

Dear Forum,

Some time ago Muniru Asiru asked the following question:

> Dear Forum,

>

> Muniru Asiru asked:

>

>> Please assist me in programming Gap to find x(rational

>> number) and y(integer number) so that

>> (y-1)x^3+yx^2+(y+1)x-y=0, y<>1.

>>

>> The only solutions I got is (x,y)=(1/2,3). Could

>> anyone help find others?

Nikos Apostolakis noted two more solutions, namely (1,0) and

(56/103,-418488). There are two other trivial solutions namely (0,0) and

(-1,0). I claim that these 5 are the only solutions:

As already noted by Nikos Apostolakis, the equation can be rewritten as

y = (x^3-x)/(x^3+x^2+x-1)

(note that 1 and -1 are not roots of x^3+x^2+x-1, so this polynomial does

not have any rational roots). Following Nikos, we write x=m/n for coprime

integers m and n and get

y = m*(m^2-n^2)/(m^3+m^2 n+m n^2-n^3)

Since y is an integer we must have

\pm m^3+m^2 n+m n^2-n^3 = GCD(m^3+m^2 n+m n^2-n^3, m*(m^2-n^2)),

where \pm denotes plus/minus. However m^3+m^2 n+m n^2-n^3 and m are

coprime since GCD(m,n)=1, so

GCD(m^3+m^2 n+m n^2-n^3, m*(m^2-n^2)) = GCD(m^3+m^2 n+m n^2-n^3, m^2-n^2)

Since (m^3+m^2 n+m n^2-n^3) - (n-m)*(m^2-n^2) = 2 m^3 we get

GCD(m^3+m^2 n+m n^2-n^3, m^2-n^2) = GCD(2 m^3, m^2-n^2)

Now m^3 and m^2-n^2 are coprime so

GCD(2 m^3, m^2-n^2) = GCD(2, m^2-n^2) = 1 or 2.

Combining the equations we finally get

(*) m^3+m^2 n+m n^2-n^3 = d

where d= \pm 1 or \pm 2. This is a socalled Thue equation. These have a

finite number of integer solutions which can be computed efficiently using

Bakers theory of linear forms in logarithms. For details, see the recent

book "Number Theory. Volume II: Analytic and Modern Tools" by Henri Cohen

(GTM 240), section 12.10 and the references there. The procedure has been

implemented in Magma, one finds that the solutions to (*) are

d=1: (m,n) = (-1,-2), (0,-1), (1,0) or (56,103)

d=2: (m,n) = (1,-1) or (1,1)

The solutions for d=-1 and d=-2 are (-m,-n) so we do not get any new

values of x in these cases. Hence

x = 1/2, 0, 56/103, -1 or 1.

Plugging these into the equation y=(x^3-x)/(x^3+x^2+x-1) now gives the 5

solutions above.

best wishes,

Kasper

From hnguyen at math.ufl.edu Thu Feb 28 20:57:49 2008

From: hnguyen at math.ufl.edu (Hung Ngoc Nguyen)

Date: Thu Feb 28 20:58:15 2008

Subject: [GAP Forum] Character Table of some groups.

In-Reply-To: <20080227234811.GA31235@beteigeuze>

Message-ID: <Pine.SOL.4.44.0802281548510.22075-100000@blackbird.math.ufl.edu>

Dear Joe, Frank and all,

Thank you very much for your replies. The website Frank gave to me is more

than what I need.

I have one more question for Frank: In the lists of character degrees

and their multiplicities, did you put the character degrees (as

polinomials of q) in increasing order of the degrees of these polinomials.

I believe so but I just want to make sure.

Sincerely,

Hung Nguyen.

On Thu, 28 Feb 2008, Frank [iso-8859-1] L��beck wrote:

> On Wed, Feb 27, 2008 at 04:59:30PM -0500, Hung Ngoc Nguyen wrote:

> > Dear GAP forum,

> >

> > I want to know the character tables (or atleast character degrees) of the

> > universal covers of some (simple) orthogonal groups like: O8+(3), O8-(3),

> > O9(3). It worked when I did with those

> > orthogonal groups but unfortunately it failed for

> > their universal covers. I just wonder whether the character tables of

> > these universal covers are available on GAP ot not? By the way I am using

> > version 4.4.9.

> > Thank you very much for your help.

> >

> > Hung Ngoc Nguyen

> > Mathematics Department

> > University of Florida

>

> Dear Hung Ngoc Nguyen, dear Forum,

>

> I think the complete character tables of the universal covers of the

> mentioned simple groups are not known (and so not in the GAP character table

> library).

>

> But you can find the lists of character degrees (and multiplicities) for these

> groups, and even covers of O8+(q), O8-(q), O9(q) for all prime powers q,

> on the web page:

>

> http://www.math.rwth-aachen.de/~Frank.Luebeck/chev/DegMult/

>

> See under "D_4(q)_sc", "^2D_4(q)_sc", "B_4(q)_sc", respectively.

>

> With best regards,

>

> Frank

>

> --

> /// Dr. Frank L��beck, Lehrstuhl D f��r Mathematik, Templergraben 64, ///

> \\\ 52062 Aachen, Germany \\\

> /// E-mail: Frank.Luebeck@Math.RWTH-Aachen.De ///

> \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\

>

From frank.luebeck at math.rwth-aachen.de Fri Feb 29 08:45:44 2008

From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=)

Date: Fri Feb 29 08:46:12 2008

Subject: [GAP Forum] Character Table of some groups.

In-Reply-To: <Pine.SOL.4.44.0802281548510.22075-100000@blackbird.math.ufl.edu>

References: <20080227234811.GA31235@beteigeuze>

<Pine.SOL.4.44.0802281548510.22075-100000@blackbird.math.ufl.edu>

Message-ID: <20080229084544.GA18180@beteigeuze>

On Thu, Feb 28, 2008 at 03:57:49PM -0500, Hung Ngoc Nguyen wrote:

> Dear Joe, Frank and all,

>

> Thank you very much for your replies. The website Frank gave to me is more

> than what I need.

>

> I have one more question for Frank: In the lists of character degrees

> and their multiplicities, did you put the character degrees (as

> polinomials of q) in increasing order of the degrees of these polinomials.

> I believe so but I just want to make sure.

Dear Hung Nguyen,

The ordering is described on the mentioned webpage:

----

Further remarks

The degrees are ordered by increasing size for sufficiently large q. But

note that for small special values of q the ordering can be slightly

different. Also for some small q some of the degrees may not occur (when the

polynomial describing the multiplicity specializes to zero).

----

In particular, the answer to your question is yes (higher polynomial degree

will give larger numbers when evaluated at sufficiently large q).

Best regards,

Frank

--

/// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, ///

\\\ 52062 Aachen, Germany \\\

/// E-mail: Frank.Luebeck@Math.RWTH-Aachen.De ///

\\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\

From kksa at math.ku.dk Fri Feb 29 10:51:12 2008

From: kksa at math.ku.dk (Kasper Andersen)

Date: Fri Feb 29 10:51:34 2008

Subject: [GAP Forum] Memory problem

Message-ID: <Pine.LNX.4.64.0802291010410.7980@pc000ffea6285d.math.ku.dk>

Hi!

As part of a joint project with Bob Oliver and Joana Ventura, I'm using

GAP to do a number of computations. I'm running a loop over several

2-groups for which I want to perform a certain test. For the first group

(SmallGroup(128,313)) the program returns false fairly quickly. Then after

a longer wait, it runs out of memory for the next group

(SmallGroup(128,314)), see the log file attached below. When I try to do

the computation in the reverse order (SmallGroup(128,314) first and then

SmallGroup(128,313)) the same thing happens: The first answer appears

quickly and then after a waiting for some time, GAP runs out of memory

during the computation for the next group.

So here are my questions:

1) How do I increase the permitted memory (the log file suggest the -o

flag, but there also seems to be others -m, -K, -c and -a). Which one(s)

should I use? Should I recompile GAP with some parameters changed?

2) As stated, starting with either of the two groups first produces an

answer quickly. So neither of the two computations in themselves crash

GAP. So in both cases, the computation for group number 2 should also be

doable if a proper garbage collection is done or if there is sufficient

memory, right? Is there a way to force GAP to do a garbage collection?

Naively one should think that doubling the permitted memory should work. I

also tried running the program with the flag -m 1g, but unfortunately the

result is the same: The first answer appears fairly quickly and then after

a long wait GAP crashes. Is there anything else I could do?

best wishes and thanks in advance,

Kasper Andersen

PS If it helps I can send the GAP program used for the computation.

gap> Read("cor33-gap");

86

313 1 false

exceeded the permitted memory (`-o' command line option) at

img := One( Range( hom ) );

called from

ImagesRepresentative( map, gen ) called from

func( elm ) called from

List( GeneratorsOfMagmaWithInverses( elms ), function ( gen )

return ImagesRepresentative( map, gen );

end ) called from

ImagesSet( map, elm ) called from

Image( f, Kold ) called from

...

Entering break read-eval-print loop ...

you can 'quit;' to quit to outer loop, or

you can 'return;' to continue

From iano at compsoc.nuigalway.ie Fri Feb 29 11:56:22 2008

From: iano at compsoc.nuigalway.ie (Ian McLoughlin)

Date: Fri Feb 29 11:56:39 2008

Subject: [GAP Forum] Small Group 8 of Order 24

Message-ID: <9d5eef600802290356n7f86d198oe277d8e97c73aba5@mail.gmail.com>

Hi,

would anyone know what small group 8 of order 24 is usually labelled?

I think it is the following group...

< a , b , c | a^3 , b^4 , c^2 , bcb=c , aba=b , ac=ca >.

Thanks,

Ian

--

Ian McLoughlin

emailme@ianmcloughlin.com

From savchuk at math.tamu.edu Fri Feb 29 17:18:08 2008

From: savchuk at math.tamu.edu (Dmytro Savchuk)

Date: Fri Feb 29 17:19:02 2008

Subject: [GAP Forum] Small Group 8 of Order 24

In-Reply-To: <9d5eef600802290356n7f86d198oe277d8e97c73aba5@mail.gmail.com>

References: <9d5eef600802290356n7f86d198oe277d8e97c73aba5@mail.gmail.com>

Message-ID: <59643473686.20080229111808@math.tamu.edu>

Dear Ian,

It looks that you are correct

gap> F:=FreeGroup(["a","b","c"]);

<free group on the generators [ a, b, c ]>

gap> a:=F.1;; b:=F.2;; c:=F.3;;

gap> FF:=F/[a^3,b^4,c^2,b*c*b*c,a*b*a*b^-1,a*c*a^-1*c];

<fp group on the generators [ a, b, c ]>

gap> IdSmallGroup(FF);

[ 24, 8 ]

Best Regards,

Dmytro

Friday, February 29, 2008, 5:56:22 AM, you wrote:

IM> Hi,

IM> would anyone know what small group 8 of order 24 is usually labelled?

IM> I think it is the following group...

IM> < a , b , c | a^3 , b^4 , c^2 , bcb=c , aba=b , ac=ca >.

IM> Thanks,

IM> Ian

--

Best regards,

Dmytro mailto:savchuk@math.tamu.edu

From dongjc at njau.edu.cn Mon Mar 3 08:38:34 2008

From: dongjc at njau.edu.cn (=?gb2312?B?tq2+rrPJ?=)

Date: Mon Mar 3 08:53:28 2008

Subject: [GAP Forum] Can GAP handle with infinite field with positive

characteristic?

Message-ID: <QHLQMPEUQFVCOVJMQSNRNMDNHNQS.dongjc@njau.edu.cn>

Dear forum,Dear everyone:

I want to know how to build infinite field with positive characteristic in GAP,such as algebraically closed field with characteristic 3. Thank you!

Jing-cheng Dong

From vdabbagh at sfu.ca Thu Mar 13 06:18:12 2008

From: vdabbagh at sfu.ca (Vahid Dabbaghian)

Date: Thu Mar 13 06:20:29 2008

Subject: [GAP Forum] similar matrices

Message-ID: <200803130618.m2D6IChH016446@rm-rstar.sfu.ca>

Dear GAP forum,

Suppose A and B are similar and invertible matrices on C. Does anybody know

a function or a program in GAP to compute an invertible matrix P such that

P^{-1}AP=B ?

Thanks in advance

Vahid

__________________________

The IRMACS Centre (ASB 10905)

Simon Fraser University

8888 University Drive

Burnaby, BC V5A 1S6

Canada

E-mail: vdabbagh@sfu.ca

http://www.sfu.ca/~vdabbagh

From burkhard at hoefling.name Thu Mar 13 11:26:56 2008

From: burkhard at hoefling.name (=?ISO-8859-1?Q?Burkhard_H=F6fling?=)

Date: Thu Mar 13 11:27:29 2008

Subject: [GAP Forum] similar matrices

In-Reply-To: <200803130618.m2D6IChH016446@rm-rstar.sfu.ca>

References: <200803130618.m2D6IChH016446@rm-rstar.sfu.ca>

Message-ID: <B8E17BBE-118C-415B-B176-64E3C5406BBE@hoefling.name>

On 13.03.2008, at 07:18, Vahid Dabbaghian wrote:

>

> Dear GAP forum,

>

> Suppose A and B are similar and invertible matrices on C. Does

> anybody know

> a function or a program in GAP to compute an invertible matrix P

> such that

> P^{-1}AP=B ?

A straightforward way is to write AP = PB and to solve the system of

linear equations in the entries of P. For reasonalby samll matrices,

this works well.

If your matrices are over the complex numbers, then you can also

conjugate both into Jordan normal form and find a suitable

permutation matrix to conjugate one Jordan normal form into the other.

A similar approach might work for matrices over finite fields. In my

package IRREDSOL, I have used such an approach for computing

conjugating matrices of irreducible matrix groups.

Cheers,

Burkhard.

From graham.ellis at nuigalway.ie Thu Mar 13 17:21:11 2008

From: graham.ellis at nuigalway.ie (Ellis, Grahamj)

Date: Thu Mar 13 17:22:42 2008

Subject: [GAP Forum] applied computational algebra course

References: <Pine.LNX.4.64.0803131142170.19796@croever.nuigalway.ie>

<7BC4FCB2B695D64CBF525CEC6437532701BA3511@EVS1.ac.nuigalway.ie>

<Pine.LNX.4.64.0803131414350.19796@croever.nuigalway.ie>

<7BC4FCB2B695D64CBF525CEC6437532701BA3514@EVS1.ac.nuigalway.ie>

Message-ID: <7BC4FCB2B695D64CBF525CEC6437532701BA3516@EVS1.ac.nuigalway.ie>

The Maths Department at NUI Galway are offering a new one-year

master's programme in "Applied Computational Algebra", starting

September 2008. If you happen to know of any students who might be

interested, it would be much appreciated if you could direct them

to the web link

http://hamilton.nuigalway.ie/DeBrunCentre/masters.pdf

which gives details of the programme.

Thanks,

Graham

From mim_ at op.pl Fri Mar 14 09:02:04 2008

From: mim_ at op.pl (mim_@op.pl)

Date: Fri Mar 14 09:07:35 2008

Subject: [GAP Forum] Another memory problem

Message-ID: <Q86638938-3d3c6593e0f1adcfc4efbb1d028a6c11@pmq2.test.onet.pl>

Hi,

I am using Deriviations function to calculate Lie Algebra of derivations of some algebra created from octonions. I have noticed that Derivations works up to 36-dimension algebra. If the original algebra is bigger dimension there is memory problem and GAP quits.

I have looked into the Derivations function in lib/alglie.gi file. The matrix

A:= NullMat( n^2, n^3, R ); is created and this is the reason of the memory problem.

I start GAP with option -m 300m. If I try bigger value I see following error:

D:\gap4r4\bin>D:\GAP4R4\bin\gapw95.exe -m 400m -o 3000m -g -l D:\GAP4R4\

gap: cannot extend the workspace any more

gap: Press <Enter> to end program

So it looks I can only use 300MB of memory for GAP. But I have 1.5GB memory in my laptop. I can also define paging file which should be used as memory. I am using Windows XP Professional, processor Intel 1.7Ghz, IBM laptop R52.

Example of error in Derivations:

A:=MatrixAlgebra(Rationals, 6); ba:=Basis(A); DA:=Derivations(ba);

Error is shown:

gap: cannot extend the workspace any more

gap: Press <Enter> to end program

I have following questions

1. Why I can only start GAP with -m 300m option ?

2. How to test how much memory given matrix A is using in GAP ?

3. Has anybody tried to overwrite Derivations function to use smaller matrices ? E.g. we could declare smaller matrices NullMat( n^2, n^2, R ) in loop and solve partially equation via NullspaceMatDestructive(). Finally build intersection space for the result.

Regards,

Marek Mitros

From mim_ at op.pl Mon Mar 17 11:32:17 2008

From: mim_ at op.pl (mim_@op.pl)

Date: Mon Mar 17 11:32:37 2008

Subject: [GAP Forum] Re: Another memory problem

In-Reply-To: Q86638938-3d3c6593e0f1adcfc4efbb1d028a6c11@pmq2.test.onet.pl

Message-ID: <Q87635449-e782993136954f16cf1d0dc539048e51@pmq1.test.onet.pl>

Thank you for the answers I have received ! It helped. I can use GAP with more memory now.

I believe there is a way to create function for Derivations, which consumes less memory. In the matrix A:= NullMat( n^2, n^3, R ); most of the entries are zeros.

I have tested it for algebra M6:=MatrixAlgebra(Rationals, 6);

There are 22476 non zero entries among 36^5=60466176.

I will try to create such function when I have more time.

Regards,

Marek Mitros

mim_@op.pl napisa?(a):

(...)

>

> Example of error in Derivations:

> A:=MatrixAlgebra(Rationals, 6); ba:=Basis(A); DA:=Derivations(ba);

> Error is shown:

> gap: cannot extend the workspace any more

> gap: Press <Enter> to end program

>

> I have following questions

> 1. Why I can only start GAP with -m 300m option ?

> 2. How to test how much memory given matrix A is using in GAP ?

> 3. Has anybody tried to overwrite Derivations function to use smaller matrices ? E.g. we could declare smaller matrices NullMat( n^2, n^2, R ) in loop and solve partially equation via NullspaceMatDestructive(). Finally build intersection space for the result.

>

> Regards,

> Marek Mitros

>

>

>

From matmackaizer at yahoo.ca Wed Mar 19 04:46:47 2008

From: matmackaizer at yahoo.ca (Minh Vaughn)

Date: Wed Mar 19 04:47:18 2008

Subject: [GAP Forum] Proof of Existence of Unique Monic Polynomial of

Minimal Degree

Message-ID: <226494.21163.qm@web45115.mail.sp1.yahoo.com>

I would be grateful for a proof of the following problem:

Suppose R is a unique factorization domain, and suppose S is an integral domain which is integral over R. Then for every element s in S there is a UNIQUE monic polynomial P in R[x] of MINIMAL degree, such that P(s) = 0.

Thanks.

-Tim

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

Looking for the perfect gift? Give the gift of Flickr!

From oova1980 at yahoo.de Tue Mar 25 09:49:49 2008

From: oova1980 at yahoo.de (Knut Kasimir)

Date: Tue Mar 25 09:50:19 2008

Subject: [GAP Forum] Complex numbers (again) and Lie closure

Message-ID: <781000.38164.qm@web25915.mail.ukl.yahoo.com>

Hi,

so I've read (hopefully) all forum threads concerning the absence of complex numbers in GAP. I know that there are alternatives, eg. cyclotomic fields and algebraic extensions of the Rationals. But since I am rather unexperienced in using GAP, I would like to know to what extent these "workarounds" can replace complex numbers, especially when I want to work with Lie algebras over a complex field.

What I want to do with GAP is the following: Given a set of complex square matrices, find out if they form a vectorspace under repeated commutation, i.e. a Lie algebra. In other words, do these given matrices generate a Lie algebra under repeated commutation?

Since these matrices can be large, I am looking for an efficient way to deal with this problem and I was hoping that GAP would be well suited. But then I discovered that there were no complex numbers in GAP, and "the workarounds" might prevent an efficient computation (or a computation at all)...

Comments welcome! :-)

Lesen Sie Ihre E-Mails jetzt einfach von unterwegs.

www.yahoo.de/go

From jbohanon2 at gmail.com Tue Mar 25 19:56:55 2008

From: jbohanon2 at gmail.com (Joe Bohanon)

Date: Tue Mar 25 19:57:29 2008

Subject: [GAP Forum] GAP @ Home?

Message-ID: <47E95907.8070405@gmail.com>

At the CGT conference last week the concept of "GAP @ Home" was thrown

out there sort of as a joke, but I'm wondering if that might actually be

possible.

I'm curious to know if anyone here has heard of BOINC. I forget what

the acronym stands for, but it's a meta-client through Berkeley for SETI

and other programs like it, including one that searches for big primes.

I know at least for the prime programs, you don't even need GUI to set

it up. It would be cool if people could make their processor available

for some of these enormous group theoretic calculations that would be

impossible on a single machine.

Joe

From mjcforsenate at yahoo.com Tue Mar 25 20:37:56 2008

From: mjcforsenate at yahoo.com (Michael McDonald)

Date: Tue Mar 25 20:38:21 2008

Subject: [GAP Forum] GAP @ Home?

In-Reply-To: <47E95907.8070405@gmail.com>

Message-ID: <647771.73192.qm@web39509.mail.mud.yahoo.com>

I've had dim, unformulated thoughts along these lines

and am happy that someone has brought them out in the

open. Might ParGAP be extensible along these lines?

>From my quick trials after installing GAP and

compiling

the packages, I think I'm recalling correctly that

you can specify a list of processors/computers via a

url-like format on which parGAP can launch a thread.

This might be managed by hand with small groups of

trusted participants.

To get an application of much complexity going,

compiling GAP code to native machine language would be

preferable than the normal GAP interpreter as codes

can execute for months or years. An interpreted

application is probably something like a factor of ten

slower.

I'm willing to contribute cycles and coding to such a

boinced-up GAP project, although I still need to learn

the GAP system a liitle more.

Mike

--- Joe Bohanon <jbohanon2@gmail.com> wrote:

> At the CGT conference last week the concept of "GAP

> @ Home" was thrown

> out there sort of as a joke, but I'm wondering if

> that might actually be

> possible.

> I'm curious to know if anyone here has heard of

> BOINC. I forget what

> the acronym stands for, but it's a meta-client

> through Berkeley for SETI

> and other programs like it, including one that

> searches for big primes.

>

> I know at least for the prime programs, you don't

> even need GUI to set

> it up. It would be cool if people could make their

> processor available

> for some of these enormous group theoretic

> calculations that would be

> impossible on a single machine.

>

> Joe

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From degraaf at science.unitn.it Wed Mar 26 08:47:45 2008

From: degraaf at science.unitn.it (degraaf@science.unitn.it)

Date: Wed Mar 26 09:17:20 2008

Subject: [GAP Forum] Re: Complex numbers (again) and Lie closure

Message-ID: <20080326094745.0uyi026u8g0swo8w@www.unitn.it>

Dear Knut,

You asked the following:

> What I want to do with GAP is the following: Given a set of complex

> square matrices, find out if they form a vectorspace under repeated

> commutation, i.e. a > Lie algebra. In other words, do these given

> matrices generate a Lie algebra under repeated commutation?

The problem here is that you need some exact representation of the complex

numbers that you use. (Just a floating point representation does not work.)

If the entries of your matrices are algebraic over Q, then you can represent

them as entries in a number field. Otherwise I don't see how your problem

could be solved.

Best wishes,

Willem de Graaf

From max at quendi.de Fri Mar 28 16:30:11 2008

From: max at quendi.de (Max Horn)

Date: Fri Mar 28 16:30:43 2008

Subject: [GAP Forum] Transitive subgrops of Sym(n) of order n

Message-ID: <37043.XVdYXF9DRFA=.1206721811.squirrel@webmailer.hosteurope.de>

Dear GAP forum,

is there an "efficient" way to compute (the conjugacy classes of) all

transitive subgroups of SymmetricGroup(n) or order n?

I.e. something more efficient than

Filtered(ConjugacyClassesSubgroups(SymmetricGroup(n)),

x -> n=Size(Representative(x)) and IsTransitive(Representative(x)))

which has to compute all conjugacy classes.

Thanks!

Max

From nmd at uiuc.edu Sat Mar 29 03:40:28 2008

From: nmd at uiuc.edu (Nathan Dunfield)

Date: Sat Mar 29 03:41:01 2008

Subject: [GAP Forum] Finding only one GQuotient

Message-ID: <6FE04480-9B05-45FF-86F7-AC6D4B5B85FD@uiuc.edu>

Dear GAP folks,

The manual indicates [1] that GQuotients should return only the first

quotient it finds if the "findall" option is set to false. However,

when I try

gap> GQuotients(FreeGroup(2), AlternatingGroup(5) : findall := false);

I get all 19 epimorphisms. What am I doing wrong?

Thanks,

Nathan

GAP info: 4.4.10 on OS X/Intel version 10.4.

[1] http://www.gap-system.org/Manuals/doc/htm/ref/CHAP038.htm#SSEC009.2

From thomas.breuer at math.rwth-aachen.de Mon Mar 31 08:46:04 2008

From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer)

Date: Mon Mar 31 08:46:31 2008

Subject: [GAP Forum] Transitive subgrops of Sym(n) of order n

In-Reply-To: <37043.XVdYXF9DRFA=.1206721811.squirrel@webmailer.hosteurope.de>

References: <37043.XVdYXF9DRFA=.1206721811.squirrel@webmailer.hosteurope.de>

Message-ID: <20080331074604.GA26239@gemma.math.rwth-aachen.de>

proposed answer to the GAP Forum

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

Dear GAP Forum,

Max Horn asked:

> is there an "efficient" way to compute (the conjugacy classes of) all

> transitive subgroups of SymmetricGroup(n) or order n?

>

> I.e. something more efficient than

>

> Filtered(ConjugacyClassesSubgroups(SymmetricGroup(n)),

> x -> n=Size(Representative(x)) and IsTransitive(Representative(x)))

>

> which has to compute all conjugacy classes.

Any group of order n has only one transitive permutation representation

on n points, up to equivalence: its regular permutation representation.

That is, the classes of transitive groups of degree and order n

are given by the classes of regular permutation representations of

the groups of order n.

So if one knows the groups of order n, up to isomorphism,

then one can write down the required subgroups of the symmetric group

of degree n.

(This condition is satisfied for not too large n,

via the GAP library of small groups;

see "Small Groups" in the GAP Reference Manual.)

Here is one possibility to do this explicitly in GAP.

List( AllSmallGroups( n ), G -> Action( G, Elements( G ), OnRight ) );

All the best,

Thomas

From jbohanon2 at gmail.com Mon Mar 31 16:56:28 2008

From: jbohanon2 at gmail.com (Joe Bohanon)

Date: Mon Mar 31 16:56:52 2008

Subject: [GAP Forum] Transitive subgrops of Sym(n) of order n

In-Reply-To: <20080331074604.GA26239@gemma.math.rwth-aachen.de>

References: <37043.XVdYXF9DRFA=.1206721811.squirrel@webmailer.hosteurope.de>

<20080331074604.GA26239@gemma.math.rwth-aachen.de>

Message-ID: <47F109AC.3020907@gmail.com>

I know this isn't exactly what was asked, but a few weeks ago at CGT,

Derek Holt spoke about finding certain kinds of subgroups of S_n up to

conjugacy. Up to 4095, the primitive ones are known. Up to 32 the

transitive ones are known. And up to 18 ALL of the (conjugacy classes

of) subgroups of S_n are known.

There's a paper about finding the transitive ones on his website (which

references a paper of Alexander Hulpke's on the same subject).

Joe

Thomas Breuer wrote:

> proposed answer to the GAP Forum

> ------------------------------------------------------------------------

> Dear GAP Forum,

>

> Max Horn asked:

>

>

>> is there an "efficient" way to compute (the conjugacy classes of) all

>> transitive subgroups of SymmetricGroup(n) or order n?

>>

>> I.e. something more efficient than

>>

>> Filtered(ConjugacyClassesSubgroups(SymmetricGroup(n)),

>> x -> n=Size(Representative(x)) and IsTransitive(Representative(x)))

>>

>> which has to compute all conjugacy classes.

>>

>

> Any group of order n has only one transitive permutation representation

> on n points, up to equivalence: its regular permutation representation.

> That is, the classes of transitive groups of degree and order n

> are given by the classes of regular permutation representations of

> the groups of order n.

> So if one knows the groups of order n, up to isomorphism,

> then one can write down the required subgroups of the symmetric group

> of degree n.

> (This condition is satisfied for not too large n,

> via the GAP library of small groups;

> see "Small Groups" in the GAP Reference Manual.)

>

> Here is one possibility to do this explicitly in GAP.

>

> List( AllSmallGroups( n ), G -> Action( G, Elements( G ), OnRight ) );

>

> All the best,

> Thomas

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

>

From hulpke at math.colostate.edu Mon Mar 31 18:12:31 2008

From: hulpke at math.colostate.edu (Alexander Hulpke)

Date: Mon Mar 31 18:13:23 2008

Subject: [GAP Forum] Finding only one GQuotient

In-Reply-To: <6FE04480-9B05-45FF-86F7-AC6D4B5B85FD@uiuc.edu>

References: <6FE04480-9B05-45FF-86F7-AC6D4B5B85FD@uiuc.edu>

Message-ID: <B9DE467A-E36A-41B0-B86F-E4649837837D@math.colostate.edu>

Dear Nathan,

> The manual indicates [1] that GQuotients should return only the

> first quotient it finds if the "findall" option is set to false.

> However, when I try

>

> gap> GQuotients(FreeGroup(2), AlternatingGroup(5) : findall := false);

>

> I get all 19 epimorphisms. What am I doing wrong?

You're doing nothing wrong, the ``findall'' option so far was

implemented only in the code that searches from finite groups (the

code searching from finitely presented groups is a bit different).

This will be fixed in the next release, I append code for the method

which you can read into GAP to get the ``findall''' option already now.

Apologies for the problem,

Alexander

-- Colorado State University, Department of Mathematics,

Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA

email: hulpke@math.colostate.edu, Phone: ++1-970-4914288

http://www.math.colostate.edu/~hulpke

### snip ###

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

##

#F GQuotients(<F>,<G>) . . . . . epimorphisms from F onto G up to

conjugacy

##

InstallMethod(GQuotients,"whole fp group to finite group",true,

[IsSubgroupFpGroup and IsWholeFamily,IsGroup and IsFinite],1,

function (F,G)

local Fgens, # generators of F

rels, # power relations

cl, # classes of G

imgo,imgos,sel,

e, # excluded orders (for which the presentation collapses

u, # trial generating set's group

pimgs, # possible images

val, # its value

i, # loop

h; # epis

Fgens:=GeneratorsOfGroup(F);

if Length(Fgens)=0 then

if Size(G)>1 then

return [];

else

return [GroupHomomorphismByImagesNC(F,G,[],[])];

fi;

fi;

if Size(G)=1 then

return [GroupHomomorphismByImagesNC(F,G,Fgens,

List(Fgens,i->One(G)))];

elif Length(Fgens)=1 then

Info(InfoMorph,1,"Cyclic group: only one quotient possible");

# a cyclic group has at most one quotient

# force size (in abelian invariants)

e:=AbelianInvariants(F);

if not IsCyclic(G) or (IsFinite(F) and not IsInt(Size(F)/

Size(G))) then

return [];

else

# get the cyclic gens

h:=First(AsList(G),i->Order(i)=Size(G));

# just map them

return [GroupHomomorphismByImagesNC(F,G,Fgens,[h])];

fi;

fi;

cl:=ConjugacyClasses(G);

# search relators in only one generator

rels:=ListWithIdenticalEntries(Length(Fgens),false);

for i in RelatorsOfFpGroup(F) do

if NrSyllables(i)=1 then

# found relator in only one generator

val:=Position(List(FreeGeneratorsOfFpGroup(F),j-

>GeneratorSyllable(j,1)),

GeneratorSyllable(i,1));

u:=AbsInt(ExponentSyllable(i,1));

if rels[val]=false then

rels[val]:=u;

else

rels[val]:=Gcd(rels[val],u);

fi;

fi;

od;

# exclude orders

e:=Set(List(cl,i->Order(Representative(i))));

e:=List(Fgens,i->ShallowCopy(e));

for i in [1..Length(Fgens)] do

if rels[i]<>false then

e[i]:=Filtered(e[i],j->rels[i]<>j and IsInt(rels[i]/j));

fi;

od;

e:=ExcludedOrders(F,e);

# find potential images

pimgs:=[];

for i in [1..Length(Fgens)] do

if rels[i]<>false then

Info(InfoMorph,2,"generator order must divide ",rels[i]);

u:=Filtered(cl,j->IsInt(rels[i]/Order(Representative(j))));

else

Info(InfoMorph,2,"no restriction on generator order");

u:=ShallowCopy(cl);

fi;

u:=Filtered(u,j->not Order(Representative(j)) in e[i]);

Add(pimgs,u);

od;

val:=Product(pimgs,i->Sum(i,Size));

Info(InfoMorph,2,List(pimgs,Length)," possibilities, Value: ",val);

if ValueOption("findall")=false then

h:=MorClassLoop(G,pimgs, rec(gens:=Fgens,to:=G,from:=F,

free:=FreeGeneratorsOfFpGroup(F),

rels:=List(RelatorsOfFpGroup(F),i->[i,1])),5);

if not IsList(h) then h:=[h];fi;

else

h:=MorClassLoop(G,pimgs, rec(gens:=Fgens,to:=G,from:=F,

free:=FreeGeneratorsOfFpGroup(F),

rels:=List(RelatorsOfFpGroup(F),i->[i,1])),13);

fi;

Info(InfoMorph,2,"Found ",Length(h)," maps, test kernels");

imgos:=[];

cl:=[];

u:=[];

for i in h do

imgo:=List(Fgens,j->Image(i,j));

imgo:=Concatenation(imgo,MorFroWords(imgo));

imgo:=List(imgo,Order);

sel:=Filtered([1..Length(imgos)],i->imgos[i]=imgo);

if not KernelOfMultiplicativeGeneralMapping(i) in u{sel} then

Add(u,KernelOfMultiplicativeGeneralMapping(i));

Add(imgos,imgo);

Add(cl,i);

fi;

od;

Info(InfoMorph,1,Length(h)," found -> ",Length(cl)," homs");

return cl;

end);

## snip ###

From oova1980 at yahoo.de Tue Apr 1 09:52:46 2008

From: oova1980 at yahoo.de (Knut Kasimir)

Date: Tue Apr 1 09:53:21 2008

Subject: [GAP Forum] Re: Complex numbers (again) and Lie closure

Message-ID: <641732.60461.qm@web25910.mail.ukl.yahoo.com>

Dear Willem,

thank you very much for your answer.

I think I should be able to work with matrices whose entries are algebraic over Q. As I see it (being not a mathematician and a GAP newbie), the problem then reduces to create a number field and do my desired operations on it.

Best wishes,

Knut

Von: "degraaf@science.unitn.it" <degraaf@science.unitn.it>

An: forum@gap-system.org

CC: oova1980@yahoo.de

Gesendet: Mittwoch, den 26. M?rz 2008, 09:47:45 Uhr

Betreff: Re: Complex numbers (again) and Lie closure

Dear Knut,

You asked the following:

> What I want to do with GAP is the following: Given a set of complex

> square matrices, find out if they form a vectorspace under repeated

> commutation, i.e. a Lie algebra. In other words, do these given

> matrices generate a Lie algebra under repeated commutation?

The problem here is that you need some exact representation of the complex

numbers that you use. (Just a floating point representation does not work.)

If the entries of your matrices are algebraic over Q, then you can represent

them as entries in a number field. Otherwise I don't see how your problem

could be solved.

Best wishes,

Willem de Graaf

Lesen Sie Ihre E-Mails auf dem Handy.

www.yahoo.de/go

From jbohanon2 at gmail.com Thu Apr 3 17:56:15 2008

From: jbohanon2 at gmail.com (Joe Bohanon)

Date: Thu Apr 3 17:56:34 2008

Subject: [GAP Forum] Computing Subgroups of L3(4):2

Message-ID: <a5c4cc260804030956i62fe0a13m93e3dbea52752d44@mail.gmail.com>

I'm having some trouble with ConjugacyClassesSubgroups on the maximal

subgroup L3(4):2_1 of HS. I'm trying to use the ideas in a paper by

Pfeiffer to find all classes of subgroups of HS, by examining the classes of

subgroups of its maximal subgroups and fusing them in HS. It might have

been done before, but I couldn't find it.

With L3(4):2_1, I've hit a roadblock. I'm using the degree 100 permutation

representation and the GAP inline program from the ATLAS to get the

generators of this subgroup. I'd use the ATLAS to find the maximal

subgroups of L3(4):2_1 and do the same sort of thing, but the online version

doesn't have that information.

GAP had no problem computing the classes of subgroups of the two U3(5):2

maximal classes, but when I set InfoLattice to 2, I can see that it stalls

immediately after it computes the zuppos. It comes upon a "Recursion Depth

Trap" error if I try it from scratch and when I set the recursion depth to

0, I ended up stopping it after an hour or so of nothing. What I find odd

is that it only takes 5 seconds to find the subgroup of L3(4).

If anyone can help me out with this, I'd be very grateful. I suppose I

probably don't really need all of the conjugacy classes, but frankly I'm

still curious to know why it stalls so bad on a group just twice as big as

one that goes fast.

My next step will be to go line through line in the source code to find the

exact spot that's causing this to take so long.

Thanks

Joe

From ivgelder at vub.ac.be Fri Apr 4 20:26:17 2008

From: ivgelder at vub.ac.be (Inneke Van Gelder)

Date: Fri Apr 4 20:26:38 2008

Subject: [GAP Forum] Define function with domain and codomain

Message-ID: <000001c89689$c13ee670$0301a8c0@acerfdba0cedfc>

Dear GAP-forum,

How can I define a function with explicit domain and codomain?

I need it do find the size of the kernel of the mapping

t: C_4^3 \times S_4 \rightarrow \{ \pm 1 \}: (h_1,h_2,h_3,h_4) \mapsto

sgn(h_1)sgn(h_2)sgn(h_3)sgn(h_4)

Best regards,

Inneke Van Gelder

From jack at ms.uky.edu Fri Apr 4 21:10:25 2008

From: jack at ms.uky.edu (Jack Schmidt)

Date: Fri Apr 4 21:10:35 2008

Subject: [GAP Forum] Define function with domain and codomain

In-Reply-To: <000001c89689$c13ee670$0301a8c0@acerfdba0cedfc>

References: <000001c89689$c13ee670$0301a8c0@acerfdba0cedfc>

Message-ID: <47F68B31.2070007@ms.uky.edu>

GroupHomomorphismByImages or GroupHomomorphismByFunction are probably

what you are looking for. The first argument is the domain, and the

second argument is the codomain.

Here is an example:

C4 := CyclicGroup(IsPermGroup,4);

S4 := SymmetricGroup(4);

dom := DirectProduct( C4, C4, C4, S4 );;

cod := GL(1,Integers);;

fun := h -> Product( [1..4], i -> SignPerm( Image( Projection( dom, i),

h ) ) );;

homf := GroupHomomorphismByFunction( dom, cod, h -> [[ fun(h) ]] );;

homi := GroupHomomorphismByImages( dom, cod, GeneratorsOfGroup(dom),

List( GeneratorsOfGroup(dom), h -> [[ fun(h) ]] ) );;

kerf := Kernel(homf);

keri := Kernel(homi);

gap> kerf=keri;

true

gap> StructureDescription(keri);

"C4 x C4 x (A4 : C4)"

gap> Elements(cod);

[ [ [ -1 ] ], [ [ 1 ] ] ]

Note that kerf has many more generators than keri, so it is less

efficient to work with kerf than with keri. However, as you can see,

the groups are equal.

You cannot literally use [1,-1] as a group, since exponentiation is

defined differently for group elements than for rational numbers, but

you can use 1x1 matrices instead, which are equivalent in an easy to see

way.

Inneke Van Gelder wrote:

> Dear GAP-forum,

>

>

>

>

>

> How can I define a function with explicit domain and codomain?

>

> I need it do find the size of the kernel of the mapping

>

> t: C_4^3 \times S_4 \rightarrow \{ \pm 1 \}: (h_1,h_2,h_3,h_4) \mapsto

> sgn(h_1)sgn(h_2)sgn(h_3)sgn(h_4)

>

>

>

>

>

>

>

> Best regards,

>

> Inneke Van Gelder

>

>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

From dennis at rkd.math.cornell.edu Tue Apr 8 14:42:30 2008

From: dennis at rkd.math.cornell.edu (R. Keith Dennis)

Date: Tue Apr 8 13:43:44 2008

Subject: [GAP Forum] StructureDescription & memory

Message-ID: <200804081342.m38DgTaI001750@rkd.math.cornell.edu>

Over the past year I've been doing a large number of computations

with GAP and as I require much of the same data to be computed

over & over again, I've been storing it. One of the items I've

been storing is the StructureDescription of a large number of

groups. I realize that for groups, especially p-groups, the

information obtained isn't always that useful, but sometimes it is.

For more complicted groups (lots of factors in the order) this

seems to be very expensive to compute, and very slow (hence the

reason to store it).

I've run into a problem, which may be intrinsic to the problem, may

be a problem with gap, or might be a problem with our computer or

operating system. Perhaps someone can tell me which.

Ok, a perhaps stupid computation, but let's ignore that part:

I've computed the structure descriptions of all the groups of order

256 (56092 total) except for the ones numbered 56083 through 56087. I

believe all of these are of rank 7. I've now either run out of memory

and had GAP quit, or I've brought the machine down 3 times when trying

to compute the result for 56083 or 56087. With memory set at a max of

50G the computation runs out of memory and quits. I've tried 100G and

80G with the same result - a crash. The machine does have 128G of ram

and several times that in swap space (as well as 16 CPUs).

Any ideas what the problem may be?

One further question and a remark:

Are there any other implementations of a computation of structure

description that gives more useful information that that in gap?

I still believe that it makes sense to have a community accessible

archive of many such "standard" computations as structure

descricption, although when I raised that question at the recent

computational group theory conference in Ohio, there was not a great

deal of enthusiasm for the idea. With the current cheap price of

storage (especially compared to that of memory and the time expended

for comutation), it would seem to make sense, to me at least.

Keith

From sal at cs.st-and.ac.uk Tue Apr 8 15:38:22 2008

From: sal at cs.st-and.ac.uk (Steve Linton)

Date: Tue Apr 8 15:39:55 2008

Subject: [GAP Forum] StructureDescription & memory

In-Reply-To: <200804081342.m38DgTaI001750@rkd.math.cornell.edu>

References: <200804081342.m38DgTaI001750@rkd.math.cornell.edu>

Message-ID: <20080408153822.48b7c9e9@cs.st-and.ac.uk>

A partial answer:

As you observe, these groups are all of rank 7. I think they can be understood

as D8 x C_2^5, Q8 x C_2^5, and 2^{1+4}_+ x C_2^3 and 2^{1+4}_- x C_2^3,

although I haven't checked this fully.

The first step in computing the structure description is to list the normal

subgroups of the group, and the essential problem is that these groups have

very many normal subgroups.

I don't know exactly what computing the structure description involves in

general, so I'm not sure if it the normal subgroup computation can be avoided

in general, but most interesting questions about the groups (upper and lower

central series, for instance) can be answered very quickly using standard GAP

functionality.

Steve

On Tue, 8 Apr 2008 09:42:30 -0400

"R. Keith Dennis" <dennis@rkd.math.cornell.edu> wrote:

>

> Over the past year I've been doing a large number of computations

> with GAP and as I require much of the same data to be computed

> over & over again, I've been storing it. One of the items I've

> been storing is the StructureDescription of a large number of

> groups. I realize that for groups, especially p-groups, the

> information obtained isn't always that useful, but sometimes it is.

> For more complicted groups (lots of factors in the order) this

> seems to be very expensive to compute, and very slow (hence the

> reason to store it).

>

> I've run into a problem, which may be intrinsic to the problem, may

> be a problem with gap, or might be a problem with our computer or

> operating system. Perhaps someone can tell me which.

>

> Ok, a perhaps stupid computation, but let's ignore that part:

> I've computed the structure descriptions of all the groups of order

> 256 (56092 total) except for the ones numbered 56083 through 56087. I

> believe all of these are of rank 7. I've now either run out of memory

> and had GAP quit, or I've brought the machine down 3 times when trying

> to compute the result for 56083 or 56087. With memory set at a max of

> 50G the computation runs out of memory and quits. I've tried 100G and

> 80G with the same result - a crash. The machine does have 128G of ram

> and several times that in swap space (as well as 16 CPUs).

>

> Any ideas what the problem may be?

>

>

> One further question and a remark:

>

> Are there any other implementations of a computation of structure

> description that gives more useful information that that in gap?

>

>

> I still believe that it makes sense to have a community accessible

> archive of many such "standard" computations as structure

> descricption, although when I raised that question at the recent

> computational group theory conference in Ohio, there was not a great

> deal of enthusiasm for the idea. With the current cheap price of

> storage (especially compared to that of memory and the time expended

> for comutation), it would seem to make sense, to me at least.

>

>

> Keith

>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

--

Steve Linton School of Computer Science &

Centre for Interdisciplinary Research in Computational Algebra

University of St Andrews Tel +44 (1334) 463269

http://www.cs.st-and.ac.uk/~sal Fax +44 (1334) 463278

The University is a charity registered in Scotland : No SC013532

From jack at ms.uky.edu Tue Apr 8 16:18:36 2008

From: jack at ms.uky.edu (Jack Schmidt)

Date: Tue Apr 8 16:18:45 2008

Subject: [GAP Forum] StructureDescription & memory

In-Reply-To: <20080408153822.48b7c9e9@cs.st-and.ac.uk>

References: <200804081342.m38DgTaI001750@rkd.math.cornell.edu>

<20080408153822.48b7c9e9@cs.st-and.ac.uk>

Message-ID: <47FB8CCC.7050204@ms.uky.edu>

Steve Linton wrote:

> A partial answer:

>

> As you observe, these groups are all of rank 7. I think they can be understood

> as D8 x C_2^5, Q8 x C_2^5, and 2^{1+4}_+ x C_2^3 and 2^{1+4}_- x C_2^3,

> although I haven't checked this fully.

Just to indicate a method as well as a solution: to guess, one can use

the simplified presentation printing from the "polycyclic" package:

gap> LoadPackage("polycyclic");;

gap> DisplayPcpGroup(Range(IsomorphismPcpGroup(SmallGroup(2^8,56083))));

...

which prints out the familiar presentation for D8 on g1,g2,g8 and then a

presentation for an elementary abelian group of order 2^5 on g3 through

g7 (commutative conjugation relations are suppressed).

To verify the guess one uses a much more efficient method: construct the

direct products and use IdGroup.

IdGroup(DirectProduct(ExtraspecialGroup(2^5,"-"),ElementaryAbelianGroup(2^3)));

When I created a browsing database of the groups of order n, for n <=

2000 and NrSmallGroups(n) < 10^5, I used this method to name direct

products. It is similar to Eratosthenes sieve versus trial factoring.

The idea here is that if you are looking for direct products, then

factoring large groups is the wrong method. Rather one should form

products of small ones.

I should also mention that while the creation of the database was

enormously helpful to me, I rarely found any use of it other than a

casual reminder of "what do the groups of that order look like?"

>> Are there any other implementations of a computation of structure

>> description that gives more useful information that that in gap?

I have yet to find a convincing description for p-groups. A sparse,

algebraic presentation such as in the small groups library is about the

most useful I have found.

From jbohanon2 at gmail.com Tue Apr 8 16:44:35 2008

From: jbohanon2 at gmail.com (Joe Bohanon)

Date: Tue Apr 8 16:46:17 2008

Subject: [GAP Forum] StructureDescription & memory

In-Reply-To: <47FB8CCC.7050204@ms.uky.edu>

References: <200804081342.m38DgTaI001750@rkd.math.cornell.edu> <20080408153822.48b7c9e9@cs.st-and.ac.uk>

<47FB8CCC.7050204@ms.uky.edu>

Message-ID: <47FB92E3.3000007@gmail.com>

If you do SetInfoLevel(InfoLattice,,2) you can see exactly what's being

computed. Plus when I throw GAP a hard computation, I like to have some

output to give me a sense of how close it is to finishing. Along those

same lines, it would be nice if there could be a separate dialog box for

those computations so they don't end up pushing all of my input lines

off the screen, kind of like how when you install something in Ubuntu

you can open a "details" tab. I've mentioned this to Russ Woodroofe to

try to put something like it in CocoaGap.

This might be a good time to plug some computations I've done on my

homepage that give some nice presentations for the groups of order 32

and 64. I know that the Pc presentations are very fast when it comes to

algorithms, but it's hard to immediately look at the Pc presentation for

D64 with six generators and immediately see what the group is. I also

wrote a few of them as a central product.

http://www.math.wustl.edu/~bohanon/math/math.html

I can imagine it would be difficult to teach a computer what kind of

"Structure Descriptions" are the prettiest to humans. Certainly direct

products are the nicest, and then I think come central products,

semi-direct products and split extensions. Perhaps some of the methods

that James Wilson presented at CGT could eventually be used for central

products. The only problem is that for many groups there are tons of

ways to represent them as any of the last three.

Joe

Jack Schmidt wrote:

> Steve Linton wrote:

>> A partial answer:

>>

>> As you observe, these groups are all of rank 7. I think they can be

>> understood

>> as D8 x C_2^5, Q8 x C_2^5, and 2^{1+4}_+ x C_2^3 and 2^{1+4}_- x C_2^3,

>> although I haven't checked this fully.

>

> Just to indicate a method as well as a solution: to guess, one can use

> the simplified presentation printing from the "polycyclic" package:

>

> gap> LoadPackage("polycyclic");;

> gap> DisplayPcpGroup(Range(IsomorphismPcpGroup(SmallGroup(2^8,56083))));

> ...

>

> which prints out the familiar presentation for D8 on g1,g2,g8 and then

> a presentation for an elementary abelian group of order 2^5 on g3

> through g7 (commutative conjugation relations are suppressed).

>

> To verify the guess one uses a much more efficient method: construct

> the direct products and use IdGroup.

>

> IdGroup(DirectProduct(ExtraspecialGroup(2^5,"-"),ElementaryAbelianGroup(2^3)));

>

>

>

> When I created a browsing database of the groups of order n, for n <=

> 2000 and NrSmallGroups(n) < 10^5, I used this method to name direct

> products. It is similar to Eratosthenes sieve versus trial factoring.

> The idea here is that if you are looking for direct products, then

> factoring large groups is the wrong method. Rather one should form

> products of small ones.

>

> I should also mention that while the creation of the database was

> enormously helpful to me, I rarely found any use of it other than a

> casual reminder of "what do the groups of that order look like?"

>

>>> Are there any other implementations of a computation of structure

>>> description that gives more useful information that that in gap?

>

> I have yet to find a convincing description for p-groups. A sparse,

> algebraic presentation such as in the small groups library is about

> the most useful I have found.

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From vdabbagh at sfu.ca Thu Apr 10 07:38:08 2008

From: vdabbagh at sfu.ca (Vahid Dabbaghian)

Date: Thu Apr 10 07:38:34 2008

Subject: [GAP Forum] groups homomorphism

Message-ID: <200804100638.m3A6c8tC000550@rm-rstar.sfu.ca>

Dear GAP Forum,

Suppose G and H are groups and there are homomorphisms from G to H. If U is

a set of generators of G, how can I find a set of generators V of H to use

the function GroupHomomorphismByImages( G, H, U, V )? Clearly if I know the

set V then I can use GroupHomomorphismByImagesNC.

Is there any other function or method for creating a homomorphism from G to

H? I am very thankful for any help.

Regards

Vahid Dabbaghian

_____________________________

The IRMACS Centre (ASB 10905)

Simon Fraser University

8888 University Drive

Burnaby, BC V5A 1S6

Canada

E-mail: vdabbagh@sfu.ca

http://www.sfu.ca/~vdabbagh

From dan_lanke at yahoo.com Wed Apr 16 19:42:56 2008

From: dan_lanke at yahoo.com (Dan Lanke)

Date: Wed Apr 16 19:43:31 2008

Subject: [GAP Forum] G-invariant linear character

Message-ID: <604575.40689.qm@web45102.mail.sp1.yahoo.com>

Dear GAP Forum,

Let H be a normal subgroup of a finite group G.

Let \rho be a G-invariant linear character of H.

Is it true that there exists a linear character

of G whose restriction to H is equal to \rho?

If the answer is no, how can I use GAP to find

some examples?

Many thanks,

Dan

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

Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.

From josef.lauri at um.edu.mt Thu Apr 17 13:22:06 2008

From: josef.lauri at um.edu.mt (Josef Lauri)

Date: Thu Apr 17 13:23:44 2008

Subject: [GAP Forum] XGAP and cygwin

Message-ID: <000d01c8a085$a702eb20$f508c160$@lauri@um.edu.mt>

Hello,

I have installed gap under cygwin (running windows vista). Installation and

compilation ran well and functions which could not run under my previous

windows installation of gap are now running fine. But I am having problems

with xgap. When I call RequirePackage("xgap"); gap returns with the message

"fail".

I would appreciate any tips.

Thank you.

Josef Lauri

University of Malta

From anvita21 at gmail.com Fri Apr 18 10:24:28 2008

From: anvita21 at gmail.com (Anvita)

Date: Fri Apr 18 10:24:58 2008

Subject: [GAP Forum] Input stream inside a function

Message-ID: <6a52effd0804180224j5f345c34se691716156a3a847@mail.gmail.com>

Dear Forum,

Please, explain to me why the following function does not work:

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

F:=function(a)

local b;

Read(InputTextString("b:=a;"));

return b;

end;

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

I expected that, for example, F(1) would equal 1.

However, GAP returns an error:

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

gap> F(1);

Variable: 'a' must have a value

Variable: 'b' must have an assigned value at

return b;

called from

<function>( <arguments> ) called from read-eval-loop

Entering break read-eval-print loop ...

you can 'quit;' to quit to outer loop, or

you can 'return;' after assigning a value to continue

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

The code does work in the main read-eval-print loop, though:

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

gap> a:=1;

1

gap> Read(InputTextString("b:=a;"));

gap> b;

1

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

Thank you,

Anvita

From laurent.bartholdi at gmail.com Fri Apr 18 11:45:15 2008

From: laurent.bartholdi at gmail.com (Laurent Bartholdi)

Date: Fri Apr 18 11:45:51 2008

Subject: [GAP Forum] Input stream inside a function

In-Reply-To: <6a52effd0804180224j5f345c34se691716156a3a847@mail.gmail.com>

References: <6a52effd0804180224j5f345c34se691716156a3a847@mail.gmail.com>

Message-ID: <1ff637850804180345j451a302fu7fff4b49a4169d0a@mail.gmail.com>

Dear Anvita,

This is because a is a local variable, and Read() only has access to global

variables.

If you need such a construct, try

F := function(a)

__A_GLOBAL_NAME_THAT_IS_NOT_USED := a;

Read(InputTextString("b:=__A_GLOBAL_NAME_THAT_IS_NOT_USED;"));

return b;

end;

note however that b will also be a global variable.

Best, Laurent

--

Laurent Bartholdi \ laurent.bartholdi<at>gmail<dot>com

EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458

Station 8 \ Secr?taire: +41 21-6935471

CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339

Home address: http://f34.com/68

From neunhoef at mcs.st-and.ac.uk Fri Apr 18 12:03:58 2008

From: neunhoef at mcs.st-and.ac.uk (Max Neunhoeffer)

Date: Fri Apr 18 12:04:16 2008

Subject: [GAP Forum] Input stream inside a function

In-Reply-To: <6a52effd0804180224j5f345c34se691716156a3a847@mail.gmail.com>

References: <6a52effd0804180224j5f345c34se691716156a3a847@mail.gmail.com>

Message-ID: <20080418110358.GA13176@mcs.st-and.ac.uk>

Dear Anvita,

On Fri, Apr 18, 2008 at 04:24:28PM +0700, Anvita wrote:

> Dear Forum,

>

> Please, explain to me why the following function does not work:

>

> -------------------------------

> F:=function(a)

> local b;

> Read(InputTextString("b:=a;"));

> return b;

> end;

> -------------------------------

The Read statement in GAP always evaluates the things read in the

global context (and not in the context of the function where it is

called). This means, that your file will try to access the *global*

variable called "a" and assign things to the *global* variable

called "b".

This is documented in the manual section about "Read" in the little

sentence:

"The reading and evaluations happens exactly as described for the main

loop (see 6.1)."

Maybe we should make this clearer in the manual.

Best regards,

Max.

>

> I expected that, for example, F(1) would equal 1.

> However, GAP returns an error:

>

> ----------------------------------------------------

> gap> F(1);

> Variable: 'a' must have a value

>

> Variable: 'b' must have an assigned value at

> return b;

> called from

> <function>( <arguments> ) called from read-eval-loop

> Entering break read-eval-print loop ...

> you can 'quit;' to quit to outer loop, or

> you can 'return;' after assigning a value to continue

> -----------------------------------------------------

>

> The code does work in the main read-eval-print loop, though:

>

> ------------------------------------

> gap> a:=1;

> 1

> gap> Read(InputTextString("b:=a;"));

> gap> b;

> 1

> ------------------------------------

>

> Thank you,

> Anvita

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

--

Max Neunhoeffer http://www-groups.mcs.st-and.ac.uk/~neunhoef/

> > > > > > > > > > > May the Source be with you! < < < < < < < < < < < <

The University of St Andrews is a registered Scottish charity: No SC013532

From jaijinenedra at yahoo.co.in Mon Apr 21 13:29:54 2008

From: jaijinenedra at yahoo.co.in (Vivek Jain)

Date: Mon Apr 21 13:30:22 2008

Subject: [GAP Forum] Error in Function RightTransversal( , )

In-Reply-To: <200804180927.m3I9RSL8030570@gap-system.org>

Message-ID: <401844.22794.qm@web8711.mail.in.yahoo.com>

gap> g:=Group((1,2,3,4),(1,2)(3,4));

Group([ (1,2,3,4), (1,2)(3,4) ])

gap> u:=Subgroup(g,[(1,2)(3,4)]);

Group([ (1,2)(3,4) ])

gap> rt:=RightTransversal(g,u);

RightTransversal(Group([ (1,2,3,4), (1,2)(3,4) ]),Group([ (1,2)(3,4) ]))

gap> List(rt);

[ (), (2,4), (1,2,3,4), (1,3)(2,4) ]

In above program rt is not actualy a right transversal

for (1,2,3,4) and (2,4) are in same right coset.

Vivek Kumar Jain

Dept. of Mathematics

Univ. of Allahabad

Allahabad-211002

India

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

Check out the all-new face of Yahoo! India. Click here.

From marcus.bishop at gmail.com Mon Apr 21 14:03:53 2008

From: marcus.bishop at gmail.com (Marcus Bishop)

Date: Mon Apr 21 14:04:10 2008

Subject: [GAP Forum] Error in Function RightTransversal( , )

In-Reply-To: <401844.22794.qm@web8711.mail.in.yahoo.com>

References: <200804180927.m3I9RSL8030570@gap-system.org>

<401844.22794.qm@web8711.mail.in.yahoo.com>

Message-ID: <4e67a7d90804210603r604ba2b2xd96b51c164455866@mail.gmail.com>

Hi Vivik. GAP multiplies from left to right, so the other element in

the coset u(2,4) is

(1,2)(3,4)(2,4)=(1,4,3,2)

and not (1,2,3,4).

-marKus

On 4/21/08, Vivek Jain <jaijinenedra@yahoo.co.in> wrote:

>

>

> gap> g:=Group((1,2,3,4),(1,2)(3,4));

> Group([ (1,2,3,4), (1,2)(3,4) ])

> gap> u:=Subgroup(g,[(1,2)(3,4)]);

> Group([ (1,2)(3,4) ])

> gap> rt:=RightTransversal(g,u);

> RightTransversal(Group([ (1,2,3,4), (1,2)(3,4) ]),Group([ (1,2)(3,4) ]))

> gap> List(rt);

> [ (), (2,4), (1,2,3,4), (1,3)(2,4) ]

>

> In above program rt is not actualy a right transversal

> for (1,2,3,4) and (2,4) are in same right coset.

>

>

> Vivek Kumar Jain

> Dept. of Mathematics

> Univ. of Allahabad

> Allahabad-211002

> India

>

>

> ---------------------------------

> Check out the all-new face of Yahoo! India. Click here.

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From m.s.jones at newcastle.ac.uk Mon Apr 21 15:56:41 2008

From: m.s.jones at newcastle.ac.uk (Martin Jones)

Date: Mon Apr 21 15:58:35 2008

Subject: [GAP Forum] Simplifying presentations of abelian groups

In-Reply-To: <36ECBB6782128144A1FA70193750C4DA0406FBDE@largo.campus.ncl.ac.uk>

References: <36ECBB6782128144A1FA70193750C4DA0406FBDE@largo.campus.ncl.ac.uk>

Message-ID: <36ECBB6782128144A1FA70193750C4DA05CB463E@largo.campus.ncl.ac.uk>

Hello

This is my first question. I hope it's not a stupid one. I have an

finitely presented abelian group and I want to obtain a simple

presentation for the group. The command SimplifedFpGroup is not working

satisfactorily (possibly because it doesn't introduce new generators).

How can I make GAP use the fact that the group is abelian and use an

appropriate method?

I'll give an example:

G;

<fp group on the generators [ f1, f2, f3, f4, f5, f6, f7, f8, f9, f10,

f11,

f12, f13, f14, f15, f16 ]>

(this is my initial group)

Gsimp:=SimplifiedFpGroup(G);

<fp group on the generators [ f1, f2, f5, f6 ]>

(okay, a bit simpler)

RelatorsOfFpGroup(Gsimp);

[ f1*f2*f1^-1*f2^-1, f2^-1*f5^-1*f2*f5, f1^-1*f6^-1*f1*f6,

f5^-1*f6*f5*f6^-1,

f2^-1*f6^-1*f2*f6, f1^-1*f5^-1*f1*f5, f1*f2^3*f1*f2*f1^2 ]

(6 commutators and a relation of length 8)

IsAbelian(Gsimp);

true (so it knows it's abelian)

AbelianInvariants(Gsimp);

[ 0, 0, 0, 4 ]

In this case what I am looking for is a presentation with 4 generators,

three torsion-free and one of order 4, in terms of the original

generators of G.

Thanks in advance,

Martin

From hulpke at math.colostate.edu Mon Apr 21 20:51:59 2008

From: hulpke at math.colostate.edu (Alexander Hulpke)

Date: Mon Apr 21 20:53:01 2008

Subject: [GAP Forum] Simplifying presentations of abelian groups

In-Reply-To: <36ECBB6782128144A1FA70193750C4DA05CB463E@largo.campus.ncl.ac.uk>

References: <36ECBB6782128144A1FA70193750C4DA0406FBDE@largo.campus.ncl.ac.uk>

<36ECBB6782128144A1FA70193750C4DA05CB463E@largo.campus.ncl.ac.uk>

Message-ID: <E141E42A-D854-4103-AE4F-33DFF02D103C@math.colostate.edu>

Dear GAP Forum,

Martin Jones wrote:

> I have an

> finitely presented abelian group and I want to obtain a simple

> presentation for the group. The command SimplifedFpGroup is not

> working

> satisfactorily (possibly because it doesn't introduce new generators).

> How can I make GAP use the fact that the group is abelian and use an

> appropriate method?

I would write the presentation in matrix form and then use the

transforming matrices for the smith normal form:

The command is `SmithNormalFormIntegerMatTransforms'.

Incidentally this is done by the existing command

`MaximalAbelianQuotient' and (if the group is infinite -- otherwise

the range is a pc group and the presentation a bit mixed up) you might

find the range group of this command more to your liking. In your

example, e.g. I get:

gap> ma:=MaximalAbelianQuotient(Gsimp);

[ f1, f2, f5, f6 ] -> [ f2, f1*f2^-1, f3, f4 ]

gap> RelatorsOfFpGroup(Range(ma));

[ f1^-1*f2^-1*f1*f2, f1^-1*f3^-1*f1*f3, f1^-1*f4^-1*f1*f4,

f2^-1*f3^-1*f2*f3,

f2^-1*f4^-1*f2*f4, f3^-1*f4^-1*f3*f4, f1^4 ]

(You could duplicate and modify the code to always return the result

as a finitely presented group).

Best,

Alexander Hulpke

From anvita21 at gmail.com Fri Apr 25 08:06:51 2008

From: anvita21 at gmail.com (Anvita)

Date: Fri Apr 25 08:07:18 2008

Subject: [GAP Forum] G-invariant linear character

In-Reply-To: <604575.40689.qm@web45102.mail.sp1.yahoo.com>

References: <604575.40689.qm@web45102.mail.sp1.yahoo.com>

Message-ID: <6a52effd0804250006q69aed871xaa4159d8c2be3bc9@mail.gmail.com>

On Thu, Apr 17, 2008 at 1:42 AM, Dan Lanke <dan_lanke@yahoo.com> wrote:

>

> Dear GAP Forum,

>

> Let H be a normal subgroup of a finite group G.

> Let \rho be a G-invariant linear character of H.

> Is it true that there exists a linear character

> of G whose restriction to H is equal to \rho?

>

> If the answer is no, how can I use GAP to find

> some examples?

Dear Dan,

I think that the answer is "no".

If H is the center (of order 2) of the group G = SL(2,5)

and \rho is the nontrivial character of H, then \rho is G-invariant

but is not the restriction to H of any linear character of G, because

G has only one linear character (the trivial one).

I do not know how to use GAP to find such examples.

Anvita

From thomas.breuer at math.rwth-aachen.de Fri Apr 25 15:07:38 2008

From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer)

Date: Fri Apr 25 15:09:19 2008

Subject: [GAP Forum] G-invariant linear character

Message-ID: <20080425140738.GA6772@gemma.math.rwth-aachen.de>

Dear GAP Forum,

Dan Lanke wrote

> Let H be a normal subgroup of a finite group G.

> Let \rho be a G-invariant linear character of H.

> Is it true that there exists a linear character

> of G whose restriction to H is equal to \rho?

>

> If the answer is no, how can I use GAP to find

> some examples?

Meanwhile Frank L"ubeck has answered the first question

in a private e-mail to Dan:

> No, just take any perfect group with a non-trivial center H and any

> non-trivial irreducible character of H. E.g., G = SL(2,5).

Concerning the second question,

the GAP function `test_group' appended below can be used to collect,

for a given group G, all invariant linear characters of normal subgroups of G

that do not extend to G.

(There are enough examples of very small groups G for which such characters

exist, such as extraspecial p-groups.

For groups of larger order, the `IdGroup' call in the function may not work.)

Examples can be found as follows.

gap> AllSmallGroups( Size, [ 1 .. 30 ], g -> test_group( g ) <> [], true );

#I example for G = [ 8, 3 ], N = [ 2, 1 ]

#I example for G = [ 8, 4 ], N = [ 2, 1 ]

#I example for G = [ 16, 3 ], N = [ 2, 1 ]

...

Alternatively, the function `test_table' collects, for a given character

table from the GAP character table library, all not extendible invariant

linear characters of those normal subgroups of G whose character table is

contained in the GAP character table library.

gap> OneCharacterTableName( t -> test_table(t) <> [], true );

#I example for G = O8+(3).D8, N = O8+(3).2_1

"O8+(3).D8"

In fact this shows again that the dihedral group of order eight provides

an example.

So the character table library is not very suitable for this

question,

but perhaps the code below gives an idea how one can proceed

in similar situations.

All the best,

Thomas

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

test_group:= function( G )

local expls, lin_G, N, map, inv, rest, found;

expls:= [];

lin_G:= LinearCharacters( G );

for N in NormalSubgroups( G ) do

map:= InverseMap( FusionConjugacyClasses( N, G ) );

inv:= Filtered( LinearCharacters( N ),

x -> not ForAny( CompositionMaps( x, map ), IsList ) );

rest:= RestrictedClassFunctions( lin_G, N );

found:= Difference( inv, rest );

if not IsEmpty( found ) then

Add( expls, [ G, found ] );

Print( "#I example for G = ", IdGroup( G ),

", N = ", IdGroup( N ), "\n" );

fi;

od;

return expls;

end;

test_table:= function( tbl )

local expls, lin_tbl, name, subtbl, fus, map, inv, rest, found;

expls:= [];

lin_tbl:= LinearCharacters( tbl );

for name in NamesOfFusionSources( tbl ) do

subtbl:= CharacterTable( name );

if subtbl <> fail then

fus:= GetFusionMap( subtbl, tbl );

if Size( subtbl )

= Sum( SizesConjugacyClasses( tbl ){ Set( fus ) } ) then

map:= InverseMap( fus );

inv:= Filtered( LinearCharacters( subtbl ),

x -> not ForAny( CompositionMaps( x, map ), IsList ) );

rest:= RestrictedClassFunctions( lin_tbl, subtbl );

found:= Difference( inv, rest );

if not IsEmpty( found ) then

Add( expls, [ tbl, found ] );

Print( "#I example for G = ", Identifier( tbl ),

", N = ", Identifier( subtbl ), "\n" );

fi;

fi;

fi;

od;

return expls;

end;

From max at quendi.de Tue Apr 29 14:36:45 2008

From: max at quendi.de (Max Horn)

Date: Tue Apr 29 14:37:11 2008

Subject: [GAP Forum] Conjugacy classes of involutions in SU(n, q) and SO(n,

q)

Message-ID: <52098.XVdYXF9DRFA=.1209476205.squirrel@webmailer.hosteurope.de>

Dear GAP forum,

is there an efficient way in GAP to get a list of (representatives of)

conjugacy classes of involutions in SU(n,q) and SO(n,q)? Specifically for

n=4, 5,6, and at least up to q <= 9.

Right now, I use this rather crude code:

invs := Filtered(List(ConjugacyClasses(G),Representative), x->Order(x)=2);;

Sadly, it works for me only up to q=4. And takes far too long, too ;).

Alternatively, could somebody point out a good reference to me where I can

find descriptions of the conjugacy classes of involutions in said groups,

which I could use to implement relevant code myself? The atlas helps me

only so far, since I would like to do this for bigger values of q, too.

Thanks as always for you generous help,

Max

From max at quendi.de Tue Apr 29 17:36:51 2008

From: max at quendi.de (Max Horn)

Date: Tue Apr 29 17:37:08 2008

Subject: [GAP Forum] Conjugacy classes of involutions in SU(n,

q) and SO(n, q)

In-Reply-To: <52098.XVdYXF9DRFA=.1209476205.squirrel@webmailer.hosteurope.de>

References: <52098.XVdYXF9DRFA=.1209476205.squirrel@webmailer.hosteurope.de>

Message-ID: <58956.XVdYXF9DRFA=.1209487011.squirrel@webmailer.hosteurope.de>

P.S.: I should say am actually interested in involutions of PSU and SO,

but I also need the action on the natural module, so it seems more

convenient to look for involutions of SU and SO. Also, I just discovered

the following papers, which cover the case for PSU(4,q) and PSU(5,q), it

seems -- however I have only access to the second article, thus so far I

only know the solution for PSU(5,q) (funnily, we have the journal in our

library starting with volume 24 -- of course the volume I need is 23 ;-).

http://www.mathnet.or.kr/mathnet/kms_content.php?no=311410

http://www.mathnet.or.kr/mathnet/kms_content.php?no=311495

Also, I was pointed at the paper "Involutions in Chevalley groups over

fields of even order." by Aschbacher and Seitz, which sounds very helpful,

too (assuming I can get hold of it).

Thanks again for your help,

Max

From paul.smith at nuigalway.ie Tue Apr 29 17:52:15 2008

From: paul.smith at nuigalway.ie (Paul Smith)

Date: Tue Apr 29 17:52:31 2008

Subject: [GAP Forum] New linear algebra package, 'linboxing'

Message-ID: <4817523F.7020403@nuigalway.ie>

Dear GAP forum,

I'd like to announce a new GAP package called 'linboxing'

(LinBox-in-GAP) that provides an interface between GAP and the LinBox

exact linear algebra library. At present, the package provides

alternative versions of Rank, Determinant and SolutionMat which are much

faster than GAP's native versions when dealing with large matrices over

the integers or large prime fields.

The package needs the LinBox C++ library to be compiled and installed

(see http://www.linalg.org/), and provides a compiled GAP kernel module

that performs the actual interfacing at the kernel-level. It's been

tested under various versions of Linux and on OS X, but won't work on

Windows at the moment.

For more information, see the GAP website at

http://www.gap-system.org/Packages/linboxing.html

or the linboxing website

http://www.maths.nuigalway.ie/~pas/CHA/linboxing/

If you have any problems with installation, please let me know. I'd

welcome any feedback, be it reports of observed gains from using the

package, requests for additional functionality, or any other comments.

Best wishes,

Paul Smith

--

Dr Paul Smith

Department of Mathematics

National University of Ireland, Galway

paul.smith@nuigalway.ie

From nicolas.francois at free.fr Thu May 8 17:21:43 2008

From: nicolas.francois at free.fr (Nicolas FRANCOIS)

Date: Thu May 8 17:22:14 2008

Subject: [GAP Forum] [Newbie] Group action

Message-ID: <20080508182143.1ee7043a@agecanonix.baronie.vez>

Hi.

I'm quite new to Gap. I'd like to study the action of S_3 (symmetric

group of order 3) and A_4 (alternate (?) group of order 4, i.e. the

subgroup of S_4 composed of the pair permutations) on the subsets.

More precisely, I'd like to find, with elementary methods (no characters,

no group representation) the ideals of the R[S_3] and R[A_4] algebras.

Could someone be kind enough to show me how I could use Gap to find :

- the tables of the two above groups,

- the orbits of the action of these groups on their n-parts, with n

between 1 and 6 for S_3, from 1 and 12 for A_4,

- even better : the orbits of the action of these groups on their

algebras ???

Any help would be very much appreciated.

\bye

PS : from what I've allready discovered, Gap seems very exciting !

--

Nicolas FRANCOIS | /\

http://nicolas.francois.free.fr | |__|

X--/\\

We are the Micro$oft. _\_V

Resistance is futile.

You will be assimilated. darthvader penguin

From trof1984 at rambler.ru Thu May 8 22:27:41 2008

From: trof1984 at rambler.ru (=?windows-1251?B?wOvl6vEg0vDu9Ojs8+o=?=)

Date: Thu May 8 22:28:21 2008

Subject: [GAP Forum] question

Message-ID: <741071961.1210282061.162425452.84938@mcgi35.rambler.ru>

-- Dear Gap Forum,

Alex Trofimuk asked:

How to compute the semidirect product S =[G]H of 2 groups G and H where

a normal subgroup G is elementary abelian group of order 3^2 and a

complement H is SL(2,3). Action SL(2,3) on G don't known.

From graham.ellis at nuigalway.ie Mon May 12 12:26:12 2008

From: graham.ellis at nuigalway.ie (Ellis, Grahamj)

Date: Mon May 12 12:28:26 2008

Subject: [GAP Forum] PhDs & Postdocs at Galway

References: <47C2E007B3E98F4E8BBC7997F007CE13126854@EVS1.ac.nuigalway.ie>

<47C2E007B3E98F4E8BBC7997F007CE1312685C@EVS1.ac.nuigalway.ie>

<47C2E007B3E98F4E8BBC7997F007CE1312685D@EVS1.ac.nuigalway.ie>

<47C2E007B3E98F4E8BBC7997F007CE13126861@EVS1.ac.nuigalway.ie>

Message-ID: <47C2E007B3E98F4E8BBC7997F007CE13126878@EVS1.ac.nuigalway.ie>

Two PhD, two postdoc and two visiting positions at Galway

=========================================================

The Department of Mathematics at Galway is pleased to offer the

following positions, starting September/October 2008.

1.

Two funded postdoc positions in (computational) algebra.

(See http://hamilton.nuigalway.ie/CHA/vacancies/vacanciesIndex.html

for details. Closing date: 30th June 2008)

2.

Two funded PhD positions in algebra.

(See http://hamilton.nuigalway.ie/DeBrunCentre/DeBrunPhds.html

for details. Closing date: 30th June 2008)

3.

Two 2-month visiting positions in (computational) algebra.

(See http://hamilton.nuigalway.ie/CHA/vacancies/vacanciesIndex.html

for details.)

Graham

From jjm at mcs.st-andrews.ac.uk Thu May 15 12:00:03 2008

From: jjm at mcs.st-andrews.ac.uk (John McDermott)

Date: Thu May 15 12:04:39 2008

Subject: [GAP Forum] semi direct product

References: <469a77520805150354v2883b2eev9530ab037491518a@mail.gmail.com>

Message-ID: <108A6974-F44A-48EF-98F6-2184C9F73367@mcs.st-andrews.ac.uk>

Apologies, this was accidentally caught up in our spam filters and so

much delayed.

Begin forwarded message:

> From: Ali ?AH?N <alis@ogu.edu.tr>

> To: forum@gap-system.org

> Date: Tue, 22 Apr 2008 10:50:45 +0300

> Subject: semi direct product

> Dear forum,

>

> I am looking for a function that determines the semi direct and

> direct product of Group ring (algebra) in GAP. Is there any function

> for this. If not how can I write such a function?

>

> Best wishes

>

> __________________________________________________________________________

> Mesaj gonderilirken OGU WebMail 1.0 kullanildi

> Bu e-posta sadece yukarida isimleri belirtilen kisiler arasinda ozel

> haberlesme amacini tasimaktadir. Size yanislikla ulasmissa lutfen

> gonderen

> kisiyi bilgilendiriniz ve mesaji sisteminizden siliniz. T.C. Osmangazi

> Universitesi bu mesajin icerigi ile ilgili olarak hicbir sorumlulugu

> kabul

> etmez.

>

> This e-mail communication is intended for the private use of the

> persons

> named above. Osmangazi University does not accept legal

> responsibility for

> the contents of this message.

--

John McDermott

Scientific Officer

Centre for Interdisciplinary Research in Computational Algebra

School of Computer Science

University of St Andrews

North Haugh, St Andrews, Fife

KY16 9SX

SCOTLAND

(Room 330, Mathematical Institute)

tel +44 1334 463813

mob +44 7941 507531

The University of St Andrews is a charity registered in Scotland : No

SC01353

From Vincent.Caudrelier.1 at city.ac.uk Thu May 15 17:09:39 2008

From: Vincent.Caudrelier.1 at city.ac.uk (Caudrelier, Vincent)

Date: Thu May 15 23:28:42 2008

Subject: [GAP Forum] Stabilizer of a vector for Coxeter Groups

Message-ID: <40ED11F2A15B65419CE63D8A3CD04A760729ABF5@nsq041ex.enterprise.internal.city.ac.uk>

All,

I'm trying to compute the stabilizer of a given vector in the underlying

essential vector space of a finite Coxeter group seen as a reflection

group acting on this vector space.

I've tried with F4 by defining it as a matrix group then typing

something like "Stabilizer(F4,[[1],[0],[0],[0]]);" but I suspect this is

not doing what I want but rather it gives the stability group of the

group element corresponding to the reflection associated to e_1 and not

the stability group of e_1 itself.

I hope my question makes enough sense and that someone can help me.

Many thanks

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

Dr Vincent CAUDRELIER

Lecturer in Mathematics

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

City University

Centre for Mathematical Science

Northampton Square

LONDON EC1V 0HB

UK

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

tel: +44 (0) 2070 408498

From Mathieu.Dutour at ens.fr Fri May 16 08:02:34 2008

From: Mathieu.Dutour at ens.fr (Mathieu Dutour)

Date: Fri May 16 08:03:04 2008

Subject: [GAP Forum] Stabilizer of a vector for Coxeter Groups

In-Reply-To: <40ED11F2A15B65419CE63D8A3CD04A760729ABF5@nsq041ex.enterprise.internal.city.ac.uk>

References: <40ED11F2A15B65419CE63D8A3CD04A760729ABF5@nsq041ex.enterprise.internal.city.ac.uk>

Message-ID: <20080516070234.GA8767@orge.ens.fr>

Hi,

there are many possible strategy that can be employed.

Right now I can think of two:

1> represent your Coxeter group as a permutation group acting

on the roots r1, ...., rN of your Coxeter group.

Call CoxPermGrp this representation.

Then given a vector v, associate to it the vector of scalar

products

ScalV=(r1.v, r2.v, ......, rN.v)

Afterwards, you can use

Stabilizer(CoxPermGrp, ScalV, Permuted);

The problem is that the permuted action is too slow, because

it does not use backtracking like the OnSets action.

A way around this performance problem is to use

PermutedStabilizer:=function(TheGRP, eVect)

local TheStab, Hset, eVal, ListIdx;

TheStab:=ShallowCopy(TheGRP);

Hset:=Set(eVect);

for eVal in Hset

do

ListIdx:=Filtered([1..Length(eVect)], x->eVect[x]=eVal);

TheStab:=Stabilizer(TheStab, ListIdx, OnSets);

od;

return TheStab;

end;

And if you need equivalence as well, then use

PermutedEquivalence:=function(TheGRP, eVect1, eVect2)

local TheStab, eVect1img, n, eSet1, eSet2, g, eVal, ListIdx1, ListIdx2, gT;

eVect1img:=ShallowCopy(eVect1);

n:=Length(eVect1);

eSet1:=Set(eVect1);

eSet2:=Set(eVect2);

if eSet1<>eSet2 then

return fail;

fi;

g:=();

TheStab:=ShallowCopy(TheGRP);

for eVal in eSet1

do

ListIdx1:=Filtered([1..n], x->eVect1img[x]=eVal);

ListIdx2:=Filtered([1..n], x->eVect2[x]=eVal);

gT:=RepresentativeAction(TheStab, ListIdx1, ListIdx2, OnSets);

if gT=fail then

return fail;

fi;

eVect1img:=Permuted(eVect1img, gT);

g:=g*gT;

if eVect1img=eVect2 then

return g;

fi;

TheStab:=Stabilizer(TheStab, ListIdx2, OnSets);

od;

end;

2> If you really need to treat very large Coxeter group, then the way to

go is by the abstract theory of Coxeter groups. For that you need to map

your element to the fundamental domain (a simplex if the Coxeter group is

irreducible). Then, on the fundamental domain, enumerate the facets to

which it is incident. Those facets give you the generators of the

stabilizer.

On Thu, May 15, 2008 at 05:09:39PM +0100, Caudrelier, Vincent wrote:

>> All,

>>

>>

>>

>> I'm trying to compute the stabilizer of a given vector in the underlying

>> essential vector space of a finite Coxeter group seen as a reflection

>> group acting on this vector space.

>>

>>

>>

>> I've tried with F4 by defining it as a matrix group then typing

>> something like "Stabilizer(F4,[[1],[0],[0],[0]]);" but I suspect this is

>> not doing what I want but rather it gives the stability group of the

>>

>> group element corresponding to the reflection associated to e_1 and not

>> the stability group of e_1 itself.

>>

>>

>>

>> I hope my question makes enough sense and that someone can help me.

>>

>>

>>

>> Many thanks

>>

>>

>>

>> ------------------------

>> Dr Vincent CAUDRELIER

>> Lecturer in Mathematics

>> ------------------------

>> City University

>> Centre for Mathematical Science

>> Northampton Square

>> LONDON EC1V 0HB

>> UK

>> ------------------------

>> tel: +44 (0) 2070 408498

>>

>>

>>

>> _______________________________________________

>> Forum mailing list

>> Forum@mail.gap-system.org

>> http://mail.gap-system.org/mailman/listinfo/forum

From goetz.pfeiffer at nuigalway.ie Mon May 19 08:30:21 2008

From: goetz.pfeiffer at nuigalway.ie (=?ISO-8859-1?Q?G=F6tz?= Pfeiffer)

Date: Mon May 19 08:30:49 2008

Subject: [GAP Forum] 2nd Announcement: First De Brun Workshop on

Computational Algebra

Message-ID: <1211182221.7782.2.camel@truffaut>

Second Announcement: First De Brun Workshop on Computational Algebra

====================================================================

>From July 21 to August 1, 2008, the De Brun Centre for Computational

Algebra at NUI Galway, Ireland, runs a workshop consisting of the

following four 5-lecture courses.

* Gerhard Hiss (Aachen):

Computational Representation Theory

* John McKay (Concordia):

The sporadic groups - past, present and possible future

* Mike Stillman (Cornell):

Computing cohomology in algebraic geometry

* Bernd Sturmfels (Berkeley):

Tropical Algebra

The lecture courses are aimed at mathematicians with a general

interest in computational aspects of algebra, but who don't

necessarily have expertise in the topics of the courses.

Lecture courses will take place in the mornings, and participants will

have the opportunity to contribute talks on their research in the

afternoons. The first lecture will be at 10am on Tuesday 22 July, and

the last lecture will end at 12.30 on Friday 1 August. There will be

a Workshop trip to the Burren, Co. Clare in the first week, and to the

Galway Races in the second week. There will be no lectures on the

Saturday afternoon and Sunday.

The workshop is supported by Science Foundation Ireland. Some funding

towards the cost of accommodation is available for a limited number of

graduate students and postdocs.

There is no registration fee. For registration details and further

information see:

http://hamilton.nuigalway.ie/DeBrunCentre/First.html

If you wish to attend the workshop you should e-mail the organisers

as soon as possible.

The organizers,

Graham Ellis

Goetz Pfeiffer

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

Goetz.Pfeiffer@NUIGalway.ie http://schmidt.nuigalway.ie/~goetz/

National University of Ireland, Galway. phone +353-91-49-3591

From hulpke at mac.com Tue May 20 18:19:42 2008

From: hulpke at mac.com (Alexander Hulpke)

Date: Tue May 20 18:20:27 2008

Subject: [GAP Forum] Stabilizer of a vector for Coxeter Groups

In-Reply-To: <40ED11F2A15B65419CE63D8A3CD04A760729ABF5@nsq041ex.enterprise.internal.city.ac.uk>

References: <40ED11F2A15B65419CE63D8A3CD04A760729ABF5@nsq041ex.enterprise.internal.city.ac.uk>

Message-ID: <0E17B48B-10DC-45BE-AF8D-3C4FC7087D33@mac.com>

Dear GAP-Forum,

>

Vincent Chaudrelier wrote:

> I've tried with F4 by defining it as a matrix group then typing

> something like "Stabilizer(F4,[[1],[0],[0],[0]]);" but I suspect

> this is

> not doing what I want but rather it gives the stability group of the

>

> group element corresponding to the reflection associated to e_1 and

> not

> the stability group of e_1 itself.

GAP acts consistently from the right, i.e. matrix groups act on row

vectors. What you give as object to be stabilized looks like a matrix

with one column, this is not a well-defined action.

Stabilizer(F4,[1,0,0,0]) should give the desired result.

Best,

Alexander Hulpke

From alexander.konovalov at gmail.com Fri May 23 14:51:44 2008

From: alexander.konovalov at gmail.com (Alexander Konovalov)

Date: Fri May 23 14:52:04 2008

Subject: [GAP Forum] Brief GAP guidebook in Russian, version 3

Message-ID: <015F246F-C4A2-44B0-856B-9A32D5F025A5@gmail.com>

Dear GAP Forum,

I would like to announce the new edition (version 3.0.0, May 16 2008)

of the brief GAP guidebook in Russian. It is available now in PDF and

HTML formats here:

* http://ukrgap.exponenta.ru/gapbook/gapbook.pdf

* http://ukrgap.exponenta.ru/gapbook/chap0.html

Technical details that might be interesting to the wider GAP Forum

audience:

The guidebook is now converted into the GAPDoc format, and PDF and HTML

versions are produced using the GAPDoc package by Frank L?beck and Max

Neunh?ffer (http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc/index.html

).

Besides other benefits of using GAPDoc, I am happy that now all examples

from the document can be automatically validated using documentation

checking tools provided by GAPDoc.

Best wishes,

Alexander

From vdabbagh at sfu.ca Fri May 23 22:32:57 2008

From: vdabbagh at sfu.ca (Vahid Dabbaghian)

Date: Fri May 23 22:33:22 2008

Subject: [GAP Forum] testing representations

Message-ID: <200805232132.m4NLWvnQ017773@rm-rstar.sfu.ca>

Dear GAP Forum,

Suppose a character chi and an ordinary representation R of G, both of

degree d, are given. One way to test that R is a representation affording

chi is to compute the trace of R(x) for representatives x of conjugacy

classes. In the case that d and the entries of R(x) are large, finding R(x)

and computing the trace is an expensive task. Do you have any suggestion for

a faster way to do this test?

Regards

Vahid

__________________________

The IRMACS Centre (ASB 10905)

Simon Fraser University

8888 University Drive

Burnaby, BC V5A 1S6

Canada

E-mail: vdabbagh@sfu.ca

http://www.sfu.ca/~vdabbagh

From fvanhove at cage.ugent.be Tue May 27 08:56:14 2008

From: fvanhove at cage.ugent.be (=?ISO-8859-1?Q?Fr=E9d=E9ric_Vanhove?=)

Date: Tue May 27 08:55:04 2008

Subject: [GAP Forum] how to compute all subgroups of order p up to conjugacy

Message-ID: <483BBE9E.5030800@cage.ugent.be>

Hello,

many thanks for letting me on this list. This is my very first question.

This is my problem : let G be a finite group, the order of which

divisibly by a prime p. I would like to get a list of all subgroups of

G of order p, up to conjugacy.

Is there a command in GAP for that. Right now, I only know two

alternatives:

listofgroupssizep:=function(g,p)

local hom,image,syl,ccs,ccs2,elem;

hom := NiceMonomorphism(g);;

image:=Image(hom);;

syl := SylowSubgroup(image, p);;

ccs:=ConjugacyClasses(syl);;

ccs2 := Filtered(List(ccs,Representative),t->Order(t)=p);;

elem := List(ccs2,t->PreImage(hom,t));

pgroups:=List(elem,x->Subgroup(g,[x]));;

return pgroups;

end;

This function needs a group g and a prime p as arguments, and it returns

a list of subgroups of order p. All possibilites up to conjugacy will

appear at least once, but unfortunately many of them will appear more

than once...

The other alternative is :

Filtered(ConjugacyClassesSubgroups(g),x->Size(Representative(x))=p);

which works fine as long as g is pretty small, because it's absolutely

not efficient and it just doesn't finish the job when g is a bit bigger.

Does anyone know some advice?

Thank you very much,

Fr?d?ric Vanhove

Ghent University

Belgium

From laurent.bartholdi at gmail.com Tue May 27 11:04:21 2008

From: laurent.bartholdi at gmail.com (Laurent Bartholdi)

Date: Tue May 27 11:08:00 2008

Subject: [GAP Forum] how to compute all subgroups of order p up to

conjugacy

In-Reply-To: <483BBE9E.5030800@cage.ugent.be>

References: <483BBE9E.5030800@cage.ugent.be>

Message-ID: <1ff637850805270304i2e6f8fads90db1cee6855fe9@mail.gmail.com>

Hi Frederic!

Subgroups of order p are generated by a single element -- so you might

look for all such subgroups, and then eliminate all redundancies by

keeping 1 subgroup for each conjugacy class and choice of generator.

I won't be more specific since I see you're a student... Feel free to

ask for more details if this isn't for an exam.

Best, Laurent

On Tue, May 27, 2008 at 9:56 AM, Fr?d?ric Vanhove

<fvanhove@cage.ugent.be> wrote:

> Hello,

>

> many thanks for letting me on this list. This is my very first question.

>

> This is my problem : let G be a finite group, the order of which divisibly

> by a prime p. I would like to get a list of all subgroups of G of order p,

> up to conjugacy.

>

> Is there a command in GAP for that. Right now, I only know two

> alternatives:

>

> listofgroupssizep:=function(g,p)

> local hom,image,syl,ccs,ccs2,elem;

> hom := NiceMonomorphism(g);;

> image:=Image(hom);;

> syl := SylowSubgroup(image, p);;

> ccs:=ConjugacyClasses(syl);;

> ccs2 := Filtered(List(ccs,Representative),t->Order(t)=p);;

> elem := List(ccs2,t->PreImage(hom,t));

> pgroups:=List(elem,x->Subgroup(g,[x]));;

> return pgroups;

> end;

>

> This function needs a group g and a prime p as arguments, and it returns a

> list of subgroups of order p. All possibilites up to conjugacy will appear

> at least once, but unfortunately many of them will appear more than once...

>

> The other alternative is :

>

> Filtered(ConjugacyClassesSubgroups(g),x->Size(Representative(x))=p);

>

> which works fine as long as g is pretty small, because it's absolutely not

> efficient and it just doesn't finish the job when g is a bit bigger.

>

>

> Does anyone know some advice?

>

> Thank you very much,

>

> Fr?d?ric Vanhove

> Ghent University

> Belgium

>

>

>

>

>

>

>

>

>

>

>

>

>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

--

Laurent Bartholdi \ laurent.bartholdi<at>gmail<dot>com

EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458

Station 8 \ Secr?taire: +41 21-6935471

CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339

Home address: http://microurl.org/10

From marc_roeder at web.de Tue May 27 11:40:53 2008

From: marc_roeder at web.de (Marc Roeder)

Date: Tue May 27 11:41:13 2008

Subject: [GAP Forum] how to compute all subgroups of order p up to

conjugacy

In-Reply-To: <483BBE9E.5030800@cage.ugent.be>

References: <483BBE9E.5030800@cage.ugent.be>

Message-ID: <483BE535.5090704@web.de>

Dear Forum,

Fr?d?ric Vanhove wrote:

> This is my problem : let G be a finite group, the order of which

> divisibly by a prime p. I would like to get a list of all subgroups of

> G of order p, up to conjugacy.

>

> Is there a command in GAP for that. Right now, I only know two

> alternatives:[...]

I am not aware of any command that does this in GAP. But a slight

variation of your program might do the trick:

listofgroupssizep:=function(g,p)

local syl, ccs, ccs2, ccg;

syl := SylowSubgroup(g, p);;

ccs:=ConjugacyClasses(syl);;

ccs2 := Filtered(List(ccs,Representative),t->Order(t)=p);;

ccg:=List(ccs2,i->ConjugacyClass(g,i));

return Set(ccg,i->Subgroup(g,[Representative(i)]));

end;

This uses the fact that a Sylow subgroup is represented as a subgroup

(and hence embedded in the original group).

All the best,

marc

From frank.luebeck at math.rwth-aachen.de Thu May 29 10:55:48 2008

From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=)

Date: Thu May 29 10:56:09 2008

Subject: [GAP Forum] how to compute all subgroups of order p up

to conjugacy

In-Reply-To: <483BBE9E.5030800@cage.ugent.be>

References: <483BBE9E.5030800@cage.ugent.be>

Message-ID: <20080529095548.GE1819@beteigeuze>

On Tue, May 27, 2008 at 09:56:14AM +0200, Fr?d?ric Vanhove wrote:

> This is my problem : let G be a finite group, the order of which divisibly

> by a prime p. I would like to get a list of all subgroups of G of order p,

> up to conjugacy.

Dear Fr?d?ric Vanhove, dear Forum,

A subset of elements of a finite group which generate a conjugate of a fixed

cyclic subgroup, is called a "rational class".

With the GAP command RationalClasses you find representatives of all classes

of cyclic subgroups of a finite group. (There is also the undocumented function

RationalClassesPElements( group, prime).) These were used in former versions

of GAP as a step to find the conjugacy classes.

For some groups it may be faster to compute all ConjugacyClasses(group) and

then check for repeated rational classes comparing RationalClass of

representatives of the conjugacy classes.

Best regards,

Frank

--

/// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, ///

\\\ 52062 Aachen, Germany \\\

/// E-mail: Frank.Luebeck@Math.RWTH-Aachen.De ///

\\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\

From frank.luebeck at math.rwth-aachen.de Thu May 29 10:59:06 2008

From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=)

Date: Thu May 29 11:00:48 2008

Subject: [GAP Forum] testing representations

In-Reply-To: <200805232132.m4NLWvnQ017773@rm-rstar.sfu.ca>

References: <200805232132.m4NLWvnQ017773@rm-rstar.sfu.ca>

Message-ID: <20080529095906.GF1819@beteigeuze>

Dear Vahid, dear Forum,

On Fri, May 23, 2008 at 02:32:57PM -0700, Vahid Dabbaghian wrote:

> Suppose a character chi and an ordinary representation R of G, both of

> degree d, are given. One way to test that R is a representation affording

> chi is to compute the trace of R(x) for representatives x of conjugacy

> classes. In the case that d and the entries of R(x) are large, finding R(x)

> and computing the trace is an expensive task. Do you have any suggestion for

> a faster way to do this test?

. . . it depends!

If you have exactly the information as stated above, I think you cannot do

much better. But in practice you probably have additional information. Here

are a few thoughts what could make the task faster in certain cases.

If you have an R(x) for which it is not to bad to compute the eigenvalues,

and if you know the power map for x (i.e., the classes which contain the

powers x^i), then you can quickly compute the eigenvalues (and traces) of

all R(x^i).

If it is likely that your chi is not the character of R or a algebraic conjugate

of it, it may be sufficient to compute the traces of some random elements

in the image of R to find a trace which doesn't occur as value of chi.

If you know that chi is irreducible and you know all irreducible characters

of degree d of your group (or, if you know all characters of degree d from

the character table), it may be sufficient to compute just a few specific or

random R(x) to identify the character of R.

Best regards,

Frank

--

/// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, ///

\\\ 52062 Aachen, Germany \\\

/// E-mail: Frank.Luebeck@Math.RWTH-Aachen.De ///

\\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\

From paris14 at math.auth.gr Tue Jun 3 17:55:57 2008

From: paris14 at math.auth.gr (Paraskevas Alvanos)

Date: Tue Jun 3 17:56:29 2008

Subject: [GAP Forum] free groups

Message-ID: <20080603195557.gpx0z7mjn6s0kgog@webmail.auth.gr>

Dear GAP-forum

I am trying to calculate the kernel of a homomorphism A->B of free

groups consists of algebraic elements. I know the generators of A and

the mapping.

I am asking if it is possible to create a free group by giving the

generators and then to calculate the relations of the free group or

the kernel directly.

Thank you very much.

paris alvanos

paris14@math.auth.gr

From bob.heffernan at gmail.com Thu Jun 5 16:23:50 2008

From: bob.heffernan at gmail.com (Robert Heffernan)

Date: Thu Jun 5 16:24:14 2008

Subject: [GAP Forum] Associated Lie Ring of a finite p-group

Message-ID: <6d9a83e90806050823o5423a54dj1ecdb35b806899dd@mail.gmail.com>

Hello all,

Is there a GAP function to construct the associated Lie ring of a

finite p-group (or nilpotent group)?

I've looked for one in the documentation but cannot find it if it exists.

Thank you,

Robert Heffernan

--

Robert Heffernan

Mathematics Postgraduate, UCC, Cork, Ireland.

Email: bob.heffernan@gmail.com

www: http://bob.nonado.net

Blog: http://blogs.linux.ie/yarr

From graham.ellis at nuigalway.ie Thu Jun 5 18:33:21 2008

From: graham.ellis at nuigalway.ie (Ellis, Grahamj)

Date: Thu Jun 5 18:36:07 2008

Subject: [GAP Forum] Associated Lie Ring of a finite p-group

References: <6d9a83e90806050823o5423a54dj1ecdb35b806899dd@mail.gmail.com>

Message-ID: <47C2E007B3E98F4E8BBC7997F007CE1312692D@EVS1.ac.nuigalway.ie>

>Is there a GAP function to construct the associated Lie ring of a

>finite p-group (or nilpotent group)?

>I've looked for one in the documentation but cannot find it if it exists.

>Thank you,

>Robert Heffernan

The function LowerCentralSeriesLieAlgebra in the HAP package might be what you are looking for. Details of the function can be found at http://hamilton.nuigalway.ie/Hap/doc/chap4.html#s0ss0 .

Graham

From josef.lauri at um.edu.mt Sat Jun 7 11:03:38 2008

From: josef.lauri at um.edu.mt (Josef Lauri)

Date: Sat Jun 7 11:09:03 2008

Subject: [GAP Forum] Girth of coset graph

Message-ID: <000101c8c885$c21a7ae0$464f70a0$@lauri@um.edu.mt>

Hello,

Is there a good way of computing this parameter?

Let G be a finite group and H, K two subgroups whose intersection is trivial

and whose union generates G. I need the length of the shortest sequence

H=H_1, K=K_1, H_2, K_2, ... , K_t, H_{t+1}=H, where the H_i are cosets of H,

K_j are cosets of K, all cosets in the sequence are distinct except for H_1

and H_{t+1} and (this is the crucial bit), the intersection of consecutive

cosets in the sequence is non-empty.

The way I solve this at the moment is using GRAPE. I construct the bipartite

graph whose vertices are the cosets of H and K and in which two cosets are

joined by an edge if their intersection is non-empty. Then I find the Girth

of the bipartite graph. But this does not work for large groups because GAP

runs out of memory. And it seems wasteful to construct the whole graph when

we only want the girth and we can start with any two adjacent cosets since

the graph is edge-transitive.

Actually, what I am looking for is G, H and K for which the above girth is

at least 14. I can go up to 12 with the above method. Also, I can relax the

condition on H \cap K being trivial if necessary, as long as I can still get

large girth.

Thanks for any helpful comments.

Josef Lauri

Department of Mathematics

University of Malta

From hobbyd at newpaltz.edu Sat Jun 7 16:52:09 2008

From: hobbyd at newpaltz.edu (David Hobby)

Date: Sat Jun 7 16:56:21 2008

Subject: [GAP Forum] Girth of coset graph

In-Reply-To: <000101c8c885$c21a7ae0$464f70a0$@lauri@um.edu.mt>

References: <000101c8c885$c21a7ae0$464f70a0$@lauri@um.edu.mt>

Message-ID: <484AAEA9.9040302@newpaltz.edu>

Josef Lauri wrote:

> Hello,

>

> Is there a good way of computing this parameter?

>

> Let G be a finite group and H, K two subgroups whose intersection is trivial

> and whose union generates G. I need the length of the shortest sequence

> H=H_1, K=K_1, H_2, K_2, ... , K_t, H_{t+1}=H, where the H_i are cosets of H,

> K_j are cosets of K, all cosets in the sequence are distinct except for H_1

> and H_{t+1} and (this is the crucial bit), the intersection of consecutive

> cosets in the sequence is non-empty.

Josef--

Hi. This wouldn't really use much of GAP, but how about

trying the following? Restrict to the case where H and

K are cyclic subgroups of S_n, and let G be whatever

subgroup is generated by H \cup K. (This doesn't feel

like you're losing too much.) Now let h and k be the

generators of H and K respectively. You can now view

your question as trying to find the shortest nontrivial

word in h and k that's equal to the identity.

(I believe that looking for the shortest one insures

there won't be repeated cosets.)

This is now a fairly standard computer science problem

that you'd solve by breadth-first search. Just start

producing all the words... Note that you can do this

by labeling all of the permutations in G by single

numbers, which signify the length (measured in number

of blocks of h's and k's) of the shortest word giving

you that permutation. If you don't have a word yet

that gives a permutation, label it with -1, or

something. Start with i labeled with 0, and the

rest of G labeled with -1. Then take everything

that's labeled 0, multiply it by all powers of h,

and label all the new stuff you get with a 1.

Next take everything labeled 1, multiply by all

powers of k, and label the new things with 2s.

Continue, watching out to see if you ever get

back to i. When you do, you can recover the

word that got you there by examining the labels,

taking a path where they decrease by 1 at each step.

(I was trying this for h = (12) and k = (123...n) a

bit by hand.)

---David

From e.j.postma at gmail.com Sat Jun 7 16:32:23 2008

From: e.j.postma at gmail.com (Erik Postma)

Date: Mon Jun 9 10:25:58 2008

Subject: [GAP Forum] Girth of coset graph

In-Reply-To: <6278987253416651402@unknownmsgid>

References: <6278987253416651402@unknownmsgid>

Message-ID: <d4db24520806070832g5cf0439di8a4b5c2048b2cae0@mail.gmail.com>

On Sat, Jun 7, 2008 at 6:03 AM, Josef Lauri <josef.lauri@um.edu.mt> wrote:

> Hello,

Hi Josef,

> Is there a good way of computing this parameter?

>

> Let G be a finite group and H, K two subgroups whose intersection is trivial

> and whose union generates G. I need the length of the shortest sequence

> H=H_1, K=K_1, H_2, K_2, ... , K_t, H_{t+1}=H, where the H_i are cosets of H,

> K_j are cosets of K, all cosets in the sequence are distinct except for H_1

> and H_{t+1} and (this is the crucial bit), the intersection of consecutive

> cosets in the sequence is non-empty.

I assume you also require t > 1 (otherwise the solution would always

be H, K, H).

> The way I solve this at the moment is using GRAPE. I construct the bipartite

> graph whose vertices are the cosets of H and K and in which two cosets are

> joined by an edge if their intersection is non-empty. Then I find the Girth

> of the bipartite graph. But this does not work for large groups because GAP

> runs out of memory. And it seems wasteful to construct the whole graph when

> we only want the girth and we can start with any two adjacent cosets since

> the graph is edge-transitive.

>

> Actually, what I am looking for is G, H and K for which the above girth is

> at least 14. I can go up to 12 with the above method. Also, I can relax the

> condition on H \cap K being trivial if necessary, as long as I can still get

> large girth.

>

> Thanks for any helpful comments.

I can't, off the top of my head, think of any "really clever"

algorithm that uses the group structure to its fullest. But if you

have a good algorithm for finding all H-cosets disjoint from K, the

following idea should at least use less memory than what you proposed

(although worst case it might not make much of a difference, but see

possible optimizations below) and not be much slower.

I propose to do what you propose, but only use the graph implicitly. Basic idea:

* Compute the H-cosets disjoint from K (assign to a set Hcosets) and

the K-cosets disjoint from H (assign to a set Kcosets).

* Set furthest = [K]. This will be the set of cosets at the longest

distance from H considered so far, along simple paths starting with H,

K.

* Set furthestminus1 to [H]. This will be the set of cosets at

distance one less than furthest.

* Set girth to 2.

* Loop through the following 3 bullet points:

* For all cosets K' in furthest, conjugate Hcosets into the set of

H-cosets disjoint from K'; set furthest to the union of all these

cosets, minus furthestminus1. If H is in this set, then the girth of

your graph is given by girth. Otherwise, set furthestminus1 to the old

value of furthest.

* For all cosets H' in furthest, conjugate Kcosets into the set of

K-cosets disjoint from H'; set furthest to the union of all these

cosets, minus furthestminus1. Set furthestminus1 to the old value of

furthest.

* Add 2 to girth.

You can extend this to also give you an actual cycle that has that

girth by keeping track of the path leading to every element in

furthest.

If your graph would have degree d and girth g, you'd still need to

consider d^g cosets: that should be the number of cosets in the last

stage. I can imagine a scenario where that would essentially be all

cosets in the group.

I can think of two optimizations:

* Start building from both H and K. The above algorithm start on the

"right side" of the sequence H, K and extends it only from there; you

could alternate adding a "layer" to the right and to the left. This

way, you'd only have to consider 2*d^(g/2) cosets in the last round.

* Use the group structure more cleverly: if you have the automorphism

group of the graph (which you should be able to get from the

automorphism group of the group itself I think), then you can take

advantage of that: at every stage, compute the stabilizer of each

current path, find the orbits of that stabilizer on what would be the

next set "furthest", and then take only one representative of each

orbit instead of all the elements. There will be some bookkeeping

involved in keeping track of the stabilizers, but you can of course

use the stabilizers from the previous stage to compute those for the

current one. This approach will work best if you expect your graph to

have a large automorhism group.

All the best,

Erik Postma

www.maplesoft.com

From hobbyd at newpaltz.edu Mon Jun 9 16:45:07 2008

From: hobbyd at newpaltz.edu (David Hobby)

Date: Mon Jun 9 16:49:49 2008

Subject: [GAP Forum] Girth of coset graph

In-Reply-To: <d4db24520806070832g5cf0439di8a4b5c2048b2cae0@mail.gmail.com>

References: <6278987253416651402@unknownmsgid>

<d4db24520806070832g5cf0439di8a4b5c2048b2cae0@mail.gmail.com>

Message-ID: <484D5003.4040803@newpaltz.edu>

Erik Postma wrote:

...

>> Let G be a finite group and H, K two subgroups whose intersection is trivial

>> and whose union generates G. I need the length of the shortest sequence

>> H=H_1, K=K_1, H_2, K_2, ... , K_t, H_{t+1}=H, where the H_i are cosets of H,

>> K_j are cosets of K, all cosets in the sequence are distinct except for H_1

>> and H_{t+1} and (this is the crucial bit), the intersection of consecutive

>> cosets in the sequence is non-empty.

...

> I can't, off the top of my head, think of any "really clever"

> algorithm that uses the group structure to its fullest. But if you

> have a good algorithm for finding all H-cosets disjoint from K, the

> following idea should at least use less memory than what you proposed

> (although worst case it might not make much of a difference, but see

> possible optimizations below) and not be much slower.

Erik--

Hi. That's the best I could do, pretty much a breadth-first

search. In Josef's work, he has |G| much greater than

|H|*|K|, since he's trying to get a large girth. So removing

the cosets of H that intersect with the subgroup K is not

much of a savings from just using all the cosets of H.

...

> * Loop through the following 3 bullet points:

> * For all cosets K' in furthest, conjugate Hcosets into the set of

> H-cosets disjoint from K'; set furthest to the union of all these

> cosets, minus furthestminus1. If H is in this set, then the girth of

> your graph is given by girth. Otherwise, set furthestminus1 to the old

> value of furthest.

> * For all cosets H' in furthest, conjugate Kcosets into the set of

> K-cosets disjoint from H'; set furthest to the union of all these

> cosets, minus furthestminus1. Set furthestminus1 to the old value of

> furthest.

> * Add 2 to girth.

>

> You can extend this to also give you an actual cycle that has that

> girth by keeping track of the path leading to every element in

> furthest.

>

> If your graph would have degree d and girth g, you'd still need to

> consider d^g cosets: that should be the number of cosets in the last

> stage. I can imagine a scenario where that would essentially be all

> cosets in the group.

I bet it has to be, if you succeed in getting a large girth.

> I can think of two optimizations:

> * Start building from both H and K. The above algorithm start on the

> "right side" of the sequence H, K and extends it only from there; you

> could alternate adding a "layer" to the right and to the left. This

> way, you'd only have to consider 2*d^(g/2) cosets in the last round.

Clever. It would increase bookkeeping costs, though.

> * Use the group structure more cleverly: if you have the automorphism

> group of the graph (which you should be able to get from the

> automorphism group of the group itself I think), then you can take

> advantage of that: at every stage, compute the stabilizer of each

> current path, find the orbits of that stabilizer on what would be the

> next set "furthest", and then take only one representative of each

> orbit instead of all the elements.

...

I don't see this one as helping much. You're essentially trying

to remove duplicate paths to get to a new coset. But if you ever

DID have two different paths to get a coset, you've found a

cycle in the graph, and you're done.

One can extend the above observation to get a bound on the girth

in terms of |G|, |K| and |H|. (Although there may well be another

way to get this.) I'll outline it for a case that Josef was working

on:

> I have been trying

> various groups including S_n but when the group gets large gap runs out of

> memory (usually after several hours!). The best (computationally, that is,

> in terms of gap being able to work things out without crashing) results I

> got till now were, as you suggested, when H and K were cyclic generated by

> two permutations. (Sometimes I tried groups which were, say, fp groups, but

> turning them into permutation groups was often essential). But when I went

> beyond S_8 gap could not cope. However I cannot use a small group generated

> by the two permutations because I want girth 14. So I'll try your method

> with (1,2,3,4,5,6,7,8,9) and (1,2), which gap cannot tackle if I let it

> generate the whole sets of cosets.

Here K and H would be the cyclic subgroups of G = S_n generated by the

two permutations. I believe Josef found girth 12 using (12345678) and

(12) in S_8. I've been looking at this in terms of elements rather

than cosets. For |K| and |H| small, it doesn't make much difference.

So I start at the identity, i, and look at the new elements produced.

I get (12) by using an H-coset, and then get 2*7 new elements by using

either of the two K-cosets. Then I'll look at what I get by using

H-cosets on the last 14 elements, giving 14 more. Etc.

I'm assuming that all the elements produced this way are new, because

if there are any repeats then we have a cycle in the graph. But the

pigeonhole principle will eventually force repeats. How far can we

go before this happens? Combining H and K steps as Erik does, one

usage of H and K gives 1 + 1 + 14 = 16 elements. I calculated the

rest by hand, so there may by mistakes. But I got that the number

of elements goes up by around a factor of 7 each time we do H and

K cosets again, giving the sequence: 0, 16, 128, 912, 6400, 44816.

The last one is more than 8! = 40320, meaning that there must be

two products of length 10 that come out the same. This yields a

cycle of length 20, which simplifies to one of length 18, giving

an upper bound on the girth of 18. (By "simplifies", I mean

removing obvious extra steps from the cycle. For instance, uses

of H and K cosets must obviously alternate.)

It's an interesting problem.

---David

From alexander.konovalov at gmail.com Tue Jun 10 12:09:37 2008

From: alexander.konovalov at gmail.com (Alexander Konovalov)

Date: Tue Jun 10 12:10:01 2008

Subject: [GAP Forum] Associated Lie Ring of a finite p-group

In-Reply-To: <47C2E007B3E98F4E8BBC7997F007CE1312692D@EVS1.ac.nuigalway.ie>

References: <6d9a83e90806050823o5423a54dj1ecdb35b806899dd@mail.gmail.com>

<47C2E007B3E98F4E8BBC7997F007CE1312692D@EVS1.ac.nuigalway.ie>

Message-ID: <25DD83D7-79D8-4D65-9664-C3799F51B74B@gmail.com>

Dear Robert,

For a finite p-group G, GAP can construct two other similarly defined

Lie algebras,

namely JenningsLieAlgebra( G ) and PCentralLieAlgebra ( G ).

Type ?JenningsLieAlgebra or ?PCentralLieAlgebra in GAP prompt to see

the description.

Maybe one of those is what you are looking for.

Best wishes,

Alexander

On 5 Jun 2008, at 18:33, Ellis, Grahamj wrote:

>> Is there a GAP function to construct the associated Lie ring of a

>> finite p-group (or nilpotent group)?

>> I've looked for one in the documentation but cannot find it if it

>> exists.

>

>> Thank you,

>> Robert Heffernan

>

> The function LowerCentralSeriesLieAlgebra in the HAP package might

> be what you are looking for. Details of the function can be found at http://hamilton.nuigalway.ie/Hap/doc/chap4.html#s0ss0

> .

>

> Graham

From mim_ at op.pl Fri Jun 20 15:35:44 2008

From: mim_ at op.pl (mim_@op.pl)

Date: Fri Jun 20 15:36:02 2008

Subject: [GAP Forum] Exp for matrix

Message-ID: <Q123605462-c82cb1cd97eadccc1a49635823d95312@pmq2.test.onet.pl>

Hello,

Is there way to calculate exp(M) for matrix M in GAP ?

It seems there is no real numbers in GAP and no way to present matrix

exp([[0,-1],[1,0]])=[[cos(1), -sin(1)], [sin(1), cos(1)]]

Regards,

Marek Mitros

From nmotahary at yahoo.com Sat Jun 21 07:26:06 2008

From: nmotahary at yahoo.com (narges motahary)

Date: Mon Jun 23 10:13:57 2008

Subject: [GAP Forum] I have a request

Message-ID: <723427.28702.qm@web45213.mail.sp1.yahoo.com>

Hello

I want to find all irreducible complex characters of a group G with GAP,could you help me and give me the structer of this?

thanks for your help

From hulpke at math.colostate.edu Wed Jun 25 21:40:25 2008

From: hulpke at math.colostate.edu (Alexander Hulpke)

Date: Wed Jun 25 21:41:01 2008

Subject: [GAP Forum] Exp for matrix

In-Reply-To: <Q123605462-c82cb1cd97eadccc1a49635823d95312@pmq2.test.onet.pl>

References: <Q123605462-c82cb1cd97eadccc1a49635823d95312@pmq2.test.onet.pl>

Message-ID: <B0C5C117-982D-448C-B478-3458A3B8C2EC@math.colostate.edu>

Dear Forum, dear Marek Mitros,

>

> Is there way to calculate exp(M) for matrix M in GAP ?

That unfortunately is no such functionality, though it probably

wouldn't be too hard to implement for nilpotent matrices or over

finite fields.

> It seems there is no real numbers in GAP and no way to present matrix

> exp([[0,-1],[1,0]])=[[cos(1), -sin(1)], [sin(1), cos(1)]]

indeed there are no real numbers (and only a very rudimentary version

of floating point numbers with fixed accuracy) implemented. If your

focus is working over the reals you will probably be better off with

using system like Maple, Mathematica or MuPAD.

Sorry,

Alexander Hulpke

-- Colorado State University, Department of Mathematics,

Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA

email: hulpke@math.colostate.edu, Phone: ++1-970-4914288

http://www.math.colostate.edu/~hulpke

From am at ime.usp.br Fri Jun 27 23:47:41 2008

From: am at ime.usp.br (Arnaldo Mandel)

Date: Fri Jun 27 23:47:56 2008

Subject: [GAP Forum] Lookup tables in gap

Message-ID: <18533.28173.623608.712973@gargle.gargle.HOWL>

I ran into a performance wall in GAP while handling lookup tables. By

telling the story I hope to either get advice on how to handle the

problem (although I found a way out and explain it later), or point

the maintainers to a possible improvement in GAP's guts.

The story begins with an intricate structure, whose nodes are records

uniquely labelled by strings, with several string pointing to other

records. Some of these pointers are labels of nonexistent nodes.

These nodes are on a list N, ordered by their labels as strings.

Sizes: just under 1,000,000 nodes, and about 2,500,000 labels.

(BTW: the nodes are elements of a group I am investigating, so it is

quite natural to work on it in GAP)

I had to traverse the structure, following these pointers. So I

needed a lookup table to convert labels into records.

First, obvious solution: produced an ordered list L of all labels

(that was fast!). Although L is longer than N, it is true that the

label of N[i] is L[i], so, given a label s, the corresponding record

is N[Position(L,s)]. Also, since L is ordered, lookup should be fast.

That seems fine, so I tried a traversal, which I know takes linear

time on the number of links. It took forever. I had the routine

print a progress report, and it was clearly crawling.

Then I tried an alternative: keep L, and replace in N each label by

its corresponding index in L. Tried it in place and tried it

generating a new list. In both cases it crawled.

At this point, it is worth mentioning that the hardware I use is up to

the task: fast 64bit processors, enough memory (I allowed GAP 18GB,

but it never reached 8).

Last chance: use a record as an associative array. That is, create a

record R such that, for every label s, R.(s) = Position(L,s). Looking

at the GAP source was encouraging, as records are implemented using

hashing. Filling up R is easy: for every index i on L, R.(L[i]):=i.

Fortunately, I had a progress meter. It started very fast, up to

300,000. Then it petered out to more that a second per index.

So, that is the story. Could I have done any better or could the

record implementation get some revamping?

I solved my problem by going out of GAP. First I printed the

structure to a file (2.5GB), and then processed it through a small

perl program to do the transformation I tried before. The logic is

the same as I tried with R, usig a perl hash. In less than 60 seconds

it produced a GAP-readable file containing L and the transformed N.

That really solved my problem. After adapting the traversal routines,

now GAP processes N any which way I need very quickly.

Still, I spent quite sometime trying a pure GAP solution; maybe GAP

could borrow the hash implementation from perl.

Cheers,

Arnaldo Mandel

Departamento de Ci?ncia da Computa??o - Computer Science Department

Universidade de S?o Paulo, Bra[sz]il

am@ime.usp.br

Talvez voc? seja um Bright http://the-brights.net Maybe you are a Bright.

From hulpke at math.colostate.edu Sat Jun 28 03:48:08 2008

From: hulpke at math.colostate.edu (Alexander Hulpke)

Date: Sat Jun 28 03:48:37 2008

Subject: [GAP Forum] Lookup tables in gap

In-Reply-To: <18533.28173.623608.712973@gargle.gargle.HOWL>

References: <18533.28173.623608.712973@gargle.gargle.HOWL>

Message-ID: <BE367AEE-79E6-4D47-8D19-0FA93247E312@math.colostate.edu>

Dear Arnaldo Mandel, Dear Forum,

> First, obvious solution: produced an ordered list L of all labels

> (that was fast!). Although L is longer than N, it is true that the

> label of N[i] is L[i], so, given a label s, the corresponding record

> is N[Position(L,s)]. Also, since L is ordered, lookup should be fast.

>

> That seems fine, so I tried a traversal, which I know takes linear

> time on the number of links. It took forever. I had the routine

> print a progress report, and it was clearly crawling.

from the description given, I understand that you have a list of

strings, in which you are searching. The performance problems indicate

that the strings are not immutable. In this case GAP cannot store that

the list is sorted, but checks it every time.

(The reason for this slightly disturbing behaviour is that it would be

possible to change one of the strings (and thus making the list not

sorted) without the list noticing. Section "Sorted Lists and Sets" in

the manual has more details.

A workaround is easy. Simply do

for i in L do

MakeImmutable(i);

od;

This should give you a substantial speedup.

All the best,

Alexander Hulpke

-- Colorado State University, Department of Mathematics,

Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA

email: hulpke@math.colostate.edu, Phone: ++1-970-4914288

http://www.math.colostate.edu/~hulpke

From mim_ at op.pl Mon Jun 30 08:29:59 2008

From: mim_ at op.pl (mim_@op.pl)

Date: Mon Jun 30 08:30:35 2008

Subject: [GAP Forum] Re: Complex numbers (again) and Lie closure

Message-ID: <Q126651026-b1d27da692120ef172d9402f6e21b586@pmq3.test.onet.pl>

Hello Knut,

I am using following function for commuting the set of matrices - see below function commute3. It returns two lists: first is commuted set of matrices, second is list of indexes. List of indexes is useful for using next time to obtain basis of Lie algebra quicker.

My function is quicker than GAP "Basis" function. Here is example of usage:

ms:=[[[0,-1],[1,0]],

[[0,1], [1,0]]];

# Loop execute 3 times, log is printed, if more that 20-dimensional then quit.

aa:=commute3(ms, [], 2, 3, true, 20);

# If you need to commute more then do following

bb:=commute3(aa[1], aa[2], 3, 3, true, 20);

In GAP we could do it like this.

alg:=LieAlgebra(Rationals, ms);

dim:=Dimension(alg);

Print("Dimension of alg is ", dim, "\n");

But sometimes this Dimension function is very slow and sometimes return error. Then you have to do first Basis(alg) and then Dimension(). But Basis() function is also slow.

This is my experience of working with Lie matrix algebras.

Regards,

Marek

# Added more parameteres: a=set of matrices generators,

# ind= set of indexes to show which commutators form basis

# start=index starting from which second base element is commuted - to save time

# times= how many times loop should be executed

# print_log=prints log while commuting

# max_no=quit when length of result basis is longer then max_no

# For now it doesn't work for quaternions !

commute3:=function(a, ind, start, times, print_log, max_no)

local i,j,b,bb,x,count, out_ind, k;

if times=0 then return [a,ind]; fi;

b:=a;

out_ind := ind;

count:=Length(b);

bb:=MutableBasis(CF(4),b);

for i in [1..count-1] do

k:=Maximum(start, i+1);

for j in [k..count] do

x:=b[i]*b[j]-b[j]*b[i];

if not IsContainedInSpan(bb,x) then

Add(b,x); Add(out_ind, [i,j]);

CloseMutableBasis(bb,x); # This should work quicker than MutableBasis(b);

if print_log then Print("[",i,",",j,"]"," added - dim=",Length(b),"\n"); fi;

fi;

if Length(b)>max_no then return [b,out_ind]; fi;

od;

od;

if print_log then Print("Now length of basis b is ",Length(b),"\n"); fi;

if times>1 then

return commute3(b,out_ind, count+1, times-1, print_log, max_no);

fi;

return [b, out_ind];

end;;

From am at ime.usp.br Mon Jun 30 19:46:21 2008

From: am at ime.usp.br (Arnaldo Mandel)

Date: Mon Jun 30 19:46:40 2008

Subject: [GAP Forum] Lookup tables in gap

In-Reply-To: <BE367AEE-79E6-4D47-8D19-0FA93247E312@math.colostate.edu>

References: <18533.28173.623608.712973@gargle.gargle.HOWL>

<BE367AEE-79E6-4D47-8D19-0FA93247E312@math.colostate.edu>

Message-ID: <18537.10749.309171.102666@gargle.gargle.HOWL>

Alexander Hulpke wrote (on Jun 27, 2008):

> Dear Arnaldo Mandel, Dear Forum,

>

> > First, obvious solution: produced an ordered list L of all labels

> > (that was fast!). Although L is longer than N, it is true that the

> > label of N[i] is L[i], so, given a label s, the corresponding record

> > is N[Position(L,s)]. Also, since L is ordered, lookup should be fast.

> >

> > That seems fine, so I tried a traversal, which I know takes linear

> > time on the number of links. It took forever. I had the routine

> > print a progress report, and it was clearly crawling.

>

> from the description given, I understand that you have a list of

> strings, in which you are searching. The performance problems indicate

> that the strings are not immutable. In this case GAP cannot store that

> the list is sorted, but checks it every time.

> (The reason for this slightly disturbing behaviour is that it would be

> possible to change one of the strings (and thus making the list not

> sorted) without the list noticing. Section "Sorted Lists and Sets" in

> the manual has more details.

>

> A workaround is easy. Simply do

> for i in L do

> MakeImmutable(i);

> od;

>

> This should give you a substantial speedup.

Thanks for the tip! Although I had already worked around the problem,

I decided to test your suggestion. After all, I have known GAP

forever, but only recently I started to use it seriously. So, the

least I can get from this exercise is a better understanding of GAP.

I read about MakeImmutable, and it seemed to me that the simple

statement MakeImmutable(L); would accomplish the same as your loop

above. A little test confirmed it.

So, I tried this in my old traversal routine. Instead of using the

large list L, I used only the small one, N. Still, after a while it

was clear that it had not helped: the traversal still crawled. Just

to recall what I said before: on the same structure, with strings

mapped already to indices, the whole traversal took less than a

minute.

(A back of the envelope calculation: Position is called once in the

innermost loop of the traversal. Since Size(N) is just under a

million, execution of Position entails about 20 string comparisons;

this is probably 100 times longer than direct indexing, but this would

be still faster than what I observed, and would not account for the

gradual slowing down in tha algorithm)

Then I tried to see how efficient would be a record as an associative

array. In what follows I present an interaction so that it is made

clear what I did. The list N is called names, below:

gap> Size(names);

973438

gap> IsMutable(names);

false

gap> ForAny(names,IsMutable);

false

gap> ForAll(names,IsString);

true

gap> Maximum(List(names,Length));

141

# Note: more than half have length between 12 and 16.

gap> R:=rec();

rec( )

gap> for i in [1..Size(names)] do

> R.(names[i]):=i;

> if i mod 128 = 0 then

> Print("\r",i);

> fi;od;

So, I could see the progress along i. In the beginning, it looked

like a quick animation, one could barely read the numbers. At about

i=300000, things started to slow down visibly. It was taking 1s for

each block of 128 indices. Now it has reached 500000, and it takes

about 3s for each such block. I will let it go to see whether it

finishes or goes to exponential hell.

Cheers,

am

--

Arnaldo Mandel

Departamento de Ci?ncia da Computa??o - Computer Science Department

Universidade de S?o Paulo, Bra[sz]il

am@ime.usp.br

Talvez voc? seja um Bright http://the-brights.net Maybe you are a Bright.

From frank.luebeck at math.rwth-aachen.de Mon Jun 30 21:20:57 2008

From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=)

Date: Mon Jun 30 21:21:10 2008

Subject: [GAP Forum] Lookup tables in gap

In-Reply-To: <18533.28173.623608.712973@gargle.gargle.HOWL>

References: <18533.28173.623608.712973@gargle.gargle.HOWL>

Message-ID: <20080630202057.GA25658@beteigeuze>

Dear Arnaldo Mandel, Dear Forum,

> First, obvious solution: produced an ordered list L of all labels

> (that was fast!). Although L is longer than N, it is true that the

> label of N[i] is L[i], so, given a label s, the corresponding record

> is N[Position(L,s)]. Also, since L is ordered, lookup should be fast.

Short answer: Use N[PositionSorted(L,s)]. More generally, always use

'PositionSorted' instead of 'Position', when you know that your list

is sorted (but you are responsible to make sure that this is true).

And below is a longer answer as well. I'll try to discuss some aspects of

the mentioned problem in a commented GAP session. Maybe this is of more

general interest, since even experienced GAP users are sometimes running

into certain traps when dealing with long lists.

> Last chance: use a record as an associative array. That is, create a

> record R such that, for every label s, R.(s) = Position(L,s). Looking

No, this doesn't help. In the moment record components are stored unsorted

and so they are searched linearly. (We will probably change this with the

next release of GAP.)

With best regards,

Frank

gap> # As an example we produce a sorted list of strings without duplicates,

gap> # containing almost 10^6 entries:

gap> L := Set(List([1..1000000], i->

> ShallowCopy(String(Random(100000000,900000000)))));;

gap> Length(L);

999379

gap>

gap> # Now L is mutable and has mutable entries.

gap> # Using 'Position' on L uses linear search:

gap> for i in [1..100] do p := Position(L, L[i]); od; time;

0

gap> for i in [1..100] do p := Position(L, L[900000+i]); od; time;

9037

gap>

gap> # Here GAP cannot remember that L is actually sorted, because the list L

gap> # doesn't know about changes of its entries (and changing an entry could

gap> # make the list unsorted). So, GAP cannot do better above.

gap>

gap> # Now, if we make the entries of L immutable, the above problem cannot

gap> # occur, it will be no longer possible to change the entries of L (of

gap> # course, this step may not be an option for you, if you do want to

gap> # change the entries of L, maybe later).

gap> for s in L do MakeImmutable(s); od;

gap>

gap> # ok, let's try again:

gap> for i in [1..100] do p := Position(L, L[i]); od; time;

0

gap> for i in [1..100] do p := Position(L, L[900000+i]); od; time;

9016

gap>

gap> # Hm, we get the same as before? The problem now is that GAP didn't run

gap> # through the whole list to check if it is sorted. Let's look at the

gap> # information GAP has stored about L:

gap> TNUM_OBJ(L);

[ 20, "list (plain,dense)" ]

gap>

gap> # Ok, we make GAP learning more about L:

gap> IsSortedList(L);

true

gap> TNUM_OBJ(L);

[ 40, "list (plain,table,ssort)" ]

gap>

gap> # Since the entries of L are now immutable, GAP can remember the

gap> # sortedness. Another try for our loops:

gap> for i in [1..100] do p := Position(L, L[i]); od; time;

0

gap> for i in [1..100] do p := Position(L, L[900000+i]); od; time;

0

gap>

gap> # So, we are lucky that GAP has a builtin feature to remember that L is

gap> # sorted in this case! It can now use a much faster binary search. We

gap> # can run much longer loops:

gap> for i in [1..Length(L)] do p := Position(L, L[i]); od; time;

700

gap>

gap> # But, there can still be a problem in a very similar setting. Let us

gap> # double the last entry of L:

gap> Add(L,L[Length(L)]);

gap>

gap> # Now L is still sorted, but entries are not unique. Nevertheless, to

gap> # find an entry in L we could still use a binary search. But see what

gap> # happens:

gap> IsSortedList(L);

true

gap> TNUM_OBJ(L);

[ 38, "list (plain,table,nsort)" ]

gap> for i in [1..100] do p := Position(L, L[i]); od; time;

0

gap> for i in [1..100] do p := Position(L, L[900000+i]); od; time;

9049

gap>

gap> # Unfortunately, GAP has only a hook for remembering that a list is

gap> # sorted without duplicates, but not just that it is sorted. So, now

gap> # we are unlucky, even having immutable entries in L doesn't help.

gap>

gap> # But, remember my very first hint, if you know that a list is sorted

gap> # use 'PositionSorted' instead of 'Position', then you don't need to

gap> # care about all these internals:

gap> for i in [1..Length(L)] do p := PositionSorted(L, L[i]); od; time;

1052

gap>

gap> # Finally, let me mention an effect (a trap), which becomes worse if the

gap> # entries of a long list are again lists or records, and their entries

gap> # ....

gap> # If the entries are mutable then GAP runs recursively through this

gap> # structure whenever it is used as an argument of an operation. (This

gap> # is to find the "type" of the object and to find the right method for

gap> # the operation.) This is particularly annoying if the operation is

gap> # doing something quite cheap and most information in the 'type' of

gap> # the list is not needed.

gap> N := List(L, s-> rec(label:=rec(string:=[s])));;

gap> # 'Size' for a list returns its 'Length':

gap> for i in [1..100] do l := Size(N); od; time;

3940

gap> # If you use 'Length' directly, GAP uses a kernel hook to avoid the

gap> # problem in this particular case:

gap> for i in [1..1000000] do l := Length(N); od; time;

64

gap> # Making entries immutable helps. But again, sometimes this may not

gap> # be a solution because you do want to change your objects later.

gap> for r in N do MakeImmutable(r); od;

gap> for i in [1..1000000] do l := Size(N); od; time;

280

From am at ime.usp.br Tue Jul 1 14:22:22 2008

From: am at ime.usp.br (Arnaldo Mandel)

Date: Tue Jul 1 14:22:56 2008

Subject: [GAP Forum] Lookup tables in gap

In-Reply-To: <20080630202057.GA25658@beteigeuze>

References: <18533.28173.623608.712973@gargle.gargle.HOWL>

<20080630202057.GA25658@beteigeuze>

Message-ID: <18538.12174.68798.336062@gargle.gargle.HOWL>

Frank L?beck wrote (on Jun 30, 2008):

> Dear Arnaldo Mandel, Dear Forum,

Hello Frank and everybody,

>

>

> > First, obvious solution: produced an ordered list L of all labels

> > (that was fast!). Although L is longer than N, it is true that the

> > label of N[i] is L[i], so, given a label s, the corresponding record

> > is N[Position(L,s)]. Also, since L is ordered, lookup should be fast.

>

> Short answer: Use N[PositionSorted(L,s)]. More generally, always use

> 'PositionSorted' instead of 'Position', when you know that your list

> is sorted (but you are responsible to make sure that this is true).

Tried this, and again it is a no go.

The traversal ran for several hours until I killed it.

Then, tried yet a little hack, based on your example: called

IsSortedList(L) just after MakeImmutable(L). I would have thought it

completely innocuous, just from the documentation. Alas...

Up, up and away, SuperGAP! It really flew, and for my practical

purposes was as fast as dealing with the modified structure, in which

all strings were substituted by numerical indices.

Amazing how much difference giving GAP a hint can make.

Thanks, it was a very interesting learning experience.

[]

am

--

Arnaldo Mandel

Departamento de Ci?ncia da Computa??o - Computer Science Department

Universidade de S?o Paulo, Bra[sz]il

am@ime.usp.br

Talvez voc? seja um Bright http://the-brights.net Maybe you are a Bright.

From aeb at win.tue.nl Mon Jul 7 15:08:37 2008

From: aeb at win.tue.nl (A.E. Brouwer)

Date: Mon Jul 7 15:12:21 2008

Subject: [GAP Forum] StructureDescription

Message-ID: <20080707140837.GA4474@win.tue.nl>

The GAP manual advertises:

"The method for StructureDescription exhibits the structure of

the given group to some extend using the strategy outlined below.

The idea is to return a possibly short string which gives some insight

in the structure of the considered group and can be computed

reasonably quickly."

(manual typo: s/extend/extent/)

It seems to me that the idea fails. Maybe it is meant to be used only

on baby groups, say with fewer than 100 elements, but used on

rather small groups it usually crashes after many hours.

Reactions are: recursion depth overflow (at recursion depth 5000), or

memory overflow (needs more than the 3GB allowed on the command line), or

missing info in Holt/Plesken library.

This is on a 4GB machine, and Google shows me the complaint of

R. Keith Dennis who tried groups of order 256 on a 128GB machine,

and found that GAP crashed, so I need not be surprised that GAP

fails for me on groups of order 1024.

Other functions reveal the structure of the groups involved rather quickly.

I wonder what StructureDescription tries to do that is so extremely expensive.

Maybe the present behaviour should be regarded as buggy.

It does not live up to what the manual promises.

Andries

From soicram at icmc.usp.br Mon Jul 7 18:53:50 2008

From: soicram at icmc.usp.br (=?iso-8859-1?Q?M=E1rcio_de_Jesus_Soares?=)

Date: Mon Jul 7 18:54:15 2008

Subject: [GAP Forum] ring group with quaternion group

Message-ID: <1317.143.107.183.74.1215453230.squirrel@mail2.icmc.usp.br>

Hi list,

I have a projective resolution for generalized quaternion group Q_{2^i},

and i have a Z-action on Q_{2^i}. I need to calculate the induced chain

map by Z-action.

Indeed, i have to obtain the elements A and B in ZQ_{2^i} such that

(x-1)A=x^k(x^ly-1) and (y-1)B=-(x^ly-1).

Does someone knows how i can ddo this in GAP?

Thanks for attention,

M?rcio J. Soares

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

Departamento de Matem?tica, ICMC/USP

Av. do Trabalhador S?o-Carlense, 400

Cx. Postal 668 - CEP 13560-970

S?o Carlos/ SP

Tels.(16) 3373-8164

(16) 3371-8045

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

From dennis at rkd.math.cornell.edu Mon Jul 7 15:58:44 2008

From: dennis at rkd.math.cornell.edu (R. Keith Dennis)

Date: Tue Jul 8 07:16:07 2008

Subject: [GAP Forum] StructureDescription

Message-ID: <200807071458.m67EwiUL032503@rkd.math.cornell.edu>

Dear Andries,

Several points:

1. StructureDescription works quickly (see next point also) with

groups called from the SmallGroups library. It tends to be

much slower with groups described otherwise (e.g., some random

presentation).

2. A slightly modified version of the program works substantially

faster and with less memory; it's my understanding it will be in

the next version of gap. (Thanks Burkhard!)

3. Crashing: This turned out to be a combination of things: First,

some sort of memory problem in our machine. That's fixed now.

I can highly recommend the programs that the gap group makes

available for testing memory.

Second: However, in computing large automorphism groups, gap

continued to crash the machine. It appears that this was caused

by some interaction with the operating system. We switch to

Scientific Linux (~ RedHat Enterprise 5) last week & the problem

seems to have vanished (at least I'm using up to 50+G and the

machine hasn't crashed yet).

4. Which group(s) of order 1024? I'd be intersted in seeing if the

new version of StructureDescription can handle them.

So for the StructureDescription problem, for my uses,I'm quite happy

at the moment. The help I received was fantastic. Thanks everyone!

I still have a problem with computing automorphism groups for groups

of order 256, but I'll send a note about that at lome point later.

Keith

> The GAP manual advertises:

> "The method for StructureDescription exhibits the structure of

> the given group to some extend using the strategy outlined below.

> The idea is to return a possibly short string which gives some insight

> in the structure of the considered group and can be computed

> reasonably quickly."

>

> (manual typo: s/extend/extent/)

>

> It seems to me that the idea fails. Maybe it is meant to be used only

> on baby groups, say with fewer than 100 elements, but used on

> rather small groups it usually crashes after many hours.

> Reactions are: recursion depth overflow (at recursion depth 5000), or

> memory overflow (needs more than the 3GB allowed on the command line), or

> missing info in Holt/Plesken library.

> This is on a 4GB machine, and Google shows me the complaint of

> R. Keith Dennis who tried groups of order 256 on a 128GB machine,

> and found that GAP crashed, so I need not be surprised that GAP

> fails for me on groups of order 1024.

>

> Other functions reveal the structure of the groups involved rather quickly.

> I wonder what StructureDescription tries to do that is so extremely expensive.

>

> Maybe the present behaviour should be regarded as buggy.

> It does not live up to what the manual promises.

>

From aeb at win.tue.nl Tue Jul 8 08:49:43 2008

From: aeb at win.tue.nl (A.E. Brouwer)

Date: Tue Jul 8 08:50:07 2008

Subject: [GAP Forum] StructureDescription

In-Reply-To: <200807071458.m67EwiUL032503@rkd.math.cornell.edu>

References: <200807071458.m67EwiUL032503@rkd.math.cornell.edu>

Message-ID: <20080708074943.GA11205@win.tue.nl>

Hi Keith,

> 2. A slightly modified version of the program works substantially

> faster and with less memory; it's my understanding it will be in

> the next version of gap. (Thanks Burkhard!)

Where is it?

> 3. Crashing: ...

(I described not the "Segmentation fault" type of crash, but the

"recursion depth exceeded" / "memory exceeded" / "Holt/Plesken incomplete"

types of failure.)

> 4. Which group(s) of order 1024? I'd be intersted in seeing if the

> new version of StructureDescription can handle them.

Easier if you provide that new version. This happens in real life,

not a group from some library.

Andries

>> The GAP manual advertises:

>> "The method for StructureDescription exhibits the structure of

>> the given group to some extend using the strategy outlined below.

>> The idea is to return a possibly short string which gives some insight

>> in the structure of the considered group and can be computed

>> reasonably quickly."

>>

>> (manual typo: s/extend/extent/)

>>

>> It seems to me that the idea fails. Maybe it is meant to be used only

>> on baby groups, say with fewer than 100 elements, but used on

>> rather small groups it usually crashes after many hours.

>> Reactions are: recursion depth overflow (at recursion depth 5000), or

>> memory overflow (needs more than the 3GB allowed on the command line),

>> or missing info in Holt/Plesken library.

>>

>> Other functions reveal the structure of the groups involved

>> rather quickly. I wonder what StructureDescription tries to do

>> that is so extremely expensive.

From Bartosz.Putrycz at math.univ.gda.pl Tue Jul 8 09:47:06 2008

From: Bartosz.Putrycz at math.univ.gda.pl (Bartosz Putrycz)

Date: Tue Jul 8 09:48:03 2008

Subject: [GAP Forum] StructureDescription

In-Reply-To: <200807071458.m67EwiUL032503@rkd.math.cornell.edu>

References: <200807071458.m67EwiUL032503@rkd.math.cornell.edu>

Message-ID: <4873298A.6010302@math.univ.gda.pl>

> Dear Andries,

>

> Several points:

>

> 1. StructureDescription works quickly (see next point also) with

> groups called from the SmallGroups library. It tends to be

> much slower with groups described otherwise (e.g., some random

> presentation).

>

> 2. A slightly modified version of the program works substantially

> faster and with less memory; it's my understanding it will be in

> the next version of gap. (Thanks Burkhard!)

>

> 3. Crashing: This turned out to be a combination of things: First,

> some sort of memory problem in our machine. That's fixed now.

> I can highly recommend the programs that the gap group makes

> available for testing memory.

> Second: However, in computing large automorphism groups, gap

> continued to crash the machine. It appears that this was caused

> by some interaction with the operating system. We switch to

> Scientific Linux (~ RedHat Enterprise 5) last week & the problem

> seems to have vanished (at least I'm using up to 50+G and the

> machine hasn't crashed yet).

>

Dear Keith,

I also noticed problems with StructureDescription, with groups of high rank.

For example extraspecial 2-group of order 128:

"

gap> StructureDescription(SmallGroup([128, 2327]));

exceeded the permitted memory (`-o' command line option) at

...

"

With change of memory settings it is possible to handle it, but it takes

a lot of time on my machine.

And maybe more challenging:

StructureDescription(SmallGroup([512, 10494212]));

Bartek.

> 4. Which group(s) of order 1024? I'd be intersted in seeing if the

> new version of StructureDescription can handle them.

>

> So for the StructureDescription problem, for my uses,I'm quite happy

> at the moment. The help I received was fantastic. Thanks everyone!

>

> I still have a problem with computing automorphism groups for groups

> of order 256, but I'll send a note about that at lome point later.

>

> Keith

>

>

>

>> The GAP manual advertises:

>> "The method for StructureDescription exhibits the structure of

>> the given group to some extend using the strategy outlined below.

>> The idea is to return a possibly short string which gives some insight

>> in the structure of the considered group and can be computed

>> reasonably quickly."

>>

>> (manual typo: s/extend/extent/)

>>

>> It seems to me that the idea fails. Maybe it is meant to be used only

>> on baby groups, say with fewer than 100 elements, but used on

>> rather small groups it usually crashes after many hours.

>> Reactions are: recursion depth overflow (at recursion depth 5000), or

>> memory overflow (needs more than the 3GB allowed on the command line), or

>> missing info in Holt/Plesken library.

>> This is on a 4GB machine, and Google shows me the complaint of

>> R. Keith Dennis who tried groups of order 256 on a 128GB machine,

>> and found that GAP crashed, so I need not be surprised that GAP

>> fails for me on groups of order 1024.

>>

>> Other functions reveal the structure of the groups involved rather quickly.

>> I wonder what StructureDescription tries to do that is so extremely expensive.

>>

>> Maybe the present behaviour should be regarded as buggy.

>> It does not live up to what the manual promises.

>>

>>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From bob.heffernan at gmail.com Tue Jul 8 14:39:21 2008

From: bob.heffernan at gmail.com (Robert Heffernan)

Date: Tue Jul 8 14:39:37 2008

Subject: [GAP Forum] finding all isomorphisms

Message-ID: <6d9a83e90807080639i34ce583byd095b392cb514387@mail.gmail.com>

Hi,

The function IsomorphismGroups(G,H) (and others like it) will return a

"random" isomorphism between the groups G and H (if one exists) but is

there a way to find all such isomorphisms?

Pushing findall:=true onto the options stack doesn't seem the change

the behaviour of IsomorphismGroups.

Thank you.

Bob

--

Robert Heffernan

Mathematics Postgraduate, UCC, Cork, Ireland.

From marc_roeder at web.de Tue Jul 8 16:34:14 2008

From: marc_roeder at web.de (Marc Roeder)

Date: Tue Jul 8 16:35:01 2008

Subject: [GAP Forum] finding all isomorphisms

In-Reply-To: <6d9a83e90807080639i34ce583byd095b392cb514387@mail.gmail.com>

References: <6d9a83e90807080639i34ce583byd095b392cb514387@mail.gmail.com>

Message-ID: <487388F6.3030803@web.de>

Hi Bob,

here's one way of getting all isomorphisms:

Get one isomorphism and the group of automorphisms and then take all

compositions.

Example:

gap> G:=Group([(1,2),(3,4)]);

Group([ (1,2), (3,4) ])

gap> iso:=IsomorphismGroups(G,SmallGroup(4,2));

[ (1,2), (3,4) ] -> [ f1, f2 ]

gap> allisos:=List(AutomorphismGroup(G),alpha->alpha*iso);

[ [ (1,2), (3,4) ] -> [ f1, f2 ], [ (1,2), (3,4) ] -> [ f1*f2, f2 ],

[ (1,2), (3,4) ] -> [ f2, f1 ], [ (1,2), (3,4) ] -> [ f1*f2, f1 ],

[ (1,2), (3,4) ] -> [ f2, f1*f2 ], [ (1,2), (3,4) ] -> [ f1, f1*f2 ] ]

Hope that helps,

marc

From dima at ntu.edu.sg Tue Jul 8 16:38:57 2008

From: dima at ntu.edu.sg (Dima Pasechnik)

Date: Tue Jul 8 16:39:09 2008

Subject: [GAP Forum] finding all isomorphisms

In-Reply-To: <6d9a83e90807080639i34ce583byd095b392cb514387@mail.gmail.com>

References: <6d9a83e90807080639i34ce583byd095b392cb514387@mail.gmail.com>

Message-ID: <668720bc0807080838i123a7b7apc65b7ac8fb41d63a@mail.gmail.com>

Dear Robert, dear Forum,

you can compute the automorphism group Aut(G) of G.

Then just compose each element of Aut(G) with the isomorphism.

HTH,

Dmitrii

2008/7/8 Robert Heffernan <bob.heffernan@gmail.com>:

> Hi,

>

> The function IsomorphismGroups(G,H) (and others like it) will return a

> "random" isomorphism between the groups G and H (if one exists) but is

> there a way to find all such isomorphisms?

>

> Pushing findall:=true onto the options stack doesn't seem the change

> the behaviour of IsomorphismGroups.

>

> Thank you.

>

>

> Bob

>

> --

> Robert Heffernan

> Mathematics Postgraduate, UCC, Cork, Ireland.

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From bob.heffernan at gmail.com Wed Jul 9 15:03:18 2008

From: bob.heffernan at gmail.com (Robert Heffernan)

Date: Wed Jul 9 15:05:33 2008

Subject: [GAP Forum] finding all isomorphisms

In-Reply-To: <668720bc0807080838i123a7b7apc65b7ac8fb41d63a@mail.gmail.com>

References: <6d9a83e90807080639i34ce583byd095b392cb514387@mail.gmail.com>

<668720bc0807080838i123a7b7apc65b7ac8fb41d63a@mail.gmail.com>

Message-ID: <6d9a83e90807090703k68b57211q2338e0b26021944c@mail.gmail.com>

Alexander, Mark and Dima,

Thank you for your quick & halpeful responses.

I'm a little miffed that I didn't think of this myself. :)

Yours,

Bob

From switzel at mathematik.tu-darmstadt.de Thu Jul 10 17:45:53 2008

From: switzel at mathematik.tu-darmstadt.de (Stefan Witzel)

Date: Thu Jul 10 17:54:09 2008

Subject: [GAP Forum] computations of characters

Message-ID: <20080710164553.GB27203@mathematik.tu-darmstadt.de>

Hello,

I'm new to this list and in fact I'm also new to GAP. But I've been told that if there is anyone knowing how I could accelerate my computation, he will probably read this list.

What I try to do is

1) compute irreducible characters of SU(n,q) and

2) compute induced characters of trivial characters of stabilizers in SU(n,q).

I started of by just taking

G := SU(n,q); and computing

Irr(G);

(Id did not quite use the built-in version but that probably doesn't matter here). A colleague found out, that it is faster to get a permutation description by letting

V := GF(q^2)^n;

v := Basis(V)[1];

orb:=SortedList(Orbit(Gsu,v,OnPoints));

hom := ActionHomomorphism(G,orb,OnPoints);

Gperm := Image(hom);

and then taking Gperm instead of G.

For the induced characters it is pretty much the same: If H is the stabilizer (a group of block-diagonal matrices), I used to compute

InducedClassFunction(TrivialCharacter(H),G)

and know I compute

Hperm := Image(hom,H);

InducedClassFunction(TrivialCharacter(Hperm),Gperm);

and it is also faster.

Of course it is still too slow (as it is always) and my question is, if anybody has an idea how to accelerate one of these computations? Thanks in advance for suggestions!

Regards,

Stefan Witzel

From josef.lauri at um.edu.mt Fri Jul 11 10:53:32 2008

From: josef.lauri at um.edu.mt (Josef Lauri)

Date: Fri Jul 11 10:54:07 2008

Subject: [GAP Forum] Subgroups of a given order

Message-ID: <008501c8e33b$faea3dd0$f0beb970$@lauri@um.edu.mt>

I know this must be a silly question, but here goes: Given a group G how can

I out find if G has subgroups of given order k and how can I list them if

there are any?

Thanks.

Josef Lauri

From laurent.bartholdi at gmail.com Fri Jul 11 12:26:58 2008

From: laurent.bartholdi at gmail.com (Laurent Bartholdi)

Date: Fri Jul 11 12:27:11 2008

Subject: [GAP Forum] Subgroups of a given order

In-Reply-To: <1967599053931895584@unknownmsgid>

References: <1967599053931895584@unknownmsgid>

Message-ID: <1ff637850807110426s2d85e122m1519db24ca6b1790@mail.gmail.com>

Hi Josef,

If your group is small enough, you can list all subgroups by

constructing all conjugacy classes. This is usually impractical for

large groups, so you need another method. You may for instance compute

orders of elements to see if there is a cyclic subgroup of desired

size; or start by a cyclic subgroup, compute its normalizer, and try

adding elements of the normalizer to create by successive extensions a

subgroup of desired size.

For the first, most naive appoach, here's an example session:

gap> ConjugacyClassesSubgroups(SymmetricGroup(5));

[ Group( () )^G, Group( [ (4,5) ] )^G, Group( [ (2,3)(4,5) ] )^G,

Group( [ (3,4,5) ] )^G,

Group( [ (2,3)(4,5), (2,4)(3,5) ] )^G, Group( [ (2,3)(4,5), (2,4,3,5) ] )^G,

Group( [ (4,5), (2,3) ] )^G, Group( [ (1,2,3,4,5) ] )^G, Group( [

(3,4,5), (4,5) ] )^G,

# < leaving out 4 lines ... >

, Group( [ (1,2,3,4,5), (3,4,5) ] )^G, SymmetricGroup( [ 1 .. 5 ] )^G ]

gap> Concatenation(List(last,Elements));

[ Group(()), Group([ (4,5) ]), Group([ (3,4) ]), Group([ (3,5) ]),

Group([ (2,3) ]), Group([ (2,4) ]),

Group([ (2,5) ]), Group([ (1,2) ]), Group([ (1,3) ]), Group([ (1,4)

]), Group([ (1,5) ]),

Group([ (2,3)(4,5) ]), Group([ (2,4)(3,5) ]), Group([ (2,5)(3,4) ]),

Group([ (1,2)(4,5) ]),

# < leaving out 49 lines ... >

Group([ (1,2,3,4,5), (3,4,5) ]), Group([ (1,2,3,4,5), (1,2) ]) ]

gap> Filtered(last,x->Size(x)=6);

[ Group([ (3,4,5), (4,5) ]), Group([ (2,4,5), (2,5) ]), Group([

(1,4,5), (1,5) ]),

Group([ (2,3,4), (3,4) ]), Group([ (1,3,4), (3,4) ]), Group([

(2,3,5), (2,3) ]),

Group([ (1,3,5), (1,3) ]), Group([ (1,2,3), (2,3) ]), Group([

(1,2,4), (2,4) ]),

# < leaving out 6 lines ... >

Group([ (2,4), (1,3,5) ]), Group([ (1,3), (2,4,5) ]), Group([ (2,5),

(1,3,4) ]) ]

gap> Filtered(last,x->Size(x)=7);

[ ]

On Fri, Jul 11, 2008 at 11:53 AM, Josef Lauri <josef.lauri@um.edu.mt> wrote:

> I know this must be a silly question, but here goes: Given a group G how can

> I out find if G has subgroups of given order k and how can I list them if

> there are any?

>

> Thanks.

>

> Josef Lauri

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

--

Laurent Bartholdi \ laurent.bartholdi<at>gmail<dot>com

EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458

Station 8 \ Secr?taire: +41 21-6935471

CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339

Home address: http://microurl.org/10, http://microurl.org/16

From kksa at math.ku.dk Mon Jul 14 08:11:19 2008

From: kksa at math.ku.dk (Kasper Andersen)

Date: Mon Jul 14 08:12:10 2008

Subject: [GAP Forum] Indecomposable modules

Message-ID: <Pine.LNX.4.64.0807140904240.6937@pc000ffea6285d.math.ku.dk>

Dear all,

Let k be a finite field and G a finite group.

Does anyone know of an efficient algorithm for computing all

indecomposable kG-modules up to a given rank? (Note that since k is finite

there are only finitely many of these). Even better, does anyone know of

an implementation of such an algorithm?

best wishes, Kasper Andersen

From w_becker at hotmail.com Tue Jul 15 18:13:10 2008

From: w_becker at hotmail.com (Walter Becker)

Date: Tue Jul 15 18:13:38 2008

Subject: [GAP Forum] "generalized centralizer question

Message-ID: <BAY132-W24443C5C153153B500104EFF8C0@phx.gbl>

I am interested in calculating the set of elements (group) which commute with a given non-abelian subgroup of a group.

The problem can be illustrated by a simple example.

Consider the group

[C_(9} @ C_3] @ D_4 = G

The group D_4 acts on the 3-group by an operator of order 2 (say here the C_2 element in D_4). What I want to do is to calculate the "normal subgroup" [C_9 @ C_3 X C_4] and then form the quotient group

Q = G/[C_9@C_3 X C_4]

Here the quotient is obviously C_2. But the interest is in more general cases with a non-abelian normal p-subgroup. (The case when the p-group is abelian can be done with the centralizer command.)

Comments

Thank you

Walter Becker

_________________________________________________________________

Making the world a better place one message at a time.

http://www.imtalkathon.com/?source=EML_WLH_Talkathon_BetterPlace

From trof1984 at rambler.ru Tue Jul 15 23:25:42 2008

From: trof1984 at rambler.ru (Alex Trofimuk)

Date: Tue Jul 15 23:26:04 2008

Subject: [GAP Forum] Theory of groups (derived length)

Message-ID: <324889108.1216160742.86945496.7223@mcgi73.rambler.ru>

-- Dear Gap Forum.

Alex Trofimuk asked:

I am trying to construct the example of groups G. It is solvable with

derived length =6 and all Sylow p-subgroups are bicyclic or order p^3.

(A p-groups is called bicyclic if it is product of two cyclic

subgroups). How to do it? Thanks.

Alex Trofimuk.

From am at ime.usp.br Wed Jul 16 15:12:19 2008

From: am at ime.usp.br (Arnaldo Mandel)

Date: Wed Jul 16 15:14:04 2008

Subject: [GAP Forum] Mystry call to Order

Message-ID: <18558.451.593780.7734@gargle.gargle.HOWL>

Hi everybody,

After struggling with a very slow running function, I was met with a

mystery. Here is profiling data:

gap> ProfileOperationsAndMethods(true);

gap> ProfileGlobalFunctions( true );

gap> DisplayProfile();

count self/ms chld/ms function

16902 0 0 ADD_LIST

10 TOTAL

gap> x4:=Complete(BFST[4]);;

gap> time;

2250

gap> DisplayProfile();

count self/ms chld/ms function

13694 0 0 Size: for a list that is a collection

23967 0 0 ADD_LIST

4229 2220 0 Order: for a group

2260 TOTAL

gap> x5:=Complete(BFST[5]);;

gap> time;

1323640

gap> DisplayProfile();

count self/ms chld/ms function

13737 10 0 WriteAll: output text file

18332 30 10 WriteAll

12942 20 20 Concatenation

43325 40 10 Enumerator: for a collection that is a list

6471 30 50 String: for an object, and a positive integer

12942 0 90 String

162543 90 10 APPEND_LIST

316529 80 30 Size: for a list that is a collection

167708 130 0 Remove: two arguments, fast

209192 240 10 SHALLOW_COPY_OBJ: for a presentation in default *

2 50 200 Perform

43325 260 0 SSortedList: for a plist

167708 270 130 Remove

226094 490 -10 ADD_LIST

43325 240 300 AsSSortedList: for a plist

43325 180 550 Enumerator: for a collection with known `AsSSort*

94236 1322830 80 Order: for a group

1325010 TOTAL

As you can see, Order takes up all the time. However, Complete does

not involve any group. Its argument is a list of small matrices, and

the return value is of the same type. In between, several new

matrices are created; each new matrix is a StructuralCopy of an

existing one, followed by some simple modifications. Functions that are

explicitly called are: Size(list), StructuralCopy, Append, Add, Remove,

AsSet(small list of integers), Print, RemInt, String(integer,integer).

So, who is calling Order?

am

--

Arnaldo Mandel

Departamento de Ci?ncia da Computa??o - Computer Science Department

Universidade de S?o Paulo, Bra[sz]il

am@ime.usp.br

Talvez voc? seja um Bright http://the-brights.net Maybe you are a Bright.

From ahulpke at gmail.com Wed Jul 16 16:13:05 2008

From: ahulpke at gmail.com (Alexander Hulpke)

Date: Wed Jul 16 16:13:28 2008

Subject: [GAP Forum] Mystry call to Order

In-Reply-To: <18558.451.593780.7734@gargle.gargle.HOWL>

References: <18558.451.593780.7734@gargle.gargle.HOWL>

Message-ID: <17F29722-9291-4C8E-832E-33A6E5548935@math.colostate.edu>

Dear Armando Mandel, Dear Forum,

> fter struggling with a very slow running function, I was met with a

> mystery. Here is profiling data:

>

> 94236 1322830 80 Order: for a group

> 1325010 TOTAL

>

> As you can see, Order takes up all the time. However, Complete does

> not involve any group.

This is a known problem in the profiling code. The call in question is

`Size'.

what is happening, however, is that there is a method installation

for `Order' for groups (in lib/grp.gi) for which the method is simply

the operation `Size'. This means, that the function `Size' internally

gets labeled as a *method* for the operation `Order' for groups.

unfortunately this is not easily fixed: doing so would require an

extra indirection when calling methods, which are operations

themselves. This would slow things down a little bit. In view of this,

I would argue that the mislabeling of the profile is the lesser evil.

While this was not asked, I would like to make another remark about

profiling, which might have an impact on your analysis, as you seem to

be doing just basic list operations for which all function calls

should be quick:

Turning on profiling slows the system down. This is happening, because

there is a (constant!) extra cost with every function call. This extra

cost is accounted as part of the runtime for this function when

displaying the profile. For functions, which are called very often,

but themselves are very fast (such as many list operations) this is

skewing the result to the point of making it unusable. (This is the

price one has to pay for using an interpreted language with profiling

being built into the interpreter.)

Seeing the list of functions which are called, I fear that your code

might be in this situation.

To find out cold bottlenecks in similar situations, I have resort to

using the function `Runtime()' (which returns the milliseconds since

the start of GAP) to basically do profiling by hand. (I.e. I set at

the start and end of each function (or functionality block within a

function)

total_time_this_function:=Runtime()-total_time_this_function;

as a result, time for this function is summed up in the variable

`total_time_this_function'.

Doing so lets me decide on the granularity of profiling and avoids

function calls skewing the results. Admittedly it will never win a

prize for elegance.

All the best,

Alexander Hulpke

>

-- Colorado State University, Department of Mathematics,

Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA

email: hulpke@math.colostate.edu, Phone: ++1-970-4914288

http://www.math.colostate.edu/~hulpke

From dima at ntu.edu.sg Wed Jul 16 17:30:42 2008

From: dima at ntu.edu.sg (Dima Pasechnik)

Date: Wed Jul 16 17:30:56 2008

Subject: [GAP Forum] Mystry call to Order

In-Reply-To: <18558.451.593780.7734@gargle.gargle.HOWL>

References: <18558.451.593780.7734@gargle.gargle.HOWL>

Message-ID: <668720bc0807160930g407b7baag1232d0486b1cbd20@mail.gmail.com>

Dear Arnaldo,

IMHO you should post the code (or a link where one can get your code)

that demonstrates this problem.

Otherwise it's very hard to tell.

Best,

Dmitrii

2008/7/16 Arnaldo Mandel <am@ime.usp.br>:

> Hi everybody,

>

> After struggling with a very slow running function, I was met with a

> mystery. Here is profiling data:

>

> gap> ProfileOperationsAndMethods(true);

> gap> ProfileGlobalFunctions( true );

> gap> DisplayProfile();

> count self/ms chld/ms function

> 16902 0 0 ADD_LIST

> 10 TOTAL

> gap> x4:=Complete(BFST[4]);;

> gap> time;

> 2250

> gap> DisplayProfile();

> count self/ms chld/ms function

> 13694 0 0 Size: for a list that is a collection

> 23967 0 0 ADD_LIST

> 4229 2220 0 Order: for a group

> 2260 TOTAL

> gap> x5:=Complete(BFST[5]);;

> gap> time;

> 1323640

> gap> DisplayProfile();

> count self/ms chld/ms function

> 13737 10 0 WriteAll: output text file

> 18332 30 10 WriteAll

> 12942 20 20 Concatenation

> 43325 40 10 Enumerator: for a collection that is a list

> 6471 30 50 String: for an object, and a positive integer

> 12942 0 90 String

> 162543 90 10 APPEND_LIST

> 316529 80 30 Size: for a list that is a collection

> 167708 130 0 Remove: two arguments, fast

> 209192 240 10 SHALLOW_COPY_OBJ: for a presentation in default *

> 2 50 200 Perform

> 43325 260 0 SSortedList: for a plist

> 167708 270 130 Remove

> 226094 490 -10 ADD_LIST

> 43325 240 300 AsSSortedList: for a plist

> 43325 180 550 Enumerator: for a collection with known `AsSSort*

> 94236 1322830 80 Order: for a group

> 1325010 TOTAL

>

> As you can see, Order takes up all the time. However, Complete does

> not involve any group. Its argument is a list of small matrices, and

> the return value is of the same type. In between, several new

> matrices are created; each new matrix is a StructuralCopy of an

> existing one, followed by some simple modifications. Functions that are

> explicitly called are: Size(list), StructuralCopy, Append, Add, Remove,

> AsSet(small list of integers), Print, RemInt, String(integer,integer).

>

> So, who is calling Order?

>

> am

>

> --

> Arnaldo Mandel

> Departamento de Ci?ncia da Computa??o - Computer Science Department

> Universidade de S?o Paulo, Bra[sz]il

> am@ime.usp.br

> Talvez voc? seja um Bright http://the-brights.net Maybe you are a Bright.

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From am at ime.usp.br Wed Jul 16 19:01:32 2008

From: am at ime.usp.br (Arnaldo Mandel)

Date: Wed Jul 16 19:02:46 2008

Subject: [GAP Forum] Mystry call to Order

In-Reply-To: <17F29722-9291-4C8E-832E-33A6E5548935@math.colostate.edu>

References: <18558.451.593780.7734@gargle.gargle.HOWL>

<17F29722-9291-4C8E-832E-33A6E5548935@math.colostate.edu>

Message-ID: <18558.14204.195916.420889@gargle.gargle.HOWL>

Alexander Hulpke wrote (on Jul 16, 2008):

> Dear Armando Mandel, Dear Forum,

Hello Aexander, hello Forum and hello Armando, whoever you are :-)

>

> > As you can see, Order takes up all the time. However, Complete does

> > not involve any group.

>

> This is a known problem in the profiling code.

Maybe it should be documented.

> The call in question is

> `Size'.

Of course...

Well, this little tip was enough (see below)!

> what is happening, however, is that there is a method installation

> for `Order' for groups (in lib/grp.gi) for which the method is simply

> the operation `Size'. This means, that the function `Size' internally

> gets labeled as a *method* for the operation `Order' for groups.

> unfortunately this is not easily fixed: doing so would require an

> extra indirection when calling methods, which are operations

> themselves. This would slow things down a little bit. In view of this,

> I would argue that the mislabeling of the profile is the lesser evil.

No problem, so long I am aware of it.

Your remarks about how profiling may be self-deceiving occasionally

notwithstanding, profiling was smack in the head this time. There

were definitely many calls to Size in the inner loops. I change that

by keeping tab myself of the sizes of the relevant lists in variables.

The effect was dramatic. Here is the timing of the two runs I

reported before:

argument before after

very small 2250 20

small 1323640 1310

large forever 96710

I am not kidding - BTW, the timings in this case were little affected

by the profiling.

Thanks again for your help,

[]

am

From am at ime.usp.br Wed Jul 16 19:04:46 2008

From: am at ime.usp.br (Arnaldo Mandel)

Date: Wed Jul 16 19:05:41 2008

Subject: [GAP Forum] Mystry call to Order

In-Reply-To: <668720bc0807160928m8587616j44ef9fe8fa7ba2fd@mail.gmail.com>

References: <18558.451.593780.7734@gargle.gargle.HOWL>

<668720bc0807160928m8587616j44ef9fe8fa7ba2fd@mail.gmail.com>

Message-ID: <18558.14398.929492.571255@gargle.gargle.HOWL>

Dima Pasechnik wrote (on Jul 16, 2008):

> Dear Arnaldo,

> IMHO you should post the code (or a link where one can get your code)

> that demonstrates this problem.

> Otherwise it's very hard to tell.

Thanks Dima. As I wrote in another post, the problem was solved as

soon as I understood the profiling information. However, if you or

anybody else is curious about the code, I will wake it available.

[]

am

--

Arnaldo Mandel

Departamento de Ci?ncia da Computa??o - Computer Science Department

Universidade de S?o Paulo, Bra[sz]il

am@ime.usp.br

Talvez voc? seja um Bright http://the-brights.net Maybe you are a Bright.

From kohl at mathematik.uni-stuttgart.de Thu Jul 17 15:45:46 2008

From: kohl at mathematik.uni-stuttgart.de (Stefan Kohl)

Date: Thu Jul 17 15:46:22 2008

Subject: [GAP Forum] The Higman-Thompson group

Message-ID: <487F5B1A.9030705@mathematik.uni-stuttgart.de>

Dear Forum,

Two weeks ago, I have posted the following example of a finitely-generated

infinite simple group to the group-pub-forum:

Def.: Given disjoint residue classes r_1(m_1) and r_2(m_2) of the

integers, let the class transposition (r_1(m_1),r_2(m_2)) be the

permutation which interchanges r_1 + k * m_1 and r_2 + k * m_2

for each integer k and which fixes all other points.

Then our group is

G := < (0(2),1(4)), (0(4),1(4)), (1(4),2(4)), (2(4),3(4)) >.

Having loaded the RCWA package, this group can be entered into GAP by

gap> G := Group(List([[0,2,1,4],[0,4,1,4],[1,4,2,4],[2,4,3,4]],

> ClassTransposition));

<rcwa group over Z with 4 generators>

Last week, in an answer to my posting John P. McDermott reported that he

has found out that this group is isomorphic to the (first) Higman-Thompson

group, which is defined and investigated in

[Higman74] Graham Higman. Finitely Presented Infinite Simple Groups.

Notes on Pure Mathematics, 1974, Department of Pure Mathematics,

Australian National University, Canberra, ISBN 0 7081 0300 6.

The 'standard generators' kappa, lambda, mu and nu given there correspond

to (0(2),1(2)), (1(2),2(4)), (0(2),1(4)) and (1(4),2(4)), respectively.

As the Higman-Thompson group is simple, verifying the isomorphism

requires now only a (very quick and easy) computational check whether

the generators satisfy the 16 relations given on page 50 of Higman's book:

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

gap> k := ClassTransposition(0,2,1,2);; # kappa in Higman74

gap> l := ClassTransposition(1,2,2,4);; # lambda "

gap> m := ClassTransposition(0,2,1,4);; # mu "

gap> n := ClassTransposition(1,4,2,4);; # nu "

gap> H := Group(k,l,m,n);

<rcwa group over Z with 4 generators>

gap> G = H;

true

gap> HigmanThompsonRels :=

> [ k^2, l^2, m^2, n^2, # (1) in Higman74, p.50.

> l*k*m*k*l*n*k*n*m*k*l*k*m, # (2) "

> k*n*l*k*m*n*k*l*n*m*n*l*n*m, # (3) "

> (l*k*m*k*l*n)^3, (m*k*l*k*m*n)^3, # (4) "

> (l*n*m)^2*k*(m*n*l)^2*k, # (5) "

> (l*n*m*n)^5, # (6) "

> (l*k*n*k*l*n)^3*k*n*k*(m*k*n*k*m*n)^3*k*n*k*n,# (7) "

> ((l*k*m*n)^2*(m*k*l*n)^2)^3, # (8) "

> (l*n*l*k*m*k*m*n*l*n*m*k*m*k)^4, # (9) "

> (m*n*m*k*l*k*l*n*m*n*l*k*l*k)^4, #(10) "

> (l*m*k*l*k*m*l*k*n*k)^2, #(11) "

> (m*l*k*m*k*l*m*k*n*k)^2 ];; #(12) "

gap> Set(HigmanThompsonRels);

[ IdentityMapping( Integers ) ]

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

In fact, G = H is the group which is generated by the set of all class

transpositions which interchange residue classes modulo powers of 2.

Def.: Given a set P of odd primes, let CT_P(Z) be the group which is

generated by all class transpositions (r_1(m_1),r_2(m_2)) for which

all odd prime factors of m_1 and m_2 lie in P.

In this notation, G is the group CT_P(Z), where P = {} (i.e. the empty set).

By Corollary 3.7 in

http://www.cip.mathematik.uni-stuttgart.de/~kohlsn/preprints/simplegp.pdf,

the groups CT_P(Z) are all simple.

The intersection of these uncountably many infinite simple groups is our

group G, hence is isomorphic to the Higman-Thompson group.

All groups CT_P(Z) are subgroups of the group CT(Z), which is generated

by the set of all class transpositions. Thus, very roughly we can depict

the situation as follows:

CT(Z)

/ | \

/ | \

/ | \

/ | \

CT_{3}(Z) ... CT_{5,7,23}(Z) ... CT_{p = 1 mod 4}(Z) ...

\ | /

\ | /

\ | /

\ | /

G (Higman-Thompson group)

Our group G preserves a certain tree structure. The groups CT_P(Z) for

nonempty sets P of odd primes do not do so, which apparently makes

investigating them essentially more difficult -- even if P is finite,

or just {3}, say.

Any ideas, comments, hints, questions, suggestions, ...

are greatly appreciated.

Best wishes,

Stefan Kohl

From m.fayers at qmul.ac.uk Thu Jul 17 15:55:24 2008

From: m.fayers at qmul.ac.uk (m.fayers@qmul.ac.uk)

Date: Thu Jul 17 15:55:49 2008

Subject: [GAP Forum] Intersection bug?

Message-ID: <50861.72.70.75.38.1216306524.squirrel@webmail.maths.qmul.ac.uk>

Can anyone explain why GAP behaves as follows?

gap> Intersection([1..3],[1..3]);

[ 1 .. 3 ]

gap> Intersection([-3..-1],[-3..-1]);

[ -3 .. -1 ]

gap> Intersection([-1..1],[-1..1]);

[ ]

____________________________________________________

Matthew Fayers

Queen Mary, University of London

Mile End Road

London E1 4NS

U.K.

From paris14 at math.auth.gr Thu Jul 17 20:18:51 2008

From: paris14 at math.auth.gr (Paraskevas Alvanos)

Date: Thu Jul 17 20:19:16 2008

Subject: [GAP Forum] real value approximation

Message-ID: <20080717221851.80cw6cpds0c4gk8g@webmail.auth.gr>

Dear GAP forum,

I would like to know if there is a way to have evaluate the primitive

element of a numberfield

i.e.

x := Indeterminate(Rationals);

g := x ^2 - 2;

F := FieldByPolynomial(g);

a := PrimitiveElement(F);

Is it a way to determine which conjugate a. Can I have an approximate

real value of a;

Of course a can simple ask

a>0;

and wait for true or false,

but when I have 10-20 real and complex conjugates should I find a

constructive way to understand which is my primitive element or there

is something much easier that I am missing.

Thanks everybody in advance

paraskevas alvanos

From ahulpke at gmail.com Thu Jul 17 21:43:16 2008

From: ahulpke at gmail.com (Alexander Hulpke)

Date: Thu Jul 17 21:43:37 2008

Subject: [GAP Forum] real value approximation

In-Reply-To: <20080717221851.80cw6cpds0c4gk8g@webmail.auth.gr>

References: <20080717221851.80cw6cpds0c4gk8g@webmail.auth.gr>

Message-ID: <9EB6A035-33CD-4EC1-9A0E-662D37DAD539@math.colostate.edu>

Dear GAP Forum,

On Jul 17, 2008, at 1:18 PM, Paraskevas Alvanos wrote:

>

> x := Indeterminate(Rationals);

> g := x ^2 - 2;

> F := FieldByPolynomial(g);

>

> a := PrimitiveElement(F);

>

> Is it a way to determine which conjugate a.

No -- in fact in this construction it is no particular conjugate, but

both embeddings are valid.

Algebraically it does not matter which conjugate you pick, that is the

beauty of Galois theory.

> Can I have an approximate real value of a;

I don't think GAP has a general routine for numerical root

approximation, though there are of course known algorithms in

numerical analysis which do so.

>

> Of course a can simple ask

>

> a>0;

Careful: This ordering is an arbitrary ordering (because 0 and a are

in different domains)

and does not imply any particular embedding. In fact it could be

possible that both a and -a are both larger than 0.

Best,

Alexander Hulpke

From reiner at iem.uni-due.de Fri Jul 18 10:32:15 2008

From: reiner at iem.uni-due.de (Reiner Staszewski)

Date: Fri Jul 18 11:24:15 2008

Subject: [GAP Forum] Intersection bug?

In-Reply-To: <50861.72.70.75.38.1216306524.squirrel@webmail.maths.qmul.ac.uk>

References: <50861.72.70.75.38.1216306524.squirrel@webmail.maths.qmul.ac.uk>

Message-ID: <4880631F.2040609@iem.uni-due.de>

Hi Matthew,

I have quite an old version running under windows XP (32 bit), namely

GAP4P4R4 which behaves as you describe, and another version under 64-bit

Linux, namly GAP4P4R10, which behaves correctly.

Best wishes, Reiner Staszewski

m.fayers@qmul.ac.uk wrote:

> Can anyone explain why GAP behaves as follows?

>

> gap> Intersection([1..3],[1..3]);

> [ 1 .. 3 ]

> gap> Intersection([-3..-1],[-3..-1]);

> [ -3 .. -1 ]

> gap> Intersection([-1..1],[-1..1]);

> [ ]

>

>

> ____________________________________________________

> Matthew Fayers

>

> Queen Mary, University of London

> Mile End Road

> London E1 4NS

> U.K.

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

>

From dima at ntu.edu.sg Fri Jul 18 12:58:38 2008

From: dima at ntu.edu.sg (Dima Pasechnik)

Date: Fri Jul 18 12:58:56 2008

Subject: [GAP Forum] Intersection bug?

In-Reply-To: <4880631F.2040609@iem.uni-due.de>

References: <50861.72.70.75.38.1216306524.squirrel@webmail.maths.qmul.ac.uk>

<4880631F.2040609@iem.uni-due.de>

Message-ID: <668720bc0807180458m5bffd86elad5a6fc3aee42bc1@mail.gmail.com>

Dear Forum,

I get the same strange behavour on 4.4.10, too:

GAP4, Version: 4.4.10 of 02-Oct-2007, i686-pc-linux-gnu-gcc

gap> Intersection([1..3],[1..3]);

[ 1 .. 3 ]

gap> Intersection([-3..-1],[-3..-1]);

[ -3 .. -1 ]

gap> Intersection([-1..1],[-1..1]);

[ ]

And that's what I am running on.

$ uname -a

Linux *** 2.6.25.10-custom #3 SMP Mon Jul 14 22:54:07 BST 2008 i686 GNU/Linux

So that's a hardware-dependent behavour, apparently.

HTH,

Dmitrii

2008/7/18 Reiner Staszewski <reiner@iem.uni-due.de>:

> Hi Matthew,

>

> I have quite an old version running under windows XP (32 bit), namely

> GAP4P4R4 which behaves as you describe, and another version under 64-bit

> Linux, namly GAP4P4R10, which behaves correctly.

>

> Best wishes, Reiner Staszewski

>

>

> m.fayers@qmul.ac.uk wrote:

>> Can anyone explain why GAP behaves as follows?

>>

>> gap> Intersection([1..3],[1..3]);

>> [ 1 .. 3 ]

>> gap> Intersection([-3..-1],[-3..-1]);

>> [ -3 .. -1 ]

>> gap> Intersection([-1..1],[-1..1]);

>> [ ]

>>

>>

>> ____________________________________________________

>> Matthew Fayers

>>

>> Queen Mary, University of London

>> Mile End Road

>> London E1 4NS

>> U.K.

>>

>> _______________________________________________

>> Forum mailing list

>> Forum@mail.gap-system.org

>> http://mail.gap-system.org/mailman/listinfo/forum

>>

>>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From steger at uniss.it Fri Jul 18 13:11:22 2008

From: steger at uniss.it (Tim Steger)

Date: Fri Jul 18 13:11:41 2008

Subject: [GAP Forum] Abelianizations of Subgroups

Message-ID: <20080718121122.D0D3715C2BB@xdf81.math.uni-bielefeld.de>

Dear GAP people,

In Section~45.14 of the manual it says:

Using variations of coset enumeration it is possible to compute the

abelian invariants of a subgroup of a finitely presented group

without computing a complete presentation for the subgroup in the

first place.

This possibility is explained a little by Havas in [Hav74b]. Suppose

we are interested only in the elementary-$p$-part of the

abelianization:

H / <[H,H] H^p> = (H / [H,H]) \otimes (Z/p)

It should be possible to calculate this using even less time and space

than the abelianization. Is such a variant available in GAP? In one

of the packages? In some non-GAP program?

Yours, Tim Steger

From m.fayers at qmul.ac.uk Fri Jul 18 13:12:09 2008

From: m.fayers at qmul.ac.uk (m.fayers@qmul.ac.uk)

Date: Fri Jul 18 13:12:40 2008

Subject: [GAP Forum] Intersection bug?

In-Reply-To: <4880631F.2040609@iem.uni-due.de>

References: <50861.72.70.75.38.1216306524.squirrel@webmail.maths.qmul.ac.uk>

<4880631F.2040609@iem.uni-due.de>

Message-ID: <50071.72.70.75.38.1216383129.squirrel@webmail.maths.qmul.ac.uk>

> I have quite an old version running under windows XP (32 bit), namely

> GAP4P4R4 which behaves as you describe, and another version under 64-bit

> Linux, namly GAP4P4R10, which behaves correctly.

The problem happens for me with the latest GAP (4.4.10) on Windows XP. So

(as usual) it must be Windows that's the problem.

>> gap> Intersection([1..3],[1..3]);

>> [ 1 .. 3 ]

>> gap> Intersection([-3..-1],[-3..-1]);

>> [ -3 .. -1 ]

>> gap> Intersection([-1..1],[-1..1]);

>> [ ]

Matt.

____________________________________________________

Matthew Fayers

Queen Mary, University of London

Mile End Road

London E1 4NS

U.K.

From havas at itee.uq.edu.au Fri Jul 18 13:46:01 2008

From: havas at itee.uq.edu.au (GH UQ)

Date: Fri Jul 18 13:46:28 2008

Subject: [GAP Forum] Abelianizations of Subgroups

In-Reply-To: <20080718121122.D0D3715C2BB@xdf81.math.uni-bielefeld.de>

References: <20080718121122.D0D3715C2BB@xdf81.math.uni-bielefeld.de>

Message-ID: <Pine.SOC.4.64.0807182244001.1419@mangrove.itee.uq.edu.au>

On Fri, 18 Jul 2008, Tim Steger wrote:

> This possibility is explained a little by Havas in [Hav74b]. Suppose

> we are interested only in the elementary-$p$-part of the

> abelianization:

>

> H / <[H,H] H^p> = (H / [H,H]) \otimes (Z/p)

>

> It should be possible to calculate this using even less time and space

> than the abelianization. Is such a variant available in GAP? In one

> of the packages? In some non-GAP program?

>

The GAP 4 Package EDIM:

http://www.gap-system.org/Manuals/pkg/edim/xmldoc/chap0.html

enables you to do this.

Best wishes... George Havas http://www.itee.uq.edu.au/~havas

From muntyan at tamu.edu Fri Jul 18 16:12:25 2008

From: muntyan at tamu.edu (Yevgen Muntyan)

Date: Fri Jul 18 16:12:41 2008

Subject: [GAP Forum] Intersection bug?

In-Reply-To: <50071.72.70.75.38.1216383129.squirrel@webmail.maths.qmul.ac.uk>

References: <50861.72.70.75.38.1216306524.squirrel@webmail.maths.qmul.ac.uk>

<4880631F.2040609@iem.uni-due.de>

<50071.72.70.75.38.1216383129.squirrel@webmail.maths.qmul.ac.uk>

Message-ID: <CDDE501C-8C66-4633-8C25-070A57247B3B@tamu.edu>

On Jul 18, 2008, at 7:12 , m.fayers@qmul.ac.uk wrote:

>

>

>> I have quite an old version running under windows XP (32 bit), namely

>> GAP4P4R4 which behaves as you describe, and another version under

>> 64-bit

>> Linux, namly GAP4P4R10, which behaves correctly.

>

> The problem happens for me with the latest GAP (4.4.10) on Windows

> XP. So

> (as usual) it must be Windows that's the problem.

Same bug on Mac OS X 10.4.11 PowerPC.

Regards,

Yevgen

From Ayan.Mahalanobis at stevens.edu Fri Jul 18 16:52:05 2008

From: Ayan.Mahalanobis at stevens.edu (Ayan Mahalanobis)

Date: Fri Jul 18 16:52:17 2008

Subject: [GAP Forum] Intersection bug?

In-Reply-To: <CDDE501C-8C66-4633-8C25-070A57247B3B@tamu.edu>

References: <50861.72.70.75.38.1216306524.squirrel@webmail.maths.qmul.ac.uk>

<4880631F.2040609@iem.uni-due.de>

<50071.72.70.75.38.1216383129.squirrel@webmail.maths.qmul.ac.uk>

<CDDE501C-8C66-4633-8C25-070A57247B3B@tamu.edu>

Message-ID: <4880BC25.1010309@stevens.edu>

Same problem with GAP 4.4.10 on ununtu Linux 2.6.24-19-generic.

Ayan

Yevgen Muntyan wrote:

> On Jul 18, 2008, at 7:12 , m.fayers@qmul.ac.uk wrote:

>

>>

>>

>>> I have quite an old version running under windows XP (32 bit), namely

>>> GAP4P4R4 which behaves as you describe, and another version under

>>> 64-bit

>>> Linux, namly GAP4P4R10, which behaves correctly.

>>

>> The problem happens for me with the latest GAP (4.4.10) on Windows

>> XP. So

>> (as usual) it must be Windows that's the problem.

>

> Same bug on Mac OS X 10.4.11 PowerPC.

>

> Regards,

> Yevgen

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From erfanian at wali.um.ac.ir Fri Jul 18 17:48:54 2008

From: erfanian at wali.um.ac.ir (erfanian)

Date: Fri Jul 18 18:28:33 2008

Subject: [GAP Forum] Counting subgroups

Message-ID: <200807181545.m6IFjNHw028686@wali.um.ac.ir>

Dear Gap Forum,

I would like to know if there is a way to count all subgroups for

given group G (finite and infinite) in Gap. Thanks in advance for any help

and comments.

Best regards,

A. Erfanian.

From laurent.bartholdi at gmail.com Fri Jul 18 20:54:35 2008

From: laurent.bartholdi at gmail.com (Laurent Bartholdi)

Date: Fri Jul 18 20:54:48 2008

Subject: [GAP Forum] Intersection bug?

In-Reply-To: <4880BC25.1010309@stevens.edu>

References: <50861.72.70.75.38.1216306524.squirrel@webmail.maths.qmul.ac.uk>

<4880631F.2040609@iem.uni-due.de>

<50071.72.70.75.38.1216383129.squirrel@webmail.maths.qmul.ac.uk>

<CDDE501C-8C66-4633-8C25-070A57247B3B@tamu.edu>

<4880BC25.1010309@stevens.edu>

Message-ID: <1ff637850807181254m58f1c3aatb0a32917bdaafbd6@mail.gmail.com>

For those of you with 64-bit machines and/or other compilers: could

you please run the following C code:

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

main () {

printf("INTER_RANGE %sed on your computer\n", -1 > -1+1u ? "fail" : "succed");

}

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

I searched for the gcc documentation to know if this is the expected

behaviour or not; it seems at least that this is

implementation-dependent.

Cheers, Laurent

On Fri, Jul 18, 2008 at 5:52 PM, Ayan Mahalanobis

<Ayan.Mahalanobis@stevens.edu> wrote:

> Same problem with GAP 4.4.10 on ununtu Linux 2.6.24-19-generic.

>

> Ayan

>

> Yevgen Muntyan wrote:

>>

>> On Jul 18, 2008, at 7:12 , m.fayers@qmul.ac.uk wrote:

>>

>>>

>>>

>>>> I have quite an old version running under windows XP (32 bit), namely

>>>> GAP4P4R4 which behaves as you describe, and another version under 64-bit

>>>> Linux, namly GAP4P4R10, which behaves correctly.

>>>

>>> The problem happens for me with the latest GAP (4.4.10) on Windows XP.

>>> So

>>> (as usual) it must be Windows that's the problem.

>>

>> Same bug on Mac OS X 10.4.11 PowerPC.

>>

>> Regards,

>> Yevgen

>>

>> _______________________________________________

>> Forum mailing list

>> Forum@mail.gap-system.org

>> http://mail.gap-system.org/mailman/listinfo/forum

>>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

--

Laurent Bartholdi \ laurent.bartholdi<at>gmail<dot>com

EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458

Station 8 \ Secr?taire: +41 21-6935471

CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339

Home address: http://microurl.org/10, http://microurl.org/16

From r_n_tsai at yahoo.com Fri Jul 18 21:54:06 2008

From: r_n_tsai at yahoo.com (R.N. Tsai)

Date: Fri Jul 18 21:54:40 2008

Subject: [GAP Forum] unsupported functions in new release (4.4.10)

Message-ID: <356383.63760.qm@web34402.mail.mud.yahoo.com>

Dear gap forum,

?

I just installed the latest version of gap4 (4.4.10) and tried it

with some old code (which worked with previous versions).

It looks like the following two functions are no longer supported :

?

?FromTheLeftCollector

?PcpGroupByCollector

?

I get this error :

?" Syntax error: warning: unbound global variable ..."

?

Are there equivalent functions in the new release or workarounds?

Thanks,

R.N.

From muntyan at tamu.edu Fri Jul 18 23:19:11 2008

From: muntyan at tamu.edu (Yevgen Muntyan)

Date: Fri Jul 18 23:19:31 2008

Subject: [GAP Forum] Intersection bug?

In-Reply-To: <1ff637850807181254m58f1c3aatb0a32917bdaafbd6@mail.gmail.com>

References: <50861.72.70.75.38.1216306524.squirrel@webmail.maths.qmul.ac.uk>

<4880631F.2040609@iem.uni-due.de>

<50071.72.70.75.38.1216383129.squirrel@webmail.maths.qmul.ac.uk>

<CDDE501C-8C66-4633-8C25-070A57247B3B@tamu.edu>

<4880BC25.1010309@stevens.edu>

<1ff637850807181254m58f1c3aatb0a32917bdaafbd6@mail.gmail.com>

Message-ID: <CF353C70-891A-4223-869F-64B2A012E3F7@tamu.edu>

On Jul 18, 2008, at 14:54 , Laurent Bartholdi wrote:

> For those of you with 64-bit machines and/or other compilers: could

> you please run the following C code:

> ----------------------------------

> main () {

> printf("INTER_RANGE %sed on your computer\n", -1 > -1+1u ?

> "fail" : "succed");

> }

> ----------------------------------

It is what -Wsign-compare gcc flag is for, that code is

broken. -1's are converted to unsigned int, and so the

result is always true.

Best regards,

Yevgen

From prof.khammash at gmail.com Sat Jul 19 00:39:37 2008

From: prof.khammash at gmail.com (Ahmed Khammash)

Date: Sun Jul 20 00:41:46 2008

Subject: [GAP Forum] Restriction and Induction Functors For Cyclic Groups

Modules

Message-ID: <f1597cd80807181639u37e0df03hc72614f9440da85@mail.gmail.com>

Derar Forum

Is there a way ( either theoretically or using Gap) of determining the

restriction of an indecomposable module for cyclic group in positive

characteristic to a subgroup. The induction process from subgroups seems to

be easier using Green indecomposability theorem . I appreciate any help

Ahmed Khammash

From thomas.breuer at math.rwth-aachen.de Mon Jul 21 15:41:57 2008

From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer)

Date: Mon Jul 21 15:42:14 2008

Subject: [GAP Forum] Intersection bug?

Message-ID: <20080721144157.GB24096@gemma.math.rwth-aachen.de>

Dear GAP Forum,

Matthew Fayers had reported a bug in the `Intersection' routine for ranges,

and several Forum members have meanwhile confirmed the erroneous behaviour.

Thank you for these reports.

Whereas it may depend on the operating system

whether this bug shows up or not,

we found meanwhile another error in the same routine,

which occurs on any operating system.

Both bugs can cause wrong results.

They will be fixed in the next version of GAP.

A preliminary fix can be obtained by reading the following GAP code

into the GAP session, for example in your .gaprc file.

(See the section ``The .gaprc file'' in the GAP Reference Manual for this.)

Sorry for the inconveniences.

All the best,

Thomas

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

InstallMethod( IntersectSet,

"for two ranges (preliminary library method)",

[ IsRange and IsRangeRep and IsMutable, IsRange and IsRangeRep ], 1,

function( r1, r2 )

local low1, low2, len1, len2, inc1, inc2, t, g, offset, inci, lowi,

dist1, dist2, disti, leni;

# Objects in `IsRangeRep' cannot be empty.

low1:= r1[1];

low2:= r2[1];

len1:= Length( r1 );

len2:= Length( r2 );

inc1:= 1;

if 1 < len1 then

inc1:= r1[2] - r1[1];

fi;

inc2:= 1;

if 1 < len2 then

inc2:= r2[2] - r2[1];

fi;

# Force the two ranges to be ascending. (The result will be a set.)

if inc1 < 0 then

low1:= low1 + (len1-1)*inc1;

inc1:= -inc1;

fi;

if inc2 < 0 then

low2:= low2 + (len2-1)*inc2;

inc2:= -inc2;

fi;

# Force the first range to start not later than the second.

if low1 > low2 then

t:= low1;

low1:= low2;

low2:= t;

t:= inc1;

inc1:= inc2;

inc2:= t;

t:= len1;

len1:= len2;

len2:= t;

fi;

if low2 > low1 + (len1-1)*inc1 then

CLONE_OBJ( r1, [] );

return;

fi;

# Now low1 <= low2 <= low1 + (len1-1)*inc1 holds.

# Compute the step width of the intersection, and the first point.

g:= Gcdex( inc1, inc2 );

offset:= low2 - low1;

if offset mod g.gcd <> 0 then

CLONE_OBJ( r1, [] );

return;

fi;

inci:= inc1 * inc2 / g.gcd;

lowi:= low2 + ( ( - g.coeff2 * offset ) mod inc1 ) * inc2 / g.gcd;

# Compute the length of the intersection.

dist1:= low1 + (len1-1)*inc1 - lowi;

dist2:= low2 + (len2-1)*inc2 - lowi;

if dist1 < dist2 then

disti:= dist1;

else

disti:= dist2;

fi;

if disti < 0 then

CLONE_OBJ( r1, [] );

return;

fi;

leni:= Int( disti / inci );

CLONE_OBJ( r1, [ lowi, lowi + inci .. lowi + leni * inci ] );

end );

From sal at cs.st-and.ac.uk Wed Jul 23 11:39:32 2008

From: sal at cs.st-and.ac.uk (Steve Linton)

Date: Wed Jul 23 11:39:55 2008

Subject: [GAP Forum] Jenks Prize 2008

Message-ID: <20080723123932.2c2c8f2f@cs.st-and.ac.uk>

Dear GAP Forum,

You may be interested to know that during the current ISSAC 2008 conference in

Linz "The GAP Group"

was awarded the biannual "Richard Dimick Jenks Memorial Prize" for

Excellence in Software Engineering Applied to Computer Algebra

( see http://www.sigsam.org/awards/jenks/ ).

The prize was received by Steve Linton, Alexander Konovalov and Frank Luebeck

on behalf of the whole GAP development and support community, a point that was

emphasised in our brief responses.

With the prize we got 4 plaques as shown here:

http://www.math.rwth-aachen.de/~Frank.Luebeck/tmp/pl1.jpg

We will keep these in the current four GAP centres in the name of *all*

contributors to GAP.

Steve, Alexander and Frank.

--

Steve Linton School of Computer Science &

Centre for Interdisciplinary Research in Computational Algebra

University of St Andrews Tel +44 (1334) 463269

http://www.cs.st-and.ac.uk/~sal Fax +44 (1334) 463278

The University is a charity registered in Scotland : No SC013532

From Mathieu.Dutour at ens.fr Fri Jul 25 12:13:28 2008

From: Mathieu.Dutour at ens.fr (Mathieu Dutour)

Date: Fri Jul 25 12:14:02 2008

Subject: [GAP Forum] Debugging advice needed

Message-ID: <20080725111328.GA3421@orge.ens.fr>

Dear all,

I experienced a bug in a computation:

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

Error, <elm> lies not in group defined by <pcgs> called from

ExponentsOfPcElement( pcgs, pcgs[n] ^ p ) called from

PermpcgsPcGroupPcgs( pcgs, IndicesEANormalSteps( pcgs ), false ) called from

IsomorphismPcGroup( G ) called from

MinimalGeneratingSet( G ) called from

SmallGeneratingSet( GrpStab ) called from

...

Entering break read-eval-print loop ...

you can 'quit;' to quit to outer loop, or

you can 'return;' to continue

brk> GRP:=Group(GeneratorsOfGroup(GrpStab));

Syntax error: warning: unbound global variable in *errin* line 1

GRP:=Group(GeneratorsOfGroup(GrpStab));

^

<permutation group with 16 generators>

brk> SmallGeneratingSet(GRP);

[

(1,2)(3,7)(4,8)(5,9)(6,10)(11,13)(12,15)(14,16)(19,20)(21,22)(23,25)(24,26),

(1,2)(3,7)(4,8)(5,9)(6,10)(11,13)(12,15)(14,16)(17,18)(19,20)(21,22)(23,

25)(24,26)(27,28)(29,30), (1,2)(3,7)(4,8)(5,9)(6,10)(11,13)(12,15)(14,

16)(17,31)(18,32)(19,25)(20,23)(21,26)(22,24)(27,30)(28,29),

(1,10)(2,6)(3,8)(4,7)(17,18)(19,26)(20,24)(21,23)(22,25)(27,28)(29,30)(31,

32), (1,11)(2,13)(4,8)(5,10)(6,9)(14,16)(17,24,18,26)(19,27)(20,28)(21,

31)(22,32)(23,29,25,30), (1,16)(2,14)(3,10)(4,13)(5,15)(6,7)(8,11)(9,

12)(17,32,18,31)(19,29,20,30)(21,24)(22,26)(23,27)(25,28) ]

brk> GRP=GrpStab;

true

brk>

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

So, "GRP" and "GrpStab" have different behavior but are tested to

be equal. What could be the cause of the problem?

I never encountered this since so far in my years of use of GAP, when

a program stops, the reason is clear.

The problem is reproducible but with many subprograms to put before

getting to the problem and so I can't put it here. If that is relevant

the problem show up on gap4r4p10 with gcc compilers on x86 32 bits

machine.

Any advice or help welcomed.

Thanks,

Mathieu

From mathpn59 at yahoo.com Tue Jul 29 10:00:21 2008

From: mathpn59 at yahoo.com (Takjk Taj)

Date: Tue Jul 29 10:01:30 2008

Subject: [GAP Forum] (no subject)

Message-ID: <798939.1500.qm@web44809.mail.sp1.yahoo.com>

Dear Gap forum,

Hi,

Could any body?give me an example of?group G, such that derived subgroup G and factor group G/Z(G)?are finite and infinite respectively.

Best Regards.

From vince at math.uconn.edu Tue Jul 29 11:55:32 2008

From: vince at math.uconn.edu (Vince Giambalvo)

Date: Tue Jul 29 11:55:56 2008

Subject: [GAP Forum] (no subject)

In-Reply-To: <798939.1500.qm@web44809.mail.sp1.yahoo.com>

References: <798939.1500.qm@web44809.mail.sp1.yahoo.com>

Message-ID: <FC2BFF73-3278-411A-B732-25CB35C63767@math.uconn.edu>

Well I am sure this is not what you meant, but how about the integers?

Vince

On Jul 29, 2008, at 5:00 AM, Takjk Taj wrote:

> Dear Gap forum,

> Hi,

> Could any body give me an example of group G, such that derived

> subgroup G and factor group G/Z(G) are finite and infinite

> respectively.

> Best Regards.

>

>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From nagyg at math.u-szeged.hu Tue Jul 29 13:12:15 2008

From: nagyg at math.u-szeged.hu (=?ISO-8859-2?Q?Nagy_G=E1bor?=)

Date: Tue Jul 29 13:12:38 2008

Subject: [GAP Forum] (no subject)

In-Reply-To: <798939.1500.qm@web44809.mail.sp1.yahoo.com>

References: <798939.1500.qm@web44809.mail.sp1.yahoo.com>

Message-ID: <488F091F.90906@math.u-szeged.hu>

Hi,

You can take an infinite central product of the dihedral group of order

8. Then |G'|=|Z(G)|=2.

G Abelian is no good since G/Z(G) is then trivial.

Bye,

Gabor

Takjk Taj wrote:

> Dear Gap forum,

> Hi,

> Could any body give me an example of group G, such that derived subgroup G and factor group G/Z(G) are finite and infinite respectively.

> Best Regards.

>

>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

>

From dennis at rkd.math.cornell.edu Fri Aug 1 22:20:02 2008

From: dennis at rkd.math.cornell.edu (R. Keith Dennis)

Date: Sat Aug 2 22:20:59 2008

Subject: [GAP Forum] saved output & SizeScreen?

Message-ID: <200808012120.m71LK24X027606@rkd.math.cornell.edu>

I have two questions:

How can I turn off "SizeScreen"? That is, I'd like output to be one

long line containing no newline characters & no \ . If I try, for

example, SizeScreen([10000,]), it gets set to 256.

gap> SizeScreen([10000,]);;

gap> SizeScreen();

[ 256, 28 ]

I find it a bit strange that I can't find a direct way to simply turn

of the "for the screen" formatting totally. I assume that there is one.

Also is there a way to remove the spaces from the output? As far as I

can tell, if results are read back into gap, omission of spaces causes

no problems.

At the moment I must write a result to a file & use a perl script to

fix things. This is surely the wrong way to do it. Presumably I can

do it directly in gap, but it seems a bit odd that I can't find a way

to simply avoid the problems in the first place. Is there one?

Thanks.

Keith

From switzel at mathematik.tu-darmstadt.de Wed Aug 6 13:41:09 2008

From: switzel at mathematik.tu-darmstadt.de (Stefan Witzel)

Date: Wed Aug 6 13:41:24 2008

Subject: [GAP Forum] Sortex( list, func )

Message-ID: <20080806124109.GA16226@mathematik.tu-darmstadt.de>

Hello,

is there a reason why the versions Sort and SortParallel exist with an optional Argument func which permits to define an own comparison function while for Sortex and SortingPerm such a version does not exist?

And if so, is there a simple way to obtain what

SortingPerm(ConjugacyClasses, cmp)

would do (for a given function cmp) if there were such a version?

Thanks for any suggestions!

Stefan Witzel

From elahehkhamseh at gmail.com Wed Aug 6 15:42:02 2008

From: elahehkhamseh at gmail.com (Elaheh khamseh)

Date: Wed Aug 6 15:42:14 2008

Subject: [GAP Forum] question

Message-ID: <db123b0d0808060742w118399fcsb316cc1190d632a8@mail.gmail.com>

Can i find the groups have only identity automorphism?

From ahulpke at gmail.com Wed Aug 6 17:39:43 2008

From: ahulpke at gmail.com (Alexander Hulpke)

Date: Wed Aug 6 17:40:16 2008

Subject: [GAP Forum] Sortex( list, func )

In-Reply-To: <20080806124109.GA16226@mathematik.tu-darmstadt.de>

References: <20080806124109.GA16226@mathematik.tu-darmstadt.de>

Message-ID: <21E1FF19-6F8B-4B71-B2D6-0131879469F3@gmail.com>

Dear Forum,

> is there a reason why the versions Sort and SortParallel exist with

> an optional Argument func which permits to define an own comparison

> function while for Sortex and SortingPerm such a version does not

> exist?

There is no fundamental reason for this (and in the next release such

functionality will be available), the most likely reason is that it

can be easily emulated, see below.

>

> And if so, is there a simple way to obtain what

>

> SortingPerm(ConjugacyClasses, cmp)

>

> would do (for a given function cmp) if there were such a version?

Yes. You can use `SortParallel' to build a permutation (in fact this

is what `Sortex' does internally):

gap> l:=[6,2,9,4,5];

gap> pos:=[1..Length(l)]; # list of positions

gap> SortParallel(l,pos,function(a,b) return a>b;end); # reverse

sorting function

gap> l;

[ 9, 6, 5, 4, 2 ]

Now `PermList(pos)' is the inverse of permutation that will do the

same sort:

gap> l:=[6,2,9,4,5]; # old list again

gap> Permuted(l,PermList(pos)^-1);

[ 9, 6, 5, 4, 2 ]

All the best,

Alexander Hulpke

>

From frank.luebeck at math.rwth-aachen.de Thu Aug 7 00:13:02 2008

From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=)

Date: Thu Aug 7 00:13:21 2008

Subject: [GAP Forum] saved output & SizeScreen?

In-Reply-To: <200808012120.m71LK24X027606@rkd.math.cornell.edu>

References: <200808012120.m71LK24X027606@rkd.math.cornell.edu>

Message-ID: <20080806231302.GC11698@beteigeuze>

On Fri, Aug 01, 2008 at 05:20:02PM -0400, R. Keith Dennis wrote:

> I have two questions:

>

> How can I turn off "SizeScreen"? That is, I'd like output to be one

> long line containing no newline characters & no \ . If I try, for

> example, SizeScreen([10000,]), it gets set to 256.

>

> gap> SizeScreen([10000,]);;

> gap> SizeScreen();

> [ 256, 28 ]

>

> I find it a bit strange that I can't find a direct way to simply turn

> of the "for the screen" formatting totally. I assume that there is one.

Dear Keith, dear Forum,

The values you give to SizeScreen should reflect the actual size of your

terminal in which GAP is running. This info is used in various ways by GAP

for input (if you type in long lines) and output formatting. The current

behaviour of SizeScreen looks sensible to me.

What you are actually asking here is how to print something to any stream

(file, string stream, the screen, ...) without GAP's line formatting magic.

For this you can use SetPrintFormattingStatus(stream, bool). For example,

to get something printed to your screen without formatting:

displ := OutputTextUser();

SetPrintFormattingStatus(displ, false);

PrintTo(displ, 13^1313);

But note that just Print(13^1313); will do the formatting, because currently

there is no command in GAP to change the PrintFormattingStatus of the

default output stream that is created during startup. (But I think we can

provide such possibility in future versions of GAP.)

> Also is there a way to remove the spaces from the output? As far as I

> can tell, if results are read back into gap, omission of spaces causes

> no problems.

If you are using GAP's Print function for, say permutations or lists, these

have their spaces after the commas hard coded. There is no way to change

this behaviour in a running GAP. You can either write your own Print

methods/functions for your objects which print less space characters.

> At the moment I must write a result to a file & use a perl script to

> fix things. This is surely the wrong way to do it. Presumably I can

> do it directly in gap, but it seems a bit odd that I can't find a way

> to simply avoid the problems in the first place. Is there one?

Or you can do what you describe in a similar way in GAP, first do the

printing to a string stream, and use some string manipulation before writing

that string to a file or the screen:

s := "";

str := OutputTextString(s, true);

SetPrintFormattingStatus(str, false);

# now print your stuff with PrintTo(str, ...), say

PrintTo(str, Elements(SymmetricGroup(5)));

CloseStream(str);

# now you have everything in the string s, it is in one line, try

PrintFormattedString(s);

# deleting spaces can be done quite efficiently:

RemoveCharacters(s, " ");

# now you can write this to a file, using another quite efficient function:

FileString("myfile", s);

(StringFile and FileString read arbitrary (also binary) files into GAP

strings and vice versa without any formatting or other processing.)

Let me add two more hints in this context:

If you want to print a huge number of short strings to a file or other

stream, the many PrintTo's or AppendTo's can be a bit inefficient.

Wrapping your printing code in a function and using PrintTo1 can

improve performance considerably.

Another trick in UNIX/Linux environment is to gzip files. If you want to

Read("myfile.g");

and there is no myfile.g but a file myfile.g.gz instead, then GAP will

silently read that file and unzip it on the fly. Files with data where you

want to delete the spaces can probably be compressed by gzip by a huge factor.

I hope that helps, best regards,

Frank

--

/// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, ///

\\\ 52062 Aachen, Germany \\\

/// E-mail: Frank.Luebeck@Math.RWTH-Aachen.De ///

\\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\

From alexander.konovalov at gmail.com Fri Aug 8 11:15:39 2008

From: alexander.konovalov at gmail.com (Alexander Konovalov)

Date: Fri Aug 8 11:16:11 2008

Subject: [GAP Forum] question

In-Reply-To: <db123b0d0808060742w118399fcsb316cc1190d632a8@mail.gmail.com>

References: <db123b0d0808060742w118399fcsb316cc1190d632a8@mail.gmail.com>

Message-ID: <15197BA4-AC73-4D76-B4CF-51E17A930434@gmail.com>

On 6 Aug 2008, at 15:42, Elaheh khamseh wrote:

> Can i find the groups have only identity automorphism?

Dear Elaneh Khamseh,

In GAP, for a finite group you can construct its automorphism group

and then you may see if it is trivial or not. For example,

gap> G:=CyclicGroup(3);

<pc group of size 3 with 1 generators>

gap> Size(AutomorphismGroup(G));

2

so here Aut(G) is not trivial.

It is easy to see without GAP that the group of order two has trivial

automorphism group. This can be demonstrated in GAP as below:

gap> G:=CyclicGroup(2);

<pc group of size 2 with 1 generators>

gap> Size(AutomorphismGroup(G));

1

It is an easy exercise to prove that there are no other non-trivial

(finite and infinite) groups with this property.

Hope this helps.

Best wishes,

Alexander

From p.j.cameron at qmul.ac.uk Fri Aug 8 12:27:17 2008

From: p.j.cameron at qmul.ac.uk (Peter Cameron)

Date: Fri Aug 8 12:27:44 2008

Subject: [GAP Forum] question

In-Reply-To: <15197BA4-AC73-4D76-B4CF-51E17A930434@gmail.com>

References: <db123b0d0808060742w118399fcsb316cc1190d632a8@mail.gmail.com>

<15197BA4-AC73-4D76-B4CF-51E17A930434@gmail.com>

Message-ID: <20080808112717.GA19899@mrcpc42.maths.qmul.ac.uk>

On Fri, Aug 08, 2008 at 11:15:39AM +0100, Alexander Konovalov wrote:

> It is an easy exercise to prove that there are no other non-trivial

> (finite and infinite) groups with this property.

>

This assumes the Axiom of Choice (so maybe not such an easy exercise...)

Peter Cameron.

From laurent.bartholdi at gmail.com Fri Aug 8 14:35:05 2008

From: laurent.bartholdi at gmail.com (Laurent Bartholdi)

Date: Fri Aug 8 14:35:18 2008

Subject: [GAP Forum] question

In-Reply-To: <20080808112717.GA19899@mrcpc42.maths.qmul.ac.uk>

References: <db123b0d0808060742w118399fcsb316cc1190d632a8@mail.gmail.com>

<15197BA4-AC73-4D76-B4CF-51E17A930434@gmail.com>

<20080808112717.GA19899@mrcpc42.maths.qmul.ac.uk>

Message-ID: <1ff637850808080635s50b59c73ocd7fbea069defdbf@mail.gmail.com>

On Fri, Aug 8, 2008 at 1:27 PM, Peter Cameron <p.j.cameron@qmul.ac.uk> wrote:

> On Fri, Aug 08, 2008 at 11:15:39AM +0100, Alexander Konovalov wrote:

>> It is an easy exercise to prove that there are no other non-trivial

>> (finite and infinite) groups with this property.

>>

> This assumes the Axiom of Choice (so maybe not such an easy exercise...)

... and furthermore probably a homework exercise...

--

Laurent Bartholdi \ laurent.bartholdi<at>gmail<dot>com

EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458

Station 8 \ Secr?taire: +41 21-6935471

CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339

Home address: http://microurl.org/10, http://microurl.org/16

From b-eide at juno.com Wed Aug 13 19:19:10 2008

From: b-eide at juno.com (b-eide@juno.com)

Date: Wed Aug 13 19:21:09 2008

Subject: [GAP Forum] element in ideal

Message-ID: <20080813.141910.3131.0@webmail18.dca.untd.com>

Is there a command in GAP which will tell me if a particular element

is in a given ideal? Thanks, in advance, for any help with this.

-Becky

____________________________________________________________

Discount Online Trading - Click Now!

http://thirdpartyoffers.juno.com/TGL2131/fc/Ioyw6iiejgTHjjBCGbuanYb1D6yuoonbGjGtA1ILQtrIVItFNtxwqJ/

From b-eide at juno.com Thu Aug 21 06:59:34 2008

From: b-eide at juno.com (b-eide@juno.com)

Date: Thu Aug 21 07:01:31 2008

Subject: [GAP Forum] element in ideal (more specific)

Message-ID: <20080821.015934.21400.0@webmail17.dca.untd.com>

>I was asked to be more specific about my "element in ideal" question: >This is what I am trying to do:

> I have a matrix group with 3 generators (3 by 3 matrices), G.

> Then R is the Group Ring over the integers,

> R:=GroupRing(Integers,G);

> Then I have

> emb:=Embedding(G,R);

> so that I could create 4 elements in R such as,

> R3:=A^emb+B^emb+C^emb;

> b;

> where A, B, and C are 3 by 3 matrices.

> Next, I created a right ideal, I, by generators(R3,R13,R6,R10) in R,

> I:=RightIdealByGenerators(R,R3,R13,R6,R10);

> Finally I have 3 more elements in R which look similar to R3 and I'd like to

determine if they are in the ideal I.

> I tried "in":

> R7 in I;

> and I got the error

> Error, no method found! For debuggin hints type ?Recovery from NoMethodFound.

> Error, no 1st choice method found for 'Basis' on 1 arguments called from

NiceBasis(B) called from BasisVectors(MB!.immutableBasis ) called from BasisVectors(MB)

called from NrBasisVectors(MB) called from...

If GAP cannot do this, does anyone know a software package that will?

Thanks.

____________________________________________________________

Easy-to-use, advanced features, flexible phone systems. Click here for more info.

http://thirdpartyoffers.juno.com/TGL2131/fc/Ioyw6iig7RVHJ7i0CJpRJOkJavN7q3YVpNp4mQfNazOc2ygXUO6NKZ/

From ahulpke at gmail.com Fri Aug 22 22:10:11 2008

From: ahulpke at gmail.com (Alexander Hulpke)

Date: Fri Aug 22 22:10:31 2008

Subject: [GAP Forum] element in ideal (more specific)

In-Reply-To: <20080821.015934.21400.0@webmail17.dca.untd.com>

References: <20080821.015934.21400.0@webmail17.dca.untd.com>

Message-ID: <CDCCBFAD-C111-46F2-9A6E-2F07C32169FC@gmail.com>

Dear Forum,

b-eide (no real name given) asked:

>> I was asked to be more specific about my "element in ideal"

>> question: >This is what I am trying to do:

>

>> I have a matrix group with 3 generators (3 by 3 matrices), G.

>> Then R is the Group Ring over the integers,

>> R:=GroupRing(Integers,G);

>> Then I have

>> emb:=Embedding(G,R);

>> so that I could create 4 elements in R such as,

>> R3:=A^emb+B^emb+C^emb;

>> b;

>> where A, B, and C are 3 by 3 matrices.

>> Next, I created a right ideal, I, by generators(R3,R13,R6,R10) in R,

>> I:=RightIdealByGenerators(R,R3,R13,R6,R10);

Presumably

RightIdealByGenerators(R,[R3,R13,R6,R10]);

>>

>> Finally I have 3 more elements in R which look similar to R3 and

>> I'd like to

> determine if they are in the ideal I.

>> I tried "in":

>> R7 in I;

>> and I got the error

>> Error, no method found! For debuggin hints type ?Recovery from

>> NoMethodFound.

>> Error, no 1st choice method found for 'Basis' on 1 arguments called

>> from

> NiceBasis(B) called from BasisVectors(MB!.immutableBasis ) called

> from BasisVectors(MB)

> called from NrBasisVectors(MB) called from...

>

> If GAP cannot do this, does anyone know a software package that will?

Let me describe what GAP does, and where it fails. From this it should

be clear how one can test "by hand" whether an element is an ideal (Or

what is needed to add functionality to make the `in' command working).

GAP translates the problem into a linear algebra problem. It chooses

a basis (presumably just the images of the group elements) for the

algebra R. With respect to this basis every subring is simply a

subspace of row vectors. To find a linear spanning set for the ideal

R3, it essentially uses what is called the spinning algorithm for

submodules. We assume that we have a subspace T, which is initialized

to be the space spanned by the ideal generators. We now iteratively

expand T.

We form the products of all (linear) generators of T with all (linear)

generators of R. If the product does not lie in T, we extend T with

this product as new linear generator.

The process ends, once all products are found to lie in T.

At this point T will be the ideal R3, and we have a basis for it.

Testing from membership in the ideal now is simply testing for

membership in the subspace T.

The problem arises, because you form the group ring over the

integers. (So de facto we do not have subspaces, but only submodules.)

The membership test in such a submodule is not just Gaussian

elimination, but requires an Hermite normal form. This is where GAP

trips up. (Actually it even trips up a moment earlier when trying to

find a basis, because methods for basis are only implemented over

fields.)

Adding all this functionality to the system is a little bit tricky,

because it would involve extending most of the vector space

functionality to Z- modules. Still all the underlying machinery is

available in the system. So what you could do is to construct the Z-

submodule T yourself, doing membership tests using mobile forms.

What you also could do is to replace Integers by Rationals your

definition of R. As long as your elements are simple sums of group

elements, membership in the ideal should be the same regardless over

which scalar ring you are working.

There is of course one further difficulty. The vector space (module)

over which we are working has dimension |G|. Once this goes beyond a

few 10,000 you will likely run into memory problems. I do not have a

good idea how to avoid this in general.

You could however replace R with an image under any representation of

G. The image would be a smaller dimensional vector space, and you

could test membership in this image first.

A single image will give you only a necessary condition. If you use

all irreducible representations of G (assuming we are working

characteristic zero), I would think that one can use Wedderburn's

structure theorem to patch a result together.

All the best,

Alexander Hulpke

-- Colorado State University, Department of Mathematics,

Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA

email: hulpke@math.colostate.edu, Phone: ++1-970-4914288

http://www.math.colostate.edu/~hulpke

From anvita21 at gmail.com Sat Aug 23 03:25:52 2008

From: anvita21 at gmail.com (Anvita)

Date: Sat Aug 23 03:26:02 2008

Subject: [GAP Forum] Finite field defined with an irreducible polynomial

Message-ID: <6a52effd0808221925o30e71121r792750e50ffa73d7@mail.gmail.com>

Dear Forum,

When a finite field is defined using an irreducible polynomial, there seems

to be a problem

finding the coefficients of the field's elements in the natural power bases.

For example:

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

gap> x:=Indeterminate(GF(5),"x");

x

gap> pol:=x^7+x^4+x^2-x+Z(5);

x^7+x^4+x^2-x+Z(5)

gap> F:=GF(GF(5),pol);

<field of size 78125>

gap> a:=RootOfDefiningPolynomial(F);

(a)

gap> t:=a^32;

(Z(5)^2+Z(5)*a^2+Z(5)*a^3+Z(5)^2*a^5+a^6)

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

Even though "t" is displayed as a polynomial in "a", I do not know

how to get hold of the corresponding coefficients, because the field "F"

as a vector space does not have a basis:

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

gap>IsVectorSpace(F);

true

gap> b:=List([0..6],i->a^i);

[ !Z(5)^0, (a), (a^2), (a^3), (a^4), (a^5), (a^6) ]

gap> Basis(F,b);

Error, no method found! For debugging hints type ?Recovery from

NoMethodFound

Error, no 3rd choice method found for `PrimitiveRoot' on 1 arguments called

from

PrimitiveRoot( F ) called from

Basis( V ) called from

<function>( <arguments> ) called from read-eval-loop

Entering break read-eval-print loop ...

you can 'quit;' to quit to outer loop, or

you can 'return;' to continue

brk>

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

Is there any way around this problem?

Thank you,

Anvita

From e.j.postma+gap at gmail.com Sat Aug 23 15:29:38 2008

From: e.j.postma+gap at gmail.com (Erik Postma)

Date: Sat Aug 23 15:29:49 2008

Subject: Fwd: [GAP Forum] Finite field defined with an irreducible polynomial

In-Reply-To: <d4db24520808230703k461f4ff9s4d5440115c3fc9ac@mail.gmail.com>

References: <6a52effd0808221925o30e71121r792750e50ffa73d7@mail.gmail.com>

<d4db24520808230703k461f4ff9s4d5440115c3fc9ac@mail.gmail.com>

Message-ID: <d4db24520808230729t3ebe6e29wcbb072867479482a@mail.gmail.com>

On Fri, Aug 22, 2008 at 10:25 PM, Anvita <anvita21@gmail.com> wrote:

> Dear Forum,

>

> When a finite field is defined using an irreducible polynomial, there seems

> to be a problem

> finding the coefficients of the field's elements in the natural power bases.

> (...)

> Is there any way around this problem?

Hmmm. One way around it is to define the subspace generated by what we

know is a basis. That will work:

gap> G := Subspace(F, b);

<vector space over GF(5), with 7 generators>

gap> Dimension(G);

7

gap> Basis(G, b);

Basis( <vector space of dimension 7 over GF(5)>, [ !Z(5)^0, (a),

(a^2), (a^3), (a^4),

(a^5), (a^6) ] )

All the best,

Erik.

From thomas.breuer at math.rwth-aachen.de Mon Aug 25 10:26:07 2008

From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer)

Date: Mon Aug 25 10:26:43 2008

Subject: [GAP Forum] Finite field defined with an irreducible polynomial

In-Reply-To: <6a52effd0808221925o30e71121r792750e50ffa73d7@mail.gmail.com>

References: <6a52effd0808221925o30e71121r792750e50ffa73d7@mail.gmail.com>

Message-ID: <20080825092607.GA21820@gemma.math.rwth-aachen.de>

Dear GAP Forum,

Anvita (<anvita21@gmail.com>) wrote:

> When a finite field is defined using an irreducible polynomial, there seems

> to be a problem

> finding the coefficients of the field's elements in the natural power bases.

> For example:

>

> ----------------------------------------

> gap> x:=Indeterminate(GF(5),"x");

> x

> gap> pol:=x^7+x^4+x^2-x+Z(5);

> x^7+x^4+x^2-x+Z(5)

> gap> F:=GF(GF(5),pol);

> <field of size 78125>

> gap> a:=RootOfDefiningPolynomial(F);

> (a)

> gap> t:=a^32;

> (Z(5)^2+Z(5)*a^2+Z(5)*a^3+Z(5)^2*a^5+a^6)

> -----------------------------------------

>

> Even though "t" is displayed as a polynomial in "a", I do not know

> how to get hold of the corresponding coefficients, because the field "F"

> as a vector space does not have a basis:

>

> --------------------------------------------------------------------------------

> gap>IsVectorSpace(F);

> true

> gap> b:=List([0..6],i->a^i);

> [ !Z(5)^0, (a), (a^2), (a^3), (a^4), (a^5), (a^6) ]

> gap> Basis(F,b);

> Error, no method found! For debugging hints type ?Recovery from

> [...]

>

> Is there any way around this problem?

This problem will be fixed in the next version of GAP.

Erik Postma has already proposed a workaround, which works well,

but clearly it should be possible to compute a basis for the finite field

itself.

For the moment, reading the following code into the GAP session

will add the missing functionality.

InstallMethod( CanonicalBasis,

"for a finite field",

[ IsField and IsFinite ],

function( F )

local z, B;

z:= RootOfDefiningPolynomial( F );

B:= BasisNC( F, List( [ 0 .. Dimension( F ) - 1 ], i -> z ^ i ) );

SetIsCanonicalBasis( B, true );

return B;

end );

(To those who are interested:

If one asks for a basis of a finite field then `CanonicalBasis' is used,

and the currently available method for this operation wants to use

the attribute `PrimitiveRoot'.

This is fine if a primitive root of the field is known, and this is the case

if the field was constructed using a primitive polynomial,

for example by the ``standard'' call `GF(q)'.

If no primitive root of the field is known then GAP runs into the reported

error, and indeed it does not make sense to look for a primitive root.

In order to generalize the current `CanonicalBasis' method to other defining

polynomials, it is sufficient to use `RootOfDefiningPolynomial' instead of

`PrimitiveRoot'.

In fact there are only few situations where one really wants to use

`PrimitiveRoot'.)

Thanks for reporting this problem,

and sorry for the inconveniences.

All the best,

Thomas Breuer

From vdabbagh at sfu.ca Tue Aug 26 22:40:01 2008

From: vdabbagh at sfu.ca (Vahid Dabbaghian)

Date: Tue Aug 26 22:40:26 2008

Subject: [GAP Forum] fp groups

Message-ID: <200808262140.m7QLe1dX022558@rm-rstar.sfu.ca>

Dear GAP Forum,

In the following example I have computed an isomorphism from a finite group

G to a finitely presented group and I would like to get the list of powers

of generators of the elements in the finitely presented group. Does anybody

know how can I do that? For example how can I get

[ [F2, -1], [F1, -1], [F2, 1], [F1, -1], [F2, 1], [F3, -1] ]

corresponding to

F2^-1*F1^-1*F2*F1^-1*F2*F3^-1.

gap> U:=[ (1,2), (1,2,3,4,5), (5,6) ];;

gap> G:=Group(U);;

gap> a:=IsomorphismFpGroupByGenerators(G,U);

[ (1,2), (1,2,3,4,5), (5,6) ] -> [ F1, F2, F3 ]

gap> z:=Random(G)^a;

F2^-1*F1^-1*F2*F1^-1*F2*F3^-1

Regards

Vahid

__________________________

The IRMACS Centre (ASB 10905)

Simon Fraser University

8888 University Drive

Burnaby, BC V5A 1S6

Canada

E-mail: vdabbagh@sfu.ca

http://www.sfu.ca/~vdabbagh

From alexander.konovalov at gmail.com Tue Aug 26 23:10:46 2008

From: alexander.konovalov at gmail.com (Alexander Konovalov)

Date: Tue Aug 26 23:11:02 2008

Subject: [GAP Forum] fp groups

In-Reply-To: <200808262140.m7QLe1dX022558@rm-rstar.sfu.ca>

References: <200808262140.m7QLe1dX022558@rm-rstar.sfu.ca>

Message-ID: <14189F30-2EF8-4658-A3BA-07CEE6958CC7@gmail.com>

Dear Vahid,

On 26 Aug 2008, at 22:40, Vahid Dabbaghian wrote:

> Dear GAP Forum,

>

> In the following example I have computed an isomorphism from a

> finite group

> G to a finitely presented group and I would like to get the list of

> powers

> of generators of the elements in the finitely presented group. Does

> anybody

> know how can I do that? For example how can I get

> [ [F2, -1], [F1, -1], [F2, 1], [F1, -1], [F2, 1], [F3, -1] ]

> corresponding to

> F2^-1*F1^-1*F2*F1^-1*F2*F3^-1.

>

> gap> U:=[ (1,2), (1,2,3,4,5), (5,6) ];;

> gap> G:=Group(U);;

> gap> a:=IsomorphismFpGroupByGenerators(G,U);

> [ (1,2), (1,2,3,4,5), (5,6) ] -> [ F1, F2, F3 ]

> gap> z:=Random(G)^a;

> F2^-1*F1^-1*F2*F1^-1*F2*F3^-1

You may use ExtRepOfObj. For example:

gap> z:=Random(G)^a;

F3*F2*F1^-1*F2^-2*F1*F2

gap> ExtRepOfObj(z);

[ 3, 1, 2, 1, 1, -1, 2, -2, 1, 1, 2, 1 ]

See section 35.7 "The External Representation for Associative Words"

of the Reference Manual for the documentation.

Best wishes,

Alexander

From trof1984 at rambler.ru Thu Aug 28 11:04:59 2008

From: trof1984 at rambler.ru (Alex Trofimuk)

Date: Thu Aug 28 11:07:58 2008

Subject: [GAP Forum] Product groups

Message-ID: <169559577.1219917899.211947768.17434@mcgi56.rambler.ru>

-- Dear Gap Forum.

Alex Trofimuk asked:

Let A and B are some subgroups of group G, A is normal in G. How to find

inner product AB in G. Thank you.

Alex Trofimuk.

--

???????? ??????????? ???????? ?????????? ?? ????????????!

http://autorambler.ru/sellyourcar/

From b-eide at juno.com Fri Aug 29 15:31:26 2008

From: b-eide at juno.com (b-eide@juno.com)

Date: Fri Aug 29 15:33:11 2008

Subject: [GAP Forum] GAP console frozen

Message-ID: <20080829.103126.6430.0@webmail18.dca.untd.com>

My GAP console seems to be frozen.

I received the following error:

exceeded the permitted memory ('-o' command line option at

B!.heads := gens.heads;

called from

BasisVectors(B) called from...

Entering break read-eval-print loop...

you can 'quit' to quit to outer loop, or

you can 'return to continue

brk>

and I typed 'return' to see if perhaps with more time, I would get a result.

I was checking if an element was in an ideal. For those who read my previous posting about "element in ideal (more specific)", I changed Integers to Rationals, and was trying "gap>R4 in I;" This is the command that led to the error above.

After leaving the program running overnight, it seems to be frozen. I can't Cntl C to quit, or Cntrl D to exit to the SAGE console, I can't do anything!!!! I closed the program, restarted the computer, and reopened the program with no change. Can anyone help?

-Becky

____________________________________________________________

Click to find information on your credit score and your credit report.

http://thirdpartyoffers.juno.com/TGL2131/fc/Ioyw6iifRxYPCB3t2fuc3AfAOjqmgjQDkKVG6xW0OOA4hyC2qDba57/

From wdjoyner at gmail.com Sat Aug 30 00:45:31 2008

From: wdjoyner at gmail.com (David Joyner)

Date: Sat Aug 30 00:45:44 2008

Subject: [GAP Forum] GAP console frozen

In-Reply-To: <20080829.103126.6430.0@webmail18.dca.untd.com>

References: <20080829.103126.6430.0@webmail18.dca.untd.com>

Message-ID: <8cf963450808291645t3deb75c9k2256ca6ae77fca7b@mail.gmail.com>

On Fri, Aug 29, 2008 at 10:31 AM, b-eide@juno.com <b-eide@juno.com> wrote:

> My GAP console seems to be frozen.

>

> I received the following error:

> exceeded the permitted memory ('-o' command line option at

> B!.heads := gens.heads;

> called from

> BasisVectors(B) called from...

> Entering break read-eval-print loop...

> you can 'quit' to quit to outer loop, or

> you can 'return to continue

> brk>

>

> and I typed 'return' to see if perhaps with more time, I would get a result.

> I was checking if an element was in an ideal. For those who read my previous posting about "element in ideal (more specific)", I changed Integers to Rationals, and was trying "gap>R4 in I;" This is the command that led to the error above.

> After leaving the program running overnight, it seems to be frozen. I can't Cntl C to quit, or Cntrl D to exit to the SAGE console, I can't do anything!!!! I closed the program, restarted the computer, and reopened the program with no change. Can anyone help?

> -Becky

(It is the policy for GAP Forum questions to be answered in the

Forum for the benefit of other users. The problem has been

resolved off-list, but I'll roughly summarize the suggestions

made by Steve Linton, William Stein and later discovered

by Becky herself.)

In this case, GAP was being used within VMWare. Both GAP and

VMWare allow one to adjust memory allocation. For GAP, one uses the

-o option, for example starting GAP from the command line by

gap -o 1G

On the VMWare side, you can greatly increase the amount of RAM

available to the virtual machine by editing (with notepad) the

.vmx file in the virtual machine folder under windows.

In any case, if the program does lock up due to lack of memory,

you can press ctl-C twice and GAP will respond promptly.

(If you hit ctl-C once, GAP will eventually respond, but not

until garbage collection has finished, which can be very slow.)

>

> ____________________________________________________________

> Click to find information on your credit score and your credit report.

> http://thirdpartyoffers.juno.com/TGL2131/fc/Ioyw6iifRxYPCB3t2fuc3AfAOjqmgjQDkKVG6xW0OOA4hyC2qDba57/

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From trof1984 at rambler.ru Mon Sep 8 19:51:53 2008

From: trof1984 at rambler.ru (Alex Trofimuk)

Date: Mon Sep 8 19:52:20 2008

Subject: [GAP Forum] semidirect product

Message-ID: <1095259222.1220899913.168314036.33948@mcgi16.rambler.ru>

-- Dear GAP Forum,

Alex Trofimuk asked

My aim is to construct group G of odd order and |G| not divisible by p^5

for every prime p dividing |G|. Therefore DerivedLength(G)=4.

For example, I found group H:= SmallGroup(1029,11) , 1029=7*7*7*3 and

DerivedLength(N)=3. Let Aut:= AutomorphismGroup(H). Then I computed

group B:= SylowSubgroup(Aut,3) such that |B|=9. Then I constructs

G:=SemidirectProduct( B, H ), but DerivedLength(G)=3. My question : why

DerivedLength(G)<>4? Thanks.

Alex Trofimuk.

--

???????? ??????????? ???????? ?????????? ?? ????????????!

http://autorambler.ru/sellyourcar/

From colva at mcs.st-and.ac.uk Mon Sep 15 15:30:55 2008

From: colva at mcs.st-and.ac.uk (Colva Roney-Dougal)

Date: Mon Sep 15 15:31:18 2008

Subject: [GAP Forum] EMS/LMS meeting and Workshop

Message-ID: <A6A19818-9930-4975-94EC-68AF30F84BB2@mcs.st-and.ac.uk>

There will be a joint meeting of the Edinburgh Mathematical Society

and the London

Mathematical Society on the afternoon of Friday 12th December and the

morning of

Saturday 13th December in Edinburgh. The speakers and titles are:

Laurent Bartholdi (Goettingen): Automatically presented groups.

Martin Bridson (Oxford): Dimension, rigidity and fixed point theorems.

Alain Valette (Neuchatel): The Haagerup property and its stability

properties.

Efim Zelmanov (UC San Diego): Asymptotic properties of finite

groups and finite dimensional algebras.

Immediately preceding this, a workshop on Infinite Group Theory and

related

topics will be held in Edinburgh from the morning of Wednesday 10th

December

until lunchtime on Friday 12th December.

Invited speakers include: L. Bartholdi (Goettingen), T. Burness

(Southampton),

P. Dehornoy (Caen), B. Eick (Braunschweig), M. Geck (Aberdeen),

D. Macpherson (Leeds), J. Mitchell (St Andrews), G. Pfeiffer (Galway)

and

T. Riley (Bristol).

The invited talks will be accessible to postgraduate students,

postdoctoral

fellows and researchers in all areas of group theory.

For more information and to register for the meeting and workshop go to

http://www-groups.mcs.st-and.ac.uk/~colva/edconf.html

We invite postgraduate students to submit a 1-page outline for a

poster paper by

email to colva@mcs.st-and.ac.uk by Friday November 14th. The five

best outlines

will be invited to give a short talk at the workshop, and there will

be a poster paper

session for all postgraduates.

Organising Committee: Kenny Brown (Glasgow), Iain Gordon (Edinburgh),

Jim Howie (Heriot-Watt), Tom Lenagan (Edinburgh) and Colva Roney-Dougal

(St Andrews).

Best wishes

Colva

The University of St Andrews is a charity registered in Scotland : No

SC013532

From colva at mcs.st-and.ac.uk Wed Sep 17 13:44:41 2008

From: colva at mcs.st-and.ac.uk (Colva Roney-Dougal)

Date: Wed Sep 17 14:47:41 2008

Subject: [GAP Forum] 22nd British Combinatorial Conference

Message-ID: <CBBAE3DC-62D6-48B1-AFB6-852FA0185189@mcs.st-and.ac.uk>

Dear all,

Preliminary registration is now open for the 22nd British

Combinatorial Conference, to be held at the University of St Andrews

from the 5th to the 10th of July, 2009.

The invited speakers are:

Arrigo Bonisoli (Universita di Modena e Reggio Emilia, Italy)

Peter J Cameron (Queen Mary, University of London, UK)

Willem H Haemers (Tilburg University, The Netherlands)

Gholamreza B Khosrovshahi (IPM, Iran)

Alexandr V Kostochka (University of Illinois at Urbana-Champaign, USA)

Daniela Kuhn (University of Birmingham, UK)

Marc Noy (Universitat Politecnica de Catalunya, Spain)

Oliver Riordan (University of Oxford, UK)

Gordon Royle (University of Western Australia)

Programme: The speakers above will each give a 1 hour talk. These talks

are intended to be accessible to postgraduate students, postdoctoral

fellows,

and researchers in all areas of combinatorics. In addition,

participants are

invited to give a talk of 20 minutes on any combinatorial topic. A

problem

session will be held on the last day.

The conference and accommodation will be at the University of St

Andrews.

Social Programme: There will be a wide-ranging social programme,

including a

conference banquet, an excursion and a musical evening.

Organising Committee: Sophie Huczynska, James Mitchell and Colva

Roney-Dougal.

email: bcc2009@mcs.st-and.ac.uk

Web site: http://bcc2009.mcs.st-and.ac.uk/

Best wishes

Colva Roney-Dougal, on behalf of the organisers.

The University of St Andrews is a charity registered in Scotland : No

SC013532

From mathpn59 at yahoo.com Wed Sep 17 21:17:24 2008

From: mathpn59 at yahoo.com (Takjk Taj)

Date: Wed Sep 17 21:17:55 2008

Subject: [GAP Forum] Request

Message-ID: <147318.90155.qm@web44812.mail.sp1.yahoo.com>

Dear Forum,

I have question about GAP.

If N, K are normal subgroup and subgroup of Group G respectively, how we can calculate

semi direct product N and K.

Thanks

From andyp at math.mit.edu Thu Sep 18 05:54:17 2008

From: andyp at math.mit.edu (Andrew Putman)

Date: Thu Sep 18 05:54:32 2008

Subject: [GAP Forum] First cohomology question

Message-ID: <Pine.LNX.4.64.0809180046230.6119@lagrange.mit.edu>

Dear GAP Forum,

For some work I've been doing recently, I need to know the following.

Let p be a prime and let g>1. Denote by Sp(2g,Z/pZ) the symplectic group

over Z/pZ and by V(2g,Z/pZ) the symplectic Lie algebra over Z/pZ with the

adjoint action of Sp(2g,Z/pZ). I need to calculate

H^1(Sp(2g,Z/pZ),V(2g,Z/pZ))

for some small p and g (it is known for large p and g).

I am under the impression that GAP can do this, but I am having trouble

figuring out how to do it. I can figure it out for simpler

representations of Sp(2g,Z/pZ), like the standard one on (Z/pZ)^{2g},

but I can't figure out how to get the adjoint representation. Thank you

very much for any help!

best,

Andy Putman

From alice at maths.uwa.edu.au Mon Sep 22 13:08:25 2008

From: alice at maths.uwa.edu.au (alice)

Date: Mon Sep 22 15:00:20 2008

Subject: [GAP Forum] GCC09 in Perth

Message-ID: <48D78AB9.8000406@maths.uwa.edu.au>

*2nd Announcement for the international conference:*

*Group Theory, Combinatorics and Computation 2009*

*in Perth, Western Australia, 5-16 January 2009.*

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

This AMSI special theme programme will be held over two weeks.

*Week 1*:

An international conference in honour of Professor Praeger's 60th

birthday. It will contain invited 1 hour talks and short contributed

talks by participants.

*Week 2:*

An informal week of short courses, workshops and problem sessions,

especially beneficial to early career researchers and postgraduate

students.

For more information please visit http://sponsored.uwa.edu.au/gcc09

(Please do not use Internet Explorer 6)

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

*

*

*Re**gistration:*

*

*We now invite participants to register online at our web site.

Early Bird registration closes on *31 October 2008.*

The organisers.

gcc09@maths.uwa.edu.au <mailto:gcc09@maths.uwa.edu.au>

From alexander.konovalov at gmail.com Tue Sep 23 10:57:32 2008

From: alexander.konovalov at gmail.com (Alexander Konovalov)

Date: Tue Sep 23 10:58:09 2008

Subject: [GAP Forum] XGAP and cygwin

In-Reply-To: <000d01c8a085$a702eb20$f508c160$@lauri@um.edu.mt>

References: <000d01c8a085$a702eb20$f508c160$@lauri@um.edu.mt>

Message-ID: <FBDFE5F4-1716-4F39-AF13-06DAEDDEBF59@gmail.com>

Dear Josef, dear GAP Forum,

The question below seems still unanswered in the Forum, and I think

posting an answer here may be useful for the Forum community even

if Josef (I hope!) already solved this problem.

Before starting xgap, first you need to build its binaries. Start

Cygwin shell, go to the gap4r4/pkg/xgap directory of your GAP

installation, and enter the following commands:

./configure

make

Then you need to start XGAP in X Windows, what you should be able

to do in a fairly complete Cygwin installation. Launch XTerm (it

may require starting X-Server separately first, or X-Server may

be started automatically when you call XTerm, dependently on the

particular setup), and then run gap4r4/pkg/xgap/bin/xgap.sh to

start XGAP.

Best wishes,

Alexander

On 17 Apr 2008, at 13:22, Josef Lauri wrote:

> Hello,

>

>

>

> I have installed gap under cygwin (running windows vista).

> Installation and

> compilation ran well and functions which could not run under my

> previous

> windows installation of gap are now running fine. But I am having

> problems

> with xgap. When I call RequirePackage("xgap"); gap returns with the

> message

> "fail".

>

>

>

> I would appreciate any tips.

>

>

>

> Thank you.

>

>

>

> Josef Lauri

>

> University of Malta

From josef.lauri at um.edu.mt Tue Sep 23 12:30:25 2008

From: josef.lauri at um.edu.mt (Josef Lauri)

Date: Tue Sep 23 12:31:14 2008

Subject: [GAP Forum] XGAP and cygwin

In-Reply-To: <FBDFE5F4-1716-4F39-AF13-06DAEDDEBF59@gmail.com>

References: <000d01c8a085$a702eb20$f508c160$@lauri@um.edu.mt>

<FBDFE5F4-1716-4F39-AF13-06DAEDDEBF59@gmail.com>

Message-ID: <48D8D351.9030705@um.edu.mt>

Thanks Alexander. I tried it and it works. But now I have decided to

install Linux (kubuntu) and only use windows if I really need it under a

virtual machine. Everything is now working much better for me. But for

anyone who needs to remain with windows and run GAP I can recommend

cygwin. Even though you do get a message like "unix binaries not

installed" or "some functions which need Unix will not run", like those

parts of GRAPE which use nauty, they actually do run!

josef

Alexander Konovalov wrote:

> Dear Josef, dear GAP Forum,

>

> The question below seems still unanswered in the Forum, and I think

> posting an answer here may be useful for the Forum community even

> if Josef (I hope!) already solved this problem.

>

> Before starting xgap, first you need to build its binaries. Start

> Cygwin shell, go to the gap4r4/pkg/xgap directory of your GAP

> installation, and enter the following commands:

>

> ./configure

> make

>

> Then you need to start XGAP in X Windows, what you should be able

> to do in a fairly complete Cygwin installation. Launch XTerm (it

> may require starting X-Server separately first, or X-Server may

> be started automatically when you call XTerm, dependently on the

> particular setup), and then run gap4r4/pkg/xgap/bin/xgap.sh to

> start XGAP.

>

> Best wishes,

> Alexander

>

>

> On 17 Apr 2008, at 13:22, Josef Lauri wrote:

>

>> Hello,

>>

>>

>>

>> I have installed gap under cygwin (running windows vista).

>> Installation and

>> compilation ran well and functions which could not run under my previous

>> windows installation of gap are now running fine. But I am having

>> problems

>> with xgap. When I call RequirePackage("xgap"); gap returns with the

>> message

>> "fail".

>>

>>

>>

>> I would appreciate any tips.

>>

>>

>>

>> Thank you.

>>

>>

>>

>> Josef Lauri

>>

>> University of Malta

>

From vkv at cs.utexas.edu Fri Sep 26 09:58:23 2008

From: vkv at cs.utexas.edu (Vinod K. Valsalam)

Date: Fri Sep 26 09:58:33 2008

Subject: [GAP Forum] Maximal subgroups of non-representatives in lattice

Message-ID: <878wtfz3kg.wl%vkv@cs.utexas.edu>

Dear GAP forum,

In the subgroup lattice produced by LatticeSubgroups(), I can find the

maximal subgroup relations among conjugacy class representatives using

the function MaximalSubgroupsLattice(). However, I am also interested

in the maximal subgroups of all the other elements of the class; not

just those of the class representatives. In GAP 3, section 7.74 of

the manual describes an easy way to display this information by

setting the print level to 4 or 5:

http://www.gap-system.org/Gap3/Manual3/C007S074.htm

But I don't know how to get this information in GAP 4. I would

greatly appreciate any help. Thank you!

Best regards,

Vinod Valsalam

From p.j.cameron at qmul.ac.uk Fri Sep 26 10:03:31 2008

From: p.j.cameron at qmul.ac.uk (Peter Cameron)

Date: Fri Sep 26 10:04:03 2008

Subject: [GAP Forum] Decomposing rational modules

Message-ID: <20080926090331.GA15677@mrcpc42.maths.qmul.ac.uk>

Dear Forum,

Is there a simple way to decompose rational permutation modules? A quick

browse of the manual suggests that one can decompose modules over finite

fields (I suppose this uses the MeatAxe) but not over the rationals

(which I naively thought would be easier).

In particular cases one can spot a vector in each submodule and then take

the sumbodule spanned by its images, but it would be nice to have something

more general...

Peter Cameron.

From dima at ntu.edu.sg Fri Sep 26 11:26:02 2008

From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik)

Date: Fri Sep 26 11:26:51 2008

Subject: [GAP Forum] Decomposing rational modules

In-Reply-To: <20080926090331.GA15677@mrcpc42.maths.qmul.ac.uk>

References: <20080926090331.GA15677@mrcpc42.maths.qmul.ac.uk>

Message-ID: <668720bc0809260326s5c7b98a7vf184983f974a00cc@mail.gmail.com>

Dear Peter, dear all,

Is not so hard to implement the classical formulae for homogeneous

components (i.e. the components that are direct sums of isomorphic copies of

a particular irreducible), etc. The projectors are appropriate linear

combinations

of conjugacy class sums.

In fact I am working at the moment on a GAP package that constructs the

coherent configuration of a not necessarily transitive permutation group

and computes its irreducible representations --- as a by-product one would get

a decomposition of the permutation module into irreducibles...

I have (re)invented an efficient way to compute the conjugacy class

sums, along the way.

HTH,

Dima

2008/9/26 Peter Cameron <p.j.cameron@qmul.ac.uk>:

> Dear Forum,

>

> Is there a simple way to decompose rational permutation modules? A quick

> browse of the manual suggests that one can decompose modules over finite

> fields (I suppose this uses the MeatAxe) but not over the rationals

> (which I naively thought would be easier).

>

> In particular cases one can spot a vector in each submodule and then take

> the sumbodule spanned by its images, but it would be nice to have something

> more general...

>

> Peter Cameron.

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From degraaf at science.unitn.it Fri Sep 26 14:06:01 2008

From: degraaf at science.unitn.it (degraaf@science.unitn.it)

Date: Fri Sep 26 14:06:26 2008

Subject: [GAP Forum] Decomposing rational modules

Message-ID: <20080926150601.wc7gmia1kc0csocw@www.unitn.it>

Dear Dima, Peter, All,

In order to decompose a rational module, one can

compute its endomorphism algebra (i.e., all linear maps that

comute with the action of G). In this algebra one can find the

central idempotents. (That particular step is also implemented in GAP).

Those will give one the components that are direct sums of isotypical

modules. However, if the endomorphism algebra contains subalgebras

that are isomorphic to full matrix algebras, then one would have to

find complete sets of idempotents also in those algebras. That is an

extremely hard problem in general.

I hope the above makes sense.

All the best,

Willem

From dima at ntu.edu.sg Fri Sep 26 16:13:52 2008

From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik)

Date: Fri Sep 26 16:13:59 2008

Subject: [GAP Forum] Decomposing rational modules

In-Reply-To: <20080926150601.wc7gmia1kc0csocw@www.unitn.it>

References: <20080926150601.wc7gmia1kc0csocw@www.unitn.it>

Message-ID: <668720bc0809260813r1d99361bia7d97034c8ae87cc@mail.gmail.com>

Dear Willem, Peter, all,

2008/9/26 <degraaf@science.unitn.it>:

> Dear Dima, Peter, All,

>

> In order to decompose a rational module, one can

> compute its endomorphism algebra (i.e., all linear maps that

> comute with the action of G). In this algebra one can find the

> central idempotents. (That particular step is also implemented in GAP).

What I wrote coincides with this, up to terminology.

As the question was about Q-modules of permutation groups, I adhered

to the terminology

used in this area. The endomorphism algebra in this case is known e.g.

as "coherent configuration", name introduced by D.Higman (there are

other names, too).

It has the basis of 0-1 matrices (so-called 2-orbits) corresponding to

the orbits of the group G on ordered 2-tuples, allowing for a very

quick computation, not only of this basis, but of the

multiplication table, too.

> Those will give one the components that are direct sums of isotypical

> modules.

The centre of a coherent configuration of 2-orbits is generated by

sums C_i=g_i^G of conjugacy classes of G.

The isotypical component corresponding to an irreducible character x

is given by the projection sum_i x(g_i)* C_i.

Computing C_i is very quick, once 2-orbits are known, as one just has to expand

C_i as a linear combination of 2-orbits (one views each 2-orbit as the

adjacency matrix

of a digraph, and cycles of g_i give rise to cycles in these digraphs

- the rest is elementary counting)

Computing a decomposition of each isotypical component into

G-irreducibles can be easily done if the irreducible representation of

G corresponding to this component is known.

Formulae for this can be found in Serre's book "Linear representations

of finite groups." Springer GTM, Vol. 42.

> However, if the endomorphism algebra contains subalgebras

> that are isomorphic to full matrix algebras, then one would have to

> find complete sets of idempotents also in those algebras. That is an

> extremely hard problem in general.

Well, as I mentioned, in this case the knowledge of the complex

irreducible representations

of the group in question would suffice.

Group theory can be very helpful sometimes ;-)

Best,

Dima

>

> I hope the above makes sense.

>

> All the best,

>

> Willem

>

>

>

>

From ig at informatika.ilab.sztaki.hu Fri Sep 26 20:24:28 2008

From: ig at informatika.ilab.sztaki.hu (Gabor Ivanyos)

Date: Fri Sep 26 20:24:37 2008

Subject: [GAP Forum] Decomposing rational modules

In-Reply-To: <668720bc0809260813r1d99361bia7d97034c8ae87cc@mail.gmail.com>

References: <20080926150601.wc7gmia1kc0csocw@www.unitn.it>

<668720bc0809260813r1d99361bia7d97034c8ae87cc@mail.gmail.com>

Message-ID: <20080926192428.GA14659@informatika.ilab.sztaki.hu>

Dear Dima, Willem, Peter, all,

> Formulae for this can be found in Serre's book "Linear representations

> of finite groups." Springer GTM, Vol. 42.

I think Peter was asking for decomposition over Q. Let us stress "over Q"`.

I agree Willem in that it is hard in general. For finite groups it mght be ber

somewhat easier than the general case, but I am not aware of any serious

result supportimg this.

Gabor

From ahulpke at gmail.com Sat Sep 27 03:39:55 2008

From: ahulpke at gmail.com (Alexander Hulpke)

Date: Sat Sep 27 03:40:17 2008

Subject: [GAP Forum] Maximal subgroups of non-representatives in lattice

In-Reply-To: <878wtfz3kg.wl%vkv@cs.utexas.edu>

References: <878wtfz3kg.wl%vkv@cs.utexas.edu>

Message-ID: <4D240D1A-26A9-48D8-8DF9-54251F3ECF7C@gmail.com>

Dear GAP-Forum,

Vinod Valsalam asked:

>

> In the subgroup lattice produced by LatticeSubgroups(), I can find the

> maximal subgroup relations among conjugacy class representatives using

> the function MaximalSubgroupsLattice(). However, I am also interested

> in the maximal subgroups of all the other elements of the class; not

> just those of the class representatives. In GAP 3, section 7.74 of

> the manual describes an easy way to display this information by

> setting the print level to 4 or 5:

This information is not any longer available via the print level, it

can however be obtained easily from the maximal subgroups information

by conjugating representatives. As an example I append a function that

takes a subgroup lattice and writes out the lattice structure as a

graph in the .dot (graphviz) format. I'd expect that this function

(which will be in the next major release) is easily adapted for other

purposes.

Hope this helps,

Alexander Hulpke

>

-- Colorado State University, Department of Mathematics,

Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA

email: hulpke@math.colostate.edu, Phone: ++1-970-4914288

http://www.math.colostate.edu/~hulpke

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

##

#F DotFileLatticeSubgroups(<L>,<filename>)

DotFileLatticeSubgroups:=function(L,file)

local cls, len, sz, max, rep, z, t, i, j, k;

cls:=ConjugacyClassesSubgroups(L);

len:=[];

sz:=[];

for i in cls do

Add(len,Size(i));

AddSet(sz,Size(Representative(i)));

od;

PrintTo(file,"digraph lattice {\nsize = \"6,6\";\n");

# sizes and arrangement

for i in sz do

AppendTo(file,"\"s",i,"\" [label=\"",i,"\", color=white];\n");

od;

sz:=Reversed(sz);

for i in [2..Length(sz)] do

AppendTo(file,"\"s",sz[i-1],"\"->\"s",sz[i],

"\" [color=white,arrowhead=none];\n");

od;

# subgroup nodes, also acccording to size

for i in [1..Length(cls)] do

for j in [1..len[i]] do

if len[i]=1 then

AppendTo(file,"\"",i,"x",j,"\" [label=\"",i,"\", shape=box];\n");

else

AppendTo(file,"\"",i,"x",j,"\" [label=\"",i,"-",j,"\", shape=circle];

\n");

fi;

od;

AppendTo(file,"{ rank=same;

\"s",Size(Representative(cls[i])),"\"");

for j in [1..len[i]] do

AppendTo(file," \"",i,"x",j,"\"");

od;

AppendTo(file,";}\n");

od;

max:=MaximalSubgroupsLattice(L);

for i in [1..Length(cls)] do

for j in max[i] do

rep:=ClassElementLattice(cls[i],1);

for k in [1..len[i]] do

if k=1 then

z:=j[2];

else

t:=cls[i]!.normalizerTransversal[k];

z:=ClassElementLattice(cls[j[1]],1); # force computation of transv.

z:=cls[j[1]]!.normalizerTransversal[j[2]]*t;

z:=PositionCanonical(cls[j[1]]!.normalizerTransversal,z);

fi;

AppendTo(file,"\"",i,"x",k,"\" -> \"",j[1],"x",z,

"\" [arrowhead=none];\n");

od;

od;

od;

AppendTo(file,"}\n");

end;

From dima at ntu.edu.sg Sat Sep 27 09:53:36 2008

From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik)

Date: Sat Sep 27 09:53:45 2008

Subject: [GAP Forum] Decomposing rational modules

In-Reply-To: <20080926192428.GA14659@informatika.ilab.sztaki.hu>

References: <20080926150601.wc7gmia1kc0csocw@www.unitn.it>

<668720bc0809260813r1d99361bia7d97034c8ae87cc@mail.gmail.com>

<20080926192428.GA14659@informatika.ilab.sztaki.hu>

Message-ID: <668720bc0809270153j17dcd097qde6d521d4b2e1ac9@mail.gmail.com>

Dear Gabor, Willem, Peter, all,

Indeed I took the Peter's question as if he didn't mind the field to

be extended.

But even if he did, there are tools available for dealing with Q-irreducible

representations, e.g. the Artin's theorem that basically says that the

character of a rational

representation is a difference of permutation characters, each of the

latter a direct sum of representations induced from a cyclic subgroup,

and the related counting result that says that the number of

irreducible Q-representations equals the number of conjugate cyclic

subgroups. So it does not look completely hopeless to construct all

the Q-irreducibles, if needed.

Regards,

Dima

2008/9/27 Gabor Ivanyos <ig@informatika.ilab.sztaki.hu>:

> Dear Dima, Willem, Peter, all,

>> Formulae for this can be found in Serre's book "Linear representations

>> of finite groups." Springer GTM, Vol. 42.

> I think Peter was asking for decomposition over Q. Let us stress "over Q"`.

> I agree Willem in that it is hard in general. For finite groups it mght be ber

> somewhat easier than the general case, but I am not aware of any serious

> result supportimg this.

> Gabor

>

From alexander.konovalov at gmail.com Wed Oct 1 14:55:02 2008

From: alexander.konovalov at gmail.com (Alexander Konovalov)

Date: Wed Oct 1 14:55:17 2008

Subject: [GAP Forum] Counting subgroups

In-Reply-To: <200807181545.m6IFjNHw028686@wali.um.ac.ir>

References: <200807181545.m6IFjNHw028686@wali.um.ac.ir>

Message-ID: <48743BEB-BBD9-483A-8565-6EF7BB406CD6@gmail.com>

Dear Dr. Erfanian, dear GAP Forum,

On 18 Jul 2008, at 17:48, erfanian wrote:

> Dear Gap Forum,

> I would like to know if there is a way to count all subgroups for

> given group G (finite and infinite) in Gap. Thanks in advance for

> any help

> and comments.

> Best regards,

> A. Erfanian.

First, the finite case. This is a hard problem in general. For example,

the number of subgroups of the symmetric group of degree n is known only

for very small values of n. In particular, the On-Line Encyclopedia of

Integer Sequences contains the number of subgroups of S_n up to n=12

(see the sequence http://www.research.att.com/~njas/sequences/A005432).

For groups of moderate size (the actual meaning of "moderate" depends

a bit

on the group structure; should work well for groups of orders at least

of up to

10^4..10^5) the commands 'LatticeSubgroups' (if you are also

interested in the

relations of inclusion on the set of subgroups) or

'ConjugacyClassesSubgroups'

(if the knowledge about inclusion is not required) will compute

representatives

of all subgroups up to conjugacy. If the group gets bigger, however,

this will

either run out of space or take too long to be feasible.

Now, if by "count subgroups" you mean "determine the number of

subgroups", you

may compute the sum of orders of each conjugacy class. For example:

gap> G := SymmetricGroup( 5 );

Sym( [ 1 .. 5 ] )

gap> Sum( List( ConjugacyClassesSubgroups( G ), Size ) );

156

Also, GAP has the library of tables of marks. These tables give a

compact

description of subgroup lattices of groups. So *for groups in this

library*,

the numbers of (classes of) subgroups can be read off from the stored

data.

For example, the same information for S_5 can be retrieved using the

following

commands:

gap> t := TableOfMarks( "S5" );

TableOfMarks( "S5" )

gap> Sum( LengthsTom( t ) );

156

See the GAP reference manual for further details about tables of marks.

Further, if "count" means "enumerate", you can run a loop and consider

either

a representative or the full list of subgroups from each class.

Enumerating

representatives is much faster than enumerating all subgroups in each

conjugacy

class (for non-abelian groups), so if you are looking for a a subgroup

with certain

combination of properties, first check for the class representative

those properties

which are conjugacy classes invariants, and then, if necessary,

continue the search

over the whole list of subgroups from the class.

It is also advised to think whether do you really need to compute all

conjugacy

classes of subgroups. If you are interested only in normal or maximal

subgroups,

there is no need to compute all classes - use 'NormalSubgroups' or

'MaximalSubgroups'

instead. Other functions to look are 'SylowSubgroup', 'HallSubgroup',

'MaximalSubgroupClassReps'. Try to use the restricting conditions to

reduce the

calculation (for example, p-subgroups can be found inside a Sylow

subgroup).

Now the infinite case. Of course, you can not really count all

subgroups of an

infinite group. It might be an easy theoretical fact, like for

example, the

description of all subgroups of (Z,+), but this is not a kind of

questions to

ask a computational algebra system.

However, if your group is pc-presented, you may use the GAP package

"polycyclic"

to compute certain families of its subgroups, using its functions

- MaximalSubgroupClassesByIndex( U, p )

- LowIndexSubgroupClasses( U, n )

- LowIndexNormals( U, n )

See the manual of the "polycyclic" package for details.

Finally, let me refer to such resource as the GAP Frequently Asked

Questions:

http://www.gap-system.org/Faq/faq.html, including section 7 and, in

particular,

question 7.7 "How do I get the subgroups of my group?". I used some

text from

that page in my answer.

Best wishes,

Alexander

From dan_lanke at yahoo.com Tue Oct 7 16:24:25 2008

From: dan_lanke at yahoo.com (Dan Lanke)

Date: Tue Oct 7 16:24:53 2008

Subject: [GAP Forum] Z/nZ x Z/nZ

Message-ID: <29140.21894.qm@web45401.mail.sp1.yahoo.com>

Hello,

I'd like to form the group G := Z/nZ x Z/nZ. Of course I can just do

G := DirectProduct(CyclicGroup(n), CyclicGroup(n)).

I would like Elements(G) to give me a list of ordered pairs of cosets of

nZ in Z. How do I do this?

Thanks,

Dan

From A.Egri-Nagy at herts.ac.uk Tue Oct 7 20:05:07 2008

From: A.Egri-Nagy at herts.ac.uk (Attila Egri-Nagy)

Date: Tue Oct 7 20:05:24 2008

Subject: [GAP Forum] Allocating 8G memory

Message-ID: <1e16edd80810071205r6177ca79r272fae58feafd2@mail.gmail.com>

Hello,

I wonder what is the current situation regarding the allocation of big

amount of memory for GAP? We have 8GB and Xeon 64bit processors, but there

seem to be a limit around 2GB. We run GAP on Ubuntu and the linux kernel is

compiled to handle the 8GB.

Any ideas?

Thanks!

Attila

From sal at cs.st-andrews.ac.uk Tue Oct 7 20:25:29 2008

From: sal at cs.st-andrews.ac.uk (Steve Linton)

Date: Tue Oct 7 20:25:38 2008

Subject: [GAP Forum] Allocating 8G memory

In-Reply-To: <1e16edd80810071205r6177ca79r272fae58feafd2@mail.gmail.com>

References: <1e16edd80810071205r6177ca79r272fae58feafd2@mail.gmail.com>

Message-ID: <20081007202529.24ba8b9f@cs.st-andrews.ac.uk>

If you compile GAP in 64 bit mode (check the value of

GAPInfo.BytesPerVariable it should be 8)

then there should be no problem allocated 8GB of memory.

how to compile in 64 bit mode and whether it is the default, depend on your C

compiler setup.

Steve

On Tue, 7 Oct 2008 20:05:07 +0100

"Attila Egri-Nagy" <A.Egri-Nagy@herts.ac.uk> wrote:

> Hello,

>

> I wonder what is the current situation regarding the allocation of big

> amount of memory for GAP? We have 8GB and Xeon 64bit processors, but there

> seem to be a limit around 2GB. We run GAP on Ubuntu and the linux kernel is

> compiled to handle the 8GB.

>

> Any ideas?

>

> Thanks!

> Attila

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

--

Steve Linton School of Computer Science &

Centre for Interdisciplinary Research in Computational Algebra

University of St Andrews Tel +44 (1334) 463269

http://www.cs.st-and.ac.uk/~sal Fax +44 (1334) 463278

The University is a charity registered in Scotland : No SC013532

From dan_lanke at yahoo.com Tue Oct 7 23:50:06 2008

From: dan_lanke at yahoo.com (Dan Lanke)

Date: Tue Oct 7 23:50:21 2008

Subject: [GAP Forum] Subgroup stable under transposition

Message-ID: <91328.91964.qm@web45410.mail.sp1.yahoo.com>

Dear Gap Forum,

Let A be a finite (abelian) group. How do I list all subgroups of A x A that are stable under the transposition (a,b) --> (b,a)?

I know how to list all subgroup, but I don't know how to take care of the transposition condition.

Many thanks,

Dan

From ahulpke at gmail.com Wed Oct 8 05:02:09 2008

From: ahulpke at gmail.com (Alexander Hulpke)

Date: Wed Oct 8 05:02:32 2008

Subject: [GAP Forum] Subgroup stable under transposition

In-Reply-To: <91328.91964.qm@web45410.mail.sp1.yahoo.com>

References: <91328.91964.qm@web45410.mail.sp1.yahoo.com>

Message-ID: <B1438775-D35C-4DA7-B252-E3FDBAF32B56@gmail.com>

Dear Dan Lanke, Dear Forum,

>

> Let A be a finite (abelian) group. How do I list all subgroups of A

> x A that are stable under the transposition (a,b) --> (b,a)?

>

> I know how to list all subgroup, but I don't know how to take care

> of the transposition condition.

You can use the routine to calculate invariant subgroups, constructing

the flip as automorphism of AxA.

For example:

gap> A:=TransitiveGroup(8,2); # some abelian group

4[x]2

gap> D:=DirectProduct(A,A);

Group([ (1,2,3,8)(4,5,6,7), (1,5)(2,6)(3,7)(4,8), (9,10,11,16)

(12,13,14,15),

(9,13)(10,14)(11,15)(12,16) ])

Now construct the flipper automorphism of D:

gap> hom:=GroupHomomorphismByImages(D,D,Concatenation(A1gens,A2gens),

> Concatenation(A2gens,A1gens));

[ (1,2,3,8)(4,5,6,7), (1,5)(2,6)(3,7)(4,8), (9,10,11,16)(12,13,14,15),

(9,13)(10,14)(11,15)(12,16) ] ->

[ (9,10,11,16)(12,13,14,15), (9,13)(10,14)(11,15)(12,16), (1,2,3,8)

(4,5,6,7),

(1,5)(2,6)(3,7)(4,8) ]

gap> IsBijective(hom);

true

Now construct subgroups invariant under hom:

s:=SubgroupsSolvableGroup(D,rec(actions:=[hom]));

I hope this is of help,

Alexander Hulpke

-- Colorado State University, Department of Mathematics,

Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA

email: hulpke@math.colostate.edu, Phone: ++1-970-4914288

http://www.math.colostate.edu/~hulpke

From A.Egri-Nagy at herts.ac.uk Wed Oct 8 18:45:46 2008

From: A.Egri-Nagy at herts.ac.uk (Attila Egri-Nagy)

Date: Wed Oct 8 18:46:01 2008

Subject: [GAP Forum] Allocating 8G memory

In-Reply-To: <20081007202529.24ba8b9f@cs.st-andrews.ac.uk>

References: <1e16edd80810071205r6177ca79r272fae58feafd2@mail.gmail.com>

<20081007202529.24ba8b9f@cs.st-andrews.ac.uk>

Message-ID: <1e16edd80810081045w22c477a7v95bfecfd183ac621@mail.gmail.com>

Yes, I actually made a stupid mistake. I installed Ubuntu Linux routinely,

which means using the i386 distribution, then started to tweak the kernel

and the compiler.

Whereas after installing the 64bit Ubuntu (the amd64 tag is slightly

misleading when you have an Intel processor) standard GAP install/compile

gives the required 64bit capability.

Attila

On Tue, Oct 7, 2008 at 8:25 PM, Steve Linton <sal@cs.st-andrews.ac.uk>wrote:

> If you compile GAP in 64 bit mode (check the value of

> GAPInfo.BytesPerVariable it should be 8)

>

> then there should be no problem allocated 8GB of memory.

>

> how to compile in 64 bit mode and whether it is the default, depend on your

> C

> compiler setup.

>

> Steve

>

> On Tue, 7 Oct 2008 20:05:07 +0100

> "Attila Egri-Nagy" <A.Egri-Nagy@herts.ac.uk> wrote:

>

> > Hello,

> >

> > I wonder what is the current situation regarding the allocation of big

> > amount of memory for GAP? We have 8GB and Xeon 64bit processors, but

> there

> > seem to be a limit around 2GB. We run GAP on Ubuntu and the linux kernel

> is

> > compiled to handle the 8GB.

> >

> > Any ideas?

> >

> > Thanks!

> > Attila

> > _______________________________________________

> > Forum mailing list

> > Forum@mail.gap-system.org

> > http://mail.gap-system.org/mailman/listinfo/forum

>

>

> --

> Steve Linton School of Computer Science &

> Centre for Interdisciplinary Research in Computational Algebra

> University of St Andrews Tel +44 (1334) 463269

> http://www.cs.st-and.ac.uk/~sal <http://www.cs.st-and.ac.uk/%7Esal>

> Fax +44 (1334) 463278

> The University is a charity registered in Scotland : No SC013532

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From dan_lanke at yahoo.com Thu Oct 9 04:11:53 2008

From: dan_lanke at yahoo.com (Dan Lanke)

Date: Thu Oct 9 04:12:17 2008

Subject: [GAP Forum] Symmetric bicharacters

Message-ID: <924056.1451.qm@web45405.mail.sp1.yahoo.com>

Dear GAP Forum,

Let A be a finite abelian group. Let C^* denote the multiplicative group of non-zero complex numbers. Let Hom(A, C^*) denote the group of all homomorphisms from A to C^*.

I would like to create the group of all isomorphisms f : A --> Hom(A,? C^*) that satisfy

(f(a))(b) = (f(b))(a), for all? a,b \in A.

Could you please point me in the right direction?

Many thanks,

Dan

From dan_lanke at yahoo.com Thu Oct 9 16:31:51 2008

From: dan_lanke at yahoo.com (Dan Lanke)

Date: Thu Oct 9 16:32:16 2008

Subject: [GAP Forum] Symmetric bicharacters

In-Reply-To: <OF2F7B8F2D.FE82E408-ON852574DD.004EB5E3-852574DD.0050445C@fordham.edu>

Message-ID: <421068.76758.qm@web45416.mail.sp1.yahoo.com>

Dear Shaun,

Thanks for your? message.

I think there is no isomorphism between

Hom( A, Hom(A, C^*)) and Hom( A \otimes A, C^* ).

There is an isomorphism between Hom(A, Hom(A,C^*))

and the group of all functions T: A x A --> C^*

that are multiplicative in both components, i.e.,

T(ab, c) = T(a, c)T(b, c) and T(a, bc) = T(a, b)T(a,c).

Am I right?

My previous question is equivalent to the question:

How to create the group of all non-degenerate functions T : A x A --> C^* that are multiplicative in both components such that T(a, b) = T(b, a), for all a,b \in A.

Non-degenerate here means that: If T(a, b) = 1 for all b \in A, then a=identity.

Thanks,

Dan

--- On Thu, 10/9/08, Shaun V. Ault <ault@fordham.edu> wrote:

From: Shaun V. Ault <ault@fordham.edu>

Subject: Re: [GAP Forum] Symmetric bicharacters

To: dan_lanke@yahoo.com

Date: Thursday, October 9, 2008, 7:36 AM

Dear Dan,

Perhaps you meant "homomorphisms"? Surely there are no isomorphisms

f : A

--> Hom(A, C^*), since there is an isomorphism on homomorphism sets:

adj : Hom( A, Hom(A, C^*) ) \cong Hom( A \otimes A, C^* ),

and the condition that (f(a))(b) = (f(b))(a) for all a, b in A implies that

adj(f) is a homomorphism f' with the property that f'(a \otimes b)

= f'(b

\otimes a) for all a in A. Such an f' will not be injective unless A

is

trivial, and in that case, f' will not be surjective.

On the other hand, the homomorphisms A --> Hom(A, C^*) with the above

property can be identified with the representations A \otimes A -->

GL(C)

such that a \otimes b induces the same transformation on C as b \otimes

a

for any pair a, b in A. Unfortunately, I don't know enough representation

theory to say much more about the latter.

Hope this helps,

Shaun V. Ault

Department of Mathematics

Fordham University

441 E. Fordham Rd.

Bronx, NY 10458

Dan Lanke

<dan_lanke@yahoo.

com> To

Sent by: forum@gap-system.org

forum-bounces@gap cc

-system.org

Subject

[GAP Forum] Symmetric bicharacters

10/08/2008 11:11

PM

Please respond to

dan_lanke@yahoo.c

om

Dear GAP Forum,

Let A be a finite abelian group. Let C^* denote the multiplicative group of

non-zero complex numbers. Let Hom(A, C^*) denote the group of all

homomorphisms from A to C^*.

I would like to create the group of all isomorphisms f : A --> Hom(A,? C^*)

that satisfy

(f(a))(b) = (f(b))(a), for all? a,b \in A.

Could you please point me in the right direction?

Many thanks,

Dan

_______________________________________________

Forum mailing list

Forum@mail.gap-system.org

http://mail.gap-system.org/mailman/listinfo/forum

From jbohanon2 at gmail.com Thu Oct 9 18:31:45 2008

From: jbohanon2 at gmail.com (Joe Bohanon)

Date: Thu Oct 9 18:32:04 2008

Subject: [GAP Forum] Modified ConjugacyClassesSubgroups?

Message-ID: <48EE4001.8040501@gmail.com>

I am curious to know if there is either a built-in function or a way to

modify the existing code to do the following:

I have a group G and a subgroup H. I want to compute the conjugacy

classes of subgroups H where conjugacy is taken in G, instead of H. The

way I've been doing it is the following:

List(ConjugacyClassesSubgroups(H),Representative);

Then I manually check to see how which classes are fused in G and remove

redundacies.

Is there a way to get the same results without doing that? In other

words, could I use the cyclic extension method, except compute the

zuppos of H as conjugacy classes of G and do all the required

calculations in G instead of H?

Thanks

Joe

From hulpke at math.colostate.edu Thu Oct 9 19:08:32 2008

From: hulpke at math.colostate.edu (Alexander Hulpke)

Date: Thu Oct 9 19:08:48 2008

Subject: [GAP Forum] Modified ConjugacyClassesSubgroups?

In-Reply-To: <48EE4001.8040501@gmail.com>

References: <48EE4001.8040501@gmail.com>

Message-ID: <EF2E2717-EC5E-4FAC-B0D9-028C0474F104@math.colostate.edu>

Dear Forum,

Joe Bohanon asked:

> I have a group G and a subgroup H. I want to compute the conjugacy

> classes of subgroups H where conjugacy is taken in G, instead of H.

> The way I've been doing it is the following:

>

> List(ConjugacyClassesSubgroups(H),Representative);

>

> Then I manually check to see how which classes are fused in G and

> remove redundacies.

>

> Is there a way to get the same results without doing that? In other

> words, could I use the cyclic extension method, except compute the

> zuppos of H as conjugacy classes of G and do all the required

> calculations in G instead of H?

You can do so by explicitly calling the cyclic extension method, this

lets you apply a further filter function. For example:

gap> g:=SymmetricGroup(7);

Sym( [ 1 .. 7 ] )

gap> h:=DerivedSubgroup(g);

Group([ (1,3,2), (2,4,3), (3,4,5), (1,5,6,4,3), (1,3,6,7,5) ])

selector function:

gap> func:=i->IsSubset(h,i);

function( i ) ... end

gap> l:=LatticeByCyclicExtension(g,func);

<subgroup lattice of Sym( [ 1 .. 7 ] ), 37 classes,

3786 subgroups, restricted under further condition l!.func>

gap> c:=ConjugacyClassesSubgroups(l);;

gap> Length(c);

37

# check in a naive way

gap> Length(ConjugacyClassesSubgroups(h));

40

gap> Number(ConjugacyClassesSubgroups(g),i-

>IsSubset(h,Representative(i)));

37

Best,

Alexander Hulpke

-- Colorado State University, Department of Mathematics,

Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA

email: hulpke@math.colostate.edu, Phone: ++1-970-4914288

http://www.math.colostate.edu/~hulpke

From jbohanon2 at gmail.com Thu Oct 9 21:14:48 2008

From: jbohanon2 at gmail.com (Joe Bohanon)

Date: Thu Oct 9 21:15:07 2008

Subject: [GAP Forum] Modified ConjugacyClassesSubgroups?

In-Reply-To: <EF2E2717-EC5E-4FAC-B0D9-028C0474F104@math.colostate.edu>

References: <48EE4001.8040501@gmail.com>

<EF2E2717-EC5E-4FAC-B0D9-028C0474F104@math.colostate.edu>

Message-ID: <48EE6638.70401@gmail.com>

This seems like it will get the job done, however it appears to be

dependent on being able to at least find zuppos of G. For instance, say

G is the Suzuki sporadic group and H is its smallest maximal subgroup

(an A7). The filter doesn't apply to the zuppos, and for that group, I

can imagine it would take a very long time to get all of them. Is there

anything that would get lost by computing zuppos of A7 then collapsing

under conjugacy in Suz?

I'm specifically asking because sometimes the maximal subgroups of some

simple groups have enormous rank elementary abelian subgroups with tons

of subgroups that aren't conjugate in H but end up being conjugate in

G. I'm just trying to save some time by testing for conjugacy in G on

the front end. I had one group that was extending class 5,000 to get

class 10,000, and would probably have gobbled up all memory if I'd let it.

Thanks

Joe

Alexander Hulpke wrote:

> Dear Forum,

>

> Joe Bohanon asked:

>> I have a group G and a subgroup H. I want to compute the conjugacy

>> classes of subgroups H where conjugacy is taken in G, instead of H.

>> The way I've been doing it is the following:

>>

>> List(ConjugacyClassesSubgroups(H),Representative);

>>

>> Then I manually check to see how which classes are fused in G and

>> remove redundacies.

>>

>> Is there a way to get the same results without doing that? In other

>> words, could I use the cyclic extension method, except compute the

>> zuppos of H as conjugacy classes of G and do all the required

>> calculations in G instead of H?

>

> You can do so by explicitly calling the cyclic extension method, this

> lets you apply a further filter function. For example:

>

> gap> g:=SymmetricGroup(7);

> Sym( [ 1 .. 7 ] )

> gap> h:=DerivedSubgroup(g);

> Group([ (1,3,2), (2,4,3), (3,4,5), (1,5,6,4,3), (1,3,6,7,5) ])

>

> selector function:

>

> gap> func:=i->IsSubset(h,i);

> function( i ) ... end

> gap> l:=LatticeByCyclicExtension(g,func);

> <subgroup lattice of Sym( [ 1 .. 7 ] ), 37 classes,

> 3786 subgroups, restricted under further condition l!.func>

> gap> c:=ConjugacyClassesSubgroups(l);;

> gap> Length(c);

> 37

>

> # check in a naive way

> gap> Length(ConjugacyClassesSubgroups(h));

> 40

> gap>

> Number(ConjugacyClassesSubgroups(g),i->IsSubset(h,Representative(i)));

> 37

>

> Best,

>

> Alexander Hulpke

>

> -- Colorado State University, Department of Mathematics,

> Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA

> email: hulpke@math.colostate.edu, Phone: ++1-970-4914288

> http://www.math.colostate.edu/~hulpke

>

>

>

>

From ahulpke at gmail.com Sun Oct 12 17:17:18 2008

From: ahulpke at gmail.com (Alexander Hulpke)

Date: Sun Oct 12 17:17:36 2008

Subject: [GAP Forum] Modified ConjugacyClassesSubgroups?

In-Reply-To: <48EE6638.70401@gmail.com>

References: <48EE4001.8040501@gmail.com>

<EF2E2717-EC5E-4FAC-B0D9-028C0474F104@math.colostate.edu>

<48EE6638.70401@gmail.com>

Message-ID: <435C7A2D-DA41-4425-8C9E-B3EA669FCBED@gmail.com>

Dear Forum, Dear Joe,

I first have to amend the explanation of what the routines I mentioned

do:

If H is not normal in G, it is not guaranteed that this approach (or

any other approach that computes subgroups inductively) will find all

classes of H, when working up to G-conjugacy.

The reason is that two subgroups U,V of H might be conjugate in G, but

not in H, and one has subgroups or supergroups in H and the other not

(it has these subgroups in G, but they don't lie in H).

For example take G=S6 and H=<(1,2,3,4),(1,3)(56)> (isomorphic to D8)

and U=<(1,3)(2,4)>, V=<(1,3)(5,6)>.

Then U is conjugate to V in G, but there is a subgroup of H, namely

<(1,2,3,4)> which contains U, but V is not contained in any such

subgroup of H. One can build similar examples for subgroups.

I cannot see how to avoid this problem for any kind of algorithm --

this means one cannot discard G-conjugate subgroups early, but might

need to extend/process them later, even if they themselves are G-

conjugate.

Best,

Alexander

On Oct 9, 2008, at 2:14 PM, Joe Bohanon wrote:

> This seems like it will get the job done, however it appears to be

> dependent on being able to at least find zuppos of G. For instance,

> say G is the Suzuki sporadic group and H is its smallest maximal

> subgroup (an A7). The filter doesn't apply to the zuppos, and for

> that group, I can imagine it would take a very long time to get all

> of them. Is there anything that would get lost by computing zuppos

> of A7 then collapsing under conjugacy in Suz?

>

> I'm specifically asking because sometimes the maximal subgroups of

> some simple groups have enormous rank elementary abelian subgroups

> with tons of subgroups that aren't conjugate in H but end up being

> conjugate in G. I'm just trying to save some time by testing for

> conjugacy in G on the front end. I had one group that was extending

> class 5,000 to get class 10,000, and would probably have gobbled up

> all memory if I'd let it.

>

> Thanks

> Joe

From trof1984 at rambler.ru Mon Oct 13 10:20:33 2008

From: trof1984 at rambler.ru (Alex Trofimuk)

Date: Mon Oct 13 10:20:56 2008

Subject: [GAP Forum] simple groups

Message-ID: <403511172.1223889633.170478520.25165@mcgi53.rambler.ru>

-- Dear Gap Forum,

Alex Trofimuk asked:

Using function PerfectGroup(), I defined simple groups Janko J1, J2. But

I can not find rank of their Sylow 2-subgroups. I used function

RankPGroup(). Probably, my computer has weak power. Help me, please,

to find it. How to define groups Janko J3, J4 and sporadic simple groups

Mc, Ly in system Gap. Is it possible to calculate rank of their Sylow

2-subgroups?

From jack at ms.uky.edu Mon Oct 13 14:46:42 2008

From: jack at ms.uky.edu (Jack Schmidt)

Date: Mon Oct 13 14:46:57 2008

Subject: [GAP Forum] simple groups

In-Reply-To: <403511172.1223889633.170478520.25165@mcgi53.rambler.ru>

References: <403511172.1223889633.170478520.25165@mcgi53.rambler.ru>

Message-ID: <48F35142.4020801@ms.uky.edu>

PerfectGroup by default creates a finitely presented group, and the

methods for calculating in finitely presented groups are slow. You can

ask for a permutation group, and the calculation is very fast:

gap> RankPGroup(SylowSubgroup(PerfectGroup(IsPermGroup,175560,1),2));

3

The library of perfect groups only goes up to 10^6, but the GAP package

AtlasRep makes it easy to get the other groups:

gap> LoadPackage("atlasrep");

true

gap> RankPGroup(SylowSubgroup(AtlasGroup("J1"),2));

3

gap> RankPGroup(SylowSubgroup(AtlasGroup("J2"),2));

3

gap> RankPGroup(SylowSubgroup(AtlasGroup("McL"),2));

3

gap> Ly:=AtlasGroup("Ly");

<matrix group of size 51765179004000000 with 2 generators>

The Lyons group does not have a small permutation representation (I

believe the smallest is nearly 10 million points, but I don't have my

copy of the atlas at hand). For this reason, it may be more difficult

to find the Sylow subgroup. GAP will default try to find a permutation

representation first, which will probably fail since many of its

permutation representations are much larger than 10 million points.

However, you can also consider maximal subgroups of the Lyons group that

contain the Sylow 2-subgroup. One of these is 2.A11, which I believe is

the double cover of A11. I think it should be clear that the rank of

the Sylow 2-subgroup of A11 and 2.A11 are equal, and the rank of A11 is

found from:

gap> RankPGroup(SylowSubgroup(AlternatingGroup(11),2));

3

Alternatively one can ask atlasrep again:

gap> RankPGroup(SylowSubgroup(AtlasGroup("2.A11"),2));

3

I think the notation with the lower . is supposed to be ambiguous, so

one could entertain the possibility that 2 x A11 is a maximal subgroup

of the Lyons group, and then the rank would be 4. I don't think this is

right, but I feel safer saying the rank is either 3 or 4.

Alex Trofimuk wrote:

>

> -- Dear Gap Forum,

> Alex Trofimuk asked:

> Using function PerfectGroup(), I defined simple groups Janko J1, J2. But

> I can not find rank of their Sylow 2-subgroups. I used function

> RankPGroup(). Probably, my computer has weak power. Help me, please,

> to find it. How to define groups Janko J3, J4 and sporadic simple groups

> Mc, Ly in system Gap. Is it possible to calculate rank of their Sylow

> 2-subgroups?

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

From jbohanon2 at gmail.com Mon Oct 13 17:44:04 2008

From: jbohanon2 at gmail.com (Joe Bohanon)

Date: Mon Oct 13 17:44:24 2008

Subject: [GAP Forum] simple groups

In-Reply-To: <48F35142.4020801@ms.uky.edu>

References: <403511172.1223889633.170478520.25165@mcgi53.rambler.ru>

<48F35142.4020801@ms.uky.edu>

Message-ID: <48F37AD4.7060006@gmail.com>

The smallest maximal subgroup of Ly has index ~ 8.8 million.

Even asking GAP for the Sylow 2-subgroup of Ly is taking a long time on

my faster processor. With that group you have the distinct advantage of

the maximal subgroup containing your Sylow 2-subgroup being one of the

groups in the Atlas with a very small permutation representation.

A somewhat smaller, but still difficult, example is the O'Nan simple

group. Its smallest permutation rep has degree 122760 and GAP is also

struggling to pick out a Sylow 2-subgroup. As it turns out J1 is the

largest maximal subgroup containing the Sylow 2-subgroup. While GAP can

pick out a Sylow 2-subgroup and get its rank in about 5 seconds, I get

an almost instantaneous answer if I run:

gap> G:=Group(AtlasGenerators("ON",1,4).generators);;

gap> small:=SmallerDegreePermutationRepresentation(G);;

gap> NrMovedPoints(Image(small));

448

gap> SylowSubgroup(Image(small),2);

<permutation group of size 512 with 7 generators>

gap> RankPGroup(last);

3

I would say that any time you are trying to run a computation on a

permutation group of largish degree, you should run

SmallerDegreePermutationRepresentation and then use PreImage to get back

to where you started if that's even necessary. The maximal subgroups of

almost all of the sporadic groups are in the Atlas, but when you call

the function I did above to get J1 as a maximal subgroup of ON, it

constructs it as a subgroup under the "1st" representation that the

Atlas has. Some groups don't have any permutation representation in the

Atlas and many don't even have their maximal subgroups, so this doesn't

work universally.

Joe

Jack Schmidt wrote:

>

> PerfectGroup by default creates a finitely presented group, and the

> methods for calculating in finitely presented groups are slow. You

> can ask for a permutation group, and the calculation is very fast:

>

> gap> RankPGroup(SylowSubgroup(PerfectGroup(IsPermGroup,175560,1),2));

> 3

>

> The library of perfect groups only goes up to 10^6, but the GAP

> package AtlasRep makes it easy to get the other groups:

>

> gap> LoadPackage("atlasrep");

> true

> gap> RankPGroup(SylowSubgroup(AtlasGroup("J1"),2));

> 3

> gap> RankPGroup(SylowSubgroup(AtlasGroup("J2"),2));

> 3

> gap> RankPGroup(SylowSubgroup(AtlasGroup("McL"),2));

> 3

> gap> Ly:=AtlasGroup("Ly");

> <matrix group of size 51765179004000000 with 2 generators>

>

> The Lyons group does not have a small permutation representation (I

> believe the smallest is nearly 10 million points, but I don't have my

> copy of the atlas at hand). For this reason, it may be more difficult

> to find the Sylow subgroup. GAP will default try to find a

> permutation representation first, which will probably fail since many

> of its permutation representations are much larger than 10 million

> points.

>

> However, you can also consider maximal subgroups of the Lyons group

> that contain the Sylow 2-subgroup. One of these is 2.A11, which I

> believe is the double cover of A11. I think it should be clear that

> the rank of the Sylow 2-subgroup of A11 and 2.A11 are equal, and the

> rank of A11 is found from:

> gap> RankPGroup(SylowSubgroup(AlternatingGroup(11),2));

> 3

>

> Alternatively one can ask atlasrep again:

> gap> RankPGroup(SylowSubgroup(AtlasGroup("2.A11"),2));

> 3

>

>

> I think the notation with the lower . is supposed to be ambiguous, so

> one could entertain the possibility that 2 x A11 is a maximal subgroup

> of the Lyons group, and then the rank would be 4. I don't think this

> is right, but I feel safer saying the rank is either 3 or 4.

>

>

> Alex Trofimuk wrote:

>>

>> -- Dear Gap Forum,

>> Alex Trofimuk asked:

>> Using function PerfectGroup(), I defined simple groups Janko J1, J2.

>> But I can not find rank of their Sylow 2-subgroups. I used function

>> RankPGroup(). Probably, my computer has weak power. Help me,

>> please, to find it. How to define groups Janko J3, J4 and sporadic

>> simple groups Mc, Ly in system Gap. Is it possible to calculate rank

>> of their Sylow 2-subgroups?

>>

>> _______________________________________________

>> Forum mailing list

>> Forum@mail.gap-system.org

>> http://mail.gap-system.org/mailman/listinfo/forum

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From mckay at encs.concordia.ca Mon Oct 13 18:12:11 2008

From: mckay at encs.concordia.ca (MCKAY john)

Date: Mon Oct 13 18:12:20 2008

Subject: [GAP Forum] simple groups

In-Reply-To: <48F37AD4.7060006@gmail.com>

References: <403511172.1223889633.170478520.25165@mcgi53.rambler.ru>

<48F35142.4020801@ms.uky.edu> <48F37AD4.7060006@gmail.com>

Message-ID: <Pine.LNX.4.58.0810131311060.28307@respect.services.encs.concordia.ca>

There is a paper by K. Harada on SYlow 2-gps of

sporadics (may be mre).

It is in Proc CRM/AMS ed. by McKAy & Sebbar vol 30.

Jm

From jroberts at ms.uky.edu Mon Oct 13 21:16:17 2008

From: jroberts at ms.uky.edu (Josh Roberts)

Date: Mon Oct 13 21:16:24 2008

Subject: [GAP Forum] p-subgroups of infinite groups

Message-ID: <bfe0024b0810131316v3ed4dfcbyc87f38b70bb6ace@mail.gmail.com>

Does GAP

--

Josh Roberts, Graduate Student

University of Kentucky - Mathematics

http://www.ms.uky.edu/~jroberts

From jroberts at ms.uky.edu Mon Oct 13 21:52:18 2008

From: jroberts at ms.uky.edu (Josh Roberts)

Date: Mon Oct 13 21:52:27 2008

Subject: [GAP Forum] p-subgroups of infinite groups

Message-ID: <bfe0024b0810131352x7d39d336q2ac40422cf2e1007@mail.gmail.com>

Does GAP have a way to find "sylow" p subgroups of infinite groups?

Basically, if I have the abelian invariants of my group, is there a way to

read off the powers of a prime p? I want to get the "p-rank" of a group.

Thanks,

JR

From bsambale at gmx.de Wed Oct 15 17:16:49 2008

From: bsambale at gmx.de (Benjamin Sambale)

Date: Wed Oct 15 17:17:57 2008

Subject: [GAP Forum] groups of order 5^7

Message-ID: <48F61771.30706@gmx.de>

dear forum,

is it possible to construct all groups of order 5^7 in GAP? As far as I

know, E.A. O'Brien and M.R. Vaughan-Lee have classified them and there

is also a MAGMA code on O'Brien's Homepage. Unfortunately, I've no

access to a MAGMA system. Thanks for your help.

best wishes,

Benjamin

From beick at tu-bs.de Thu Oct 16 07:34:51 2008

From: beick at tu-bs.de (Bettina Eick)

Date: Thu Oct 16 07:35:01 2008

Subject: [GAP Forum] groups of order 5^7

In-Reply-To: <48F61771.30706@gmx.de>

Message-ID: <Pine.HPX.4.33.0810160832470.26050-100000@rzserv6i.rz.tu-bs.de>

Dear Benjamin,

> is it possible to construct all groups of order 5^7 in GAP? As far as I

> know, E.A. O'Brien and M.R. Vaughan-Lee have classified them and there

> is also a MAGMA code on O'Brien's Homepage. Unfortunately, I've no

> access to a MAGMA system. Thanks for your help.

These groups have been implemented in the small groups library and they

are available in the development version of GAP. They will be published

with GAP with the next release.

If you need them urgently, then please let me know and I'll send you

the code as in the developement version of GAP directly.

Best wishes,

Bettina

From dima at ntu.edu.sg Thu Oct 16 09:40:41 2008

From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik)

Date: Thu Oct 16 09:40:50 2008

Subject: [GAP Forum] bug(s) in LogTo

Message-ID: <668720bc0810160140n29df9c06qe5e5ed512e69f768@mail.gmail.com>

Dear all,

on Linux an attempt to LogTo to a place that is not accessable results

in logging being deadlocked:

LogTo(); results in

LogTo: can not close the logfile at, and inability to start logging at all.

Example:

gap> LogTo("blah/blah"); # directory "blah" does not exist, no wonder...

LogTo: cannot log to blah/blah at

LOG_TO( name );

called from

<function>( <arguments> ) called from read-eval-loop

Entering break read-eval-print loop ...

you can 'quit;' to quit to outer loop, or

you can 'return;' to continue

brk> # ^D pressed, then:

gap> LogTo();

LogTo: can not close the logfile at

CLOSE_LOG_TO( );

gap> LogTo("blah");

#I Already logging to blah/blah

gap>

(needless to say, the file "blah" isn't even created)

Same applies to InputLogTo.

Thanks for attention to this,

Dima

From mim_ at op.pl Thu Oct 16 12:29:06 2008

From: mim_ at op.pl (mim_@op.pl)

Date: Thu Oct 16 12:29:20 2008

Subject: [GAP Forum] ComplexificationQuat

Message-ID: <Q161080315-c4804afc50a10a8a7e054c52d4d2de7e@pmq4.test.onet.pl>

Hi,

I have found following problem with current ComplexificationQuat function for split-quaternions.

Consider following code:

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

Qs:=QuaternionAlgebra(Rationals, -1, 1); bq:=Basis(Qs); imag:=bq{[2..4]};

M3Q:=MatrixAlgebra(Qs,3); bm3q:=Basis(M3Q);

diag:=ListX([bm3q[1],bm3q[5],bm3q[9]], imag, \*); # 9 diagonal

sym:=[bm3q[2]+bm3q[4] , bm3q[6]+bm3q[8], bm3q[3]+bm3q[7]];

asym:=[bm3q[2]-bm3q[4], bm3q[6]-bm3q[8], bm3q[3]-bm3q[7]];

V1:=Concatenation([asym[1]], List(imag, v->v*sym[1])); # 9+1..9+4

V2:=Concatenation([asym[2]], List(imag, v->v*sym[2]));

V3:=Concatenation([asym[3]], List(imag, v->-v*sym[3]));

bas:=Concatenation(diag, V1, V2, V3);

cbas:=List(bas, x->ComplexificationQuat(x));

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

Now following condition LieBracket(bas[12], bas[16])=bas[18] return true.

But the same condition for complexified matrices LieBracket(cbas[12], cbas[16])=cbas[18] return false !?

If I create complex matrices using my function below

nbas:=List(bas, x->complex_split_quat(x, bq));;

then condition for complexified matrices also returns true: LieBracket(nbas[12], nbas[16])=nbas[18].

In my function I have just replaced each split quaternion with proper 2*2 real matrix. Function ComplexificationQuat use different approach, which for some reason doesn't work well. Will you consider attaching my function to GAP ?

Regards,

Marek

# my version for split quaternions, works better than ComplexificationQuat

# (c) Marek Mitros 2008-10-16

# Note: It works only for matrices with +/- base elements and zeros !

complex_split_quat:=function(m, bas)

local mbas, dims, ix, mtempl, btempl, bl, res;

if Length(bas)=4 then

# split H matrix base 1,i,',i'

mbas:=[[[1,0],[0,1]], [[0,-1],[1,0]], [[1,0],[0,-1]], [[0,1],[1,0]]];

elif Length(bas)=2 then

# split C, matrix base 1,'

mbas:=[[[1,0],[0,1]], [[1,0],[0,-1]]];

fi;

btempl:=Concatenation(bas,[0*bas[1]], -bas);

mtempl:=Concatenation(mbas,[0*mbas[1]], -mbas);

dims:=DimensionsMat(m); ix:=Cartesian([1..dims[1]], [1..dims[2]]);

# build template

bl:=List(ix, s->[s[1],s[2], mtempl[Position(btempl, m[s[1]][s[2]])]]);

res:=MatrixByBlockMatrix(BlockMatrix(bl, dims[1], dims[2]));

return res;

end;

From chris.jefferson at comlab.ox.ac.uk Thu Oct 16 21:58:23 2008

From: chris.jefferson at comlab.ox.ac.uk (Christopher Jefferson)

Date: Thu Oct 16 21:59:18 2008

Subject: [GAP Forum] Projection of Group onto subset of points

Message-ID: <F24643C0-D514-4FB9-A35D-521A0C50185C@comlab.ox.ac.uk>

I have a group G on the points [1..n]. I know that for some m<n, G

maps the set of points [1..m] to itself. Is there an easy way I can

get G only on the points [1..m]?

Chris

From hulpke at math.colostate.edu Thu Oct 16 22:10:40 2008

From: hulpke at math.colostate.edu (Alexander Hulpke)

Date: Thu Oct 16 22:10:58 2008

Subject: [GAP Forum] Projection of Group onto subset of points

In-Reply-To: <F24643C0-D514-4FB9-A35D-521A0C50185C@comlab.ox.ac.uk>

References: <F24643C0-D514-4FB9-A35D-521A0C50185C@comlab.ox.ac.uk>

Message-ID: <CD8804BD-518D-40F5-BF01-7EAF56CEAC09@math.colostate.edu>

Dear Forum,

On Oct 16, 2008, at 10/16/08 2:58, Christopher Jefferson wrote:

> I have a group G on the points [1..n]. I know that for some m<n, G

> maps the set of points [1..m] to itself. Is there an easy way I can

> get G only on the points [1..m]?

ActionHomomorphism(G,[1..m],OnPoints,"surjective") gives a homomorphism

or simply

Action(G,[1..m],OnPoints)

gives the group acting on [1..m]

Best,

Alexander

From chris.jefferson at comlab.ox.ac.uk Thu Oct 16 23:16:21 2008

From: chris.jefferson at comlab.ox.ac.uk (Christopher Jefferson)

Date: Thu Oct 16 23:17:00 2008

Subject: [GAP Forum] Projection of Group onto subset of points

In-Reply-To: <CD8804BD-518D-40F5-BF01-7EAF56CEAC09@math.colostate.edu>

References: <F24643C0-D514-4FB9-A35D-521A0C50185C@comlab.ox.ac.uk>

<CD8804BD-518D-40F5-BF01-7EAF56CEAC09@math.colostate.edu>

Message-ID: <E56E35AE-2F1C-4D67-A576-FF97DC72396A@comlab.ox.ac.uk>

On 16 Oct 2008, at 22:10, Alexander Hulpke wrote:

> Dear Forum,

>

> On Oct 16, 2008, at 10/16/08 2:58, Christopher Jefferson wrote:

>

>> I have a group G on the points [1..n]. I know that for some m<n, G

>> maps the set of points [1..m] to itself. Is there an easy way I can

>> get G only on the points [1..m]?

>

> ActionHomomorphism(G,[1..m],OnPoints,"surjective") gives a

> homomorphism

> or simply

> Action(G,[1..m],OnPoints)

> gives the group acting on [1..m]

>

Thanks

Chris

From thomas.breuer at math.rwth-aachen.de Fri Oct 17 09:27:08 2008

From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer)

Date: Fri Oct 17 09:27:20 2008

Subject: [GAP Forum] simple groups

In-Reply-To: <403511172.1223889633.170478520.25165@mcgi53.rambler.ru>

References: <403511172.1223889633.170478520.25165@mcgi53.rambler.ru>

Message-ID: <20081017082708.GA7327@gemma.math.rwth-aachen.de>

Dear GAP Forum,

Alex Trofimuk had asked how one can compute the p-ranks of the Sylow p

subgroups in some sporadic simple groups,

and meanwhile Jack Schmidt, Joe Bohanon, and John McKay have answered

this question and have given useful hints such as

- reducing the problem to subgroups containing a Sylow p subgroup P

for the interesting p,

- factoring by normal subgroups contained in the Frattini subgroup of P, and

- switching to more suitable representations when computing explicitly

with groups.

Let me add two remarks.

1. Jack sketched that in the case of the Sylow 2 subgroup of the Lyons

group Ly, one can instead consider a maximal subgroup of odd index in Ly,

and one possibility is a group called 2.A11 in the Atlas of Finite Groups

(p. 174).

In principle, Jack is right that this notation can be used for both the

double cover of A11 and the direct product of A11 with a cyclic group of

order two, according to the conventions on p. xx of the Atlas.

However, most likely the Atlas would write a direct product as 2 x A11,

and indeed Ly does not have a subgroup isomorphic with A11.

An easy way to show this in GAP is to check whether the character tables

admit a class fusion.

gap> t:= CharacterTable( "Ly" );;

gap> s:= CharacterTable( "A11" );;

gap> PossibleClassFusions( s, t );

[ ]

2. One could alternatively use character tables instead of groups for the

computations.

Suppose that we are interested in the p-rank of a Sylow p subgroup P

of a group G, and that we know the character table of a subgroup H of G

such that P is normal in H.

Then the p-rank of P can be computed from the character table of H

(using the irreducible characters and the p-th power map of H),

for example with the following GAP function.

RankOfNormalSylowPSubgroupFromCharacterTable:= function( tbl, p )

local Psize, classes, Pclasses, Pprimeclasses, Frat;

# Determine the classes that form the normal Sylow p subgroup P

# of the whole group H.

Psize:= First( Collected( Factors( Size( tbl ) ) ), x -> x[1] = p );

if Psize = fail then

return 0;

elif Psize[2] = 1 then

return 1;

fi;

Psize:= Psize[1]^Psize[2];

classes:= SizesConjugacyClasses( tbl );

Pclasses:= First( ClassPositionsOfNormalSubgroups( tbl ),

x -> Sum( classes{ x } ) = Psize );

if Pclasses = fail then

# The Sylow p subgroup is not normal.

return fail;

fi;

# Determine the H-classes that form the derived subgroup P' of P.

# By Clifford's theorem, this set of classes is the intersection of

# kernels of all those irreducible characters of H

# whose degrees are coprime to p.

Pprimeclasses:= Intersection( List( Filtered( Irr( tbl ),

x -> x[1] mod p <> 0 ),

ClassPositionsOfKernel ) );

# The Frattini subgroup Frat(P) of P is the normal closure (in P)

# of P' and the p-th powers of elements in P.

# Since Frat(P) is normal in H,

# we can compute the H-classes that form the normal closure w.r.t. H.

Frat:= ClassPositionsOfNormalClosure( tbl,

Union( Pprimeclasses, PowerMap( tbl, p ){ Pclasses } ) );

# The p-rank is the dimension of P / Frat(P).

return LogInt( Sum( classes{ Pclasses } ) / Sum( classes{ Frat } ), p );

end;

The point is that several character tables of Sylow normalizers of

sporadic simple groups are available in GAP's library of character tables.

With the current GAP, one gets for example the following.

gap> for name in AllCharacterTableNames( IsSporadicSimple, true ) do

> t:= CharacterTable( name );

> n:= CharacterTable( Concatenation( name, "N2" ) );

> if n = fail then

> Print( name, ": fail\n" );

> else

> Print( name, ": ",

> RankOfNormalSylowPSubgroupFromCharacterTable( n, 2 ), "\n" );

> fi;

> od;

B: fail

Co1: fail

Co2: 5

Co3: 4

F3+: fail

Fi22: fail

Fi23: fail

HN: fail

HS: 3

He: 4

J1: 3

J2: 3

J3: 3

J4: fail

Ly: 3

M: fail

M11: 2

M12: 3

M22: 3

M23: 3

M24: 4

McL: 3

ON: 3

Ru: 3

Suz: 4

Th: 4

All the best,

Thomas

From decamate at um.es Thu Oct 23 16:27:17 2008

From: decamate at um.es (=?ISO-8859-1?Q?=22Decanato_Fac=2E_Matem=E1ticas=22?=)

Date: Thu Oct 23 22:42:35 2008

Subject: [GAP Forum] Bug in modular determinant

Message-ID: <490097D5.6050106@um.es>

Dear GAP Forum,

I encountered the following problem when I tried to calculate the

determinant of a matrix of integers modulo 27:

gap> a := ZmodnZObj(1,27)*[[21,4,11,1],[0,25,11,1],[0,2,15,1],[13,19,4,1]];

[ [ ZmodnZObj( 21, 27 ), ZmodnZObj( 4, 27 ), ZmodnZObj( 11, 27 ),

ZmodnZObj( 1, 27 ) ],

[ ZmodnZObj( 0, 27 ), ZmodnZObj( 25, 27 ), ZmodnZObj( 11, 27 ),

ZmodnZObj( 1, 27 ) ],

[ ZmodnZObj( 0, 27 ), ZmodnZObj( 2, 27 ), ZmodnZObj( 15, 27 ),

ZmodnZObj( 1, 27 ) ],

[ ZmodnZObj( 13, 27 ), ZmodnZObj( 19, 27 ), ZmodnZObj( 4, 27 ),

ZmodnZObj( 1, 27 ) ] ]

gap> Determinant(a);

Error, no method found! For debugging hints type ?Recovery from

NoMethodFound

Error, no 2nd choice method found for `MultRowVector' on 2 arguments

called fr\

om

MultRowVector( row2, Inverse( det ) ); called from

DeterminantMatDestructive( MutableCopyMat( mat ) ) called from

<function>( <arguments> ) called from read-eval-loop

Entering break read-eval-print loop ...

you can 'quit;' to quit to outer loop, or

you can 'return;' to continue

brk>

?ngel

From chris.jefferson at comlab.ox.ac.uk Fri Oct 24 11:28:25 2008

From: chris.jefferson at comlab.ox.ac.uk (Christopher Jefferson)

Date: Fri Oct 24 11:29:11 2008

Subject: [GAP Forum] Making a tiny GAP

Message-ID: <41A490CC-590D-46A1-8AE0-E78BFE2A5625@comlab.ox.ac.uk>

Hi,

I've been trying to make a tiny GAP distribution to package with

another program.

So far my distribution contains the following:

1) The main gap executable.

2) A gzipped workspace.

3) the files 'system.g' and 'obsolete.g'.

These seems sufficent to make a fully working copy of GAP, which do

all the things i want to and fits in a tiny bit over 2MB.

Does this seem like a reasonable thing to do, and is there anything I

should watch out for?

From neunhoef at mcs.st-and.ac.uk Fri Oct 24 14:29:40 2008

From: neunhoef at mcs.st-and.ac.uk (Max Neunhoeffer)

Date: Fri Oct 24 14:29:50 2008

Subject: [GAP Forum] Making a tiny GAP

In-Reply-To: <41A490CC-590D-46A1-8AE0-E78BFE2A5625@comlab.ox.ac.uk>

References: <41A490CC-590D-46A1-8AE0-E78BFE2A5625@comlab.ox.ac.uk>

Message-ID: <20081024132940.GA7984@mcs.st-and.ac.uk>

Hi Chris,

On Fri, Oct 24, 2008 at 11:28:25AM +0100, Christopher Jefferson wrote:

> Hi,

>

> I've been trying to make a tiny GAP distribution to package with another

> program.

>

> So far my distribution contains the following:

>

> 1) The main gap executable.

> 2) A gzipped workspace.

> 3) the files 'system.g' and 'obsolete.g'.

I did a similar thing some time ago. It seems that I did get away

even without obsolete.g. However, I packaged

bin/gap.sh

and

sysinfo.gap

and all files "PackageInfo.g" in all the package directories.

I believe that sysinfo.gap will be necessary but forgot why.

Note that the online help will not work without the documentation text

files.

Best regards,

Max.

>

> These seems sufficent to make a fully working copy of GAP, which do all

> the things i want to and fits in a tiny bit over 2MB.

>

> Does this seem like a reasonable thing to do, and is there anything I

> should watch out for?

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

--

Max Neunhoeffer http://www-groups.mcs.st-and.ac.uk/~neunhoef/

> > > > > > > > > > > May the Source be with you! < < < < < < < < < < < <

The University of St Andrews is a registered Scottish charity: No SC013532

From thomas.breuer at math.rwth-aachen.de Fri Oct 24 17:01:58 2008

From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer)

Date: Fri Oct 24 17:02:08 2008

Subject: [GAP Forum] Z/nZ x Z/nZ

In-Reply-To: <29140.21894.qm@web45401.mail.sp1.yahoo.com>

References: <29140.21894.qm@web45401.mail.sp1.yahoo.com>

Message-ID: <20081024160158.GC12998@gemma.math.rwth-aachen.de>

Dear GAP Forum,

Dan Lanke wrote

> I'd like to form the group G := Z/nZ x Z/nZ. Of course I can just do

> G := DirectProduct(CyclicGroup(n), CyclicGroup(n)).

> I would like Elements(G) to give me a list of ordered pairs of cosets of

> nZ in Z. How do I do this?

1. If the main point is that the cosets of nZ in Z shall occur as group

elements then the answer is that GAP does not admit this.

The reason is that GAP's groups are always written *multiplicatively*,

whereas the cosets of nZ in Z form an *additive* group.

A way around this is to identify the cosets of nZ in Z with the

elements of a (multiplicative) group of order n,

to let GAP compute with this group,

and to interpret the elements as the corresponding cosets where needed.

(Dan had sketched this approach already.)

An easy but not very efficient solution is provided by the (currently

undocumented) function `AdditiveElementAsMultiplicativeElement',

which wraps an additive element into a multiplicative element;

the function `UnderlyingElement' then maps back to the additive element.

2. If the main point is that elements in direct products shall be

represented by ordered pairs then the answer is that GAP can do this,

but this approach is not very efficient.

For example, a direct product of two permutation groups is better

represented as a permutation group than as a group whose elements are

pairs of permutations.

One can force GAP to deal with pairs of group elements by constructing

the pairs explicitly with the (currently undocumented) function `Tuple'.

For example, the direct product of two groups of order 2 and 3,

respectively, could be created as follows.

gap> x:= Tuple( [ (1,2), () ] );

Tuple( [ (1,2), () ] )

gap> y:= Tuple( [ (), (1,2,3) ] );

Tuple( [ (), (1,2,3) ] )

gap> g:= Group( x, y ); Size( g );

<group with 2 generators>

6

gap> x[1]; x[2];

(1,2)

()

I would not recommend this approach.

In general, one can identify elements of direct products with pairs of

the direct factors using the function `Projection', see the description

of `DirectProduct' in the GAP Reference Manual.

All the best,

Thomas

From alexander.konovalov at gmail.com Tue Oct 28 21:57:51 2008

From: alexander.konovalov at gmail.com (Alexander Konovalov)

Date: Tue Oct 28 21:58:06 2008

Subject: [GAP Forum] Bug in modular determinant

In-Reply-To: <490097D5.6050106@um.es>

References: <490097D5.6050106@um.es>

Message-ID: <83E8656A-D0BD-41B4-B761-46332E0EC06B@gmail.com>

Dear ?ngel,

Thank you for reporting this. This is already fixed and will appear in

the next release GAP 4.5.

In the meantime you may use the following workaround, extracted from

the GAP development version:

InstallMethod( DeterminantMatDestructive,"nonprime residue rings",

[ IsOrdinaryMatrix and

CategoryCollections(CategoryCollections(IsZmodnZObjNonprime)) and

IsMutable],

DeterminantMatDivFree);

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

##

#M DeterminantMatDivFree( <M> )

##

## Division free method. This is an alternative to the fraction free

method

## when division of matrix entries is expensive or not possible.

##

## This method implements a division free algorithm found in

## Mahajan and Vinay \cite{MV97}.

##

## The run time is $O(n^4)$

## Auxillary storage size $n^2+n + C$

##

## Our implementation has two runtime optimizations (both noted

## by Mahajan and Vinay)

## 1. Partial monomial sums, subtractions, and products are done at

## each level.

## 2. Prefix property is maintained allowing for a pruning of many

## vertices at each level

##

## and two auxillary storage size optimizations

## 1. only the upper triangular and diagonal portion of the

## auxillary storage is used.

## 2. Level information storage is reused (2 levels).

##

## This code was implemented by:

## Timothy DeBaillie

## Robert Morse

## Marcus Wassmer

##

InstallMethod( DeterminantMatDivFree,

"Division-free method",

[ IsMatrix ],

function ( M )

local u,v,w,i, ## indices

a,b,c,x,y, ## temp indices

temp, ## temp variable

nlevel, ## next level

clevel, ## current level

pmone, ## plus or minus one

zero, ## zero of the ring

n, ## size of the matrix

Vs, ## final sum

V; ## graph

# check that the argument is a square matrix and set the size

n := Length(M);

if not n = Length(M[1]) or not IsRectangularTable(M) then

Error("DeterminantMatDivFree: <mat> must be a square

matrix");

fi;

## initialze the final sum, the vertex set, initial parity

## and level indexes

##

zero := Zero(M[1][1]);

Vs := zero;

V := [];

pmone := (-One(M[1][1]))^((n mod 2)+1);

clevel := 1; nlevel := 2;

## Vertices are indexed [u,v,i] holding the (partial) monomials

## whose sums will form the determinant

## where i = depth in the tree (current and next reusing

## level storage)

## u,v indices in the matrix

##

## Only the upper triangular portion of the storage space is

## needed. It is easier to create lower triangular data type

## which we do here and index via index arithmetic.

##

for u in [1..n] do

Add(V,[]);

for v in [1..u] do

Add(V[u],[zero,zero]);

od;

## Initialize the level 0 nodes with +/- one, depending on

## the initial parity determined by the size of the matrix

##

V[u][u][clevel] := pmone;

od;

## Here are the $O(n^4)$ edges labeled by the elements of

## the matrix $M$. We build up products of the labels which form

## the monomials which make up the determinant.

##

## 1. Parity of monomials are maintained implicitly.

## 2. Partial sums for some vertices are not part of the final

## answer and can be pruned.

##

for i in [0..n-2] do

for u in [1..i+2] do ## <---- pruning of vertices

for v in [u..n] do ## (maintains the prefix

property)

for w in [u+1..n] do

## translate indices to lower triangluar

coordinates

##

a := n-u+1; b := n-w+1; c := n-v+1;

V[a][b][nlevel]:= V[a][b][nlevel]+

V[a][c][clevel]*M[v][w];

V[b][b][nlevel]:= V[b][b][nlevel]-

V[a][c][clevel]*M[v][u];

od;

od;

od;

## set the new current and next level. The new next level

## is intialized to zero

##

temp := nlevel; nlevel := clevel; clevel := temp;

for x in [1..n] do

for y in [1..x] do

V[x][y][nlevel] := zero;

od;

od;

od;

## with the final level, we form the last monomial product and

then

## sum these monomials (parity has been accounted for)

## to find the determinant.

##

for u in [1..n] do

for v in [u..n] do

Vs := Vs + V[n-u+1][n-v+1][clevel]*M[v][u];

od;

od;

## Return the final sum

##

return Vs;

end);

Then after reading this code into GAP your example works:

gap> a := ZmodnZObj(1,27)*[[21,4,11,1],[0,25,11,1],[0,2,15,1],

[13,19,4,1]];

[ [ ZmodnZObj( 21, 27 ), ZmodnZObj( 4, 27 ), ZmodnZObj( 11, 27 ),

ZmodnZObj( 1, 27 ) ],

[ ZmodnZObj( 0, 27 ), ZmodnZObj( 25, 27 ), ZmodnZObj( 11, 27 ),

ZmodnZObj( 1, 27 ) ],

[ ZmodnZObj( 0, 27 ), ZmodnZObj( 2, 27 ), ZmodnZObj( 15, 27 ),

ZmodnZObj( 1, 27 ) ],

[ ZmodnZObj( 13, 27 ), ZmodnZObj( 19, 27 ), ZmodnZObj( 4, 27 ),

ZmodnZObj( 1, 27 ) ] ]

gap> DeterminantMat(a);

ZmodnZObj( 12, 27 )

Best wishes,

Alexander

On 23 Oct 2008, at 16:27, Decanato Fac. Matem?ticas wrote:

> Dear GAP Forum,

>

> I encountered the following problem when I tried to calculate the

> determinant of a matrix of integers modulo 27:

>

> gap> a := ZmodnZObj(1,27)*[[21,4,11,1],[0,25,11,1],[0,2,15,1],

> [13,19,4,1]];

> [ [ ZmodnZObj( 21, 27 ), ZmodnZObj( 4, 27 ), ZmodnZObj( 11, 27 ),

> ZmodnZObj( 1, 27 ) ],

> [ ZmodnZObj( 0, 27 ), ZmodnZObj( 25, 27 ), ZmodnZObj( 11, 27 ),

> ZmodnZObj( 1, 27 ) ],

> [ ZmodnZObj( 0, 27 ), ZmodnZObj( 2, 27 ), ZmodnZObj( 15, 27 ),

> ZmodnZObj( 1, 27 ) ],

> [ ZmodnZObj( 13, 27 ), ZmodnZObj( 19, 27 ), ZmodnZObj( 4, 27 ),

> ZmodnZObj( 1, 27 ) ] ]

> gap> Determinant(a);

> Error, no method found! For debugging hints type ?Recovery from

> NoMethodFound

> Error, no 2nd choice method found for `MultRowVector' on 2 arguments

> called fr\

> om

> MultRowVector( row2, Inverse( det ) ); called from

> DeterminantMatDestructive( MutableCopyMat( mat ) ) called from

> <function>( <arguments> ) called from read-eval-loop

> Entering break read-eval-print loop ...

> you can 'quit;' to quit to outer loop, or

> you can 'return;' to continue

> brk>

>

> ?ngel

From jrobts at gmail.com Wed Oct 29 02:44:29 2008

From: jrobts at gmail.com (Josh Roberts)

Date: Wed Oct 29 02:44:38 2008

Subject: [GAP Forum] Simplified Fp Group

Message-ID: <bfe0024b0810281944m5e09442ajabf00f7126b701c4@mail.gmail.com>

Suppose I give a finitely presented group F/R, where

F:=FreeGroup("a","b",etc) and R is a list of words in "a", "b", etc. I then

use TzGoGo to simplify the presentation. I can do G:=FpGroupPresentation to

get the new presentation. But how can I obtain the generators and relators

again? If I do f:=GeneratorsofGroup(G) for a list of the generators and

r:=RelatorsOfFpGroup(G) for a list of the relators f/r gives an error.

I understand that this is caused by f being a list and not actually a free

group. But is there a way to build the group using the new, simplifed

presentation? I want to be able to use f/r and get my group.

Thanks,

Josh

--

Josh Roberts, Graduate Student

University of Kentucky - Mathematics

http://www.ms.uky.edu/~jroberts

From jack at ms.uky.edu Wed Oct 29 02:59:04 2008

From: jack at ms.uky.edu (Jack Schmidt)

Date: Wed Oct 29 02:59:25 2008

Subject: [GAP Forum] Simplified Fp Group

In-Reply-To: <bfe0024b0810281944m5e09442ajabf00f7126b701c4@mail.gmail.com>

References: <bfe0024b0810281944m5e09442ajabf00f7126b701c4@mail.gmail.com>

Message-ID: <01E29C5B-E5E7-49B3-A719-0CCD159FF4FC@ms.uky.edu>

You want

f:=FreeGroupOfFpGroup(G);

FreeGeneratorsOfFpGroup(G) gives the generators of f directly. It is

equivalent to GeneratorsOfGroup(FreeGroupOfFpGroup(G)) or

List(GeneratorsOfGroup(G),UnderlyingElement);

On 2008-10-28, at 22:44, Josh Roberts wrote:

> Suppose I give a finitely presented group F/R, where

> F:=FreeGroup("a","b",etc) and R is a list of words in "a", "b",

> etc. I then

> use TzGoGo to simplify the presentation. I can do

> G:=FpGroupPresentation to

> get the new presentation. But how can I obtain the generators and

> relators

> again? If I do f:=GeneratorsofGroup(G) for a list of the generators

> and

> r:=RelatorsOfFpGroup(G) for a list of the relators f/r gives an error.

>

> I understand that this is caused by f being a list and not actually

> a free

> group. But is there a way to build the group using the new, simplifed

> presentation? I want to be able to use f/r and get my group.

>

> Thanks,

> Josh

> --

> Josh Roberts, Graduate Student

> University of Kentucky - Mathematics

> http://www.ms.uky.edu/~jroberts

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

From rm43 at evansville.edu Wed Oct 29 03:06:09 2008

From: rm43 at evansville.edu (Robert Morse)

Date: Wed Oct 29 03:06:23 2008

Subject: [GAP Forum] Simplified Fp Group

In-Reply-To: <bfe0024b0810281944m5e09442ajabf00f7126b701c4@mail.gmail.com>

References: <bfe0024b0810281944m5e09442ajabf00f7126b701c4@mail.gmail.com>

Message-ID: <1ff1501f0810282006s4cb24ffdv6ff72413c8477f15@mail.gmail.com>

Dear Josh,

The commands you are looking for are

SimplifiedFpGroup

SimplifiedFpGroup

The first does the Tietze transformations and returns the simplified

Fp group and the second gives an isomorphism from the original group

to the simplified one.

Example:

gap> G := Image(IsomorphismFpGroup(DihedralGroup(8)));

<fp group of size 8 on the generators [ F1, F2, F3 ]>

gap> SimplifiedFpGroup(G);

<fp group on the generators [ F1, F2 ]>

gap> IsomorphismSimplifiedFpGroup(G);

[ F1, F2, F3 ] -> [ F1, F2, F2^-2 ]

Hope this helps.

Regards, Robert F. Morse

On Tue, Oct 28, 2008 at 9:44 PM, Josh Roberts <jrobts@gmail.com> wrote:

> Suppose I give a finitely presented group F/R, where

> F:=FreeGroup("a","b",etc) and R is a list of words in "a", "b", etc. I then

> use TzGoGo to simplify the presentation. I can do G:=FpGroupPresentation to

> get the new presentation. But how can I obtain the generators and relators

> again? If I do f:=GeneratorsofGroup(G) for a list of the generators and

> r:=RelatorsOfFpGroup(G) for a list of the relators f/r gives an error.

>

> I understand that this is caused by f being a list and not actually a free

> group. But is there a way to build the group using the new, simplifed

> presentation? I want to be able to use f/r and get my group.

>

> Thanks,

> Josh

> --

> Josh Roberts, Graduate Student

> University of Kentucky - Mathematics

> http://www.ms.uky.edu/~jroberts

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From alexander.konovalov at gmail.com Sat Nov 1 20:46:41 2008

From: alexander.konovalov at gmail.com (Alexander Konovalov)

Date: Sat Nov 1 20:46:57 2008

Subject: [GAP Forum] bug(s) in LogTo

In-Reply-To: <668720bc0810160140n29df9c06qe5e5ed512e69f768@mail.gmail.com>

References: <668720bc0810160140n29df9c06qe5e5ed512e69f768@mail.gmail.com>

Message-ID: <BC2B2986-B654-413B-BA24-46961008C0E7@gmail.com>

Dear Dima,

thank you for your message. In the next release of the GAP system

both LogTo and InputLogTo must recover properly from the break loop

in case of trying to create a log file in a non-accessible place.

Best wishes,

Alexander

On 16 Oct 2008, at 09:40, Asst. Prof. Dmitrii (Dima) Pasechnik wrote:

> Dear all,

> on Linux an attempt to LogTo to a place that is not accessable results

> in logging being deadlocked:

> LogTo(); results in

>

> LogTo: can not close the logfile at, and inability to start logging

> at all.

>

> Example:

>

> gap> LogTo("blah/blah"); # directory "blah" does not exist, no

> wonder...

> LogTo: cannot log to blah/blah at

> LOG_TO( name );

> called from

> <function>( <arguments> ) called from read-eval-loop

> Entering break read-eval-print loop ...

> you can 'quit;' to quit to outer loop, or

> you can 'return;' to continue

> brk> # ^D pressed, then:

> gap> LogTo();

> LogTo: can not close the logfile at

> CLOSE_LOG_TO( );

> gap> LogTo("blah");

> #I Already logging to blah/blah

> gap>

>

> (needless to say, the file "blah" isn't even created)

>

> Same applies to InputLogTo.

>

>

> Thanks for attention to this,

> Dima

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

From colva at mcs.st-and.ac.uk Mon Nov 10 22:45:57 2008

From: colva at mcs.st-and.ac.uk (Colva Roney-Dougal)

Date: Mon Nov 10 22:46:07 2008

Subject: [GAP Forum] Joint EMS/LMS meeting and Workshop

Message-ID: <9FE0BFD4-911B-4F34-8A7D-5B839C56BF39@mcs.st-and.ac.uk>

Dear All

This is the second announcement of the Joint Edinburgh and London

Mathematical Societies' Meeting on Group Theory and the pre-meeting

Workshop on Infinite Group Theory and Related Topics, to be held in

Edinburgh this December. I would particularly like to draw your

attention to the postgraduate competition, which closes this Friday.

All that is required at this time is a 1-page outline for their talk/

poster paper.

Dates: The workshop will run from the morning of the 10th December to

lunchtime of 12th December. The Joint Meeting is on the afternoon of

the 12th December and the morning of 13th December.

Location: University of Edinburgh

Invited Speakers:

Joint Meeting: Laurent Bartholdi; Martin Bridson; Alain Valette; Efim

Zelmanov.

Workshop: Laurent Bartholdi; Tim Burness; Patrick Dehornoy; Bettina

Eick; Meinolf Geck; Dugald Macpherson; James Mitchell; G?tz Pfeiffer;

Tim Riley.

Cost: The workshop is 20 pounds (free for postgraduates). The Joint

Meeting is free. We have some additional financial support for

postgraduates.

Postgraduate Poster Session:

We invite postgraduate students to submit a 1-page outline for a

poster paper by email to colva@mcs.st-and.ac.uk by Friday November

14th. The five best outlines will be invited to give a short talk at

the workshop, and there will be a poster paper session for all

postgraduates.

For more information and to register see: http://www-groups.mcs.st-

and.ac.uk/~colva/edconf.html

Hope to see you in Edinburgh

Colva Roney-Dougal

The University of St Andrews is a charity registered in Scotland : No

SC013532

From jbohanon2 at gmail.com Thu Nov 13 05:37:37 2008

From: jbohanon2 at gmail.com (Joe Bohanon)

Date: Thu Nov 13 05:36:01 2008

Subject: [GAP Forum] Maximal Subgroups for O(7,3)

Message-ID: <491BBD21.80600@gmail.com>

Sorry to those of you who get this twice. I accidentally sent it to the

group pub forum first.

I'm trying to get the maximal subgroups for O(7,3) and having some

trouble. ATLAS 3.0 does not have them listed, but ATLAS 2.0 does have

the shape and there are 7 permutation representations that can be called

up by atlasrep. For each of those seven, I did the following with G set

as the smallest permrep

H:=Group(AtlasGenerators("O7(3)",i).generators);

iso:=IsomorphismGroups(H,G);

S:=Stabilizer(H,1);

Then I simply ran Image(iso,S) to get the maximals corresponding to the

primitive permreps. However for the two classes of G2(3), this yields

conjugate maximal subgroups.

In addition, I also tried to take random elements of order 2 and 3 and

try to generate a G2(3), and while I was able to create many of them,

none of them were out of this one conjugacy class.

Am I missing something here? I don't think there is a mistake anywhere,

as G2(3) is listed as having two classes in Kleidman's tables.

Thanks

Joe

From jack at ms.uky.edu Thu Nov 13 07:08:48 2008

From: jack at ms.uky.edu (Jack Schmidt)

Date: Thu Nov 13 07:09:22 2008

Subject: [GAP Forum] Maximal Subgroups for O(7,3)

In-Reply-To: <491BBD21.80600@gmail.com>

References: <491BBD21.80600@gmail.com>

Message-ID: <221F8461-1BD0-4BE6-ABB6-BD0565F3540A@ms.uky.edu>

You can use:

gap> g:=AtlasGroup("O7(3)",NrMovedPoints,1080);;

gap> a:=AutomorphismGroup(g);;

Time of last command: 16073 ms

gap> h:=Stabilizer(g,1);;

gap> f:=First(GeneratorsOfGroup(a),f->NrMovedPoints(Image(f,h))=1080);;

gap> k:=Image(f,h);;

gap> chi1:=PermutationCharacter(g,h);;

Time of last command: 3636 ms

gap> chi2:=PermutationCharacter(g,k);;

Time of last command: 12641 ms

gap> chi1=chi2;

false

The paper atlas mentions that these two maximals fuse in the

automorphism group, so you know something like this should work. The

two conjugacy classes should occur equally often if you are sampling

randomly, so your method should have worked, but this is a simple

direct method.

On 2008-11-13, at 00:37, Joe Bohanon wrote:

> Sorry to those of you who get this twice. I accidentally sent it to

> the group pub forum first.

>

> I'm trying to get the maximal subgroups for O(7,3) and having some

> trouble. ATLAS 3.0 does not have them listed, but ATLAS 2.0 does

> have the shape and there are 7 permutation representations that can

> be called up by atlasrep. For each of those seven, I did the

> following with G set as the smallest permrep

>

> H:=Group(AtlasGenerators("O7(3)",i).generators);

> iso:=IsomorphismGroups(H,G);

> S:=Stabilizer(H,1);

>

> Then I simply ran Image(iso,S) to get the maximals corresponding to

> the primitive permreps. However for the two classes of G2(3), this

> yields conjugate maximal subgroups.

>

> In addition, I also tried to take random elements of order 2 and 3

> and try to generate a G2(3), and while I was able to create many of

> them, none of them were out of this one conjugacy class.

>

> Am I missing something here? I don't think there is a mistake

> anywhere, as G2(3) is listed as having two classes in Kleidman's

> tables.

>

> Thanks

> Joe

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

From dima at ntu.edu.sg Thu Nov 13 07:57:27 2008

From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik)

Date: Thu Nov 13 07:57:40 2008

Subject: [GAP Forum] Maximal Subgroups for O(7,3)

In-Reply-To: <491BBD21.80600@gmail.com>

References: <491BBD21.80600@gmail.com>

Message-ID: <668720bc0811122357i728f7c67wdad88a7b368e2d32@mail.gmail.com>

Dear Joe,

I don't grok your GAP code, but the GAP generators from

http://brauer.maths.qmul.ac.uk/Atlas/clas/O73/

are correct:

enter them into GAP under the names given there:

b11:=...

#...

#and then do

G1:=Group(b11,b21);;

G2:=Group(a11,a21);;

H1:=Stabilizer(G1,1);;

h:=GroupHomomorphismByImages(G1,G2,GeneratorsOfGroup(G1),

GeneratorsOfGroup(G2));;

gg:=List(GeneratorsOfGroup(H1),x->Image(h,x));;

OrbitLengths(Group(gg),[1..1080]);

[ 702, 378 ]

you see that you get different classes (if they were the same, Group(gg) would

fix a point)

HTH,

Dima

if you know a representative H of G_2(3) in the original generators, a

representative of the other class can be constructed by applying an

outer automorphism to H.

Regards,

Dmitrii

2008/11/13 Joe Bohanon <jbohanon2@gmail.com>:

> Sorry to those of you who get this twice. I accidentally sent it to the

> group pub forum first.

>

> I'm trying to get the maximal subgroups for O(7,3) and having some trouble.

> ATLAS 3.0 does not have them listed, but ATLAS 2.0 does have the shape and

> there are 7 permutation representations that can be called up by atlasrep.

> For each of those seven, I did the following with G set as the smallest

> permrep

>

> H:=Group(AtlasGenerators("O7(3)",i).generators);

> iso:=IsomorphismGroups(H,G);

> S:=Stabilizer(H,1);

>

> Then I simply ran Image(iso,S) to get the maximals corresponding to the

> primitive permreps. However for the two classes of G2(3), this yields

> conjugate maximal subgroups.

>

> In addition, I also tried to take random elements of order 2 and 3 and try

> to generate a G2(3), and while I was able to create many of them, none of

> them were out of this one conjugacy class.

>

> Am I missing something here? I don't think there is a mistake anywhere, as

> G2(3) is listed as having two classes in Kleidman's tables.

>

> Thanks

> Joe

From jbohanon2 at gmail.com Thu Nov 13 08:05:57 2008

From: jbohanon2 at gmail.com (Joe Bohanon)

Date: Thu Nov 13 08:04:17 2008

Subject: [GAP Forum] Maximal Subgroups for O(7,3)

In-Reply-To: <668720bc0811122357i728f7c67wdad88a7b368e2d32@mail.gmail.com>

References: <491BBD21.80600@gmail.com>

<668720bc0811122357i728f7c67wdad88a7b368e2d32@mail.gmail.com>

Message-ID: <491BDFE5.2000008@gmail.com>

Thanks. I think I see what I was doing wrong. I'm still a bit

perplexed as to why taking a random sample of 2- and 3-elements about

2000 times never produced a group in the other conjugacy class.

Asst. Prof. Dmitrii (Dima) Pasechnik wrote:

> Dear Joe,

> I don't grok your GAP code, but the GAP generators from

> http://brauer.maths.qmul.ac.uk/Atlas/clas/O73/

> are correct:

>

> enter them into GAP under the names given there:

> b11:=...

> #...

> #and then do

> G1:=Group(b11,b21);;

> G2:=Group(a11,a21);;

> H1:=Stabilizer(G1,1);;

> h:=GroupHomomorphismByImages(G1,G2,GeneratorsOfGroup(G1),

> GeneratorsOfGroup(G2));;

> gg:=List(GeneratorsOfGroup(H1),x->Image(h,x));;

> OrbitLengths(Group(gg),[1..1080]);

> [ 702, 378 ]

>

> you see that you get different classes (if they were the same, Group(gg) would

> fix a point)

>

> HTH,

> Dima

>

>

> if you know a representative H of G_2(3) in the original generators, a

> representative of the other class can be constructed by applying an

> outer automorphism to H.

>

> Regards,

> Dmitrii

>

> 2008/11/13 Joe Bohanon <jbohanon2@gmail.com>:

>

>> Sorry to those of you who get this twice. I accidentally sent it to the

>> group pub forum first.

>>

>> I'm trying to get the maximal subgroups for O(7,3) and having some trouble.

>> ATLAS 3.0 does not have them listed, but ATLAS 2.0 does have the shape and

>> there are 7 permutation representations that can be called up by atlasrep.

>> For each of those seven, I did the following with G set as the smallest

>> permrep

>>

>> H:=Group(AtlasGenerators("O7(3)",i).generators);

>> iso:=IsomorphismGroups(H,G);

>> S:=Stabilizer(H,1);

>>

>> Then I simply ran Image(iso,S) to get the maximals corresponding to the

>> primitive permreps. However for the two classes of G2(3), this yields

>> conjugate maximal subgroups.

>>

>> In addition, I also tried to take random elements of order 2 and 3 and try

>> to generate a G2(3), and while I was able to create many of them, none of

>> them were out of this one conjugacy class.

>>

>> Am I missing something here? I don't think there is a mistake anywhere, as

>> G2(3) is listed as having two classes in Kleidman's tables.

>>

>> Thanks

>> Joe

>>

>

>

From wilson at math.ohio-state.edu Tue Nov 18 18:26:05 2008

From: wilson at math.ohio-state.edu (James B. Wilson)

Date: Tue Nov 18 18:26:16 2008

Subject: [GAP Forum] Extending fields of matrices.

Message-ID: <492308BD.1040603@math.ohio-state.edu>

V is a MeatAxe module over k=GF(p) and it is irreducible but

not absolutely irreducible.

How does one extend the field to the

centralizing subfield of End V?

I've found:

MTX.IsAbsoluteIrreducible( V) and

MTX.DegreeSplittingField( V)

but how do I just reset the field?

I would prefer to have, say, a matrix X in End V such

that V is an absolutely irreducible k[X]-module, rather

than an isomorphic copy of V over an isomorphic copy

of k[X]. But if that is the only way it can be done, that is fine.

Thanks for any help.

From D.F.Holt at warwick.ac.uk Tue Nov 18 23:27:33 2008

From: D.F.Holt at warwick.ac.uk (Derek Holt)

Date: Wed Nov 19 10:04:13 2008

Subject: [GAP Forum] Extending fields of matrices.

In-Reply-To: <492308BD.1040603@math.ohio-state.edu>

References: <492308BD.1040603@math.ohio-state.edu>

Message-ID: <20081118232733.GA25660@warwick.ac.uk>

Dear James,

On Tue, Nov 18, 2008 at 01:26:05PM -0500, James B. Wilson wrote:

>

>

> V is a MeatAxe module over k=GF(p) and it is irreducible but

> not absolutely irreducible.

>

> How does one extend the field to the

> centralizing subfield of End V?

>

> I've found:

>

> MTX.IsAbsoluteIrreducible( V) and

> MTX.DegreeSplittingField( V)

>

> but how do I just reset the field?

>

> I would prefer to have, say, a matrix X in End V such

> that V is an absolutely irreducible k[X]-module, rather

> than an isomorphic copy of V over an isomorphic copy

> of k[X]. But if that is the only way it can be done, that is fine.

I think MTX.CentMat(V) returns the matrix X that you want.

Regards,

Derek Holt.

From lee_bkua at yahoo.com Thu Nov 27 10:17:58 2008

From: lee_bkua at yahoo.com (Levie Bicua)

Date: Thu Nov 27 10:18:29 2008

Subject: [GAP Forum] Index 4 subgroups up to conjugacy

Message-ID: <83672.51980.qm@web33404.mail.mud.yahoo.com>

Dear GAP forum members,

??? Thank you for accepting me in this forum. I am working on determining all the index 5 subgroups of the triangle group H=*pqr=<P,Q,R> where P,Q, and R are the sides of the triangle. To do this, I will construct all 4-colorings of the Tiling T of the plane (the triangle with sides P,Q,R is the fundamental region of T) where all elements of H effect permutations of the 4 colors {1,2,3,4}. For such colorings I defined a homomorphism pi:H->S4, D4 and V (the symmetric, dihedral, and Klein-4 group respectively) which are transitive subgroups of S4. Suppose pi:H->S4, since H=<P,Q,R>, pi is completely determined when pi(P), pi(Q) and pi(R) are specified. Since H is to permute the colors in the resulting coloring, each of P,Q,R either fixes or interchanges any two colors; i.e., each of P,Q,R can be mapped to any of the 2-cycle or products of 2-cycle element of s4.

??? If I want only the index 4 subgroups of H when pi(H)=S4, the first step would be to list all the generators of the symmetry group S4 with each generator consisting only of 3 elements from the 9 2-cyles and products of two cycles of S4 (e.g.{(12),(13),(24)},? {(13),(14)(23),(12)},?). I know that it's easier to do this using GAP but I just don't know how. Can you give me a working program or code for this? Thanks.

??? Now, suppose {pi(P),pi(Q),pi(R)} is a permutation assignment to P,Q,R that gives rise to an index 4 subgroup K in H. The entries corresponding to (1234){pi(P),pi(Q),pi(R)}(1234)^-1,

(1432){pi(P),pi(Q),pi(R)}(1432)^-1, and (13)(24){pi(P),pi(Q),pi(R)}((12)(34))^-1 will respectively, yield h1Kh1^-1, h2Kh2^-1, h3Kh3^-1 (for some? h1,h2,h3 in H), conjugate subgroups of K in H. My next question is, how do I use GAP to obtain the distinct subgroups of index 4 in H up to conjugacy when pi(H)=S4??

Many thanks.

Levi

From lee_bkua at yahoo.com Thu Nov 27 10:27:39 2008

From: lee_bkua at yahoo.com (Levie Bicua)

Date: Thu Nov 27 10:27:59 2008

Subject: [GAP Forum] subgroups of index 4 up to conjugacy

Message-ID: <561814.93237.qm@web33401.mail.mud.yahoo.com>

Dear GAP forum members,

??? Thank you for accepting me in this forum. I am working on determining all the index 5 subgroups of the

triangle group H=*pqr=<P,Q,R> where P,Q, and R are the sides of the triangle. To do this, I will construct

all 4-colorings of the Tiling T of the plane (the triangle with sides P,Q,R is the fundamental region of T)

where all elements of H effect permutations of the 4 colors {1,2,3,4}. For such colorings I defined a

homomorphism pi:H->S4, D4 and V (the symmetric, dihedral, and Klein-4 group respectively) which are

transitive subgroups of S4. Suppose pi:H->S4, since H=<P,Q,R>, pi is completely determined when pi(P), pi(Q) and

pi(R) are specified. Since H is to permute the colors in the resulting coloring, each of P,Q,R either fixes or

interchanges any two colors; i.e., each of P,Q,R can be mapped to any of the 2-cycle or products of 2-cycle

element of s4.

??? If I want only the index 4 subgroups of H when pi(H)=S4, the first step would be to list all the generators of

the symmetry group S4 with each generator consisting only of 3 elements from the 9 2-cyles and products of two

cycles of S4 (e.g.{(12),(13),(24)},? {(13),(14)(23),(12)},?). I know that it's easier to do this using GAP

but I just don't know how. Can you give me a working program or code for this? Thanks.

??? Now, suppose {pi(P),pi(Q),pi(R)} is a permutation assignment to P,Q,R that gives rise to an

index 4 subgroup K in H. The entries corresponding to (1234){pi(P),pi(Q),pi(R)}(1234)^-1,

(1432){pi(P),pi(Q),pi(R)}(1432)^-1, and (13)(24){pi(P),pi(Q),pi(R)}((12)(34))^-1 will respectively, yield h1Kh1^-1,

h2Kh2^-1, h3Kh3^-1 (for some? h1,h2,h3 in H), conjugate subgroups of K in H. My next question is, how do I use GAP

to obtain the distinct subgroups of index 4 in H up to conjugacy when pi(H)=S4??

Many thanks.

Levi

From lee_bkua at yahoo.com Thu Nov 27 10:35:01 2008

From: lee_bkua at yahoo.com (Levie Bicua)

Date: Thu Nov 27 10:35:17 2008

Subject: [GAP Forum] subgroups of index 4 up to conjugacy(corrected message)

Message-ID: <395881.29273.qm@web33403.mail.mud.yahoo.com>

Dear GAP forum members,

??? Thank you for accepting me in this forum. I am working on determining all the index?4 subgroups of the

triangle group H=*pqr=<P,Q,R> where P,Q, and R are the sides of the triangle. To do this, I will construct

all 4-colorings of the Tiling T of the plane (the triangle with sides P,Q,R is the fundamental region of T)

where all elements of H effect permutations of the 4 colors {1,2,3,4}. For such colorings I defined a

homomorphism pi:H->S4, D4 and V (the symmetric, dihedral, and Klein-4 group respectively) which are

transitive subgroups of S4. Suppose pi:H->S4, since H=<P,Q,R>, pi is completely determined when pi(P), pi(Q) and

pi(R) are specified. Since H is to permute the colors in the resulting coloring, each of P,Q,R either fixes or

interchanges any two colors; i.e., each of P,Q,R can be mapped to any of the 2-cycle or products of 2-cycle

element of s4.

??? If I want only the index 4 subgroups of H when pi(H)=S4, the first step would be to list all the generators of

the symmetry group S4 with each generator consisting only of 3 elements from the 9 2-cyles and products of two

cycles of S4 (e.g.{(12),(13),(24)},? {(13),(14)(23),(12)},?). I know that it's easier to do this using GAP

but I just don't know how. Can you give me a working program or code for this? Thanks.

??? Now, suppose {pi(P),pi(Q),pi(R)} is a permutation assignment to P,Q,R that gives rise to an

index 4 subgroup K in H. The entries corresponding to (1234){pi(P),pi(Q),pi(R)}(1234)^-1,

(1432){pi(P),pi(Q),pi(R)}(1432)^-1, and (13)(24){pi(P),pi(Q),pi(R)}((12)(34))^-1 will respectively, yield h1Kh1^-1,

h2Kh2^-1, h3Kh3^-1 (for some? h1,h2,h3 in H), conjugate subgroups of K in H. My next question is, how do I use GAP

to obtain the distinct subgroups of index 4 in H up to conjugacy when pi(H)=S4??

Many thanks.

Levi

From e.obrien at auckland.ac.nz Sun Dec 7 00:21:32 2008

From: e.obrien at auckland.ac.nz (Eamonn O'Brien)

Date: Sun Dec 7 00:21:52 2008

Subject: [GAP Forum] Special Session on Computational Algebra,

BMC/IMS Meeting April 2009

Message-ID: <493B170C.7000306@math.auckland.ac.nz>

Dear Colleagues,

A joint meeting of the British Mathematical Colloquium

and the Irish Mathematical Society will take place at

NUI Galway from 6-9 April, 2009.

As part of the program, we will run a special session on

Computational Algebra, featuring the following presentations:

* Arjeh Cohen (Eindhoven University):

Constructions of curves with given groups of automorphisms

* Bettina Eick (Braunschweig):

Isomorphism testing for algebras (Lie or associative)

* Dane Flannery (NUI Galway):

On deciding finiteness of matrix groups

* Steven Galbraith (Royal Holloway, University of London):

Elliptic curves and public key cryptography

* Gunter Malle (Kaiserslautern):

Computing in Hecke algebras

* Gary McGuire (University College Dublin):

Some computational algebra in cryptography

Abstracts and other details on the Special Session are at

http://www.maths.nuigalway.ie/bmc2009/casession.shtml

which also provides a link to the main BMC/IMS site.

We hope that you can join us for this event.

Best wishes.

Eamonn O'Brien, University of Auckland

Goetz Pfeiffer, NUI Galway

From a.abdollahi at math.ui.ac.ir Tue Dec 9 07:39:03 2008

From: a.abdollahi at math.ui.ac.ir (Alireza Abdollahi)

Date: Tue Dec 9 07:39:22 2008

Subject: [GAP Forum] Two Days Group Theory Seminar in ISFAHAN, IRAN

Message-ID: <165966.71898.qm@web35702.mail.mud.yahoo.com>

Dear Group and GAP Pubbers,

?

A two days seminar on Group Theory will be held at the Depratment of Mathematics, University of Isfahan, Iran, ?during 12-13 March 2009.

?

Th goal of this seminar is to bring together many of the people in Iran who are working on Group Theory, to introduce their works to each other as well as to students and young researches.?We also hope? to? create an atmosphere?to exchange/share/know their ideas and current researchs.?This seminar hopefully??will? serve as a place in which Ph.D./M.Sc. students?get the benifit of ideas/guidance of the others.

?

The tentative plan is to have some talks of 50 and 25 minutes.

?

We sincerely invite?all?interested people in Group Theory???to help us by attending this seminar.

?

The following? URL (in Persian)?can be used?for Iranian?to download the registration form and to get the necessary information.

?

www.sci.ui.ac.ir/~cem/1tdgs.htm

?

The others can? send an e-mail to me?and?ask of???Abstract Talk submission,?visa form, regisrtation?fee, accomodation, Hotel ?Reserving, ...??

?

Best Regards

Alireza Abdollahi

?

?

Department of Mathematics

University of Isfahan,

Isfahan 81746-73441,Iran

abdollahi@member.ams.org

URL: http://sci.ui.ac.ir/~a.abdollahi

From pawel.laskos at gmail.com Tue Dec 9 19:56:56 2008

From: pawel.laskos at gmail.com (=?UTF-8?B?UGF3ZcWCIExhc2tvxZstR3JhYm93c2tp?=)

Date: Thu Dec 11 10:41:47 2008

Subject: [GAP Forum] Obtaining Small Group information

Message-ID: <493ECD88.6080603@gmail.com>

Hello,

I have noticed that GAP Small Groups library provides useful information

on the structure of groups belonging to the layer 1 of the library, but

does not do so for (some) bit more complicated groups. I am rather

dissatisfied by the output

gap> SmallGroupsInformation(1625);

There are 5 groups of order 1625.

They are sorted by normal Sylow subgroups.

1 - 5 are the nilpotent groups.

How can I obtain such a pleasant info like the following?

gap> SmallGroupsInformation(125);

There are 5 groups of order 125.

1 is of type c125.

2 is of type 5x25.

3 is of type 5^2:5.

4 is of type 25:5.

5 is of type 5^3.

And, by the way, what does the colon stand for in the 125,3 and 125,4

type descriptions? I failed to find the explanation in the help pages.

Regards,

Pawe? Lasko?-Grabowski

From h.dietrich at tu-bs.de Thu Dec 11 12:37:14 2008

From: h.dietrich at tu-bs.de (Heiko Dietrich)

Date: Thu Dec 11 12:38:37 2008

Subject: [GAP Forum] Obtaining Small Group information

In-Reply-To: <493ECD88.6080603@gmail.com>

References: <493ECD88.6080603@gmail.com>

Message-ID: <200812111337.14970.h.dietrich@tu-bs.de>

Dear Pawe?,

you can use the command "StructureDescription":

gap> for i in AllSmallGroups(1625) do Display(StructureDescription(i)); od;

C1625

C325 x C5

C13 x ((C5 x C5) : C5)

C13 x (C25 : C5)

C65 x C5 x C5

The output is explained in the manual:

http://www.gap-system.org/Manuals/doc/htm/ref/CHAP037.htm#SECT006

Best,

Heiko

On Tuesday 09 December 2008 20:56, Pawe? Lasko?-Grabowski wrote:

> Hello,

>

> I have noticed that GAP Small Groups library provides useful information

> on the structure of groups belonging to the layer 1 of the library, but

> does not do so for (some) bit more complicated groups. I am rather

> dissatisfied by the output

>

> gap> SmallGroupsInformation(1625);

>

> There are 5 groups of order 1625.

> They are sorted by normal Sylow subgroups.

> 1 - 5 are the nilpotent groups.

>

> How can I obtain such a pleasant info like the following?

>

> gap> SmallGroupsInformation(125);

>

> There are 5 groups of order 125.

> 1 is of type c125.

> 2 is of type 5x25.

> 3 is of type 5^2:5.

> 4 is of type 25:5.

> 5 is of type 5^3.

>

> And, by the way, what does the colon stand for in the 125,3 and 125,4

> type descriptions? I failed to find the explanation in the help pages.

>

> Regards,

> Pawe? Lasko?-Grabowski

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

From lee_bkua at yahoo.com Thu Dec 11 14:45:38 2008

From: lee_bkua at yahoo.com (Levie Bicua)

Date: Thu Dec 11 14:45:53 2008

Subject: [GAP Forum] Some GAP question

Message-ID: <340284.77373.qm@web33406.mail.mud.yahoo.com>

Dear GAP forum members,

I?m new to this GAP thing and I think this question is trivial to most of you.

Suppose I have a set of 3 elements coming from s4 (e.g. [(1,3),(2,4),(1,2)]) and I want to generate other sets using GAP by the method below:

gap> ()^-1*[(1,3),(2,4),(1,2)]*();

[ (1,3), (2,4), (1,2) ]

gap> (2,3)^-1*[(1,3),(2,4),(1,2)]*(2,3);

[ (1,2), (3,4), (1,3) ]

gap> (2,4)^-1*[(1,3),(2,4),(1,2)]*(2,4);

[ (1,3), (2,4), (1,4) ]

gap> (3,4)^-1*[(1,3),(2,4),(1,2)]*(3,4);

[ (1,4), (2,3), (1,2) ]

gap> (2,3,4)^-1*[(1,3),(2,4),(1,2)]*(2,3,4);

[ (1,4), (2,3), (1,3) ]

gap> (2,4,3)^-1*[(1,3),(2,4),(1,2)]*(2,4,3);

[ (1,2), (3,4), (1,4) ]

The method gave 6 different sets of 3 elements. If I will use another set of 3 elements and repeat the process with again using (),(2,3),(2,4),(3,4),(2,3,4), (2,4,3) as conjugating elements, I will obtain again 6 different sets. But using this process every time I want to obtain a list of different sets as above would be eating much of my time. Is there a more efficient command/method than what I had used? Thanks.

From jjm at mcs.st-andrews.ac.uk Thu Dec 11 15:41:39 2008

From: jjm at mcs.st-andrews.ac.uk (John McDermott)

Date: Thu Dec 11 15:41:45 2008

Subject: [GAP Forum] New update of GAP released

Message-ID: <382E6091-3699-447B-BF18-E1999E711712@mcs.st-andrews.ac.uk>

Dear GAP Forum,

We are delighted to announce the release of GAP 4 release 4 update 11

(GAP

4.4.11 for short), which is available now from the GAP Web pages and

FTP site.

The priority of this upgrade is very high, since it contains fixes for

bugs

which can return wrong results without warnings. All users should

update to

this release as soon as possible.

The upgrade also fixes many less dangerous bugs and adds new

functionality

including the facility for dynamic loading of modules on Cygwin using

a dll

based approach, methods for testing membership in general and special

linear

groups over the integers, better View methods for strings and some other

objects, and more. Full details can be found on the web pages at

http://www.gap-system.org/Download/Updates/gap4r4p11.html.

John McDermott,

for the GAP Group.

--

John McDermott

Scientific Officer

Centre for Interdisciplinary Research in Computational Algebra

School of Computer Science

University of St Andrews

North Haugh, St Andrews, Fife

KY16 9SX

SCOTLAND

(Room 330, Mathematical Institute)

tel +44 1334 463813

mob +44 7941 507531

The University of St Andrews is a charity registered in Scotland : No

SC01353

From jbohanon2 at gmail.com Thu Dec 11 19:51:21 2008

From: jbohanon2 at gmail.com (Joe Bohanon)

Date: Thu Dec 11 19:51:31 2008

Subject: [GAP Forum] Obtaining Small Group information

In-Reply-To: <200812111337.14970.h.dietrich@tu-bs.de>

References: <493ECD88.6080603@gmail.com>

<200812111337.14970.h.dietrich@tu-bs.de>

Message-ID: <a5c4cc260812111151n3f79445cn47ea6b093b230348@mail.gmail.com>

I would point out that StructureDescription might not always return a group

the way you'd like it. The manual explains a little more about how it picks

a particular form for the structure.

That function also does not do anything with central products. Hence if I

type:

StructureDescription(SmallGroup(32,50)) I get:

"(C2 x Q8) : C2" when it's also a central product of Q8 with D8. It returns

some pretty awkward answers for other larger central products.

It also will usually not let you know how the split or non-split extensions

work, so you might get two non-isomorphic groups that return the same

"StructureDescription".

Also be forewarned that many times GAP will just compute the whole subgroup

lattice to find a structure, so any group that would take a long time with

LatticeByCyclicExtension or ConjugacyClassesSubgroups is likely to take a

long time for StructureDescription. This would include, for instance,

2-groups of rank more than 5, groups with large permutation representations

or large matrix representations and also finitely-presented groups. It does

have a separate routine for any simple group that spits out the answer due

to the classification in almost no time, however, while it could easily tell

me a group is isomorphic to, say U4(3), it would take much longer (and

probably use up all of your RAM) to say a group is isomorphic to U4(3):D8.

On Thu, Dec 11, 2008 at 6:37 AM, Heiko Dietrich <h.dietrich@tu-bs.de> wrote:

> Dear Pawe?,

>

> you can use the command "StructureDescription":

>

> gap> for i in AllSmallGroups(1625) do Display(StructureDescription(i)); od;

> C1625

> C325 x C5

> C13 x ((C5 x C5) : C5)

> C13 x (C25 : C5)

> C65 x C5 x C5

>

> The output is explained in the manual:

>

> http://www.gap-system.org/Manuals/doc/htm/ref/CHAP037.htm#SECT006

>

> Best,

> Heiko

>

>

>

> On Tuesday 09 December 2008 20:56, Pawe? Lasko?-Grabowski wrote:

> > Hello,

> >

> > I have noticed that GAP Small Groups library provides useful information

> > on the structure of groups belonging to the layer 1 of the library, but

> > does not do so for (some) bit more complicated groups. I am rather

> > dissatisfied by the output

> >

> > gap> SmallGroupsInformation(1625);

> >

> > There are 5 groups of order 1625.

> > They are sorted by normal Sylow subgroups.

> > 1 - 5 are the nilpotent groups.

> >

> > How can I obtain such a pleasant info like the following?

> >

> > gap> SmallGroupsInformation(125);

> >

> > There are 5 groups of order 125.

> > 1 is of type c125.

> > 2 is of type 5x25.

> > 3 is of type 5^2:5.

> > 4 is of type 25:5.

> > 5 is of type 5^3.

> >

> > And, by the way, what does the colon stand for in the 125,3 and 125,4

> > type descriptions? I failed to find the explanation in the help pages.

> >

> > Regards,

> > Pawe? Lasko?-Grabowski

> >

> > _______________________________________________

> > Forum mailing list

> > Forum@mail.gap-system.org

> > http://mail.gap-system.org/mailman/listinfo/forum

>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From combariza at gmail.com Fri Dec 12 03:01:51 2008

From: combariza at gmail.com (German Combariza)

Date: Fri Dec 12 03:02:00 2008

Subject: [GAP Forum] Crime Package. Memory Question.

Message-ID: <b97b3d8f0812111901m68a76d88w874a45aeb95cc4b4@mail.gmail.com>

Dear Forum,

I am trying to compute the cohomology ring of the

SmallGroup=(256,26973);

Using the crime package, but looks like I am having a memory error.

When run in windows, I do:

C:\GAP4R4\bin\gapw95.exe -m 256m -o 3g -l C:\GAP4R4\ %1 %2 %3 %4 %5 %6 %7 %8

gap> LoadPackage("crime");;

gap> N:=SmallGroup(256,26973);

gap> C:=CohomologyObject(N);;

gap> CohomologyGenerators(5);

and after a time, the program said that can not extend the memory and

finish. I can compute CohomologyGenerators(3); but no more.

Whe I do it in linux, I do:

gap -m 256m -o 16g

gap> LoadPackage("crime");;

gap> N:=SmallGroup(256,26973);

gap> C:=CohomologyObject(N);;

gap> CohomologyGenerators(5);

Here the answer is: "Segmentatio fault". I have checked the memory, and

looks like GAP is not using the whole memory of the computer (16G), just a

2% or 3%.

I really appreciate any help.

Thank.

From H.Dietrich at tu-bs.de Fri Dec 12 06:42:22 2008

From: H.Dietrich at tu-bs.de (Heiko Dietrich)

Date: Fri Dec 12 06:42:42 2008

Subject: [GAP Forum] Obtaining Small Group information

In-Reply-To: <494191E4.60208@gmail.com>

References: <493ECD88.6080603@gmail.com>

<a5c4cc260812111151n3f79445cn47ea6b093b230348@mail.gmail.com>

<494191E4.60208@gmail.com>

Message-ID: <200812120742.22939.H.Dietrich@tu-bs.de>

Hello,

the groups of order 5^3 are the following

(1) cyclic group C_{125}

(2) abelian group C_{25} x C_5

(3) extraspecial 5-group of order 125 and exponent 5: C_5 \ltimes (C_5 x C_5)

(4) extraspecial 5-group of order 125 and exponent 25: C_5 \ltimes C_{25}

(5) elementary abelian group C_5 x C_5 x C_5.

(Note that A \ltimes B is a split extensions with A acting on the normal

subgroup B.)

In general, the groups of order p^3 were classified by Otto Hoelder, "Die

Gruppen der Ordnungen p^3 , pq^2, pqr, p^4.", Math. Ann., 43: 301 - 412,

1893.

As 1625 = 13*5^3, a group G of order 1625 has a normal Sylow subgroup P of

order 125. Now Schur-Zassenhaus show that P has a complement in G, that is, G

is isomorphic to the split extension C_{13} \ltimes P. Due to order reasons,

the cyclic group has to act trivially, that is, G is isomorphic to the direct

product C_{13} x P.

Hence, you obtain all groups of order 1625 by adding a direct factor C_{13} to

every group (1)--(5) of order 125:

gap>NumberSmallGroups(1625);

5

gap>List(AllSmallGroups(125),x->IdSmallGroup(DirectProduct(x,CyclicGroup(13))));

[ [ 1625, 1 ], [ 1625, 2 ], [ 1625, 3 ], [ 1625, 4 ], [ 1625, 5 ] ]

Hope this helps,

Heiko

On Thursday 11 December 2008 23:19, Pawe? Lasko?-Grabowski wrote:

> Hello,

>

> Much of this (highly useful otherwise, thanks a lot) information is

> actually much more general than I need at the moment. I need to know the

> structure of all (up to isomorphism, of course) groups of orders 125 and

> 1625. I was glad to discover that there are only five of each, but now

> it seems that the ones obtained by semidirect products may actually

> represent many non-isomorphic groups. Is there a way to obtain such

> level of details using GAP, or should I refer to textbooks and/or prove

> few facts myself to get the information I need?

>

> Regards,

> Pawel Laskos-Grabowski

>

> Joe Bohanon schrieb:

> > I would point out that StructureDescription might not always return a

> > group the way you'd like it. The manual explains a little more about

> > how it picks a particular form for the structure.

> >

> > That function also does not do anything with central products. Hence if

> > I type:

> > StructureDescription(SmallGroup(32,50)) I get:

> > "(C2 x Q8) : C2" when it's also a central product of Q8 with D8. It

> > returns some pretty awkward answers for other larger central products.

> >

> > It also will usually not let you know how the split or non-split

> > extensions work, so you might get two non-isomorphic groups that return

> > the same "StructureDescription".

> >

> > Also be forewarned that many times GAP will just compute the whole

> > subgroup lattice to find a structure, so any group that would take a

> > long time with LatticeByCyclicExtension or ConjugacyClassesSubgroups is

> > likely to take a long time for StructureDescription. This would

> > include, for instance, 2-groups of rank more than 5, groups with large

> > permutation representations or large matrix representations and also

> > finitely-presented groups. It does have a separate routine for any

> > simple group that spits out the answer due to the classification in

> > almost no time, however, while it could easily tell me a group is

> > isomorphic to, say U4(3), it would take much longer (and probably use up

> > all of your RAM) to say a group is isomorphic to U4(3):D8.

> >

> > On Thu, Dec 11, 2008 at 6:37 AM, Heiko Dietrich <h.dietrich@tu-bs.de

> > <mailto:h.dietrich@tu-bs.de>> wrote:

> >

> > Dear Pawe?,

> >

> > you can use the command "StructureDescription":

> >

> > gap> for i in AllSmallGroups(1625) do

> > Display(StructureDescription(i)); od;

> > C1625

> > C325 x C5

> > C13 x ((C5 x C5) : C5)

> > C13 x (C25 : C5)

> > C65 x C5 x C5

> >

> > The output is explained in the manual:

> >

> > http://www.gap-system.org/Manuals/doc/htm/ref/CHAP037.htm#SECT006

> >

> > Best,

> > Heiko

> >

> > On Tuesday 09 December 2008 20:56, Pawe? Lasko?-Grabowski wrote:

> > > Hello,

> > >

> > > I have noticed that GAP Small Groups library provides useful

> >

> > information

> >

> > > on the structure of groups belonging to the layer 1 of the

> >

> > library, but

> >

> > > does not do so for (some) bit more complicated groups. I am rather

> > > dissatisfied by the output

> > >

> > > gap> SmallGroupsInformation(1625);

> > >

> > > There are 5 groups of order 1625.

> > > They are sorted by normal Sylow subgroups.

> > > 1 - 5 are the nilpotent groups.

> > >

> > > How can I obtain such a pleasant info like the following?

> > >

> > > gap> SmallGroupsInformation(125);

> > >

> > > There are 5 groups of order 125.

> > > 1 is of type c125.

> > > 2 is of type 5x25.

> > > 3 is of type 5^2:5.

> > > 4 is of type 25:5.

> > > 5 is of type 5^3.

> > >

> > > And, by the way, what does the colon stand for in the 125,3 and

> > > 125,4 type descriptions? I failed to find the explanation in the

> > > help

> >

> > pages.

> >

> > > Regards,

> > > Pawe? Lasko?-Grabowski

> > >

> > > _______________________________________________

> > > Forum mailing list

> > > Forum@mail.gap-system.org <mailto:Forum@mail.gap-system.org>

> > > http://mail.gap-system.org/mailman/listinfo/forum

> >

> > _______________________________________________

> > Forum mailing list

> > Forum@mail.gap-system.org <mailto:Forum@mail.gap-system.org>

> > http://mail.gap-system.org/mailman/listinfo/forum

--

Dipl. Math. Heiko Dietrich

Department of Mathematics

University Braunschweig

Pockelsstrasse 14

38106 Braunschweig

GERMANY

Room: F 613

Tel: ++49 (0)531 391 7526

Fax: ++49 (0)531 391 8206

Email: h.dietrich@tu-bs.de

From jbohanon2 at gmail.com Fri Dec 12 07:01:38 2008

From: jbohanon2 at gmail.com (Joe Bohanon)

Date: Fri Dec 12 07:01:58 2008

Subject: [GAP Forum] Obtaining Small Group information

In-Reply-To: <200812120742.22939.H.Dietrich@tu-bs.de>

References: <493ECD88.6080603@gmail.com>

<a5c4cc260812111151n3f79445cn47ea6b093b230348@mail.gmail.com>

<494191E4.60208@gmail.com> <200812120742.22939.H.Dietrich@tu-bs.de>

Message-ID: <49420C52.8010801@gmail.com>

Also in general the groups of order p^3*q were classified by Western

near the beginning of the 20th century (if you have Burnside's book, you

can find the reference there where he does p^2 q). I think very few

generic classifications were done beyond what Hoelder did (except for

the work on p-groups by O'Brien and Eick) mainly because of the number

of sub-cases you have to look at.

Heiko Dietrich wrote:

> Hello,

>

> the groups of order 5^3 are the following

>

> (1) cyclic group C_{125}

> (2) abelian group C_{25} x C_5

> (3) extraspecial 5-group of order 125 and exponent 5: C_5 \ltimes (C_5 x C_5)

> (4) extraspecial 5-group of order 125 and exponent 25: C_5 \ltimes C_{25}

> (5) elementary abelian group C_5 x C_5 x C_5.

>

> (Note that A \ltimes B is a split extensions with A acting on the normal

> subgroup B.)

>

> In general, the groups of order p^3 were classified by Otto Hoelder, "Die

> Gruppen der Ordnungen p^3 , pq^2, pqr, p^4.", Math. Ann., 43: 301 - 412,

> 1893.

>

> As 1625 = 13*5^3, a group G of order 1625 has a normal Sylow subgroup P of

> order 125. Now Schur-Zassenhaus show that P has a complement in G, that is, G

> is isomorphic to the split extension C_{13} \ltimes P. Due to order reasons,

> the cyclic group has to act trivially, that is, G is isomorphic to the direct

> product C_{13} x P.

>

> Hence, you obtain all groups of order 1625 by adding a direct factor C_{13} to

> every group (1)--(5) of order 125:

>

> gap>NumberSmallGroups(1625);

> 5

> gap>List(AllSmallGroups(125),x->IdSmallGroup(DirectProduct(x,CyclicGroup(13))));

> [ [ 1625, 1 ], [ 1625, 2 ], [ 1625, 3 ], [ 1625, 4 ], [ 1625, 5 ] ]

>

> Hope this helps,

> Heiko

>

>

> On Thursday 11 December 2008 23:19, Pawe? Lasko?-Grabowski wrote:

>

>> Hello,

>>

>> Much of this (highly useful otherwise, thanks a lot) information is

>> actually much more general than I need at the moment. I need to know the

>> structure of all (up to isomorphism, of course) groups of orders 125 and

>> 1625. I was glad to discover that there are only five of each, but now

>> it seems that the ones obtained by semidirect products may actually

>> represent many non-isomorphic groups. Is there a way to obtain such

>> level of details using GAP, or should I refer to textbooks and/or prove

>> few facts myself to get the information I need?

>>

>> Regards,

>> Pawel Laskos-Grabowski

>>

>> Joe Bohanon schrieb:

>>

>>> I would point out that StructureDescription might not always return a

>>> group the way you'd like it. The manual explains a little more about

>>> how it picks a particular form for the structure.

>>>

>>> That function also does not do anything with central products. Hence if

>>> I type:

>>> StructureDescription(SmallGroup(32,50)) I get:

>>> "(C2 x Q8) : C2" when it's also a central product of Q8 with D8. It

>>> returns some pretty awkward answers for other larger central products.

>>>

>>> It also will usually not let you know how the split or non-split

>>> extensions work, so you might get two non-isomorphic groups that return

>>> the same "StructureDescription".

>>>

>>> Also be forewarned that many times GAP will just compute the whole

>>> subgroup lattice to find a structure, so any group that would take a

>>> long time with LatticeByCyclicExtension or ConjugacyClassesSubgroups is

>>> likely to take a long time for StructureDescription. This would

>>> include, for instance, 2-groups of rank more than 5, groups with large

>>> permutation representations or large matrix representations and also

>>> finitely-presented groups. It does have a separate routine for any

>>> simple group that spits out the answer due to the classification in

>>> almost no time, however, while it could easily tell me a group is

>>> isomorphic to, say U4(3), it would take much longer (and probably use up

>>> all of your RAM) to say a group is isomorphic to U4(3):D8.

>>>

>>> On Thu, Dec 11, 2008 at 6:37 AM, Heiko Dietrich <h.dietrich@tu-bs.de

>>> <mailto:h.dietrich@tu-bs.de>> wrote:

>>>

>>> Dear Pawe?,

>>>

>>> you can use the command "StructureDescription":

>>>

>>> gap> for i in AllSmallGroups(1625) do

>>> Display(StructureDescription(i)); od;

>>> C1625

>>> C325 x C5

>>> C13 x ((C5 x C5) : C5)

>>> C13 x (C25 : C5)

>>> C65 x C5 x C5

>>>

>>> The output is explained in the manual:

>>>

>>> http://www.gap-system.org/Manuals/doc/htm/ref/CHAP037.htm#SECT006

>>>

>>> Best,

>>> Heiko

>>>

>>> On Tuesday 09 December 2008 20:56, Pawe? Lasko?-Grabowski wrote:

>>> > Hello,

>>> >

>>> > I have noticed that GAP Small Groups library provides useful

>>>

>>> information

>>>

>>> > on the structure of groups belonging to the layer 1 of the

>>>

>>> library, but

>>>

>>> > does not do so for (some) bit more complicated groups. I am rather

>>> > dissatisfied by the output

>>> >

>>> > gap> SmallGroupsInformation(1625);

>>> >

>>> > There are 5 groups of order 1625.

>>> > They are sorted by normal Sylow subgroups.

>>> > 1 - 5 are the nilpotent groups.

>>> >

>>> > How can I obtain such a pleasant info like the following?

>>> >

>>> > gap> SmallGroupsInformation(125);

>>> >

>>> > There are 5 groups of order 125.

>>> > 1 is of type c125.

>>> > 2 is of type 5x25.

>>> > 3 is of type 5^2:5.

>>> > 4 is of type 25:5.

>>> > 5 is of type 5^3.

>>> >

>>> > And, by the way, what does the colon stand for in the 125,3 and

>>> > 125,4 type descriptions? I failed to find the explanation in the

>>> > help

>>>

>>> pages.

>>>

>>> > Regards,

>>> > Pawe? Lasko?-Grabowski

>>> >

>>> > _______________________________________________

>>> > Forum mailing list

>>> > Forum@mail.gap-system.org <mailto:Forum@mail.gap-system.org>

>>> > http://mail.gap-system.org/mailman/listinfo/forum

>>>

>>> _______________________________________________

>>> Forum mailing list

>>> Forum@mail.gap-system.org <mailto:Forum@mail.gap-system.org>

>>> http://mail.gap-system.org/mailman/listinfo/forum

>>>

>

>

From vdabbagh at sfu.ca Fri Dec 12 09:37:06 2008

From: vdabbagh at sfu.ca (Vahid Dabbaghian)

Date: Fri Dec 12 09:37:20 2008

Subject: [GAP Forum] Repsn 3.0.1

In-Reply-To: <438953374.3495381229074561118.JavaMail.root@jaguar7.sfu.ca>

Message-ID: <1001237394.3495461229074626309.JavaMail.root@jaguar7.sfu.ca>

Dear GAP Forum,

This is to announce the release of Repsn 3.0.1.

Earlier versions of Repsn were using some techniques for computing ordinary matrix representations of degrees less than 32 for any given finite group G. In this version, by implementing a new method, this has been extended to degrees up to 100. In particular Repsn 3.0.1 can be applied for the important case where G is perfect and the socle of G over its centre is abelian.

The Repsn 3.0.1 is available at the following pages;

http://www.gap-system.org/Packages/repsn.html

http://www.sfu.ca/~vdabbagh/gap/repsn.html

Please send bug reports, suggestions and other comments to vdabbagh@sfu.ca

Best wishes

Vahid Dabbaghian

_____________________________

The IRMACS Centre (ASB 10905)

Simon Fraser University

8888 University Drive

Burnaby, BC V5A 1S6

Canada

E-mail: vdabbagh@sfu.ca

Tel: (778) 782 2108

http://www.sfu.ca/~vdabbagh

From graham.ellis at nuigalway.ie Fri Dec 12 10:57:16 2008

From: graham.ellis at nuigalway.ie (Ellis, Grahamj)

Date: Fri Dec 12 11:10:28 2008

Subject: [GAP Forum] Crime Package. Memory Question.

References: <b97b3d8f0812111901m68a76d88w874a45aeb95cc4b4@mail.gmail.com>

Message-ID: <47C2E007B3E98F4E8BBC7997F007CE1303AD2720@EVS1.ac.nuigalway.ie>

The HAP package can also be used for cohomology rings. The following requires about 512Mb of memory and shows that there are five generators in degree 1, three generators in degree 2, and no generators in degrees 3,4,5.

gap> LoadPackage("hap");;

Loading HAP 1.8.8 ...

gap> N:=SmallGroup(256,26973);;

gap> gens:=ModPCohomologyGenerators(N,5);;

gap> t:=time;;StringTime(t);

" 0:03:36.493"

gap> List(gens[1],gens[2]);

[ 0, 1, 1, 1, 1, 1, 2, 2, 2 ]

Graham

>I am trying to compute the cohomology ring of the

>SmallGroup=(256,26973);

>Using the crime package, but looks like I am having a memory error.

>When run in windows, I do:

>C:\GAP4R4\bin\gapw95.exe -m 256m -o 3g -l C:\GAP4R4\ %1 %2 %3 %4 %5 %6 %7 %8

>gap> LoadPackage("crime");;

>gap> N:=SmallGroup(256,26973);

>gap> C:=CohomologyObject(N);;

>gap> CohomologyGenerators(5);

>and after a time, the program said that can not extend the memory and

>finish. I can compute CohomologyGenerators(3); but no more.

>Whe I do it in linux, I do:

>gap -m 256m -o 16g

>gap> LoadPackage("crime");;

>gap> N:=SmallGroup(256,26973);

>gap> C:=CohomologyObject(N);;

>gap> CohomologyGenerators(5);

>Here the answer is: "Segmentatio fault". I have checked the memory, and

>looks like GAP is not using the whole memory of the computer (16G), just a

>2% or 3%.

>I really appreciate any help.

>Thank.

From anvita21 at gmail.com Sat Dec 13 04:42:43 2008

From: anvita21 at gmail.com (Anvita)

Date: Sat Dec 13 04:43:00 2008

Subject: [GAP Forum] TERMINFO

Message-ID: <6a52effd0812122042j6b089c3em6f64aa8c66d047c0@mail.gmail.com>

Dear Forum,

I have noticed the new line

set TERMINFO=C:\GAP4R4\terminfo

in the newly distributed file gap.bat and have the following questions about

it:

1. Where can I find more information about the purpose of the environment

variable "TERMINFO"?

2. Should this line be changed if the GAP installation directory is other

than "C:\GAP4R4"?

3. After GAP is started, I still cannot see TERMINFO in the list of

variables shown by the "set"

command. Is this OK?

Thank you in advance,

Anvita.

P.S. I am running GAP on Windows XP SP2.

From anvita21 at gmail.com Sun Dec 14 10:19:35 2008

From: anvita21 at gmail.com (Anvita)

Date: Sun Dec 14 10:19:53 2008

Subject: [GAP Forum] 0*Z(5) in Group(Z(5));

Message-ID: <6a52effd0812140219q1a0fdfdcq4025d7fa17be626c@mail.gmail.com>

Dear Forum,

Why can't GAP check whether Zero of a finite field is in its multiplicative

group?

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

gap> z:=Z(5);

Z(5)

gap> 0*z in Group(z);

LogFFE: <z> must be a nonzero finite field element at

return elm in F and LogFFE( elm, PrimitiveRoot( F ) ) mod ((Size( F ) - 1) /

Size( G ))

= 0;

called from

<function>( <arguments> ) called from read-eval-loop

Entering break read-eval-print loop ...

you can 'quit;' to quit to outer loop, or

you can replace <z> via 'return <z>;' to continue

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

Anvita

From alexander.konovalov at gmail.com Tue Dec 16 16:35:26 2008

From: alexander.konovalov at gmail.com (Alexander Konovalov)

Date: Tue Dec 16 16:35:56 2008

Subject: [GAP Forum] Some GAP question

In-Reply-To: <340284.77373.qm@web33406.mail.mud.yahoo.com>

References: <340284.77373.qm@web33406.mail.mud.yahoo.com>

Message-ID: <83218D33-DDD1-4F9E-921A-DBDC4560E5A6@gmail.com>

Dear Levie,

Maybe the simplest solution to do it interactively for one triple is

here:

gap> elts:=[(1,3),(2,4),(1,2)];

[ (1,3), (2,4), (1,2) ]

gap> conj:=[(),(2,3),(2,4),(3,4),(2,3,4), (2,4,3)];

[ (), (2,3), (2,4), (3,4), (2,3,4), (2,4,3) ]

gap> List( conj, x -> x^-1*elts*x );

[ [ (1,3), (2,4), (1,2) ], [ (1,2), (3,4), (1,3) ], [ (1,3), (2,4),

(1,4) ],

[ (1,4), (2,3), (1,2) ], [ (1,4), (2,3), (1,3) ], [ (1,2), (3,4),

(1,4) ] ]

You may write a function to do this:

gap> myfun:=function(elts,conj)

> return List( conj, x -> x^-1*elts*x );

> end;

function( elts, conj ) ... end

and then call this function as it is shown here:

gap> myfun(elts,conj);

[ [ (1,3), (2,4), (1,2) ], [ (1,2), (3,4), (1,3) ], [ (1,3), (2,4),

(1,4) ],

[ (1,4), (2,3), (1,2) ], [ (1,4), (2,3), (1,3) ], [ (1,2), (3,4),

(1,4) ] ]

Now you may apply it for various values of arguments. Using list

operations

and GAP programming language constructions (see, e.g. 'for' loops) you

may

automate computations for various combinations of arguments.

Hope this gives some hints in which direction to proceed.

For the further ideas, you may find useful these chapters

from the Tutorial:

http://www.gap-system.org/Manuals/doc/htm/tut/CHAP003.htm

http://www.gap-system.org/Manuals/doc/htm/tut/CHAP004.htm

and the Reference manual chapter "The Programming Language":

http://www.gap-system.org/Manuals/doc/htm/ref/CHAP004.htm

for start with.

Best wishes,

Alexander

On 11 Dec 2008, at 14:45, Levie Bicua wrote:

> Dear GAP forum members,

> I?m new to this GAP thing and I think this question is trivial to

> most of you.

> Suppose I have a set of 3 elements coming from s4 (e.g. [(1,3),(2,4),

> (1,2)]) and I want to generate other sets using GAP by the method

> below:

> gap> ()^-1*[(1,3),(2,4),(1,2)]*();

> [ (1,3), (2,4), (1,2) ]

> gap> (2,3)^-1*[(1,3),(2,4),(1,2)]*(2,3);

> [ (1,2), (3,4), (1,3) ]

> gap> (2,4)^-1*[(1,3),(2,4),(1,2)]*(2,4);

> [ (1,3), (2,4), (1,4) ]

> gap> (3,4)^-1*[(1,3),(2,4),(1,2)]*(3,4);

> [ (1,4), (2,3), (1,2) ]

> gap> (2,3,4)^-1*[(1,3),(2,4),(1,2)]*(2,3,4);

> [ (1,4), (2,3), (1,3) ]

> gap> (2,4,3)^-1*[(1,3),(2,4),(1,2)]*(2,4,3);

> [ (1,2), (3,4), (1,4) ]

> The method gave 6 different sets of 3 elements. If I will use

> another set of 3 elements and repeat the process with again using (),

> (2,3),(2,4),(3,4),(2,3,4), (2,4,3) as conjugating elements, I will

> obtain again 6 different sets. But using this process every time I

> want to obtain a list of different sets as above would be eating

> much of my time. Is there a more efficient command/method than what

> I had used? Thanks.

>

>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

From jbohanon2 at gmail.com Tue Dec 16 17:12:23 2008

From: jbohanon2 at gmail.com (Joe Bohanon)

Date: Tue Dec 16 17:15:38 2008

Subject: [GAP Forum] Some GAP question

In-Reply-To: <83218D33-DDD1-4F9E-921A-DBDC4560E5A6@gmail.com>

References: <340284.77373.qm@web33406.mail.mud.yahoo.com>

<83218D33-DDD1-4F9E-921A-DBDC4560E5A6@gmail.com>

Message-ID: <a5c4cc260812160912q42b1a3d9wd7501a4e9f2737b9@mail.gmail.com>

GAP also recognizes the command "x^y" meaning "x conjugated by y". I'm not

sure if its y^-1 x y or y x y^-1 that comes out of that

On Tue, Dec 16, 2008 at 10:35 AM, Alexander Konovalov <

alexander.konovalov@gmail.com> wrote:

> Dear Levie,

>

> Maybe the simplest solution to do it interactively for one triple is here:

>

> gap> elts:=[(1,3),(2,4),(1,2)];

> [ (1,3), (2,4), (1,2) ]

> gap> conj:=[(),(2,3),(2,4),(3,4),(2,3,4), (2,4,3)];

> [ (), (2,3), (2,4), (3,4), (2,3,4), (2,4,3) ]

> gap> List( conj, x -> x^-1*elts*x );

> [ [ (1,3), (2,4), (1,2) ], [ (1,2), (3,4), (1,3) ], [ (1,3), (2,4), (1,4)

> ],

> [ (1,4), (2,3), (1,2) ], [ (1,4), (2,3), (1,3) ], [ (1,2), (3,4), (1,4) ]

> ]

>

> You may write a function to do this:

>

> gap> myfun:=function(elts,conj)

> > return List( conj, x -> x^-1*elts*x );

> > end;

> function( elts, conj ) ... end

>

> and then call this function as it is shown here:

>

> gap> myfun(elts,conj);

> [ [ (1,3), (2,4), (1,2) ], [ (1,2), (3,4), (1,3) ], [ (1,3), (2,4), (1,4)

> ],

> [ (1,4), (2,3), (1,2) ], [ (1,4), (2,3), (1,3) ], [ (1,2), (3,4), (1,4) ]

> ]

>

> Now you may apply it for various values of arguments. Using list operations

> and GAP programming language constructions (see, e.g. 'for' loops) you may

> automate computations for various combinations of arguments.

>

> Hope this gives some hints in which direction to proceed.

> For the further ideas, you may find useful these chapters

> from the Tutorial:

>

> http://www.gap-system.org/Manuals/doc/htm/tut/CHAP003.htm

> http://www.gap-system.org/Manuals/doc/htm/tut/CHAP004.htm

>

> and the Reference manual chapter "The Programming Language":

>

> http://www.gap-system.org/Manuals/doc/htm/ref/CHAP004.htm

>

> for start with.

>

> Best wishes,

> Alexander

>

>

>

> On 11 Dec 2008, at 14:45, Levie Bicua wrote:

>

> Dear GAP forum members,

>> I'm new to this GAP thing and I think this question is trivial to most of

>> you.

>> Suppose I have a set of 3 elements coming from s4 (e.g.

>> [(1,3),(2,4),(1,2)]) and I want to generate other sets using GAP by the

>> method below:

>> gap> ()^-1*[(1,3),(2,4),(1,2)]*();

>> [ (1,3), (2,4), (1,2) ]

>> gap> (2,3)^-1*[(1,3),(2,4),(1,2)]*(2,3);

>> [ (1,2), (3,4), (1,3) ]

>> gap> (2,4)^-1*[(1,3),(2,4),(1,2)]*(2,4);

>> [ (1,3), (2,4), (1,4) ]

>> gap> (3,4)^-1*[(1,3),(2,4),(1,2)]*(3,4);

>> [ (1,4), (2,3), (1,2) ]

>> gap> (2,3,4)^-1*[(1,3),(2,4),(1,2)]*(2,3,4);

>> [ (1,4), (2,3), (1,3) ]

>> gap> (2,4,3)^-1*[(1,3),(2,4),(1,2)]*(2,4,3);

>> [ (1,2), (3,4), (1,4) ]

>> The method gave 6 different sets of 3 elements. If I will use another set

>> of 3 elements and repeat the process with again using

>> (),(2,3),(2,4),(3,4),(2,3,4), (2,4,3) as conjugating elements, I will obtain

>> again 6 different sets. But using this process every time I want to obtain a

>> list of different sets as above would be eating much of my time. Is there a

>> more efficient command/method than what I had used? Thanks.

>>

>>

>>

>> _______________________________________________

>> Forum mailing list

>> Forum@mail.gap-system.org

>> http://mail.gap-system.org/mailman/listinfo/forum

>>

>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From alexander.konovalov at gmail.com Wed Dec 17 00:04:57 2008

From: alexander.konovalov at gmail.com (Alexander Konovalov)

Date: Wed Dec 17 00:05:19 2008

Subject: [GAP Forum] Some GAP question

In-Reply-To: <a5c4cc260812160912q42b1a3d9wd7501a4e9f2737b9@mail.gmail.com>

References: <340284.77373.qm@web33406.mail.mud.yahoo.com>

<83218D33-DDD1-4F9E-921A-DBDC4560E5A6@gmail.com>

<a5c4cc260812160912q42b1a3d9wd7501a4e9f2737b9@mail.gmail.com>

Message-ID: <32D663DE-3AFB-482C-A125-3DB1C37EB9FF@gmail.com>

To be precise, the manual says "^ denotes powering of a multiplicative

element if the right operand is an integer, and is also used to denote

the action of a group element on a point of a set if the right operand

is a group element". In the example below, replacing

List( conj, x -> x^-1*elts*x )

by

List( conj, x -> elts^x );

will not work because such action is not defined, but the following

will work, because by default the group act on its elements by

conjugation:

gap> List( conj, y -> List( elts, x -> x^y ) );

[ [ (1,3), (2,4), (1,2) ], [ (1,2), (3,4), (1,3) ], [ (1,3), (2,4),

(1,4) ],

[ (1,4), (2,3), (1,2) ], [ (1,4), (2,3), (1,3) ], [ (1,2), (3,4),

(1,4) ] ]

Also, in this case x^y = y^-1 * x * y.

Best,

Alexander

On 16 Dec 2008, at 17:12, Joe Bohanon wrote:

> GAP also recognizes the command "x^y" meaning "x conjugated by y".

> I'm not

> sure if its y^-1 x y or y x y^-1 that comes out of that

>

> On Tue, Dec 16, 2008 at 10:35 AM, Alexander Konovalov <

> alexander.konovalov@gmail.com> wrote:

>

>> Dear Levie,

>>

>> Maybe the simplest solution to do it interactively for one triple

>> is here:

>>

>> gap> elts:=[(1,3),(2,4),(1,2)];

>> [ (1,3), (2,4), (1,2) ]

>> gap> conj:=[(),(2,3),(2,4),(3,4),(2,3,4), (2,4,3)];

>> [ (), (2,3), (2,4), (3,4), (2,3,4), (2,4,3) ]

>> gap> List( conj, x -> x^-1*elts*x );

>> [ [ (1,3), (2,4), (1,2) ], [ (1,2), (3,4), (1,3) ], [ (1,3), (2,4),

>> (1,4)

>> ],

>> [ (1,4), (2,3), (1,2) ], [ (1,4), (2,3), (1,3) ], [ (1,2), (3,4),

>> (1,4) ]

>> ]

>>

>> You may write a function to do this:

>>

>> gap> myfun:=function(elts,conj)

>>> return List( conj, x -> x^-1*elts*x );

>>> end;

>> function( elts, conj ) ... end

>>

>> and then call this function as it is shown here:

>>

>> gap> myfun(elts,conj);

>> [ [ (1,3), (2,4), (1,2) ], [ (1,2), (3,4), (1,3) ], [ (1,3), (2,4),

>> (1,4)

>> ],

>> [ (1,4), (2,3), (1,2) ], [ (1,4), (2,3), (1,3) ], [ (1,2), (3,4),

>> (1,4) ]

>> ]

>>

>> Now you may apply it for various values of arguments. Using list

>> operations

>> and GAP programming language constructions (see, e.g. 'for' loops)

>> you may

>> automate computations for various combinations of arguments.

>>

>> Hope this gives some hints in which direction to proceed.

>> For the further ideas, you may find useful these chapters

>> from the Tutorial:

>>

>> http://www.gap-system.org/Manuals/doc/htm/tut/CHAP003.htm

>> http://www.gap-system.org/Manuals/doc/htm/tut/CHAP004.htm

>>

>> and the Reference manual chapter "The Programming Language":

>>

>> http://www.gap-system.org/Manuals/doc/htm/ref/CHAP004.htm

>>

>> for start with.

>>

>> Best wishes,

>> Alexander

>>

>>

>>

>> On 11 Dec 2008, at 14:45, Levie Bicua wrote:

>>

>> Dear GAP forum members,

>>> I'm new to this GAP thing and I think this question is trivial to

>>> most of

>>> you.

>>> Suppose I have a set of 3 elements coming from s4 (e.g.

>>> [(1,3),(2,4),(1,2)]) and I want to generate other sets using GAP

>>> by the

>>> method below:

>>> gap> ()^-1*[(1,3),(2,4),(1,2)]*();

>>> [ (1,3), (2,4), (1,2) ]

>>> gap> (2,3)^-1*[(1,3),(2,4),(1,2)]*(2,3);

>>> [ (1,2), (3,4), (1,3) ]

>>> gap> (2,4)^-1*[(1,3),(2,4),(1,2)]*(2,4);

>>> [ (1,3), (2,4), (1,4) ]

>>> gap> (3,4)^-1*[(1,3),(2,4),(1,2)]*(3,4);

>>> [ (1,4), (2,3), (1,2) ]

>>> gap> (2,3,4)^-1*[(1,3),(2,4),(1,2)]*(2,3,4);

>>> [ (1,4), (2,3), (1,3) ]

>>> gap> (2,4,3)^-1*[(1,3),(2,4),(1,2)]*(2,4,3);

>>> [ (1,2), (3,4), (1,4) ]

>>> The method gave 6 different sets of 3 elements. If I will use

>>> another set

>>> of 3 elements and repeat the process with again using

>>> (),(2,3),(2,4),(3,4),(2,3,4), (2,4,3) as conjugating elements, I

>>> will obtain

>>> again 6 different sets. But using this process every time I want

>>> to obtain a

>>> list of different sets as above would be eating much of my time.

>>> Is there a

>>> more efficient command/method than what I had used? Thanks.

>>>

>>>

>>>

>>> _______________________________________________

>>> Forum mailing list

>>> Forum@mail.gap-system.org

>>> http://mail.gap-system.org/mailman/listinfo/forum

From pawel.laskos at gmail.com Thu Dec 11 22:19:16 2008

From: pawel.laskos at gmail.com (=?ISO-8859-2?Q?Pawe=B3_Lasko=B6-Grabowski?=)

Date: Fri Dec 19 11:11:03 2008

Subject: [GAP Forum] Obtaining Small Group information

In-Reply-To: <a5c4cc260812111151n3f79445cn47ea6b093b230348@mail.gmail.com>

References: <493ECD88.6080603@gmail.com>

<200812111337.14970.h.dietrich@tu-bs.de>

<a5c4cc260812111151n3f79445cn47ea6b093b230348@mail.gmail.com>

Message-ID: <494191E4.60208@gmail.com>

Hello,

Much of this (highly useful otherwise, thanks a lot) information is

actually much more general than I need at the moment. I need to know the

structure of all (up to isomorphism, of course) groups of orders 125 and

1625. I was glad to discover that there are only five of each, but now

it seems that the ones obtained by semidirect products may actually

represent many non-isomorphic groups. Is there a way to obtain such

level of details using GAP, or should I refer to textbooks and/or prove

few facts myself to get the information I need?

Regards,

Pawel Laskos-Grabowski

Joe Bohanon schrieb:

> I would point out that StructureDescription might not always return a

> group the way you'd like it. The manual explains a little more about

> how it picks a particular form for the structure.

>

> That function also does not do anything with central products. Hence if

> I type:

> StructureDescription(SmallGroup(32,50)) I get:

> "(C2 x Q8) : C2" when it's also a central product of Q8 with D8. It

> returns some pretty awkward answers for other larger central products.

>

> It also will usually not let you know how the split or non-split

> extensions work, so you might get two non-isomorphic groups that return

> the same "StructureDescription".

>

> Also be forewarned that many times GAP will just compute the whole

> subgroup lattice to find a structure, so any group that would take a

> long time with LatticeByCyclicExtension or ConjugacyClassesSubgroups is

> likely to take a long time for StructureDescription. This would

> include, for instance, 2-groups of rank more than 5, groups with large

> permutation representations or large matrix representations and also

> finitely-presented groups. It does have a separate routine for any

> simple group that spits out the answer due to the classification in

> almost no time, however, while it could easily tell me a group is

> isomorphic to, say U4(3), it would take much longer (and probably use up

> all of your RAM) to say a group is isomorphic to U4(3):D8.

>

> On Thu, Dec 11, 2008 at 6:37 AM, Heiko Dietrich <h.dietrich@tu-bs.de

> <mailto:h.dietrich@tu-bs.de>> wrote:

>

> Dear Pawe?,

>

> you can use the command "StructureDescription":

>

> gap> for i in AllSmallGroups(1625) do

> Display(StructureDescription(i)); od;

> C1625

> C325 x C5

> C13 x ((C5 x C5) : C5)

> C13 x (C25 : C5)

> C65 x C5 x C5

>

> The output is explained in the manual:

>

> http://www.gap-system.org/Manuals/doc/htm/ref/CHAP037.htm#SECT006

>

> Best,

> Heiko

>

>

>

> On Tuesday 09 December 2008 20:56, Pawe? Lasko?-Grabowski wrote:

> > Hello,

> >

> > I have noticed that GAP Small Groups library provides useful

> information

> > on the structure of groups belonging to the layer 1 of the

> library, but

> > does not do so for (some) bit more complicated groups. I am rather

> > dissatisfied by the output

> >

> > gap> SmallGroupsInformation(1625);

> >

> > There are 5 groups of order 1625.

> > They are sorted by normal Sylow subgroups.

> > 1 - 5 are the nilpotent groups.

> >

> > How can I obtain such a pleasant info like the following?

> >

> > gap> SmallGroupsInformation(125);

> >

> > There are 5 groups of order 125.

> > 1 is of type c125.

> > 2 is of type 5x25.

> > 3 is of type 5^2:5.

> > 4 is of type 25:5.

> > 5 is of type 5^3.

> >

> > And, by the way, what does the colon stand for in the 125,3 and 125,4

> > type descriptions? I failed to find the explanation in the help

> pages.

> >

> > Regards,

> > Pawe? Lasko?-Grabowski

> >

> > _______________________________________________

> > Forum mailing list

> > Forum@mail.gap-system.org <mailto:Forum@mail.gap-system.org>

> > http://mail.gap-system.org/mailman/listinfo/forum

>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org <mailto:Forum@mail.gap-system.org>

> http://mail.gap-system.org/mailman/listinfo/forum

>

>

From jjm at mcs.st-andrews.ac.uk Fri Dec 19 12:23:51 2008

From: jjm at mcs.st-andrews.ac.uk (John McDermott)

Date: Fri Dec 19 12:24:16 2008

Subject: [GAP Forum] New update of GAP released

Message-ID: <5E992698-AA16-411A-B8F3-628F34EE697B@mcs.st-andrews.ac.uk>

Dear GAP Forum,

Following the recent announcement of GAP 4.4.11, we announce the

release of

GAP 4 release 4 update 12 (GAP 4.4.12 for short), which is available

now from

the GAP Web pages and FTP site. We have made this release quickly

after the

previous release due to the discovery of a bug introduced in GAP

4.4.11 which

could cause GAP to crash whenever a GAP function was executed while

certain

loops or functions were parsed, for example via the hooks used for

prompt

colouring.

This update also fixes a bug which made command-line editing unusable

on 64

bit Mac platforms.

See http://www.gap-system.org/Download/Updates/gap4r4p12.html.

Please note that we have not been able to provide with this release a

binary

for versions of the Apple Mac operating system prior to Mac OS X. If

you need

to run GAP on such a platform please contact us by email to

support@gap-system.org.

John McDermott,

for the GAP Group.

--

John McDermott

Centre for Interdisciplinary Research in Computational Algebra

University of St Andrews

SCOTLAND

The University of St Andrews is a charity registered in Scotland : No

SC01353

From nagyg at math.u-szeged.hu Sat Dec 20 15:01:37 2008

From: nagyg at math.u-szeged.hu (=?ISO-8859-2?Q?Nagy_G=E1bor?=)

Date: Sat Dec 20 15:01:22 2008

Subject: [GAP Forum] Linear representation of G2(q), q even

Message-ID: <494D08D1.9090607@math.u-szeged.hu>

Dear Forum,

It is "well known" that for even prime power q, the exceptional Lie

group G2(q) has two linear representations of dimension 6, both are

transitive on the set of non-zero vectors.

Can you suggest me some literature about this construction?

I am escpecially interested in the question if the induced transitive

representations on the 5-dimensional projective spaces PG(5,q) are

primitive?

Thank you very much for your help.

Bye,

Gabor

From frank.luebeck at math.rwth-aachen.de Mon Dec 22 12:53:42 2008

From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=)

Date: Mon Dec 22 12:54:11 2008

Subject: [GAP Forum] Linear representation of G2(q), q even

In-Reply-To: <494D08D1.9090607@math.u-szeged.hu>

References: <494D08D1.9090607@math.u-szeged.hu>

Message-ID: <20081222125342.GA19155@beteigeuze>

On Sat, Dec 20, 2008 at 04:01:37PM +0100, Nagy G?bor wrote:

> It is "well known" that for even prime power q, the exceptional Lie group

> G2(q) has two linear representations of dimension 6, both are transitive on

> the set of non-zero vectors.

>

> Can you suggest me some literature about this construction?

>

> I am escpecially interested in the question if the induced transitive

> representations on the 5-dimensional projective spaces PG(5,q) are

> primitive?

Dear Gabor, dear Forum,

I don't have a reference, but maybe the following is of some help.

G2(q), q=2^f, has f irreducible representations in characteristic 2,

one of the fundamental representations and its Frobenius twists

(i.e., combinations with the field automorphism of GF(q)/GF(2)).

I print below "generic" generators of G2(2^f), substitute the variable T

by Z(2^f) to get generators for some specific f.

With this you can check for q = 2, 4, 8 in GAP that the action on non-zero

vectors is transitive and the action on PG(5, q) is primitive. I'm not sure

if one could somehow use these generators also to prove these properties in

general.

Best regards,

Frank

And here are the matrices, these are generators of root subgroups:

G2char2gens :=

[ [ [ 1, T, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ], [ 0, 0, 1, T^2, 0, 0 ],

[ 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 1, T ], [ 0, 0, 0, 0, 0, 1 ] ],

[ [ 1, 0, 0, 0, 0, 0 ], [ 0, 1, -T, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ],

[ 0, 0, 0, 1, T, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 1 ] ],

[ [ 1, 0, 0, 0, 0, 0 ], [ T, 1, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ],

[ 0, 0, T^2, 1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, T, 1 ] ],

[ [ 1, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ], [ 0, -T, 1, 0, 0, 0 ],

[ 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, T, 1, 0 ], [ 0, 0, 0, 0, 0, 1 ] ] ];

--

/// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, ///

\\\ 52062 Aachen, Germany \\\

/// E-mail: Frank.Luebeck@Math.RWTH-Aachen.De ///

\\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\

From juergen.mueller at math.rwth-aachen.de Mon Dec 22 18:31:25 2008

From: juergen.mueller at math.rwth-aachen.de (Juergen Mueller)

Date: Mon Dec 22 18:31:48 2008

Subject: [GAP Forum] Linear representation of G2(q), q even

In-Reply-To: <20081222125342.GA19155@beteigeuze>

References: <494D08D1.9090607@math.u-szeged.hu>

<20081222125342.GA19155@beteigeuze>

Message-ID: <20081222183125.GB8275@unuk>

Dear GAP-Forum, dear Gabor,

here, in addition to Frank's comment, is an idea how to show that G_2(q)

acts transitively and primitively on PG(5,q) whenever q is even:

It is known that in any characteristic the Lie type graphs associated

to the maximal parabolic subgroups of G_2(q) are isomorphic and primitive

distance-transitive; see e.g. the book by Brouwer-Cohen-Neumaier.

In particular, the maximal parabolic subgroups of G_2(q) are maximal

subgroups of index (q^6-1)/(q-1).

Hence it remains to show that, in characteristic 2, one of the maximal

parabolic subgroups fixes a one-dimensional subspace of the fundamental

representation of degree 6; this should be fairly easy using the given

matrices, as the generators are probably sufficiently generic to derive

generators of the maximal parabolic subgroups therefrom.

Best wishes, J?rgen M?ller

On Mon, Dec 22, 2008 at 01:53:42PM +0100, Frank L?beck wrote:

> On Sat, Dec 20, 2008 at 04:01:37PM +0100, Nagy G?bor wrote:

> > It is "well known" that for even prime power q, the exceptional Lie group

> > G2(q) has two linear representations of dimension 6, both are transitive on

> > the set of non-zero vectors.

> >

> > Can you suggest me some literature about this construction?

> >

> > I am escpecially interested in the question if the induced transitive

> > representations on the 5-dimensional projective spaces PG(5,q) are

> > primitive?

>

> Dear Gabor, dear Forum,

>

> I don't have a reference, but maybe the following is of some help.

>

> G2(q), q=2^f, has f irreducible representations in characteristic 2,

> one of the fundamental representations and its Frobenius twists

> (i.e., combinations with the field automorphism of GF(q)/GF(2)).

>

> I print below "generic" generators of G2(2^f), substitute the variable T

> by Z(2^f) to get generators for some specific f.

>

> With this you can check for q = 2, 4, 8 in GAP that the action on non-zero

> vectors is transitive and the action on PG(5, q) is primitive. I'm not sure

> if one could somehow use these generators also to prove these properties in

> general.

>

> Best regards,

>

> Frank

>

> And here are the matrices, these are generators of root subgroups:

>

> G2char2gens :=

> [ [ [ 1, T, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ], [ 0, 0, 1, T^2, 0, 0 ],

> [ 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 1, T ], [ 0, 0, 0, 0, 0, 1 ] ],

> [ [ 1, 0, 0, 0, 0, 0 ], [ 0, 1, -T, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ],

> [ 0, 0, 0, 1, T, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 1 ] ],

> [ [ 1, 0, 0, 0, 0, 0 ], [ T, 1, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ],

> [ 0, 0, T^2, 1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, T, 1 ] ],

> [ [ 1, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ], [ 0, -T, 1, 0, 0, 0 ],

> [ 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, T, 1, 0 ], [ 0, 0, 0, 0, 0, 1 ] ] ];

>

> --

> /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, ///

> \\\ 52062 Aachen, Germany \\\

> /// E-mail: Frank.Luebeck@Math.RWTH-Aachen.De ///

> \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

From thomas.breuer at math.rwth-aachen.de Tue Dec 23 15:30:52 2008

From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer)

Date: Tue Dec 23 15:31:06 2008

Subject: [GAP Forum] 0*Z(5) in Group(Z(5));

In-Reply-To: <6a52effd0812140219q1a0fdfdcq4025d7fa17be626c@mail.gmail.com>

References: <6a52effd0812140219q1a0fdfdcq4025d7fa17be626c@mail.gmail.com>

Message-ID: <20081223153052.GC7996@gemma.math.rwth-aachen.de>

Dear GAP Forum,

Anvita <anvita21@gmail.com> wrote

> Why can't GAP check whether Zero of a finite field is in its multiplicative

> group?

>

> --------------------------------------------------------------------------

> gap> z:=Z(5);

> Z(5)

> gap> 0*z in Group(z);

> LogFFE: <z> must be a nonzero finite field element at

> return elm in F and LogFFE( elm, PrimitiveRoot( F ) ) mod ((Size( F ) - 1) /

> Size( G ))

> = 0;

> called from

> <function>( <arguments> ) called from read-eval-loop

> Entering break read-eval-print loop ...

> you can 'quit;' to quit to outer loop, or

> you can replace <z> via 'return <z>;' to continue

> ----------------------------------------------------------------------------

Thanks for this report.

This is indeed a shortcoming of the current GAP version,

and unfortunately we did not fix this in the recent upgrade to GAP 4.4.12.

By reading the GAP code appended below into GAP,

you can get rid of this particular problem.

Note, however, that you might still run into errors of the same kind,

for example in situations where a membership test for a group

is internally delegated to a membership test for another group,

via a homomorphism, and where this homomorphism cannot compute

an image for the given element.

(One such situation is the check whether a zero matrix is contained

in a matrix group.)

We will fix also these problems in the next version of GAP.

All the best,

Thomas

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

InstallMethod( \in,

"for groups of FFE",

IsElmsColls,

[ IsFFE, IsGroup and IsFFECollection ],

function( elm, G )

local F;

F:= Field( Concatenation( GeneratorsOfGroup( G ), [ One( G ) ] ) );

return elm in F and not IsZero( elm )

and LogFFE( elm, PrimitiveRoot( F ) ) mod

( ( Size( F ) - 1 ) / Size( G ) ) = 0;

end );

From vale02002 at yahoo.com Tue Dec 23 19:00:53 2008

From: vale02002 at yahoo.com (hossein akhlaghi)

Date: Tue Dec 23 19:01:07 2008

Subject: [GAP Forum] (no subject)

Message-ID: <21298.37374.qm@web31301.mail.mud.yahoo.com>

I want to know how i can get the Brauer Table of PSL(4,4) modulo 7.

I try to obtain it by GAP, but it return this message " #I??? computing class matrix for class of size >10^-6".

Thanks for your help.??

From dima at ntu.edu.sg Wed Dec 24 03:24:14 2008

From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik)

Date: Wed Dec 24 03:24:28 2008

Subject: [GAP Forum] (no subject)

In-Reply-To: <21298.37374.qm@web31301.mail.mud.yahoo.com>

References: <21298.37374.qm@web31301.mail.mud.yahoo.com>

Message-ID: <668720bc0812231924i3cf1e9ddxbe380a2902a0b9dd@mail.gmail.com>

Dear all,

this message just means that GAP is doing a (long) computation...

(In general, the messages beginning with #I are "informational".)

So perhaps you just have to wait long enough - as you didn't get the

GAP prompt back, right?

HTH,

Dmitrii

2008/12/24 hossein akhlaghi <vale02002@yahoo.com>:

> I want to know how i can get the Brauer Table of PSL(4,4) modulo 7.

> I try to obtain it by GAP, but it return this message " #I computing class matrix for class of size >10^-6".

> Thanks for your help.

>

>

>

> _______________________________________________

> Forum mailing list

> Forum@mail.gap-system.org

> http://mail.gap-system.org/mailman/listinfo/forum

>

From justin at mac.com Thu Dec 25 01:09:35 2008

From: justin at mac.com (Justin C. Walker)

Date: Thu Dec 25 01:10:30 2008

Subject: [GAP Forum] New update of GAP released

In-Reply-To: <5E992698-AA16-411A-B8F3-628F34EE697B@mcs.st-andrews.ac.uk>

References: <5E992698-AA16-411A-B8F3-628F34EE697B@mcs.st-andrews.ac.uk>

Message-ID: <1498089F-F2F6-43AD-BC4D-D695E9EDBB79@mac.com>

Dear Forum,

On Dec 19, 2008, at 04:23 , John McDermott wrote:

> Following the recent announcement of GAP 4.4.11, we announce the

> release of

> GAP 4 release 4 update 12 (GAP 4.4.12 for short), which is available

> now from

> the GAP Web pages and FTP site. We have made this release quickly

> after the

> previous release due to the discovery of a bug introduced in GAP

> 4.4.11 which

> could cause GAP to crash whenever a GAP function was executed while

> certain

> loops or functions were parsed, for example via the hooks used for

> prompt

> colouring.

I upgraded from p11 to p12, and then applied the recommended tests:

gap> ReadTest(Filename(DirectoriesLibrary("tst"), "bugfix.tst"));

I got one "error":

+ Record Element: <rec> must be a record (not a boolean)

which comes from this line in "bugfix.tst":

# 2008/04/03 (JS)

gap> if LoadPackage( "atlasrep" ) <> fail then

> g:= Group( AtlasGenerators( "HS", 1, 4 ).generators ); <----

> ConjugacyClassesMaximalSubgroups( g );

> fi;

The problem is that

AtlasGenerators( "HS", 1, 4 )

fails (returns 'fail').

FWIW, here's what GAP prints on startup (I have a workspace set up):

GAP4, Version: 4.4.12 of 17-Dec-2008, i686-apple-darwin9.5.0-gcc

Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0,

small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10

0.2,

id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0,

id10 0.1,

trans 1.0, prim 2.1 loaded.

Packages: ACE 5.0, Alnuth 2.2.5, Polycyclic 2.4, nq 2.2, GAPDoc 1.2,

AClib 1.1, CrystCat 1.1.3, Cryst 4.1.6, AtlasRep 1.4.0,

CTblLib 1.1.3, TomLib 1.1.4, Automata 1.12, AutomGrp

1.1.4.1,

FGA 1.1.0.1, AutPGrp 1.2, CRISP 1.3.2, FactInt 1.5.2,

IRREDSOL 1.1.2, LAGUNA 3.4, Sophus 1.23, Polenta 1.2.7,

ResClasses 2.5.3 loaded.

Regards,

Justin

--

Justin C. Walker, Curmudgeon at Large

Institute for the Absorption of Federal Funds

-----------

My wife 'n kids 'n dogs are gone,

I can't get Jesus on the phone,

But Ol' Milwaukee's Best is my best friend.

-----------

From frank.luebeck at math.rwth-aachen.de Sun Dec 28 16:07:36 2008

From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=)

Date: Sun Dec 28 16:07:59 2008

Subject: [GAP Forum] (no subject)

In-Reply-To: <21298.37374.qm@web31301.mail.mud.yahoo.com>

References: <21298.37374.qm@web31301.mail.mud.yahoo.com>

Message-ID: <20081228160736.GA6576@beteigeuze>

On Tue, Dec 23, 2008 at 11:00:53AM -0800, hossein akhlaghi wrote:

> I want to know how i can get the Brauer Table of PSL(4,4) modulo 7.

> I try to obtain it by GAP, but it return this message " #I??? computing class matrix for class of size >10^-6".

This message just indicates that the computation of the (complex) character

table of PSL(4,4) is quite hard: It takes 6 or more hours, depending on your

computer.

I think you cannot compute the 7-modular table with a simple GAP command.

Nevertheless, the complex character table and the 7-modular table are

available in GAP's character table library, e.g., try the following

commands:

LoadPackage("ctbllib");

tab := CharacterTable("L4(4)");

tabmod7 := tab mod 7;

Display(tab);

Display(tabmod7);

LoadPackage("Browse");

Browse(tab);

Browse(tabmod7);

Hope this helps,

Frank Luebeck

--

/// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, ///

\\\ 52062 Aachen, Germany \\\

/// E-mail: Frank.Luebeck@Math.RWTH-Aachen.De ///

\\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\

From frank.luebeck at math.rwth-aachen.de Sun Dec 28 16:22:36 2008

From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=)

Date: Sun Dec 28 16:22:54 2008

Subject: [GAP Forum] New update of GAP released

In-Reply-To: <1498089F-F2F6-43AD-BC4D-D695E9EDBB79@mac.com>

References: <5E992698-AA16-411A-B8F3-628F34EE697B@mcs.st-andrews.ac.uk>

<1498089F-F2F6-43AD-BC4D-D695E9EDBB79@mac.com>

Message-ID: <20081228162236.GB6576@beteigeuze>

On Wed, Dec 24, 2008 at 05:09:35PM -0800, Justin C. Walker wrote:

> Dear Forum,

[...]

> I upgraded from p11 to p12, and then applied the recommended tests:

> gap> ReadTest(Filename(DirectoriesLibrary("tst"), "bugfix.tst"));

>

> I got one "error":

> + Record Element: <rec> must be a record (not a boolean)

>

> which comes from this line in "bugfix.tst":

>

> # 2008/04/03 (JS)

> gap> if LoadPackage( "atlasrep" ) <> fail then

> > g:= Group( AtlasGenerators( "HS", 1, 4 ).generators ); <----

> > ConjugacyClassesMaximalSubgroups( g );

> > fi;

>

> The problem is that

> AtlasGenerators( "HS", 1, 4 )

> fails (returns 'fail').

Dear Justin, dear Forum,

This is probably harmless. When the command 'AtlasGenerators( "HS", 1, 4 );'

is called for the first time, it tries to download the corresponding group

generators from a server in London. (When successful, the result is cached

in local files, and you don't need the online access if you use the same

command again.)

I guess that when you made the test as described, your computer was not

online, or the access to the server in London didn't work at that moment.

Best regards,

Frank

--

/// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, ///

\\\ 52062 Aachen, Germany \\\

/// E-mail: Frank.Luebeck@Math.RWTH-Aachen.De ///

\\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\

From justin at mac.com Sun Dec 28 17:36:17 2008

From: justin at mac.com (Justin Walker)

Date: Sun Dec 28 17:37:10 2008

Subject: [GAP Forum] New update of GAP released

In-Reply-To: <20081228162236.GB6576@beteigeuze>

References: <5E992698-AA16-411A-B8F3-628F34EE697B@mcs.st-andrews.ac.uk>

<1498089F-F2F6-43AD-BC4D-D695E9EDBB79@mac.com>

<20081228162236.GB6576@beteigeuze>

Message-ID: <5C3572B3-A7C8-465C-810B-47E444AF4FDC@mac.com>

Dear Frank and Forum,

On Dec 28, 2008, at 11:22 AM, Frank L?beck wrote:

> On Wed, Dec 24, 2008 at 05:09:35PM -0800, Justin C. Walker wrote:

>> Dear Forum,

> [...]

>> I upgraded from p11 to p12, and then applied the recommended tests:

>> gap> ReadTest(Filename(DirectoriesLibrary("tst"), "bugfix.tst"));

[snip]

>> The problem is that

>> AtlasGenerators( "HS", 1, 4 )

>> fails (returns 'fail').

> This is probably harmless. When the command 'AtlasGenerators( "HS",

> 1, 4 );'

> is called for the first time, it tries to download the corresponding

> group

> generators from a server in London. (When successful, the result is

> cached

> in local files, and you don't need the online access if you use the

> same

> command again.)

>

> I guess that when you made the test as described, your computer was

> not

> online, or the access to the server in London didn't work at that

> moment.

Thanks for your reply and explanation.

This does not seem to be the problem, though. I got the failure above

on my home system, which is always connected to the internet, and the

failures were repeatable.

Just now, from my laptop (I'm away from home), I upgraded to p12 (from

p10), and ran the test. I got no failure. I then logged into my home

system, and ran the test again, several times. Each time I got this

failure. I then ran the test on both systems at the "same" time. I

got the <rec> error on my home system, but not on my laptop.

Thanks for any suggestions.

Justin

--

Justin C. Walker, Curmudgeon-At-Large

Director

Institute for the Enhancement of the Director's Income

--------

"Weaseling out of things is what separates us from the animals.

Well, except the weasel."

- Homer J Simpson

--------

From math136464 at yahoo.com Sun Dec 28 19:58:08 2008

From: math136464 at yahoo.com (Maryam Khatami)

Date: Sun Dec 28 19:58:23 2008

Subject: [GAP Forum] question

Message-ID: <333330.73813.qm@web111204.mail.gq1.yahoo.com>

if (typeof YAHOO == "undefined") {

var YAHOO = {};

}

YAHOO.Shortcuts = YAHOO.Shortcuts || {};

YAHOO.Shortcuts.hasSensitiveText = false;

YAHOO.Shortcuts.sensitivityType = [];

YAHOO.Shortcuts.doUlt = false;

YAHOO.Shortcuts.location = "us";

YAHOO.Shortcuts.document_id = 0;

YAHOO.Shortcuts.document_type = "";

YAHOO.Shortcuts.document_title = "question";

YAHOO.Shortcuts.document_publish_date = "";

YAHOO.Shortcuts.document_author = "math136464@yahoo.com";

YAHOO.Shortcuts.document_url = "";

YAHOO.Shortcuts.document_tags = "";

YAHOO.Shortcuts.document_language = "english";

YAHOO.Shortcuts.annotationSet = {

};

YAHOO.Shortcuts.headerID = "c2c05863049e34a3b927d8cb775999ff";

when I want to compute the brauer character of PSL(4,4)? modulo 7 for conjugacy classes of order 5 by GAP, I see this message:

"# computing class matrix for class of size >10^6."

?what should I do?

?

Thanks a lot

From lenny at math.uga.edu Mon Dec 29 19:25:48 2008

From: lenny at math.uga.edu (lenny)

Date: Mon Dec 29 19:25:55 2008

Subject: [GAP Forum] conjugacy class arrangement

Message-ID: <4959243C.2000901@math.uga.edu>

Dear forum,

In computing conjugacy classes for a group, I believe that I got

different arrangements

of the classes for the same group, on the same computer, running the

same version of gap at different times.

I was using the default method for computing conjugacy classes.

The manual says that the arrangement of classes depends on the method

chosen.

Is it possible that I could get different arrangements with the default

method?

What would be the best way to ensure a consistent arrangement?

Thanks,

Lenny Chastkofsky

From ahulpke at gmail.com Mon Dec 29 20:38:03 2008

From: ahulpke at gmail.com (Alexander Hulpke)

Date: Mon Dec 29 20:38:19 2008

Subject: [GAP Forum] conjugacy class arrangement

In-Reply-To: <4959243C.2000901@math.uga.edu>

References: <4959243C.2000901@math.uga.edu>

Message-ID: <D4DCDD7B-8E53-43B3-BB88-58B987D781D0@gmail.com>

Dear Forum, Dear Lenny Chaskofsky,

> In computing conjugacy classes for a group, I believe that I got

> different arrangements

> of the classes for the same group, on the same computer, running the

> same version of gap at different times.

> I was using the default method for computing conjugacy classes.

> The manual says that the arrangement of classes depends on the

> method chosen.

> Is it possible that I could get different arrangements with the

> default method?

Some of the methods for computing conjugacy classes(implicitly) use

random numbers. Unless the sequence of commands used since the start

of GAP is exactly the same, this can cause classes to be obtained in a

different arrangement.

>

> What would be the best way to ensure a consistent arrangement?

When computing from scratch, I fear one cannot do anything. (One would

have to determine a ``canonical'' ordering of classes, but some

classes are extremely hard to distinguish. (E.g. once you start

looking at modular character tables).

If you need consistency amongst different calculations, your best bet

is probably to once compute the classes, and then use this arrangement

of classes. You can do this by defining the group, computing the

conjugacy classes and then either

- Save a workspace, and have all your other calculations start with

loading this workspace.

or (for example if you cannot load the workspace because you already

stared another calculation

- Save information about the classes in a file and then (instead of

computing the classes from scratch) create the classes from this

stored information. Typically, representative and centralizer

generators are sufficient information, to recreate classes very quickly.

The following commands do for example such a save/load sequence:

Saving classes of group G:

save:=List(ConjugacyClasses(G),i->[Representative(i),

GeneratorsOfGroup(StabilizerOfExternalSet(i))]);;

PrintTo("savefile","save:=",save,";\n");

Loading classes and storing them in G (assuming we did not yet compute

classes for G!):

Read("savefile");

cl:=[];

for i in save do

c:=ConjugacyClass(G,i[1]);

SetStabilizerOfExternalSet(c,SubgroupNC(G,i[2]));

Add(cl,c);

od;

SetConjugacyClasses(G,cl);

At this point (the new) G now has the same classes as before.

I hope this helps. Best wishes and a good 2009,

Alexander Hulpke

From A.C.Aitchison at dpmms.cam.ac.uk Tue Dec 30 07:07:08 2008

From: A.C.Aitchison at dpmms.cam.ac.uk (Dr Andrew C Aitchison)

Date: Tue Dec 30 07:07:27 2008

Subject: [GAP Forum] New update of GAP released

In-Reply-To: <1498089F-F2F6-43AD-BC4D-D695E9EDBB79@mac.com>

References: <5E992698-AA16-411A-B8F3-628F34EE697B@mcs.st-andrews.ac.uk>

<1498089F-F2F6-43AD-BC4D-D695E9EDBB79@mac.com>

Message-ID: <Pine.LNX.4.64.0812300705110.6599@brambling.dpmms.cam.ac.uk>

On Wed, 24 Dec 2008, Justin C. Walker wrote:

> Dear Forum,

>

> On Dec 19, 2008, at 04:23 , John McDermott wrote:

>

>> Following the recent announcement of GAP 4.4.11, we announce the release of

>> GAP 4 release 4 update 12 (GAP 4.4.12 for short), which is available now

>> from

>> the GAP Web pages and FTP site. We have made this release quickly after the

>> previous release due to the discovery of a bug introduced in GAP 4.4.11

>> which

>> could cause GAP to crash whenever a GAP function was executed while certain

>> loops or functions were parsed, for example via the hooks used for prompt

>> colouring.

>

> I upgraded from p11 to p12, and then applied the recommended tests:

> gap> ReadTest(Filename(DirectoriesLibrary("tst"), "bugfix.tst"));

>

> I got one "error":

> + Record Element: <rec> must be a record (not a boolean)

There is a line before that message iun my error:

/usr/gap4r4/pkg/atlasrep/datagens/HSG1-p100B0.m1: Permission denied

+ Record Element: <rec> must be a record (not a boolean)

Running the test once as a user with write permission on the

/usr/gap4r4/pkg/atlasrep/datagens/ directory

the problem goes away for all users.

Is this your problem too ?

--

Dr. Andrew C. Aitchison Computer Officer, DPMMS, Cambridge

A.C.Aitchison@dpmms.cam.ac.uk http://www.dpmms.cam.ac.uk/~werdna

From justin at mac.com Tue Dec 30 14:11:58 2008

From: justin at mac.com (Justin Walker)

Date: Tue Dec 30 14:13:29 2008

Subject: [GAP Forum] New update of GAP released

In-Reply-To: <Pine.LNX.4.64.0812300705110.6599@brambling.dpmms.cam.ac.uk>

References: <5E992698-AA16-411A-B8F3-628F34EE697B@mcs.st-andrews.ac.uk>

<1498089F-F2F6-43AD-BC4D-D695E9EDBB79@mac.com>

<Pine.LNX.4.64.0812300705110.6599@brambling.dpmms.cam.ac.uk>

Message-ID: <AE46EADA-93C9-49B8-AA1C-06CEB667CA3E@mac.com>

Dear Andrew and Forum,

On Dec 30, 2008, at 2:07 AM, Dr Andrew C Aitchison wrote:

> On Wed, 24 Dec 2008, Justin C. Walker wrote:

>

>> Dear Forum,

>>

>> On Dec 19, 2008, at 04:23 , John McDermott wrote:

>>

>>> Following the recent announcement of GAP 4.4.11, we announce the

>>> release of

>>> GAP 4 release 4 update 12 (GAP 4.4.12 for short), which is

>>> available now from

>>> the GAP Web pages and FTP site. We have made this release quickly

>>> after the

>>> previous release due to the discovery of a bug introduced in GAP

>>> 4.4.11 which

>>> could cause GAP to crash whenever a GAP function was executed

>>> while certain

>>> loops or functions were parsed, for example via the hooks used for

>>> prompt

>>> colouring.

>>

>> I upgraded from p11 to p12, and then applied the recommended tests:

>> gap> ReadTest(Filename(DirectoriesLibrary("tst"), "bugfix.tst"));

>>

>> I got one "error":

>> + Record Element: <rec> must be a record (not a boolean)

>

> There is a line before that message iun my error:

> /usr/gap4r4/pkg/atlasrep/datagens/HSG1-p100B0.m1: Permission denied

> + Record Element: <rec> must be a record (not a boolean)

No; this does not occur in my system. Both systems are "personal"; I

am the only user, and permission problems do not seem to be involved.

Thanks for your comments.

Justin

--

Justin C. Walker, Curmudgeon-At-Large

Institute for the Enhancement of the Director's Income

--------

When LuteFisk is outlawed,

Only outlaws will have LuteFisk

--------

- ~The Marquee~
- Administrative Manual for Implementation of the Post Construction Storm Water Ordinance
- Presentation title: Frutiger 55 Roman, 14 pt.,, two lines maximum with 1.04 Line Spacing (17 points)
- The Science of Everyday Negotiations
- The Architecture and Evolution of CPU-GPU Systems for General Purpose Computing Manish Arora Computer Science and Engineering University of
- 1 How To: Outlining a Research Paper Note for students: This document was prepared by Dr Amy Stuart for a class in which she req
- Lab Assignment 3 (Skeleton Draft)
- Korogard® R400-Series Recess Mounted Corner Guards
- THE HONOURS PROGRAM
- EERA Proposal form
- WRITING THE GRIEVANCE ARBITRATION BRIEF
- News Coverage of the Enlargement of the European Union and Public Opinion:
- JUDICIOUS DISCIPLINE
- HONG KONG BAPTIST UNIVERSITY
- Teachers�� Code of Ethics and Practice
- KEMIKAALIN YMPÄRISTÖRISKIN ARVIOINTI
- aasmus - dychawica oskrzelowa, astma
- 10 - Cyberspace Law materials - Copyright
- Customer Service Avenues for VAWA, T and U Related Filings:
- A PROGRAMMER'S GUIDE TO THE MACH USER ENVIRONMENT Linda R. Walmer Mary R. Thompson
- Louis Database of Accessible Materials for People Who Are Blind or

- Army
- ideological and political work
- modernization
- Teaching Assistance Network System
- WWW
- ASP
- Organ transplantation
- The patients
- The offers
- Ethical basis
- Personality identification
- performance measurement
- Telecom carrier
- the Balance Scorecard
- IT Scorecard
- Porous media
- Permittivity
- Porosity
- Fractal
- Lens design
- Local features

All Rights Reserved Powered by Free Document Search and Download

Copyright © 2011This site does not host pdf,doc,ppt,xls,rtf,txt files all document are the property of their respective owners. complaint#nuokui.com