2020年4月15日水曜日

学習環境

解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第Ⅵ部(多変数の関数)、第19章(多変数の関数)、3(微分可能性と勾配)の練習問題8の解答を求めてみる。


  1. f x = x x y x 2 + y 2 = y x 2 + y 2 - x y · 2 x x 2 + y 2 2 = y x 2 + y 2 - 2 x 2 x 2 + y 2 2 = y y 2 - x 2 x 2 + y 2 2 f y = x x 2 - y 2 x 2 + y 2 2

コード

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

print('8.')

x, y = symbols('x, y')
f = x * y / (x ** 2 + y ** 2)


class TestInequalities(TestCase):
    def test_dx(self):
        self.assertEqual(
            Derivative(f, x, 1).doit().simplify(),
            y * (y ** 2 - x ** 2) / (x ** 2 + y ** 2) ** 2
        )

    def test_dy(self):
        self.assertEqual(
            Derivative(f, y, 1).doit().simplify(),
            x * (x ** 2 - y ** 2) / (x ** 2 + y ** 2) ** 2
        )


p = plot3d(f, show=True)
p.save('sample8.png')

if __name__ == "__main__":
    main()

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

% ./sample8.py -v
8.
test_dx (__main__.TestInequalities) ... ok
test_dy (__main__.TestInequalities) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.313s

OK
%

0 コメント:

コメントを投稿