MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

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.


  • Prev by Date: Re: Creating New Symbols
  • Next by Date: Re: unpartition
  • Previous by thread: Help with "recession bar" graph
  • Next by thread: Simplifying a second order eq. system tests=PRIORITY_NO_NAME version=2.55