学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
ラング線形代数学(上) (ちくま学現文庫)(S.ラング (著)、芹沢 正三 (翻訳)、筑摩書房)の5章(線形写像と行列)、2(線形写像に対応する行列)、練習問題7の解答を求めてみる。
よって、
コード
#!/usr/bin/env python3
from unittest import TestCase, main
import random
from sympy import symbols, Matrix, cos, sin, solve
print('7.')
class TestRotateNorm(TestCase):
def test(self):
x, y = symbols('x, y')
X = Matrix([x, y]).reshape(2, 1)
theta = symbols('θ')
A = Matrix([[cos(theta), sin(theta)],
[-sin(theta), cos(theta)]])
for _ in range(10):
d = {o: random.randrange(-10, 11) for o in [x, y, theta]}
self.assertEqual(
float(X.norm().subs(d)),
float((A * X).norm().subs(d))
)
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample7.py -v
7.
test (__main__.TestRotateNorm) ... ok
----------------------------------------------------------------------
Ran 1 test in 0.358s
OK
%
0 コメント:
コメントを投稿