2020年6月12日金曜日

学習環境

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



    1. [ 1 2 3 3 1 2 ]

    2. [ 1 2 3 2 3 1 ]

    3. [ 1 2 3 3 2 1 ]

    4. [ 1 2 3 4 3 1 2 4 ]

    5. [ 1 2 3 4 2 1 4 3 ]

    6. [ 1 2 3 4 4 2 1 3 ]

コード

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

print('2.')


class TestPermutationTransposition(TestCase):
    def test(self):
        ds1 = [
            {1: 2, 2: 3, 3: 1, 4: 4},
            {1: 3, 2: 1, 3: 2, 4: 4},
            {1: 3, 2: 2, 3: 1, 4: 4},
            {1: 2, 2: 3, 3: 1, 4: 4},
            {1: 2, 2: 1, 3: 4, 4: 3},
            {1: 3, 2: 2, 3: 4, 4: 1},
        ]
        ds2 = [
            {1: 3, 2: 1, 3: 2, 4: 4},
            {1: 2, 2: 3, 3: 1, 4: 4},
            {1: 3, 2: 2, 3: 1, 4: 4},
            {1: 3, 2: 1, 3: 2, 4: 4},
            {1: 2, 2: 1, 3: 4, 4: 3},
            {1: 4, 2: 2, 3: 1, 4: 3},
        ]

        for i, (d1, d2) in enumerate(zip(ds1, ds2)):
            print(f'({chr(ord("a") + i)})')
            s = [d2[d1[k]] for k, v in ({1: 1, 2: 2, 3: 4, 4: 4}).items()]
            self.assertEqual(s, [1, 2, 3, 4])


if __name__ == "__main__":
    main()

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

% ./sample2.py -v
2.
test (__main__.TestPermutationTransposition) ... (a)
(b)
(c)
(d)
(e)
(f)
ok

----------------------------------------------------------------------
Ran 1 test in 0.000s

OK
%

0 コメント:

コメントを投稿