Multi-precision arithmatic

These files were downloaded from

http://crd.lbl.gov/~dhbailey/mpdist/

as a result of a google search for “quadruple precision”

 

            Real values are used for the base.  In this document he says that it is necessary that real*4 values are accurate to 2**24.  The code in test.zip demonstrates that Watfor is not accurate to this level while Watcom wfl386 test.for is accurate to this level.

            I recommend Bailey’s algorithms ahead of my own in  ..\Bob for any application other than the applications tested in Fittery\nlfit.  They are easy to implement and have been well tested.  A test of MPCholesky is described in MatrixInverse\mpcholesky\Welcome.htm.  Note that this test includes both Cholesky matrix inversion and Gauss Jordan Inversion.

Transmp and examples.

            The particular set of interest for Fortran 77 is mpfun77.tar.gz.  Inside this there are directions for using the code transmp.f to convert parts of code from real*8 to much larger precision.  This code was designed to run in batch mode where one submits the code to be translated on unit 5 and it returns the result as output.  This code makes creation of a multiprecision part of a user code very easy.  I added the following lines just above the first read(5 to make it more compatible with use on a PC. 

      CHARACTER*64 FNAME

      PRINT*,' ENTER THE FILE NAME TO CONVERT '

      READ(*,'(A)')FNAME

      OPEN(5,FILE=FNAME)

      OUTNAME='MP'//FNAME

      OPEN(6,FILE=OUTNAME)

Wfl386 transmp.f

transmp.f: 7412 statements, 134164 bytes, 3 extensions, 66 warnings, 0 errors

 

Open Watcom Linker Version 1.3

Portions Copyright (c) 1985-2002 Sybase, Inc. All Rights Reserved.

Source code is available under the Sybase Open Watcom Public License.

See http://www.openwatcom.org/ for details.

loading object files

searching libraries

creating a Windows NT character-mode executable

 

The testing of the code, as slightly modified for PC use, is in ..\..\optimization\solving\mpcholesky\Welcome.htm

            The use of Bailey’s code with nlfit to fit the error function conjugate to a particular form in ..\..\Fittery\nlfit\aigau\fitting\Welcome.htm.  This links to a zip file with transmp.exe, nlfit, robmin and a few other files needed to make the fit.  Transmp as described above was used to make a 128 digit accurate version of robmin and nlfit.  These in turn enabled a very precise fit.

            The current ..\..\Fittery\nlfit\Welcome.doc htm uses ..\Bob\Welcome.doc htm in order to optimally mix double precision and multiple precision, but is not necessarily better than that produced quite simply by transmp.

 

Directory

 Volume in drive E has no label.

 Volume Serial Number is 2431-E154

 

 Directory of E:\public_html\class2K\optimization\mpcholesky\Quadruple

 

02/03/2006  10:01 AM             8,048 q_erf.f90 ß multiprecision error function

02/03/2006  09:59 AM             6,392 q_lngam.f90

07/31/2007  01:45 PM            49,516 TEST.zip ß shows that Watfor does not work, while Watcom does

03/09/2006  08:07 PM           168,647 transmp.zip ß contains transmp.f, mpfun.for and transmp.exe

08/02/2001  06:00 PM           289,246 mpfun.for ß Bailey’s multiple precsion routines

02/06/2006  02:08 PM           349,539 transmp.f ß code for converting normal routines to multiple precision.

02/05/2006  07:40 PM           171,277 transmp.pdf ß directions fro using transmp

 

 

c*****************************************************************************

 

c   MPFUN: A MULTIPLE PRECISION FLOATING POINT COMPUTATION PACKAGE

 

c   IEEE Fortran-77 version

c   Version Date:  2001-08-02

 

c   Author:

 

c      David H. Bailey

c      NERSC, Lawrence Berkeley Lab

c      Mail Stop 50B-2239

c      Berkeley, CA 94720

c      Email: dhbailey@lbl.gov

 

c   Restrictions:

 

c   This software was written while the author was an employee of NASA.

c   This software has been approved by NASA for unrestricted distribution.

c   However, usage of this software is subject to the following:

 

c   1. This software is offered without warranty of any kind, either expressed

c      or implied.  The author would appreciate, however, any reports of bugs

c      or other difficulties that may be encountered.

c   2. If modifications or enhancements to this software are made to this

c      software by others, NASA Ames reserves the right to obtain this enhanced

c      software at no cost and with no restrictions on its usage.

c   3. The author and NASA Ames are to be acknowledged in any published paper

c      based on computations using this software.  Accounts of practical

c      applications or other benefits resulting from this software are of

c      particular interest.  Please send a copy of such papers to the author.

FFT

            From ..\..\optimization\solving\mpcholesky\Quadruple\mpfun77.pdf

untitled1