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.
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 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.