Magnus (computer algebra system)

Magnus was a computer algebra system designed to solve problems in group theory. It was designed to run on Unix-like operating systems, as well as Windows. The development process was started in 1994 and the first public release appeared in 1997. The project was abandoned in August 2005. The unique feature of Magnus was that it provided facilities for doing calculations in and about infinite groups. Almost all symbolic algebra systems are oriented toward finite computations that are guaranteed to produce answers, given enough time and resources. By contrast, Magnus was concerned with experiments and computations on infinite groups which in some cases are known to terminate, while in others are known to be generally recursively unsolvable.

Features of Magnus

 * A graphical object and method based user interface which is easy and intuitive to use and naturally reflects the underlying  C++ classes;
 * A kernel consisting of a ``session manager", to communicate between the user interface or front-end and the back-end where computations are carried out, and ``computation managers" which direct the computations which may involve several algorithms and "information centers"  where information is stored;
 * Facilities for performing several procedures in parallel and allocating resources to each of several simultaneous algorithms working on the same problem;
 * Enumerators which generate sizable finite approximations to both finite and infinite algebraic objects and make it possible  to carry out searches for answers  even when general algorithms may not exist;
 * Innovative genetic algorithms;
 * A package manager to ``plug in" more special purpose algorithms written by others;