2020年4月27日月曜日

学習環境

解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第Ⅵ部(多変数の関数)、第20章(合成微分律と勾配ベクトル)、1(合成微分律)の練習問題11の解答を求めてみる。


  1. F t = cos t A + sin t B = cos t A + sin t B · cos t A + sin t B = cos 2 t A 2 + sin 2 t 2 B 2 = sin 2 t + cos 2 t = 1

    よって、 t の各値に対して、 F (t)は半径1の球面上にある。

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, sin, cos, Matrix, sqrt
from sympy.plotting import plot3d_parametric_line

print('11.')

t = symbols('t')
a = Matrix([1, 0, 0])
b = Matrix([0, 1 / sqrt(2), 1 / sqrt(2)])
f = cos(t) * a + sin(t) * b


class TestDerivativeChainRule(TestCase):
    def test(self):
        self.assertEqual(a.norm(), 1)
        self.assertEqual(b.norm(), 1)
        self.assertEqual(a.dot(b), 0)
        self.assertEqual(a.norm(), 1)


p = plot3d_parametric_line(*f, show=True)
p.save('sample11.png')

if __name__ == "__main__":
    main()

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

% ./sample11.py -v
11.
test (__main__.TestDerivativeChainRule) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.037s

OK
%

0 コメント:

コメントを投稿