Martin Baker wrote:
>
> On 01/23/2017 04:58 PM, Waldek Hebisch wrote:
> > Note: I used wordInStrongGenerators as a helper
>
> I find it hard to understand the functions in PermutationGroup. Partly
> because I cant find any documentation (I searched the usual places but
> its easy to miss things) and its hard to follow the code because Rep is
> so complicated.
>
> For example, how does wordInGenerators work?
It first writes word in terms of strong generators and then
rewrites strong generators in terms of generators.
> I sort of expected that the
> generators would be represented by a single element in the word. So I
> expected that the following would give [[1],[2]]:
>
> dg3 := dihedralGroup(3)
>
> (1) <(1 2 3),(1 3)>
> Type: PermutationGroup(Integer)
> g := generators(dg3)
>
> (2) [(1 2 3),(1 3)]
> Type: List(Permutation(Integer))
> [wordInGenerators(x,dg3) for x in g]
>
> (3) [[1,2,2],[2]]
> Type: List(List(NonNegativeInteger))
>
> I realise this is the same as [[1],[2]] because 2 is self inverse but it
> would be good if it could do some simplification.
I would have to check if there are some simplifications. But
basically, there is no efficient algorithm to directly work
with original generators, so all is done in terms of strong
generators and (if requested) rewritten later.
> wordsForStrongGenerators is different from wordInGenerators in that it
> does not seem to use indexes.
>
It uses indexes. Note that 'wordsForStrongGenerators' and
'wordInStrongGenerators' are different functions.
--
Waldek Hebisch
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.