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.
A. Behring, J. Blumlein, A. De Freitas, A. von Manteuffel, and C. Schneider. The 3-Loop Non-Singlet Heavy
Flavor Contributions to the Structure Function g_1(x,Q^2) at Large Momentum Transfer. ArXiv ID: 1504.08217,
DOI: 10.1016/j.nuclphysb.2015.06.007. June 2015.
A. Behring, J. Blumlein, A. De Freitas, A. Hasselhuhn,
A. von Manteuffel, and C. Schneider. "The O(alpha^3) Heavy Flavor Contributions to the
Charged Current Structure Function xF3(x,Q^2) at Large Momentum Transfer." Physical Review D 92(114005). November 2015.
A. von Manteuffel, E. Panzer, and R. Schabinger. "On the Computation of Form Factors in
Massless QCD with Finite Master Integrals," http://arxiv.org/abs/1510.06758, October 2015.
T. Gehrmann. A. von Manteuffel, L. Tancredi. "The two-loop helicity amplitudes for qq → V1V2 →four leptons,"
arxiv:1503.04812v2, September 2015.
J. Ablinger, A. Behring, J. Blumlein, A. De Freitas, A. von Manteuffel, C. Schneider. "Calculating Three Loop
Ladder and V-Topologies for Massive Operator Matrix Elements by Computer Algebra," arXiv:1509.08324, September 2015.
Li, von Manteuffel, Schabinger, Zhu, "Soft-virtual corrections to Higgs production at N^3LO".
arXiv:1412.2771, December 2014.
Ablinger, Blumlein, DeFreitas, Hasselhuhn,
von Manteuffel, Round, Schneider, Wissbrock, "The transition matrix element Agq(N) of the variable flavor number scheme at O(alpha s^3)".
Nuclear Physics B, February 2014.
Sebastiano Vigna, "An experimental exploration of Marsaglia's xorshift generators, scrambled".
Universita degli Studi di Milano, Italy. http://vigna.di.unimi.it/ftp/papers/xorshift.pdf. May 2014.
Maierhofer, P., Marquard, P., Complete three-loop QCD corrections to the decay H+gamma. Zbl 1307.81067.
Phys. Lett., B 721, No. 1-3, 131-135 (2013).
Sturm, Christian. Leptonic contributions to the effective electromagnetic coupling at four-loop order in QED. Zbl 1282.81201.
Nucl. Phys., B 874, No. 3, 698-719 (2013).
Schneider, Carsten (ed.) et al., Computer algebra in quantum field theory. Integration, summation and special functions.
Wien: Springer (ISBN 978-3-7091-1615-9/hbk; 978-1-4614-8523-0/ebook). Texts and Monographs in Symbolic Computation, 361-379 (2013).
Lloyd, Noel G.; Pearson, Jane Margaret. A cubic differential system with nine limit cycles. Zbl 1304.34062.
J. Appl. Anal. Comput. 2, No. 3, 293-304 (2012).
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.
Czakon, M. Double-real radiation in hadronic top quark pair production as a proof of a certain concept. Zbl 1215.81117.
Nucl. Phys., B 849, No. 2, 250-295 (2011).
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.
Bekavac, S.; Grozin, A.G.; Seidel, D.; Smirnov, V.A. Three-loop on-shell Feynman integrals with two masses. Zbl 1194.81252.
Nucl. Phys., B 819, No. 1-2, 183-200 (2009).
Zhao, ShiZhong; Fu, HongGuang. Three kinds of extraneous factors in Dixon resultants. Zbl 1179.13024.
Sci. China, Ser. A 52, No. 1, 160-172 (2009).
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).
Fiala, Nick C.; Agre, Keith M. Searching for shortest single axioms for groups of exponent 6. Zbl 1107.68097
J. Autom. Reasoning 36, No. 3, 241-257 (2006).
Fotiou, I.A.; Rostalski, P.; Parrilo, P.A.; Morari, M. Parametric optimization and optimal control using algebraic geometry methods. Zbl 1133.93337
Int. J. Control 79, No. 11, 1340-1358 (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.
Zhao, Shizhong; Fu, Hongguang. An extended fast algorithm for constructing the Dixon resultant matrix. Zbl 1122.14302
Sci. China, Ser. A 48, No. 1, 131-143 (2005).
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.
A revised and updated manual for OS X, Linux, and Windows is now available as a pdf (March 25, 2025) here.
This has small revisions made in April and June 2016 though 2017. There is also an old 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 older 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.
June 7, 2016. Features and bug fixes to 64 bit versions. Bug fix only to 32 bit versions, now considered obsolete. Small revisions to manual.
November 25, 2015. 64 bit version 5.21: Significant revision of some heuristics for multivariate polynomial GCD. New interface features upon invoking Fermat.
October 20, 2014: 64 bit version 5.17. Bug fix in both Mac and Linux 64 bit versions. There was another small bug in monomial multiply involving constants. Also, the imperative command &(_o = ...) now works.
June 24, 2014: 5.15 or 5.16. Bug fix in both Mac and Linux 64 bit versions. A small bug introduced last August when monomial multiply was implemented could crash Fermat.
November 9, 2013. Minor improvements in the 64 bit versions; version 5.1.
October 25, 2013. New fast monomial-oriented multiplication for multivariate polynomials in the 64 bit versions; version 5.0.
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.
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.
Please sign in and register to receive news of frequent updates:
The address of this web page is http://www.bway.net/lewis/
Number of accesses to this page since 10 January 1997:
(Thanks WebCounter!)
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.