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