学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
続 解析入門 (原書第2版) (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第1章(ベクトル)、4(ベクトルのノルム)の練習問題6の解答を求めてみる。
とおく。
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, Matrix, sqrt
print('6.')
class TestTriangleCosine(TestCase):
def test(self):
As = [Matrix(t) for t in [(2, -1, 1),
(3, 1, 1)]]
Bs = [Matrix(t) for t in [(1, -3, -5),
(-1, 2, 1)]]
Cs = [Matrix(t) for t in [(3, -4, -4),
(2, -2, 5)]]
cs = [(sqrt(35) / sqrt(41), sqrt(6) / sqrt(41), 0),
(1 / sqrt(17 * 26), 16 / sqrt(17 * 41), 25 / sqrt(26 * 41))]
for i, (A, B, C, (ca, cb, cc)) in enumerate(zip(As, Bs, Cs, cs)):
print(f'({chr(ord("a") + i)})')
self.assertEqual((B - A).dot(C - A) / ((B - A).norm() * (C - A).norm()),
ca)
self.assertEqual((C - B).dot(A - B) / ((C - B).norm() * (A - B).norm()),
cb)
self.assertEqual((B - C).dot(A - C) / ((B - C).norm() * (A - C).norm()),
cc)
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample6.py -v
6.
test (__main__.TestTriangleCosine) ... (a)
(b)
ok
----------------------------------------------------------------------
Ran 1 test in 0.048s
OK
%
0 コメント:
コメントを投稿