I use computational algebra systems in my research. I previously used Magma, but I now use GAP. I find that the documentation for Magma is nicer. I find that GAP is cheaper (free), and I like the fact that it is open source. The functionality is similar in both systems, although there are minor differences.

I use these systems as a lab of sorts. I study objects called “groups.” GAP and Magma give me an environment where I can study the properties of groups. I liken this to how a scientist works: she observes something in a lab, thinks of a question, creates a hypothesis, tests the hypothesis, and then either has a result or creates a new hypothesis.

I find that GAP and Magma are useful in formulating questions and testing hypotheses—they are my lab. While a scientist could think of a question while observing chimps, this is tougher to do with abstract objects. GAP and Magma make this possible, and can further test the hypothesis by checking many examples.

Of course, once this is done, I need to leave the computer and figure out exactly why the hypothesis is true—I need to prove the result. But computational algebra systems help me know what I should try to prove.