On Saturday, January 28, 2017 at 10:42:18 PM UTC, Kurt Pagani wrote: > > You're certainly right from a pragmatic point of view. It should be no > problem to interface libgap by CFFI > <https://common-lisp.net/project/cffi/>. Nevertheless I endorse coding as > much as possible in spad itself for various reasons (typed, terse code, > easy re-usable in other packages ...). On the other hand no one would > hesitate choosing one of the special tools (like GAP, Singular) if the > problem is hard and domain specific. >
Well, e.g. Todd-Coxeter is pretty much domain-specific; one could also choose to interface a stand-alone coset enumeration routine like ACE (see http://staff.itee.uq.edu.au/havas/ and https://gap-packages.github.io/ace/). Producing toy implementations of coset enumeration is of course fun, but is limited to (self)teaching purposes---I'm saying this as someone who uses coset enumeration in research quite a bit. > BTW libgap is really cool. I occasionally use the cython interface and > also utilized it in CLIPS <http://clipsrules.sourceforge.net/>. > > On Saturday, 28 January 2017 09:21:10 UTC+1, Dima Pasechnik wrote: >> >> In all respect, one might be better off by utilising GAP's >> implementations, via >> libGAP : https://bitbucket.org/vbraun/libgap (which is a dynamic >> library, so you can exchange data >> quite quickly). >> Certainly, GAP helps in checking correctness of your implementations, in >> case you want to do everything from scratch. >> >> >> On Friday, January 27, 2017 at 4:43:04 PM UTC, Martin Baker wrote: >>> >>> On 01/26/2017 09:04 PM, Kurt Pagani wrote: >>> > Hi Martin >>> > >>> > I've also tried your code and must confirm Waldek's statements. I >>> guess there >>> > are some pitfalls which are known for some time. >>> > >>> > Did you read "Implementation and Analysis of the Todd-Coxeter >>> Algorithm" >>> > by Cannon et al.? Old but still beneficial. >>> > http://staff.itee.uq.edu.au/havas/1973cdhw.pdf >>> > >>> > Maybe you should alo have a look at sympy: >>> > http://docs.sympy.org/dev/modules/combinatorics/fp_groups.html >>> > where the article above is also cited. >>> > >>> > Otherwise I see much progress. >>> > Kurt >>> >>> Hi Kurt, >>> >>> Yes, lots more to do but I'm encouraged by progress so far. >>> >>> I had not seen the Cannon et al. paper. This looks very useful >>> especially for thinking about variations in the algorithm and what its >>> ultimate limitations might be. Mostly for Todd-Coxeter Algorithm I >>> looked at this paper by Akos Seress: >>> http://www.ams.org/notices/199706/seress.pdf >>> because it has a worked example. >>> For the other direction (PermutationGroup to GroupPresentation) I did >>> not find a published algorithm for this so I just did a tree search for >>> loops in the Cayley graph. >>> >>> Initially a was just happy to find algorithms that worked in each >>> direction albeit for small groups. However now, of course, I am keen to >>> get these implementations to scale up as much as possible. >>> >>> Before I look at the above paper in more detail I think I need to get >>> the basics right and to absorb the information that Waldek posted about >>> cosets and strong generators and to modify the code to remove >>> 'coincidences'. >>> >>> By the way, I think the posts from Waldek about GroupPresentation are >>> very useful. I think it would be good if all that information could be >>> put together somewhere where it can be found by potential developers in >>> the future. >>> >>> 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 [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.
