Compare Your Computer Algebra
System. Take the Fermat Tests!
Fermat is freeware. Those who have grant money are requested to contribute $60 per installed machine.
New 64 bit Versions of Fermat Now Available. March 28, 2013
Fermat is Overall Best in the World at Polynomial GCD
Mac OS X Intel Version of Fermat Now Available.
3.9.9x, revised March 28, 2013
Float Versions of Fermat Now Available.
March 28, 2013
Mac OS X G3-G5 Version of Fermat Available.
3.9.9x, revised October 8, 2010
Linux Version of Fermat Now Available. 3.9.9x, revised March 28, 2013
New Windows Version of Fermat. 3.9.9x, March 28, 2013
Unix Version of Fermat Available. 3.6.9, revised December 15, 2005
Old Obsolete Windows Version of Fermat. 3.6.9, revised October 29, 2007
Mac OS 9 Version of Fermat Available. 3.7.0, revised October 29, 2007
Source Code for Old Windows Version Available. April 17, 2010
Source Code for FFermat Now Available. January 19, 2009
Fermat Very Impressive in Comparison of Computer Algebra Systems
HTML and PDF Versions of the Manuals:
Revised PDF and HTML Manuals for Linux,Windows, and OS X. July 25, 2011
3.9.998 A bug fix involving Pseudet.
3.9.997 A bug fix.
3.9.995 A bug fix, a new truncate command.
3.9.993 Several bug fixes, some revised features.
3.9.99 Several bug fixes, new functions, faster multivariate polynomial gcd.
3.9.9i Several bug fixes, a few new space-saving (RAM) features, a new pivot heuristic.
3.9.8f Fixed two small bugs, added new builtin functions for trailing numerical coefficient, and new heuristics for matrix normalization pivot.
3.9.7 Fixed two old bugs and refined the multivariate polynomial gcd algorithm.
3.9.2 New transpose function and new option in determinant command.
3.8.8 improved the arithmetic of quolynomials (rational functions).
3.8.7 for Mac OS X and Linux: (1) several speed improvements in multivariate polynomial gcd. (2) Cosmetic improvement of not listing hundreds of identical names on the
terminal after an &v command.
3.8.4 for Linux and OSX has some user convenience improvements and a bug fix. The bug did not occur in the Windows version.
3.8.1 (March 2007) has a few small new features an a bug fix (OS X and Linux). The bug fix was also done in the Windows version.
3.7.6 - 3.7.8 (OSX and Linux) have various speedups and bug fixes. The Windows version has also been updated.
3.7.4 (OSX and Linux) has further refinements to polynomial gcd for very sparse polys. 3.7.3, here very briefly in early March, was a half way step. 3.7.0 - 3.7.2 have various bug fixes for polynomial g.c.d., and new features, as did 3.6.9. 3.6.0 contains more speed improvements. 3.6.1 has a bux fix. 3.6.3 is available for OSX and Linux (Intel); it has speed improvements and bug fixes. 3.6.4, in all versions but Unix, fixes a small memory leak.
3.5.5 and 3.5.8 had small feature improvements, but this release was mainly a speed improvement in polynomial gcd. See the Fermat Tests page.
The major improvement in 3.3 was a significant gain in the speed of one variable polynomial arithmetic and GCD. Some computations increase in
speed 60%. 3.4.7 implements ground ring Z/p for primes p up to 2^31 - 1 (in Windows the upper limit is a bit less).
3.4.7 implements efficiently builtin finite fields GF(2^8) and GF(2^16), and special feature LaGrange interpolation for determinant.
3.4.8 is a minor improvement, but extends all of 3.4.7 to Windows, Linux, Mac OS X and OS 9. More details are here.
Fermat FAQ
frequently asked questions.
Why should I use this system? Fermat is especially good at polynomial and rational function arithmetic; Smith normal form; determinant, normal forms, and inverse of matrices with multivariate polynomial entries over Z, Q, Zp, finite fields, or more complex fields; sparse matrices; characteristic polynomials; and gcd of multivariate polynomials over Z, Zp, or finite fields. In addition, I have striven to make it easy to use. For example, in the Mac version it is very easy to edit the output of Fermat (on the screen) and make it the input. This is a great boon in experiments with matrices. Extensive facilities exist for saving data to files and reading such data. Fermat has the ability to be interrupted and then later return to the computation, picking up where it left off.
Fermat Features Summary
Fermat in Actual Use
Here is a documented collection of functions that implement the Dixon-EDF method for solving systems of
polynomial equations in Fermat.
David Yuen, "The Utility of Computations" and "The Satake Compactification of the Paramodular Group". First EU-US Conference on Automorphic
Forms and Related Topics, Aachen University, August 2012.
J. M. Pearson and N. G. Lloyd, "Kukles revisited: Advances in computing techniques." Computers and Mathematics with Applications,
v. 60, issue 10, 2010, pp. 2797 - 2805.
B. Palancz, J. Awange, P. Zaletnyik, "Computational Mathematics: Theory, Methods and Applications." Peter G. Chareton, ed. Nova Science
Publishers, New York, January 2010.
A. V. Smirnov, "Algorithm FIRE: Feynman Integral REduction." July 2008. http://arxiv.org/pdf/0807.3243v3
See also Smirnov's software that links to Fermat, FIRE
M. Oura, C. Poor, and D. S. Yuen, "Towards the Siegel Ring in Genus Four." International Journal of Number Theory, August 2008.
J. H. Kuhn, M. Steinhauser and M. Tentyukov, "Massless Four-Loop Integrals and the Total Cross Section in e+ e- Annihilation."
High Performance Computing in Science and Engineering '07; Transactions of the High Performance Computing Center, Stuttgart (HLRS) 2008.
Bela Palancz, Robert H. Lewis, Piroska Zaletnyik, and Joseph Awange, "Computational Study of the 3D Affine Transformation Part I. 3-point Problem."
First version online at the Mathematica website, revised version
available here. March 2008.
S. Bekavac, D. Seidel, "On-shell renormalisation constants including two different nonzero masses." October 2007. http://aps.arxiv.org/list/hep-ph/0710.
Nazar Khan, "Silhouette-Based 2D-3D Pose Estimation Using Implicit Algebraic Surfaces",
Master Thesis, Saarland University, Germany, 2007. advisor: Bodo Rosenhahn.
download pdf version.
K. G. Chetyrkin, M. Faisst, J. H. Kuhn, P. Maierhofer, and C. Sturm. Four-Loop QCD Corrections to the Electroweak rho Parameter. Phys. Rev. Lett. 97, 102003 (2006).
Lewis, Robert H. and E. A. Coutsias, "Algorithmic Search for Flexibility using Resultants of Polynomial Systems." to appear, Proceedings of the
ADG 2006 Conference (Automatic Deduction in Geometry), Pontevedra Spain, August 31 - September 2, 2006.
download pdf version.
K. G. Chetyrkina, C. Sturm. Recent Results on Four-loop Tadpoles. NUCL PHYS B-PROC SUPPL, vol. 160, pp. 230-234, 2006.
Bozoki, Sandor and Robert H. Lewis, "Solving the Least Squares Method Problem in the AHP for 3 x 3 and 4 x 4 Matrices," Central European Journal
for Operations Research, September 2005.
download pdf version.
K.G. Chetyrkin, M. Faisst, C. Sturm, and M. Tentyukov. e-Finite Basis of Master Integrals for the
Integration-By-Parts Method. January 2006. 28pp. http://arxiv.org/pdf/hep-ph/0601165.
M. Czakon. "The Four-loop QCD Beta-Function and Anomalous Dimensions." DESY-04-223, SFB-CPP-04-62, Nov 2004. 14pp.
Published in Nucl.Phys.B710:485-498, 2005.
http://arxiv.org/pdf/hep-ph/0411261.
K. G. Chetyrkin, J. H. Kuhn, P. Mastrolia, C. Sturm. Heavy-quark vacuum polarization: first two moments of the O(alphas^3 nf^2) contribution.
http://arxiv.org/abs/hep-ph/0412055
M. Czakon, J. Gluza, T. Riemann. "Master Integrals for Massive Two-Loop BHABHA Scattering in QED."
DESY-04-222, SFB-CPP-04-61, Dec 2004. 21pp. Published in Phys.Rev.D71: 073009, 2005.
http://arxiv.org/pdf/hep-ph/0412164
M. Awramik, M. Czakon, A. Freitas, and G. Weiglein. Complete Two-Loop Electroweak Fermionic Corrections to the Effective Leptonic Weak Mixing Angle and Indirect Determination
of the Higgs Boson Mass. Phys. Rev. Lett. 93, 201805 (2004)
Little, John. "Solving the Selesnick-Burrus Filter Design Equations Using Computational Algebra and Algebraic Geometry", Advances in Applied Mathematics, 31 (2003), p. 463-500.
Brumer, Armand. "The Rank of
Yuen, David S. Siegel modular cusp forms (2004). personal communication.
Lewis, Robert H. and Stephen Bridgett, "Conic Tangency Equations and Apollonius Problems in Biochemistry and Pharmacology," Mathematics and Computers in Simulation 61(2) (2003) p. 101-114.
download pdf version.
Lewis, Robert H. and Peter F. Stiller, "Solving the recognition problem for six lines using the Dixon resultant," Mathematics and Computers in Simulation 49 (1999) p. 205-219.
download pdf version.
Lewis, Robert H. and George Nakos, "Solving the Six Line Problem with Resultants," presented to the
"Grand Challenges" session at IMACS, Prague, August 1998.
Lewis, Robert H. "The Six Line Problem and Resultants," presented to the "Grand Challenges" session
at IMACS, Hawaii, July 1997.
Lewis, Robert H. and Guy D. Moore. "Computer Search for Nilpotent Complexes," Experimental Mathematics
6:3 (1997) p. 239-246.
Lewis, Robert H. and Sal Liriano. "Isomorphism Classes and Derived Series of Almost-Free Groups,"
Experimental Mathematics 3 (1994) p.255-258.
Revised Manual for Linux and OSX. July 25, 2011
A new revised and updated manual for OS X, Windows, and Linux is now availabale as a pdf (July 25, 2011) here.
There is also an html version, but the pdf is much more readable and attractive.
Older HTML versions of the Fermat manual for Mac OS9, Unix and old Windows are still available, and of the FFermat
manual (FFermat, the old float version, was Mac OS9 only). They were produced from the TeX versions by the
program TTH (TeX to HTML), http://hutchinson.belmont.ma.us/tth/. You can find the
OS X, Windows, and Linux manual here. You can find the Unix and old obsolete Windows manual here. the Mac OS9 manual here, and the FFermat Manual is here.
PDF, PS: In addition there are pdf or ps versions of the manuals:
Download the revised Linux, Windows, and OSX pdf manual.
Download the Unix and old obsolete Windows ps manual.
Download the Mac OS 9 pdf manual. OS 9 is obsolete. The OS 9 version of Fermat is obsolete.
Download the FFermat pdf manual.

Suggested donation $60, using PayPal. (You don't have to have a PayPal account.)
Jenks Prize Nomination Form
Update History March 25, 2013. Bug fix, all versions, involving large two-variable polynomial multiplication. Refined heuristics for multivariable polynomial gcd.
November 6, 2012. Bug fix, all versions, involving Pseudet.
June 12, 2012. Bug fix, all versions.
January 3, 2012. Three float versions created. See here. Also, minor revisions of Mac OS X, Linux, and Windows.
November 10, 2011. New Windows version, created with Cygwin. The old Windows version is obsolete and very inferior.
November 1, 2011. New versions for Linux and OS X, 32 bit and 64 bit.
July 25, 2011. New revised manuals for Linux and OS X.
July 23, 2011. 3.9.99 Several bug fixes, new functions, faster multivariate polynomial gcd, 64 bit versions. See here.
October 7, 8, 2010. Version 3.9.9x for OSX and Linux. New 64 bit versions 4.08. See above and here.
October 19, 2009. Version 3.9.9i for OSX and Linux. See here.
January 19, 2009. Source code for FFermat, float version, now available. See here.
January 8, 2009. Version 3.9.8f for OSX and Linux. See here.
August 6, 2008. Uploaded a documented set of functions to run the Dixon-EDF method. This is the method of choice for solving symbolic systems of multivariate polynomial equations over most ground rings. See here.
May 6, 2008. Version 3.9.7 for OSX and Linux. See here.
February 10, 2008. Version 3.9.2 for OSX and Linux. See here.
October 29, 2007. Version 3.8.8 for Mac OSX and Linux; 3.6.9 for Windows; 3.7.0 for Mac 0S9. See here.
September 26, 2007. Version 3.8.7 for Mac OSX and Linux. See here.
March 13, 2007. Version 3.8.1 for Mac OSX and Linux. 3.6.8 for Windows. See here.
August 10, 2006. Version 3.7.9 for Mac OSX and Linux. See here.
June 26, 2006. Version 3.7.8 for Mac OSX and Linux, 3.6.7 for Windows. See here.
June 11, 2006. Version 3.7.7 for Mac OSX and Linux. See here.
April 13, 2006. Version 3.7.5 for Mac OSX and Linux. See here.
March 10, 2006. Version 3.7.4 for Mac OSX and Linux. 3.6.6 for Windows. See here.
February 18, 2006. Version 3.7.2 for Mac OSX, Linux. Bug fixes and speed ups. See here.
December 30, 2005. Version 3.6.9 for Mac OSX, Linux, Unix; 3.6.5 for OS 9 and Windows. Bug fixes. See here.
November 30, 2005. Version 3.6.7 for Mac OSX. Bug fix. See here.
November 22, 2005. Version 3.6.4 for Windows. Bug fix. See here.
October 19, 2005. Version 3.6.7 for Linux. Various new features. See here.
July 27, 2005. Version 3.6.4 for all versions but Unix. Fixed a small memory leak. See here.
July 18, 2005. Version 3.6.3 for Mac OSX/Linux. Fixed a bug in the speedups of 3.5.8 - 3.6.0. See here.
June 27, 2005. Version 3.6.0 for Mac OSX/Linux/Windows/OS9. Additional speedup in multivariate polynomial gcd. See the Fermat Tests Page. Fixed memory leak.
June 10, 2005. Version 3.5.0 - 3.5.8 for Mac OSX/Linux/Unix. Significant speedups in multivariate polynomial gcd, 14% - 60% in various tests. See the Fermat Tests Page. Various bug fixes. Updated the manual for these versions, html and ps. See here.
January 1, 2005: Version 3.4.9 now available for Windows and Mac OS 9. This is a fix of a stupid trivial bug that got introduced in 3.4.8 in these two versions. It affected GCD of polynomials. Also see here.
November 3, 2004: Version 3.4.8 now available for Linux, Mac OS X, and Mac OS 9. Details are here.
October 20, 2004: New version 3.4.8 for Windows. Details are here.
September 1, 2004: New versions 3.4.7 for Linux and Mac OSX. Details are here.
July 12, 2004: Bug fix all versions but Unix. Multiplying a rational number by a rational function was flawed in some cases.
July 6, 2004: Version 3.4.6 for Linux. Minor bug fix. Details are here.
July 2, 2004: Version 3.4.5 for Linux. Minor bug fixes. Details are here.
June 27, 2004: Version 3.4.4 for Linux. Bug fix. Details are here.
June 9, 2004: Version 3.4.2 for Unix. See June 6 below. Details are here.
June 6, 2004: Versions 3.3.2 and 3.4.2. Quite a few bug fixes, especially in Linux. A few new features in Linux, bringing it up to the other versions. Details are here.
May 1, 2004: New version 3.3 for Mac and Windows. This version provides remarkable speedups in basic one variable polynomial arithmetic and g.c.d. Read the April 30, 2004 description below. This is not version 3.4 because the larger moduli have not been implemented here. The Mac MPW version has not been updated, and will no longer be maintained unless I hear from someone who cares about it.
April 30, 2004: New version 3.4 for Linux. This version provides remarkable speedups in basic one variable polynomial arithmetic and g.c.d. Since that is used by other parts of Fermat, the speedup propagates throughout the system to some extent. Problem 3 on the Fermat Tests Page saves 30%. Some computations over Z/p save 60%. Also a new implementation of LaGrange interpolation for determinant of sparse matrices, and Z/p is implemented for primes < 2^31. See the second ReadMe.
December 9, 2003: Added a version for Linux compiled with the -static option for gcc. This creates a very large application (5.5 meg), but fixes the problem some people had because they have old Linux libraries.
December 5, 2003: Version 3.3 for Linux and Windows; bug fix. A user reported a bug, which sometimes occurs when a rational number is multiplied or divided by a quolynomial. The same bug occurs in Mac and Unix, but those fixes are not ready yet.
September 25, 2003: Added Linux and Unix versions.
September 3, 2003: Version 3.2. Bug fixes. For Windows, Fermat would sometimes hang after hitting return. See the second ReadMe.
April 23, 2003: Version 3.1. Implemented builtin functions to return the number of polyvars and the nth prime. Content now has a second [optional] parameter,
the name or ordinal of a poly var. The major improvement is yet another large gain in the speed of multivariate GCD. The time for one benchmark is cut by more than 64%. See the second ReadMe.
Legal Matters
Do not use Fermat for any application that
may entail the loss of life or property.
Please note that although the author plans to release enhanced versions of this software, the author
cannot guarantee indefinite software support.
Copyright Statement:
This website contains a variety of copyrighted material. Some of this is the intellectual property of
individuals as named, some is owned and copyrighted by Robert Lewis, and some is in the public domain.
Except for material which is unambiguously and unarguably in the public domain, no material
anywhere on this website, graphical or text, may be copied or further disseminated without the
express and written permission of the legal holder of that copyright. This implies that no permission
is granted for any commercial use or sale of any of this material, nor for transmission to
electronic information and retrieval systems, nor for publication in any journal or compilation,
written or electronic, without the written permission of the author.
The information on this Web Page is for personal use only and is provided in good faith without any
express or implied warranty. There is no guarantee given as to the accuracy or currency of any
individual item on any page. Persons accessing the page who require such confirmation should refer
enquires to Robert Lewis, who may or may not be able to provide such. Neither Robert Lewis nor
Fordham University accepts any responsibility for any loss or damage occasioned by use of the
information contained on the page nor from any access to the page. All access and use is at the risk
of the user. This site provides hypertext links to a number of other websites as a service to users.
This service does not mean that Fordham University or Robert Lewis endorses those sites or material
on them in any way. Neither Fordham University nor Robert Lewis is responsible for the use of any
hypertext link which may incur a commercial charge. Individual users are responsible for any charges
that result from their use. Any user linking directly to pages of this website bypassing this
disclaimer assumes complete responsibility for any resulting inappropriate use of those pages by
any or all parties.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNERS OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Please note that although the author plans to release enhanced versions of this software, the author cannot guarantee indefinite software support.
RegisterPlease sign in and register to receive news of frequent updates:
More Comments, Questions, etc.
The address of this web page is http://www.bway.net/lewis/
Number of accesses to this page since 10 January 1997:
(Thanks WebCounter!)
Since December 1, 2010:
Your Majesty,
The work I have done has, already, been adequately rewarded and recognized. Imagination reaches out repeatedly trying to achieve some higher level of understanding, until suddenly I find myself momentarily alone before one new corner of nature's pattern of beauty and true majesty revealed. That was my reward. Then, having fashioned tools to make access easier to the new level, I see these tools used by other men straining their imaginations against further mysteries beyond. There, are my votes of recognition.