2020年4月21日火曜日

学習環境

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


  1. s = x - y t = y - x

    とおく。

    u x + u y = x f x - y , y - x + y f x - y , y - x = x f s , t + y f s , t = d f d s , d f dt · 1 , - 1 + d f d s , d f dt · - 1 , 1 = d f d s - d f dt - d f d s + d f dt = 0

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, Function, pprint, Derivative
from sympy.plotting import plot3d


print('5.')

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


class TestPartialDerivative(TestCase):
    def test(self):
        u = Function('u')(x - y, y - x)
        self.assertEqual(u.diff(x, 1) + u.diff(y, 1), 0)


s, t = symbols('s, t')
f = 2 * s ** 2 - 3 * t + 1
g = f.subs({s: x - y, t: y - x})

for o in [x, y]:
    d = Derivative(g, o, 1)
    for h in [d, d.doit()]:
        pprint(h)
        print()
pprint(g.diff(x, 1) + g.diff(y, 1))

p = plot3d(g,
           show=True)
p.save('sample5.png')

if __name__ == "__main__":
    main()

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

% ./sample5.py -v
5.
∂ ⎛                     2    ⎞
──⎝3⋅x - 3⋅y + 2⋅(x - y)  + 1⎠
∂x                            

4⋅x - 4⋅y + 3

∂ ⎛                     2    ⎞
──⎝3⋅x - 3⋅y + 2⋅(x - y)  + 1⎠
∂y                            

-4⋅x + 4⋅y - 3

0
test (__main__.TestPartialDerivative) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.009s

OK
%

0 コメント:

コメントを投稿