桂田 祐史
2005年6月28日
今回は固有値問題を取り扱うための冪乗法とその周辺の種々の手法を実験し てもらう。
実験に用いる行列は小さなもので良い。自分で選ぶのが面倒なら、次の行列
を使ってよい1。
Mathmatica の使用例 |
oyabun% math Mathematica 4.0 for Solaris Copyright 1988-1999 Wolfram Research, Inc. -- Motif graphics initialized -- In[1]:= A={{1,1,1},{1,2,2},{1,2,3}} Out[1]= {{1, 1, 1}, {1, 2, 2}, {1, 2, 3}} In[2]:= Eigenvalues[A] Out[2]= (省略 --- 興味があればやってみて下さい) In[3]:= N[%,40] -46 Out[3]= {5.048917339522305313522214407023369723596 + 0. 10 I, -42 > 0.3079785283699041303721851029979308598027 + 0. 10 I, -42 > 0.6431041321077905561056004899786994166009 + 0. 10 I} In[4]:= na=N[A,50] Out[4]= {{1.0000000000000000000000000000000000000000000000000, > 1.0000000000000000000000000000000000000000000000000, > 1.0000000000000000000000000000000000000000000000000}, > {1.0000000000000000000000000000000000000000000000000, > 2.0000000000000000000000000000000000000000000000000, > 2.0000000000000000000000000000000000000000000000000}, > {1.0000000000000000000000000000000000000000000000000, > 2.0000000000000000000000000000000000000000000000000, > 3.0000000000000000000000000000000000000000000000000}} In[5]:= Eigenvalues[na] Out[5]= {5.0489173395223053135222144070233697235963877860565, > 0.64310413210779055610560048997869941660087281326538, > 0.30797852836990413037218510299793085980273940067811} In[6]:= Eigenvectors[na] Out[6]= {{-0.32798527760568176779603202500454990640870532112133, > -0.59100904850610352545794571799937980844713881955014, > -0.73697622909957824233808630700517009796156650157119}, > {0.73697622909957824233808630700517009796156650157119, > 0.32798527760568176779603202500454990640870532112133, > -0.59100904850610352545794571799937980844713881955014}, > {-0.59100904850610352545794571799937980844713881955014, > 0.73697622909957824233808630700517009796156650157119, > -0.32798527760568176779603202500454990640870532112133}} In[7]:= NSolve[Det[x IdentityMatrix[3]-A]==0, x, WorkingPrecision->30]} Out[7]= {{x -> 0.30797852836990413037218510300}, {x -> 0.64310413210779055610560048998}, {x -> 5.0489173395223053135222144070}} |