2020年2月19日水曜日

学習環境

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


  1. [ 0 a 12 0 0 ] [ 0 a 12 0 0 ] = [ 0 0 0 0 ] [ 0 a 12 a 13 0 0 a 23 0 0 0 ] [ 0 a 12 a 13 0 0 a 23 0 0 0 ] [ 0 a 12 a 13 0 0 a 23 0 0 0 ] = [ 0 0 a 12 a 23 0 0 0 0 0 0 ] [ 0 a 12 a 13 0 0 a 23 0 0 0 ] = [ 0 0 0 0 0 0 0 0 0 ]

    よって n が2、 3 の場合成り立つ。

    nxn 正方行列、狭義の 上三角行列の場合、

    A 2 = k = 0 n a i k a k j = k = i + 1 n a i k a k j

    また、

    k j

    のとき

    a k j = 0

    よって、

    A 2 = [ 0 0 b 1 b 2 b 3 0 0 0 b 4 b 5 0 0 0 0 b 6 0 0 0 0 0 0 0 0 0 0 ]

    ゆえに、 帰納法により、

    A n = A 2 A n - 2 = O

    (証明終)

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import Matrix, symbols, pprint
import random


print('16.')


def f(i, j):
    if i >= j:
        return 0
    return symbols(f'a{i}{j}')


class MyTestCase(TestCase):
    def test(self):
        for n in range(1, 11):
            A = Matrix([[f(i + 1, j + 1) for j in range(n)]
                        for i in range(n)])
            Z = Matrix([[0 for _ in range(n)]
                        for _ in range(n)])
            self.assertEqual(A ** n, Z)


if __name__ == '__main__':
    main()

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

% ./sample16.py -v
16.
test (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.319s

OK
%

0 コメント:

コメントを投稿