|
|
Line 1: |
Line 1: |
| {{unsourced|date=November 2012}}
| | Marvella is what you can contact over the [http://www.genitalwartsformula.com/pictures/ counter std] test her but it's not the most feminine title out there. North Dakota is our beginning location. His wife at [http://fastrolls.com/index.php?do=/profile-72113/info/ home std test kit] std test doesn't like it the way he does but what he truly likes performing is to do [http://www.wisegeek.org/how-do-i-recognize-a-sore-throat-from-an-std.htm aerobics] and he's been doing it for fairly a while. Managing people has been his day job for a while.<br><br>Feel free to surf to my webpage :: at [http://computerrepairredlands.com/solid-advice-terms-candida-albicans/ home std test] ([http://www.eddysadventurestore.nl/nieuws/eliminate-candida-one-these-tips you can try here]) |
| {{Infobox Software
| |
| | name = Fermat
| |
| | logo =
| |
| | screenshot =
| |
| | caption =
| |
| | developer = Robert H. Lewis
| |
| | latest_release_version = 3.9.9x
| |
| | latest_release_date = July 23, 2011
| |
| | programming language = [[C (programming language)|C]]
| |
| | operating_system = [[Mac OS X]], [[Mac OS]], [[Linux]], [[Unix]], [[Microsoft Windows|Windows]]
| |
| | genre = [[Computer algebra system]]
| |
| | license = [[Freeware]]
| |
| | website = {{URL|http://home.bway.net/lewis/}}
| |
| }}
| |
| '''Fermat''' is a [[freeware]] program developed by Prof. Robert H. Lewis of [[Fordham University]]. It is a [[computer algebra system]], in which items being computed can be [[integer]]s (of arbitrary size), [[rational numbers]], [[real numbers]], [[complex numbers]], modular numbers, [[finite field]] elements, multivariable [[polynomial]]s, [[rational functions]], or polynomials [[modular arithmetic|modulo]] other polynomials. The main areas of application are multivariate rational function arithmetic and [[matrix algebra]] over [[ring (mathematics)|ring]]s of multivariate polynomials or rational functions. Fermat does not do simplification of [[transcendental function]]s or [[symbolic integration]]. | |
| | |
| A session with Fermat usually starts by choosing rational or modular "mode" to establish the ground [[field (mathematics)|field]] (or ground ring) <math>F</math> as <math>\mathbb{Z}</math> or <math>\mathbb{Z}/n</math>. On top of this may be attached any number of symbolic variables <math>t_1, t_2, \dots, t_n,</math> thereby creating the [[polynomial ring]] <math>F[t_1, t_2, \dots, t_n]</math> and its quotient field. Further, some polynomials <math>p, q, \dots</math> involving some of the <math>t_i</math> can be chosen to mod out with, creating the [[quotient ring]] <math>F(t_1, t_2, \dots)/(p, q, \dots).</math> Finally, it is possible to allow [[Laurent polynomial]]s, those with negative as well as positive exponents. Once the computational ring is established in this way, all computations are of elements of this ring. The computational ring can be changed later in the session.
| |
| | |
| The [[Greatest common divisor of two polynomials|polynomial gcd]] procedures, which call each other in a highly recursive manner, are about 7000 lines of code.
| |
| | |
| Fermat has extensive built-in primitives for array and matrix manipulations, such as [[submatrix]], [[sparse matrix]], [[determinant]], normalize, column reduce, [[row echelon]], [[Smith normal form]], and [[matrix inverse]]. It is consistently faster than some well known computer algebra systems, especially in [[multivariate polynomial]] gcd. It is also space efficient.
| |
| | |
| The basic data item in Fermat is a multivariate rational function or quolynomial. The numerator and denominator are polynomials with no common factor. Polynomials are implemented recursively as general linked lists, unlike some systems that implement polynomials as lists of monomials. To implement (most) finite fields, the user finds an irreducible monic polynomial in a symbolic variable, say <math>p(t_1),</math> and commands Fermat to mod out by it. This may be continued recursively, <math>q(t_2, t_1),</math> etc. Low level data structures are set up to facilitate arithmetic and gcd over this newly created [[ground field]]. Two special fields, <math>GF(2^{8})</math> and <math>GF(2^{16}),</math> are more efficiently implemented at the bit level.
| |
| | |
| To help implement the Dixon [[resultant]] technique, special features have been added to the determinant function. These provide a dramatic increase in the speed of resultant calculations with systems of polynomial equations that exhibit [[symmetry]].
| |
| | |
| Fermat provides a complete programming language. Programs and data can be saved to an ordinary text file that can be examined as such, read during a later session, or read by some other software system.
| |
| | |
| ==History==
| |
| | |
| A new Windows version, equivalent to the Mac and Linux versions, was uploaded on November 10, 2011. This is the first time in five years that the Windows version is as good as the Mac version.
| |
| | |
| New versions for Mac and Linux were uploaded on November 3, 2011, 32 bit and 64 bit.
| |
| | |
| In an earlier version, called FFermat (Float Fermat), the basic number type is [[floating point]] numbers of 18 digits. That version allows for numerical computing techniques, has extensive graphics capabilities, no sophisticated polynomial gcd algorithms, and is available only for Mac OS 9.
| |
|
| |
| Fermat was originally written in [[Pascal programming language|Pascal]] for a DEC Vax, then for [[Mac OS]] during 1985 - 1996. It was ported to [[Microsoft Windows]] in 1998. In 2003 it was translated into [[C (programming language)|C]] and ported to [[Linux]] (Intel machines) and [[Unix]] (Sparc/Sun). It is about 98,000 lines of C code.
| |
| | |
| The FFermat and (old) Windows Fermat Pascal source code have recently been made available to the public under a restrictive license.
| |
| | |
| The manual was extensively revised and updated on July 25, 2011.
| |
| | |
| ==See also==
| |
| *[[Comparison of computer algebra systems]]
| |
| | |
| == External links ==
| |
| *{{Official website|http://home.bway.net/lewis/}}
| |
| *[http://home.bway.net/lewis/wferm.html Windows Fermat Pascal source code]
| |
| *[http://home.bway.net/lewis/fferm.html Float Fermat Pascal source code]
| |
| *[http://fordham.academia.edu/RobertLewis/ Robert H. Lewis at academia.edu]
| |
| | |
| {{Computer algebra systems}}
| |
| | |
| [[Category:C software]]
| |
| [[Category:Computer algebra systems]]
| |
Marvella is what you can contact over the counter std test her but it's not the most feminine title out there. North Dakota is our beginning location. His wife at home std test kit std test doesn't like it the way he does but what he truly likes performing is to do aerobics and he's been doing it for fairly a while. Managing people has been his day job for a while.
Feel free to surf to my webpage :: at home std test (you can try here)