next up previous
Next: A. Octave のサンプル・プログラム

応用数理実験
固有値問題 (1) 固有値問題に対する冪乗法

桂田 祐史

2005年6月28日

今回は固有値問題を取り扱うための冪乗法とその周辺の種々の手法を実験し てもらう。

実験に用いる行列は小さなもので良い。自分で選ぶのが面倒なら、次の行列 を使ってよい1

\begin{displaymath}
A=
\left(
\begin{array}{ccc}
1& 1& 1 \\
1& 2& 2 \\
1& 2& 3
\end{array}\right).
\end{displaymath}

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}}




next up previous
Next: A. Octave のサンプル・プログラム
Masashi Katsurada
平成17年8月22日