学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第Ⅵ部(多変数の関数)、第20章(合成微分律と勾配ベクトル)、1(合成微分律)の練習問題5の解答を求めてみる。
とおく。
コード
#!/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 コメント:
コメントを投稿