学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windowsアプリ)
- iPad
- MyScript Nebo - MyScript(iPadアプリ(iOS))
- 参考書籍
新装版 数学読本3 (松坂 和夫(著)、岩波書店)の第9章(図形と代数の交錯する世界 - 平面上のベクトル)、9.1(ベクトルとその演算)、内積を成分で表すことの問16の解答を求めてみる。
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, Matrix, sqrt, cos, Rational, pi, solveset, Interval
from sympy import FiniteSet
print('16.')
theta = symbols('θ')
domain = Interval(0, pi)
def cosine(a, b):
return a.dot(b) / (a.norm() * b.norm())
class MyTestCase(TestCase):
def test1(self):
a = Matrix([2, 3])
b = Matrix([1, -1])
self.assertEqual(cosine(a, b), -1 / sqrt(26))
def test2(self):
a = Matrix([-3, 0])
b = Matrix([-1, sqrt(3)])
c = cosine(a, b)
self.assertEqual(c, Rational(1, 2))
self.assertEqual(
solveset(c - cos(theta), domain=domain), FiniteSet(pi / 3))
def test3(self):
self.assertEqual(
solveset(cos(theta) - 1 / sqrt(2), domain=domain), FiniteSet(pi / 4))
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample16.py -v
16.
test1 (__main__.MyTestCase) ... ok
test2 (__main__.MyTestCase) ... ok
test3 (__main__.MyTestCase) ... ok
----------------------------------------------------------------------
Ran 3 tests in 0.602s
OK
%
0 コメント:
コメントを投稿