I have a soft question. I currently study abstract math which includes group theory. On the other hand, I have strong background in c++, data structures etc. So, most of the time I end up with an algorithm or a computer code which mimics or implements a specific problem in group theory.

I am pretty sure that for the specific groups I am working on, these algorithms(and maybe nested data structures) have not been published or known. Also, sometimes I see papers which uses gap. So, my question is :

Can I publish these c++ codes somehow? What is the criteria to publish an algorithm which doesn't solve an open problem but helps people understand the problem? Can you provide me essays or examples about this topic?

Thank you very much.

  • $\begingroup$ Use Ada not C++. $\endgroup$
    – porton
    Apr 24, 2011 at 19:03

2 Answers 2


There has been a lot of work in Computational group theory. You should definitely check the literature. Anyway, having a real program is fine, but the real contribution are in algorithms. So you can publish a paper describing an algorithm, but you should publish the code elsewhere, e.g., in the web.

  • 2
    $\begingroup$ Journals often allow for code to be published as an appendix. Some even require it. $\endgroup$ Apr 14, 2011 at 14:38
  • 1
    $\begingroup$ @Raskolnikov, sure, but probably only when it's short. I haven't seen a complete C++ program published in a math paper for a while now. I did it once, but it was two pages only. Also, you're much better off publishing a URL than freezing the code in print. $\endgroup$
    – lhf
    Apr 14, 2011 at 14:53
  • $\begingroup$ Are there any "fundamental" papers which discusses basic algorithms and problems of automatic groups and groups generated by automata? Thank you. $\endgroup$
    – niyazi
    Apr 14, 2011 at 17:38
  • $\begingroup$ Check out "kbmag" by Derek Holt (and its associated papers). Also check out "maf" by Alun Williams (no papers). $\endgroup$ Apr 14, 2011 at 21:11
  • $\begingroup$ @lhf: Haha, two pages is long in my book, but then again, I'm not a programmer. ;) $\endgroup$ Apr 14, 2011 at 21:27

GAP has a formal review process, and also accepts contributions that have not been reviewed. See http://turnbull.mcs.st-and.ac.uk/~gap/Packages/packages.html for an overview, and http://turnbull.mcs.st-and.ac.uk/~gap/Contacts/submit.html for more specifics.

I think the GAP folks would be friendly and welcoming of your contributions. In my (limited) experience it can be a lot of work to turn a working implementation into code that is documented, conforms to API standards, and that plays nicely with others' code, but it is worth it.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.