学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第Ⅵ部(多変数の関数)、第20章(合成微分律と勾配ベクトル)、2(接平面)の練習問題2の解答を求めてみる。
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, sin, cos, exp, log, pi, Matrix
print('2.')
x, y, z = symbols('x:z')
f = z - exp(x) * sin(y)
gradf = Matrix([f.diff(o) for o in [x, y, z]])
p = {x: log(3), y: 3 * pi / 2, z: -3}
class TestGradient(TestCase):
def test_gradf(self):
self.assertEqual(gradf, Matrix(
[-exp(x) * sin(y), -exp(x) * cos(y), 1]))
def test_gradfp(self):
self.assertEqual(gradf.subs(p), Matrix([3, 0, 1]))
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample2.py -v
2.
test_gradf (__main__.TestGradient) ... ok
test_gradfp (__main__.TestGradient) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.005s
OK
%
0 コメント:
コメントを投稿