LoginSignup
2
1

More than 5 years have passed since last update.

GNU Octave で逆行列を計算する方法

Last updated at Posted at 2016-01-30

GNU Octave で逆行列を計算する手順について書いていきます。Octave 本体は既にインストールされていると仮定します。

逆行列

行列 $A$ が存在するとき、 $AA^{-1} = I$ かつ $A^{-1}A = I$ を満たす $A^{-1}$ を「$A$ の逆行列」と言います。ここでの $I$ は単位行列です。

具体的な例

次のような $A$ があるとします。

A = \left(
  \begin{array}{cc}
    3 & 4 \\
    2 & 16 \\
  \end{array}
\right)

これの逆行列を Octave で計算していきます。

(行列 A を宣言する)
octave:1> A = [3 4; 2 16]
A =

    3    4
    2   16


(pinv() 関数で逆行列を求める)
octave:2> pinv(A)
ans =

   0.400000  -0.100000
  -0.050000   0.075000


(逆行列を inverseOfA という変数に代入する)
octave:3> inverseOfA = pinv(A)
inverseOfA =

   0.400000  -0.100000
  -0.050000   0.075000


(A と A の逆行列の積をとり、単位行列になることを確認する)
octave:4> A * inverseOfA
ans =

   1.00000   0.00000
  -0.00000   1.00000


(A の逆行列と A の積をとり、単位行列になることを確認する: 浮動小数点数の計算誤差が出る)
octave:5> inverseOfA * A
ans =

   1.0000e+00  -4.4409e-16
   2.7756e-17   1.0000e+00

pinv() で計算し、$A$ の逆行列は次のように求まることが分かります。

A^{-1} = \left(
  \begin{array}{cc}
    0.4 & -0.1 \\
    -0.05 & 0.075 \\
  \end{array}
\right)
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1