2020年6月27日土曜日

学習環境

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



    1. X=(1,2,3,4)+t(1,1,1,1)=(1+t,2+t,3+t,4+t)

      求める Q と X の間の距離は

      (1+t-4)2+(2+t-3)2+(3+t-2)2+(4+t-1)2
      =(t-3)2+(t-1)2+(t+1)2+(t+3)2
      =4t2+20
      =2t2+5

    2. t=0

      のとき、すなわち

      X0=(1,2,3,4)

      のとき最小値

      25

    3. X0-Q=(-3,-1,1,3)
      (X0-Q)·A=-3-1+1+3=0

      よって直線に垂直である。

      (証明終)

コード

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

print('10.')

p = Matrix([1, 2, 3, 4])
q = Matrix([4, 3, 2, 1])
a = Matrix([1, 1, 1, 1])
t = symbols('t', real=True)
l = p + t * a
x0 = Matrix([1, 2, 3, 4])


class Test(TestCase):
    def test_a(self):
        self.assertEqual((l - q).norm().simplify(), 2 * sqrt(t ** 2 + 5))

    def test_c(self):
        self.assertEqual((x0 - q).dot(a), 0)


if __name__ == "__main__":
    main()

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

% ./sample10.py -v
10.
test_a (__main__.Test) ... ok
test_c (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.266s

OK
%

0 コメント:

コメントを投稿