2020年4月20日月曜日

学習環境

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


  1. d r dx i = d dx i k = 1 n x k 2 1 2 = 1 2 k = 1 n x k 2 - 1 2 2 x i = x i k = 1 n x k 2 - 1 2 = x i r - 1

コード

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


print('4.')


class TestPartialDerivative(TestCase):
    def test_dxi(self):
        k = symbols('k', integer=True)
        for n in range(2, 11):
            r = sum([symbols(f'x{k}') ** 2
                     for k in range(1, n + 1)]) ** Rational(1, 2)
            for i in range(1, n + 1):
                xi = symbols(f'x{i}')
                self.assertEqual(r.diff(xi, 1), xi / r)


x, y = symbols('x, y')
p = plot3d((x ** 2 + y ** 2) ** Rational(1, 2),
           show=True)
p.save('sample4.png')

if __name__ == "__main__":
    main()

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

% ./sample4.py -v
4.
test_dxi (__main__.TestPartialDerivative) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.126s

OK
%

0 コメント:

コメントを投稿