2020年6月29日月曜日

学習環境

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


  1. det(cI-A)
    =det[c-a11-a12-a21c-a22]=(c-a11)(c-a22)-a12a21=c2-c(a11+a22)+a11a22-a12a21
    A2=O
    {a112+a12a21=0a11a12+a12a22=0a11a21+a21a22=0a12a21+a222=0
    a112-a222=0(a11+a22)(a11-a22)=0
    a11+a22=0

    のとき、

    a22=-a11
    a12a21=-a112
    a11a22=-a112

    よって

    det(cI-A)=c2
    a11-a22=0

    のとき、

    a11=a22
    a11a12=0a11a21=0
    a11=0

    のとき

    a11+a22=0a11a22=0a12a21=0

    よって

    det(cI-A)=c2
    a12=a21=0

    のとき、

    a112=0a11=0

    よって

    det(cI-A)=c2

    (証明終)

コード

#!/usr/bin/env python3
from unittest import TestCase, main
import random
from sympy import Matrix
from sympy.abc import c

print('5.')


class Test(TestCase):
    def test(self):
        I = Matrix([[1, 0], [0, 1]])
        for i in range(50000):
            A = Matrix([random.randrange(-10, 11)
                        for _ in range(4)]).reshape(2, 2)
            if A ** 2 == Matrix([[0, 0], [0, 0]]):
                print(i)
                self.assertEqual((c * I - A).det(), c ** 2)


if __name__ == "__main__":
    main()

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

% ./sample5.py -v
5.
test (__main__.Test) ... 4248
5650
5992
12687
12689
17092
17482
18202
18573
20901
23245
24426
25631
26858
27137
29150
37909
39746
39975
42749
46018
48315
49074
49668
ok

----------------------------------------------------------------------
Ran 1 test in 14.086s

OK
%

0 コメント:

コメントを投稿