2020年6月21日日曜日

学習環境

ラング線形代数学(上) (ちくま学現文庫)(S.ラング (著)、芹沢 正三 (翻訳)、筑摩書房)の6章(行列式)、9(行列の逆転)、練習問題2の解答を求めてみる。


  1. n × n 行列 A が逆行列をもつと仮定する。

    det ( A A - 1 ) = det I = 1

    問題の仮定より、

    det A = 0

    なので

    det ( A A - 1 ) = det A det A - 1 = 0

    よって 矛盾。

    ゆえに、

    det A = 0

    ならば行列 A は逆行列をもたない。

    (証明終)

コード

#!/usr/bin/env python3
from unittest import TestCase, main
import random
from sympy import Matrix, pprint
from sympy.matrices.common import NonInvertibleMatrixError
print('2.')


class TestInverse(TestCase):
    def test1(self):
        a = Matrix([[0, 1],
                    [0, 0]])
        self.assertRaises(NonInvertibleMatrixError, a.inv)

    def test(self):
        for _ in range(1000):
            a = Matrix([random.randrange(-10, 11)
                        for _ in range(4)]).reshape(2, 2)
            if a.det() == 0:
                pprint(a)
                self.assertRaises(NonInvertibleMatrixError, a.inv)


if __name__ == "__main__":
    main()

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample2.py -v
2.
test (__main__.TestInverse) ... ⎡9   -9⎤
⎢      ⎥
⎣-2  2 ⎦
⎡9  3⎤
⎢    ⎥
⎣6  2⎦
⎡-4  -2⎤
⎢      ⎥
⎣0   0 ⎦
⎡-5  10⎤
⎢      ⎥
⎣0   0 ⎦
⎡2   1⎤
⎢     ⎥
⎣10  5⎦
⎡4  7⎤
⎢    ⎥
⎣4  7⎦
⎡9  -4⎤
⎢     ⎥
⎣9  -4⎦
⎡ 9   0⎤
⎢      ⎥
⎣-10  0⎦
⎡-3  -5⎤
⎢      ⎥
⎣0   0 ⎦
⎡-5   -2⎤
⎢       ⎥
⎣-10  -4⎦
⎡10  10⎤
⎢      ⎥
⎣10  10⎦
⎡ 1   -1⎤
⎢       ⎥
⎣-10  10⎦
⎡-10  -10⎤
⎢        ⎥
⎣ 0    0 ⎦
⎡4  4⎤
⎢    ⎥
⎣4  4⎦
⎡-4  -8⎤
⎢      ⎥
⎣-2  -4⎦
⎡0  0⎤
⎢    ⎥
⎣5  4⎦
⎡-7  10⎤
⎢      ⎥
⎣0   0 ⎦
⎡0  0⎤
⎢    ⎥
⎣4  5⎦
⎡-10  0⎤
⎢      ⎥
⎣-7   0⎦
⎡1  -1⎤
⎢     ⎥
⎣6  -6⎦
⎡3   3 ⎤
⎢      ⎥
⎣10  10⎦
⎡10   2 ⎤
⎢       ⎥
⎣-10  -2⎦
ok
test1 (__main__.TestInverse) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.129s

OK
%

0 コメント:

コメントを投稿