I am writing this blag post from the second annual meeting of the DFG priority programme SPP1489 (algorithmic and experimental methods in algebra, geometry and number theory). Apart from having a lot of fun, I am catching up on the recent developments in open-source computer algebra software.
## The Players
The main problem seems to be that there are many different projects with fundamentally different history (and interface language). Let's get a small overview of the major players (up to my knowledge):
* Macaulay2 is particularly good at computing Betti numbers, Ext, cohomology of coherent sheaves on projective varieties, primary decomposition, integral closure, etc. The software has the prominent name of David Eisenbud on it, which also gives a good idea of what it was developed for. It has a very nice cygwin port, which I find important.
* Polymake is the one I did not get to work under cygwin, so I could not give it a decent try. However, when it comes to anything that has to do with polytopes/polyhedra, it seems like a prominent choice.
* Singular is the system developed by the very active group at Kaiserslautern. As the name suggests, studying singularities of algebraic varieties is something it is good at. It can be installed in cygwin without a problem, just note that you will want to install the rxvt shell when you want to use singular's plotting capabilities - it seems to be the default shell for the shortcuts that are created. You will probably still have to fix the shortcuts, though, since they link to ..\cygwin\bin\rxvt rather than ..\cygwin\bin\rxvt.exe. After that, surf should be working and I personally just love it.
* GAP seems to be the choice for doing computational group theory, but I did not have time to actually try it out. Its download section has detailed descriptions on how to install it on mac, windows and *nix, though. Seems nice.
## Sage
Now, wouldn't you want one large software package that can do everything these systems do, all combined into one? Of course you would, and there has been one major effort to achieve this: The sage computer algebra system. Now, while this is a good idea and has reasonable installation options for windows, mac and *nix, sage is not very easily extensible.
## If Life gives you Lemons ...
Presented during the conference was the software package lmonade (pronounced lemonade) which is still work in progress, but which offers a much more flexible way to reconcile various computer algebra systems. I am currently struggling to make it work under cygwin without success, but I did appreciate the basic idea. Moreover, I have great confidence in its author Burcin Erocal, who presented the software at the conference and who is outstandingly competent. So, I urge everyone to give lmonade a look and, possibly, some support.