2020年2月20日木曜日

学習環境

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


  1. N = N - I n = [ 0 a 12 a 13 a 1 n 0 0 a 22 a 2 n 0 0 0 a n - 1 , n 0 0 0 . . . 0 ]

    よって、 N は狭義の上三角行列なので、 間16より

    N n = O

    A の逆行列について。

    A I - N + N 2 - + - 1 n - 1 N n - 1 = I + N I - N + N 2 - + - 1 n - 1 N n - 1 = I + N - N + N 2 - N 2 + + - 1 n - 1 N n = I + - 1 n - 1 O = I

    よって、

    A - 1 = I + N - 1 = I - N + N 2 - + - 1 n - 1 N n - 1

    (証明終)

コード

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


print('17.')


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


def g(i, j):
    if i == j:
        return 1
    return 0


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)])
            In = Matrix([[f(i, j) for j in range(n)]
                         for i in range(n)])
            N = A - In
            Z = Matrix([[0 for _ in range(n)]
                        for _ in range(n)])
            self.assertEqual(N ** n, Z)


if __name__ == '__main__':
    main()

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

% ./sample17.py -v
17.
test (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.387s

OK
%

0 コメント:

コメントを投稿