Re: high-precision eigenvalue solver




In article <1134408555.768546.164240@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
wakun@xxxxxxxxx writes:
>
>> you should specify more precisely, what happens with your system.
> > Especially, why you think that the result of "eig" is not "ideal".
> > Maybe you are close to a multiple eigenvalue, where the standard codes
> > cannot give precise results.
> > I could also imagine that already your matrix is not sufficiently
>> accurate.
>> Alois
>I am working with a physical system that produces non-degenerated
>eigenvalues. I need to find out the lowest energy gap which is
>extremely small. To assure accuray, at least 16-digits precision must
>be guaranteed. Actually, the matrix is dependent to an external
>parameter which affect the eigenvalues dominately. Theoretically
>speaking, the gap against the external parameter is monotonously
>decreased. However, if the eigenvalues are not accurate enough, an
>obvious fluctuation can be observed.
>
matlab works with 16 digits, hence you cannot hope that the qr algorithm
will produce the eigenvalues with a sufficient precision, as more as qr
tends to give all eigenvalues with the same (absolute) precision,
in the order of eps*norm(matrix) or a little worse (depending, of course,
on the conditioning of the eigenvalues)
even if you switch to a Jacobi rotation algorithm, which is capable to
compute the smaller eigenvalues you are interested in with higher
(relative) precision it is quite questionable whether the ordinary double
precision will help. it depends on your environment what to do.
for a 32 bit architecture you may use a f77 -implementation of qr from lapack
plus the automatic arbitrary precision compiler of Bailey
http://www.netlib.org/toms/719
maybe also that your system also provides a quadruple precision package
plus a compiler switch for automatic execution of double precision
as quadruple precision (some HP systems have it).
otherwise you must do thta job yourself (there are some quadruple
precision packages available, e.g.
again by bailey:
http://www.nersc.gov/~dhbailey/mpdist/mpdist.html
a different package of alan miller
http://www.ozemail.com.au/~milleraj
and a c+ package of Wayne Hayes:
http://www.cs.utoronto.ca/~wayne/libwayne/libwayne.html

hth
peter
.



Relevant Pages

  • Re: Arpack smallest eigenvalue problem
    ... I have a problem in using arpack, I just did a test for a simple ... like to find the eigenvalues of that. ... in my matrix multiplication routine which is also quite basic. ... and the desired precision. ...
    (sci.math.num-analysis)
  • Re: A question about condition number
    ... particular direction, when large eigenvalues ... Does it mean linear system is unstable when detis, ... precision that you are working in. ... significant digits in your result. ...
    (comp.soft-sys.matlab)
  • Re: An error of matrix inversion using NumPy
    ... The ratio of max/min eigenvalues is 7.4368432669e+016 ... Maybe this exceed the of precision of my machine? ... column norms so that you end up with a fairly well scaled problem. ...
    (comp.lang.python)
  • Re: An error of matrix inversion using NumPy
    ... The ratio of max/min eigenvalues is 7.4368432669e+016 ... The problem is not with NumPy,but with double precision numbers. ... avoiding inverting the matrix in the first place. ...
    (comp.lang.python)
  • Re: Precision question
    ... 32 and 64 bit reals are normally available. ... implicit none ... to set up the precision you are interested ... If x is declared as quadruple precision, ...
    (comp.lang.fortran)