2020年2月7日金曜日

学習環境

新装版 数学読本3 (松坂 和夫(著)、岩波書店)の第9章(図形と代数の交錯する世界 - 平面上のベクトル)、9.1(ベクトルとその演算)、内積を成分で表すことの問17の解答を求めてみる。



    1. a · a + x b = a · a + x a · b = a 2 + x a · b = 2 , 3 2 + x 2 , 3 · 1 , - 1 = 13 + x 2 - 3 = 13 - x 13 - x = 0 x = 13

    2. 1 , 4 · 2 + x , 3 - x = 0 2 + x + 12 - 4 x = 0 x = 14 3

    3. a + x b · a - x b = 0 a 2 - x 2 b 2 = 0 4 + 9 - x 2 1 + 1 = 0 x 2 = 13 2 x = ± 13 2

コード

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

print('17.')

a = Matrix([2, 3])
b = Matrix([1, -1])
x = symbols('x')


class MyTestCase(TestCase):
    def test1(self):
        self.assertEqual(solveset(a.dot(a + x * b)), {13})

    def test2(self):
        self.assertEqual(solveset((a - b).dot(a + x * b)), {Rational(14, 3)})

    def test3(self):
        self.assertEqual(solveset((a + x * b).dot(a - x * b)),
                         {sign * sqrt(Rational(13, 2)) for sign in [-1, 1]})


if __name__ == "__main__":
    main()

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

% ./sample17.py -v
17.
test1 (__main__.MyTestCase) ... ok
test2 (__main__.MyTestCase) ... ok
test3 (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.099s

OK
%

0 コメント:

コメントを投稿