2020年7月1日水曜日

学習環境

続 解析入門 (原書第2版) (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第1章(ベクトル)、6(平面)の練習問題15の解答を求めてみる。



    1. cos θ = 1 - 1 - 1 3 3 = - 1 3

    2. cos θ = - 2 14 3 = - 2 42 = - 42 21

    3. cos θ = 4 6 11 = 4 66 = 2 66 33

    4. cos θ = - 2 6 3 = - 2 3 2 = - 2 3

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import sqrt, Rational, Matrix

print('15.')


class TestCosin(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))]
        cs = [-Rational(1, 3),
              -sqrt(42) / 21,
              2 * sqrt(66) / 33,
              -sqrt(2) / 3]
        for i, (t, c) in enumerate(zip(ts, cs)):
            print(f'({chr(ord("a") + i)})')
            a, b = [Matrix(s) for s in t]
            self.assertEqual(a.dot(b) / (a.norm() * b.norm()), c)


if __name__ == "__main__":
    main()

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample15.py -v
15.
test (__main__.TestCosin) ... (a)
(b)
(c)
(d)
ok

----------------------------------------------------------------------
Ran 1 test in 0.038s

OK
%

0 コメント:

コメントを投稿