2020年2月4日火曜日

学習環境

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


    • IA は n × r 行列で、

      I A = a i j

    • AI 行列は、 n × n 行列で、

      I A = a i j

コード

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

print('1.')

n = 3
r = 2
I = Identity(n)


class MyTestCase(TestCase):
    def test1(self):
        A = Matrix([[symbols(f'a{i + 1}{j + 1}') for j in range(r)]
                    for i in range(n)])
        IA = Matrix([[symbols(f'a{i + 1}{j + 1}') for j in range(r)]
                     for i in range(n)])
        self.assertEqual(I * A, IA)

    def test2(self):
        A = Matrix([[symbols(f'a{i + 1}{j + 1}') for j in range(n)]
                    for i in range(n)])
        AI = Matrix([[symbols(f'a{i + 1}{j + 1}') for j in range(n)]
                     for i in range(n)])
        self.assertEqual(A * I, AI)


if __name__ == '__main__':
    main()

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

% ./sample1.py -v
1.
test1 (__main__.MyTestCase) ... ok
test2 (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.004s

OK
%

0 コメント:

コメントを投稿