2020年2月20日木曜日

学習環境

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


  1. N=N-In=[0a12a13a1n00a22a2nnonenone000an-1,n000...0]

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

    Nn=O

    A の逆行列について。

    AI-N+N2-+-1n-1Nn-1=I+NI-N+N2-+-1n-1Nn-1=I+N-N+N2-N2++-1n-1Nn=I+-1n-1O=I

    よって、

    A-1=I+N-1=I-N+N2-+-1n-1Nn-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 コメント:

コメントを投稿