Re: high-precision eigenvalue solver



wakun@xxxxxxxxx wrote:
>
> Thank you for all your suggestions. I found a library in c++ supporting
> quadruple precision and the problem is solved at last with the help of
> the lib. However, it takes almost 10 times longer than that in double
> precision. I am searching a faster package. A guy told me lapack is
> great. However, I found, from http://www.netlib.org/lapack/, lapack
> only support double precision.

The reason it takes 10x longer is that everything is done in high-level
for portability. If you know how to use assembler you can hand-code the
specific quad-precision arithmetic functions you need (you might look
at Knuth for clues) and link them to your high-level calling program.

That's something of a pain, but it will reduce the running time about
3-fold. You can't do better than that, because a quad-precision multi-
plication uses 3 double-precision ones.

The double-precision (aka 64-bit) operations take the same time
as the (32-bit) single-precision ones because they are done on a math
chip in 80-bit wide registers. (Since the instructions are overlapped
on superscalar processors like the Pentia, the extra memory-access
time does not increase this factor 3 by more than a few percent, even
on systems with 32-bit bus width. Systems with 64-bit buses notice no
difference resulting from memory accesses.)

--
Julian V. Noble
Professor Emeritus of Physics

http://galileo.phys.virginia.edu/~jvn/

"For there was never yet philosopher that could endure the
toothache patiently."

-- Wm. Shakespeare, Much Ado about Nothing. Act v. Sc. 1.
.



Relevant Pages

  • Re: Reading complex multidimensionalarrays from C
    ... precision complex, but I don't think that the rationalizations hold up... ... compiler that does this, which makes the question a bit academic. ... The real*16 syntax is nonstandard and thus a compiler can do anything ... But supporting a particular real precision involves ...
    (comp.lang.fortran)
  • Re: Reading complex multidimensionalarrays from C
    ... they can support a quad precision real without also supporting a quad ... compiler that does this, which makes the question a bit academic. ... The real*16 syntax is nonstandard and thus a compiler can do anything ... But supporting a particular real precision involves ...
    (comp.lang.fortran)
  • Re: high-precision eigenvalue solver
    ... I found a library in c++ supporting ... quadruple precision and the problem is solved at last with the help of ... However, I found, from http://www.netlib.org/lapack/, lapack ...
    (sci.math.num-analysis)
  • Re: Chipmunk Basic arrays (Attn: Ron Nicholson)
    ... In an infinite-precision machine, 0.1 is stored exactly. ... defaulting to double-precision variables is the best choice. ... want or need higher precision in doing those. ... Programmers can make unfounded assumptions -- or reflex reactions ...
    (comp.lang.basic.misc)
  • Re: Converting Int to real
    ... double- precision floating point, ... The following hold true for numeric data types in MATLAB: ... All MATLAB computations are done in double-precision. ...
    (comp.soft-sys.matlab)