学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
ラング線形代数学(上) (ちくま学現文庫)(S.ラング (著)、芹沢 正三 (翻訳)、筑摩書房)の5章(線形写像と行列)、3(線形写像の合成)、練習問題1の解答を求めてみる。
よって、
逆写像について。
よって、
(証明終)
コード
#!/usr/bin/env python3
from unittest import TestCase, main
import random
from sympy import symbols, Matrix, cos, sin
print('1.')
theta = symbols('θ')
f = Matrix([[cos(theta), -sin(theta)],
[sin(theta), cos(theta)]])
def eq(A, B):
for a, b in zip(A, B):
if float(a) != float(b):
return False
return True
class TestRotate(TestCase):
def test_composition(self):
for _ in range(10):
a = random.randrange(-10, 11)
b = random.randrange(-10, 10)
self.assertTrue(eq(f.subs({theta: a}) * f.subs({theta: b}),
f.subs({theta: a + b})))
def test_inverse(self):
for _ in range(10):
theta0 = random.randrange(-10, 11)
self.assertTrue(eq(f.inv().subs({theta: theta0}),
f.subs({theta: -theta0})))
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample1.py -v
1.
test_composition (__main__.TestRotate) ... ok
test_inverse (__main__.TestRotate) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.518s
OK
%
0 コメント:
コメントを投稿