next up previous
Next: 3 行列が疎でも逆行列が疎とは限らない Up: 2003年度情報処理II     第10回 数学のためのコンピューター (2) Previous: 1.1 実験のための設定

2 最初の例


\begin{displaymath}
A=\left(
\begin{array}{cc}
1 & 2\ 2 & 3
\end{array} \ri...
...quad
x=\left(
\begin{array}{c}
1 \ -1
\end{array} \right)
\end{displaymath}

に対して、 $b=A x$ を計算してから、 $A^{-1} b$ を計算し (もちろん $x$ と等しくなるはず)、 $A^{-1}$ を計算して、$A^{-1}A=I$ を確かめ、 最後に $A$ の固有値 $\lambda_1$, $\lambda_2$と、 $P^{-1}A P=
\left(
\begin{array}{cc}
\lambda_1 & 0\\
0 & \lambda_2
\end{array}\right)$ となる $P$ を求める。

Octave のコマンド・メモ (1)
$A^{-1} b$ を計算する a\b
$A^{-1}$ を計算する inv(a)
$A$ の固有値を計算する eig(a)
$A$ の固有値と固有ベクトルを計算する [p lambda]=eig(a)
  p は固有ベクトルを並べた行列
Octave の終了 quit


samba03% octave
GNU Octave, version 2.0.17 (sparc-sun-solaris2.8).
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 John W. Eaton.
This is free software with ABSOLUTELY NO WARRANTY.
For details, type `warranty'.

octave:1> a=[1,2;2,3]
a =

  1  2
  2  3

octave:2> x=[1;-1]
x =

   1
  -1

octave:3> b=a*x
b =

  -1
  -1

octave:4> a\b
ans =

   1
  -1

octave:5> inv(a)
ans =

  -3   2
   2  -1

ctave:6> inv(a)*a
ans =

  1  0
  0  1

octave:7> eig(a)
ans =

  -0.23607
   4.23607

octave:8> [p lambda]=eig(a)
p =

  -0.85065   0.52573
   0.52573   0.85065

lambda =

  -0.23607   0.00000
   0.00000   4.23607

octave:9> inv(p)*a*p
ans =

   -2.3607e-01   -3.4694e-16
   -4.4409e-16    4.2361e+00

octave:10> quit
Samba03%

最後の $P^{-1}A P$ の計算は、丸め誤差の影響で、完全な対角行列にはなっ ていない (が、誤差は $10^{-16}$ のオーダーで十分小さい)。


next up previous
Next: 3 行列が疎でも逆行列が疎とは限らない Up: 2003年度情報処理II     第10回 数学のためのコンピューター (2) Previous: 1.1 実験のための設定
Masashi Katsurada
平成20年10月18日