学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第Ⅵ部(多変数の関数)、第17章(ベクトル)、5(直線と平面)の練習問題15の解答を求めてみる。
2つの平面の法線ベクトルはそれぞれ、
よって、 2平面の間の角を
とおくと、
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, Rational, Matrix, sqrt
print('15.')
def cos(a, b):
return a.dot(b) / (a.norm() * b.norm())
class MyTestCase(TestCase):
def test(self):
ts = [((1, 1, 1), (1, -1, -1)),
((2, 3, -1), (1, -1, 1)),
((1, 2, -1), (-1, 3, 1)),
((2, 1, 1), (-1, -1, 1))]
cosines = [-Rational(1, 3),
-2 / sqrt(42),
4 / sqrt(66),
-sqrt(2) / 3]
for (a, b), c in zip(ts, cosines):
a = Matrix(a)
b = Matrix(b)
self.assertEqual(cos(a, b), c)
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample15.py -v
15.
test (__main__.MyTestCase) ... ok
----------------------------------------------------------------------
Ran 1 test in 0.054s
OK
%
0 コメント:
コメントを投稿