> < ^ Date: Mon, 15 Mar 1993 23:53:23 +0100
> < ^ From: Martin Schoenert <martin.schoenert@math.rwth-aachen.de >
< ^ Subject: Re: bug in TransformingPermutations?

David Sibley writes in his e-mail message of 1993/03/15
This is with 3.2 running on a Sun Sparcstation 1+ with the distributed
binary obtained from wuarchive.wustl.edu. Looks like it is asking for
the length of a non-existant list. Other than that, I have no idea
what the trouble is.

I'd appreciate a workaround.

gap> g:=ThreeGroup(243,4);;
gap> h:=ThreeGroup(243,5);;
gap> gt:=CharTablePGroup(g);;
gap> ht:=CharTablePGroup(h);;
gap> x:=TransformingPermutationsCharTables(gt,ht);
Error, List Element: <list>[6] must have a value at
return Length( fam1.permutations[x] )
<> Length( fam1.permutations[bij_rows[x]] ) ... in
func( l ) called from
ForAny( [ 1 .. Length( bij_rows ) ], function ( x ) ... end ) called from
TransformingPermutations( tbl1.irreducibles, tbl2.irreducibles ) called from
TransformingPermutationsCharTables( gt, ht ) called from

This function was written by Tomas Breuer and I don't pretend to fully
understand it, so take my comments with a grain of salt.

It seems that this problem can only happen if there is no transforming
permutation. I hope this is enough of a workaround.

More background. 'TransformingPermutations' first groups the characters
of each table in families. Two characters are in a family if they are
equal when sorted (e.g., '[1,-1,1,-1]' is in the same family as
'[1,1,-1,-1]', but not in the same family as '[1,-1,-1,-1]'). A
necessary condition for the existence of a transforming permutation is a
bijection between the list of families, i.e., every family of 'gt' must
also be a family of 'ht' (this is tested twice), and every family of 'ht'
must also be a family of 'gt' (this is *not* tested). The test that
fails is the test that the corresponding families of 'gt' and 'ht' also
have the same number of characters in them.

David writes in another e-mail message of 1993/03/15

It looks like the problem may actually be with ForAny. From what I can
see in the documentation, the following should work (returning false)
but does not. It's not clear that this is the same bug. The error
message is different.

gap> a:=[1,2];
[ 1, 2 ]
gap> ForAny([a,a,,,a,a],x->Length[x]>2);
Error, List Element: <position> must be a positive integer at

And in yet another e-mail message

Arrgh. Ignore that about ForAny. Soon I hope to learn the difference
between parentheses and square brackets.

Have you been using Mathematica lately? ;-)


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

> < [top]