There are now float versions of Fermat.
Until around 2007, there was a version of Fermat called FFermat, meaning float Fermat. It was written in Pascal and ran on Mac OS 9. It no longer
runs on any modern platform. It is described here, and the binaries are
here. It had very nice features,
including very good graphics capabilities. Complex numbers were directly implemented as pairs of Reals (floats).
I have now used the modern C versions of Fermat to create three float versions. These allow the user to enter numerical data into polynomials
and matrices created presumably by the "real" versions of Fermat, which of course operate over exact ground rings. This is quite useful, as eventually
most actual problems need to work with numerical data.
There are no graphics capabilities. These float versions are not intended to compete with, say, Matlab.
Determinant, inverse matrix, multivariate polynomials, polynomial evaluation, characteristic polynomial, and other features work as a user familiar
with Fermat would expect. Of course one cannot drop into modular mode (modular ground ring); the only ground field is floats. Inevitable round-off errors
may eventually lead to trouble, as most users will appreciate. Such errors may eventually lead to a crash.
Polynomial gcd, especially multivariate, is problematical. Determinant algorithms, such as Gaussian elimination, applied to a matrix of polynomials will
probably produce a rational function ("quolynomial") instead of a polynomial. However, truncating the answer (with the $ command) will likely produce
quite a good approximation.
The syntax is the same as the other C versions, so use those manuals. To implement complex numbers, attach a polynomial variable first, say i, then mod out
via &(P = i^2+1, 1) as usual in Fermat.
Transcendental functions: for the trig functions use _sin( ), _cos( ), _tan( ), _atan( ), _asin( ). For exp and ln, use _e( ), _ln( ).
Eventually, algorithms such as SVD will be implemented. There may be a single version that includes both exact ground rings and floats.
There are Mac, Linux, and Windows versions. The Mac and Linux versions provide about 19 significant digits; the Windows only around 15. This is due to features of Cygwin.
Fermat is freeware. Institutions or those with grant money should contribute $US 60 per machine.
Downloads:
Windows float version.
Mac float version (system 10.6.8 +).
Mac float version (system 10.4.11 - 10.5.*).
Linux float version.
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.
NO ONE MAY USE THIS SOFTWARE AS PART OF ANY BUSINESS OR FOR-PROFIT ENDEAVOR WITHOUT THE
EXPRESS WRITTEN PERMISSION OF ROBERT H. LEWIS. ROBERT H. LEWIS RETAINS THE COPYRIGHT TO
ANY PROGRAM THAT INCLUDES THIS SOFTWARE.
since January 3, 2012 (Thanks WebCounter!)