Hi Kurt,

> Your "GroupPresentation" actually isn't a group, so I wonder whether it wouldn't > be favourable to implement a domain, e.g. "FinitelyPresentedGroup" which could > be reused elsewhere. If you take on the burden to augment some group theory to
> Fricas anyway, you might consider doing it along the lines of GAP:
> http://www.gap-system.org/Manuals/doc/ref/chap47.html
>
> (1) -> GroupPresentation has Group
>
>    (1)  false

Well in Fricas terms PermutationGroup isnt a group either:

(1) -> PermutationGroup(Integer) has Group

   (1)  false
                                                Type: Boolean

Hopefully they are all equivalent for *finite* groups, that is, the round trip:
PermutationGroup -> GroupPresentation -> PermutationGroup
and
GroupPresentation -> PermutationGroup -> GroupPresentation
may not get back to exactly the same place but it gets back to somewhere isomorphic to where it started.

The problem seems to be simplifying the relations, the simplest case may not be computable?

I have added a coercion from PermutationGroup to GroupPresentation to permgrps.spad here:
https://github.com/martinbaker/fricasAlgTop/blob/master/permgrps.spad
(relies on above patch)

This was not hard and it works fine:

permgp := dihedralGroup(3)$PermutationGroupExamples

   (1)  <(1 2 3),(1 3)>
                                Type: PermutationGroup(Integer)
permgp::GroupPresentation

   (2)
   <a b |
a*a*a, a*a*b*a*a*b, a*a*b*a*a*-b, a*b*a*b, a*b*a*-b, b*b, a*a*b*-a*b
    ,
        a*b*-a*-a*b, b*a*a*-b*-a, a*a*b*-a*-b, a*a*-b*a*a*-b, a*-b*a*-b
     >
                                        Type: GroupPresentation

The problem, as you can see, is that it does not produce a simplest or canonical solution (if such a thing exists). That is there are redundant relations.

In the above example it is probably easy to see extra rules that would simplify to a minimal solution but I cant see a general strategy for reduction rules even for very simple cases like this.

Going in the opposite direction it is easy to implement Todd-Coxeter, the problem again is simplifying the resulting permutations.

I am planning (already started as you can see) to implement two-way conversions between these 'group like' structures.

I don't see a problem in having lots of equivalent structures (permutation, presentation, representation, multiplication table, etc.) in fact I think its a positive advantage. I don't feel I understand a structure unless I can approach it from different directions and I don't trust a calculation unless I get the same result when it is done in multiple independent ways. To do good regression tests we need to do calculations in several ways. So I would like to see more overlapping structures in FriCAS, not less.

Martin B

--
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 fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to