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.