2020年4月22日水曜日

学習環境

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


  1. s=yxt=zx

    とおく。

    ux=uxx3fs,t=3x2fs,t+x3xfs,t=3x2fs,t+x3dfds,dfdt·-yx2,-zx2=3x2fs,t-xydfds+zdfdtuy=x3dfds,dfdt·1x,0=x2dfdsuz=x3dfds,dfdt·0,1x=x2dfdtxux+yuy+zuz=3x3fs,t-x2ydfds-x2zdfdt+x2ydfds+x2zdtds=3u

コード

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

print('6.')

x, y, z = symbols('x, y, z')


class TestDerivativeChainRule(TestCase):
    def test(self):
        f = Function('f')(y / x, z / x)
        u = x ** 3 * f
        self.assertEqual(
            (x * u.diff(x, 1) + y * u.diff(y, 1) + z * u.diff(z, 1)).simplify(),
            3 * u)


if __name__ == "__main__":
    main()

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

% ./sample6.py -v 
6.
test (__main__.TestDerivativeChainRule) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.409s

OK
%

0 コメント:

コメントを投稿