学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
対話・おもしろ線形代数 (木村良夫(著)、現代数学社)の第3話(行列による世界旅行)、君も挑戦してみようの問1の解答を求めてみる。
よって長さ24のループを作る。
逆回りのループをつくる行列、実際に確認。
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import Matrix
vs1 = []
vs2 = []
class TestMod5Loop(TestCase):
def test1(self):
m = Matrix([[0, 1],
[2, 3]])
u = Matrix([[1], [0]])
vs1.append(u)
v = (m * u) % 5
vs1.append(v)
i = 1
while u != v:
v = (m * v) % 5
vs1.append(v)
i += 1
self.assertEqual(i, 24)
def test2(self):
m = Matrix([[1, 3],
[1, 0]])
u = Matrix([[1], [0]])
vs2.append(u)
v = (m * u) % 5
i = 1
vs2.append(v)
while u != v:
v = (m * v) % 5
vs2.append(v)
i += 1
self.assertEqual(i, 24)
self.assertEqual(vs1, list(reversed(vs2)))
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample1.py -v
test1 (__main__.TestMod5Loop) ... ok
test2 (__main__.TestMod5Loop) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.041s
OK
%
0 コメント:
コメントを投稿