2020年7月15日水曜日

学習環境

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


  1. d ( X ( t ) × Y ( t ) ) dt
    = d ( ( x 1 ( t ) , x 2 ( t ) , x 3 ( t ) ) × ( y 1 ( t ) , y 2 ( t ) , y 3 ( t ) ) ) dt
    = d ( x 2 ( t ) y 3 ( t ) - x 3 ( t ) y 2 ( t ) , x 3 ( t ) y 1 ( t ) - x 1 ( t ) y 3 ( t ) , x 1 ( t ) y 2 ( t ) - x 2 ( t ) y 1 ( t ) ) dt
    = ( dx 2 dt y 3 + x 2 dy 3 dt - dx 3 dt y 2 - x 3 dy 2 dt , dx 3 dt y 1 + x 3 dy 1 dt - dx 1 dt y 3 - x 1 dy 3 dt , dx 1 dt y 2 + x 1 dy 2 dt - dx 2 dt y 1 - x 2 dy 1 dt )
    = X ( t ) × d Y ( t ) dt + d X ( t ) dt × Y ( t )

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import Matrix, Function, Derivative
from sympy.abc import t

print('10.')

x = Matrix([Function(f'x{i}')(t) for i in range(1, 4)])
y = Matrix([Function(f'y{i}')(t) for i in range(1, 4)])


class Test(TestCase):
    def test(self):
        self.assertEqual(
            Derivative(x.cross(y), t, 1).doit(),
            x.cross(Derivative(y, t, 1).doit()) +
            Derivative(x, t, 1).doit().cross(y)
        )


if __name__ == "__main__":
    main()

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

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

----------------------------------------------------------------------
Ran 1 test in 0.047s

OK
%

0 コメント:

コメントを投稿