Re: Dependence of precision on execution speed of Inverse
- To: mathgroup at smc.vnet.net
- Subject: [mg81749] Re: Dependence of precision on execution speed of Inverse
- From: Urijah Kaplan <uak at sas.upenn.edu>
- Date: Wed, 3 Oct 2007 02:20:07 -0400 (EDT)
- Organization: University of Pennsylvania
- References: <fdt3li$rut$1@smc.vnet.net>
There's an extended (i.e. greater than 80 bit) precision reference implementation of BLAS at http://crd.lbl.gov/~xiaoye/XBLAS/ Unfortunately, it only accepts single and double precision inputs, though it can calculate in higher precision than that (106 bits). It's also a few years old, and not as optimized as regular BLAS. --Urijah Kaplan > > Ah I see, thanks for your reply Daniel. So the arbitrary precision numbers > in Mathematica are each something like a struct with {a pointer to the > arbitrary precision mantissa data, the exponent, the length of the mantissa > data}; and because each element in a matrix could in principle have a > *different* arbitrary precision, there's no way to pack the array into a > contiguous lump of memory. So there's no way around de-referencing a lot of > pointers. > > But Daniel, would you agree that for (hypothetical) *fixed* precision > (across the whole matrix) non-machine-precision matrices of numbers, it > *would* be possible to create the analogue of packed arrays and therefore > make optimised routines to run on them, analogous to the routines that > currently operate on packed arrays of machine-precision numbers? I guess one > can write a code (in C++ or such) that can invert non-machine-precision > matrices (and do other operations for which Mathematica employs packed > arrays only for machine precision numbers) tens of times faster than > Mathematica can, by combining something like the GNU multiple precision > library (http://gmplib.org) with BLAS-like linear algebra code. > > I don't know how whether the efficiency of linear algebra at > higher-than-machine-precision affects many users, but it has come up in my > application so I am quite interested in the possibilities! > >