arnoldi method with Mathematica
- To: mathgroup at smc.vnet.net
 - Subject: [mg45951] arnoldi method with Mathematica
 - From: hweekuan at yahoo.com (Hwee Kuan)
 - Date: Fri, 30 Jan 2004 04:16:57 -0500 (EST)
 - Sender: owner-wri-mathgroup at wolfram.com
 
Hi,
I am using Mathematica v5 for computation of large non-symmetric
tridiagonal matrices. I am trying to use the Eigenvalues[] function
with Arnoldi method, however, I got the following errors:
Eigenvalues::arm: 
   Method->Arnoldi can only be used for matrices of machine numbers.
Does anyone know how to get around this error? I needed precision
higher than the machine precision. Thank you in advance for the help.
*** A simple example of my code is given below.
(* this is ok, but please see below *)
In[1]:= sp = SparseArray[N[{{1,2,3},{3,2,1},{1,1,1}}]]
Out[1]= SparseArray[<9>, {3, 3}]
In[3]:= Eigenvalues[sp,1,Method->Arnoldi]
Out[3]= {5.}     <--- gives answer without error, but....if I specify
precision using SetPrecision I get error messages.
In[4]:= $MinPrecision = 20 $MachinePrecision
Out[4]= 319.092
In[8]:= spm = SetPrecision[ SparseArray[N[{{1,2,3},{3,2,1},{1,1,1}}]],
$MinPrecision]
Out[8]= SparseArray[<9>, {3, 3}]
In[9]:=  Eigenvalues[spm,1,Method->Arnoldi]
Eigenvalues::arm: 
   Method->Arnoldi can only be used for matrices of machine numbers.