学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
ラング線形代数学(上) (ちくま学現文庫)(S.ラング (著)、芹沢 正三 (翻訳)、筑摩書房)の6章(行列式)、5(行列式の存在)、練習問題1の解答を求めてみる。
互換の積としてあらわすと、
符号は
コード
#!/usr/bin/env python3
from unittest import TestCase, main
print('1.')
def f(s, i, j):
k = s.index(i)
l = s.index(j)
s[k], s[l] = s[l], s[k]
class TestPermutationTransposition(TestCase):
def test(self):
permutation = [[2, 3, 1, 4],
[3, 1, 2, 4],
[3, 2, 1, 4],
[2, 3, 1, 4],
[2, 1, 4, 3],
[3, 2, 4, 1]]
transpositions = [[(1, 3), (2, 3)],
[(1, 3), (1, 2)],
[(1, 3)],
[(1, 2), (1, 3)],
[(1, 2), (3, 4)],
[(1, 3), (1, 4)]]
for i, (p, ts) in enumerate(zip(permutation, transpositions)):
print(f'({chr(ord("a") + i)})')
s = [1, 2, 3, 4]
for t in ts:
f(s, *t)
self.assertEqual(s, p)
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample1.py -v
1.
test (__main__.TestPermutationTransposition) ... (a)
(b)
(c)
(d)
(e)
(f)
ok
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
%
0 コメント:
コメントを投稿