2020年4月10日金曜日

学習環境

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


  1. A = a 1 , , a n X = x 1 , , x n n

    とおく。
    このとき、 内積、偏微分、座標による表現について、

    f X = A · X = k = 1 n a k x k f x k = a k

コード

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

print('4.')

aks = symbols('a:10')
A = Matrix(aks)
xs = symbols('x:10')
X = Matrix(xs)
f = A.dot(X)


class TestPartialDerivative(TestCase):
    def test_xs(self):
        for ak, xk in zip(aks, xs):
            self.assertEqual(Derivative(f, xk, 1).doit(), ak)


a, b = [random.randrange(-5, 6) for _ in range(2)]
x, y = symbols('x, y')
p = plot3d(a * x + b * y,
           show=False)

p.show()
p.save('sample4.png')

if __name__ == "__main__":
    main()

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

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

----------------------------------------------------------------------
Ran 1 test in 0.010s

OK
%

0 コメント:

コメントを投稿