Systems related to (Non)Commutative Algebra & Algebraic Geometry


SACLIB is a library of C programs for computer algebra derived from the SAC2 system. Hoon Hong was the main instigator. Sometime early in 1990 he proposed to translate SAC2 (which was written in the ALDES language) into C instead of Fortran (as it had been since 1976), and he quickly wrote the required translator. The results were rewarding in several ways. Hoon Hong, George E. Collins and Jeremy Johnson, working together at Ohio State University, observed a speedup by a factor of about two in most applications and the powerful debugging facilities associated with C became available.

Later that year Hoon finished his doctorate and moved to RISC, where Bruno Buchberger was writing a book on Groebner bases and working on a set of programs to go with it. He found that SAC2 was the only computer algebra system in which he could write these programs without an unacceptable sacrifice in computational efficiency. It became apparent that for similar reasons other researchers would benefit greatly from the availability of a library of C programs derived from SAC2. Subsequently Bruno did much to promote and facilitate the preparation of the library for distribution.

Although the translated programs were correct, they needed to be reformatted for user consumption, a users guide was required, and the developers had compulsions to make some minor improvements. Jeremy Johnson made many recent improvements to the algebraic number algorithms and wrote the corresponding chapter of the User Guide, among other things. Werner Krandick made improvements to the polynomial real root algorithms and wrote the corresponding chapter in the User Guide. Mark Encarnacion wrote three chapters of the User Guide and also converted the polynomial input and output algorithms to modern notation from the original "Fortran notation". Ana Mandache, Andreas Neubacher and Hoon Hong all toiled long hours editing and reformatting programs. Andreas deserves special recognition. He initiated the writing of the manual, wrote three chapters of the manual and two of the appendices, and did all the required system maintenance. To facilitate experimenting with the functions in the library, Herbert Vielhaber implemented isac, the interactive shell for SACLIB. He also wrote the corresponding appendix of the manual.

This initial version of SACLIB is just the beginning of what is to come. The developers know how to improve several of the programs in the current system and will do it for subsequent versions. Some basic functionalities are largely undeveloped in the currrent system (e.g. linear algebra) but they will be supplied in subsequent versions. Some more advanced functionalities (e.g. polynomial complex roots and quantifier elimination) are nearly ready and will be forthcoming soon. Also it is expected that users of the system will write programs based on the ones we distribute and offer them to other users.

SACLIB is available by anonymous ftp at

Special Purpose Systems

Last updated: November 15, 1994