2020年4月11日土曜日

学習環境

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


  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('3.')

a, b, c = symbols('a, b, c')
A = Matrix([a, b, c])
x, y, z = symbols('x, y, z')
X = Matrix([x, y, z])
f = A.dot(X)


class TestPartialDerivative(TestCase):
    def test_xyz(self):
        for s, t in zip([x, y, z], [a, b, c]):
            self.assertEqual(Derivative(f, s, 1).doit(), t)


p = plot3d(*[random.randrange(-10, 10) * x + random.randrange(-10, 11) * y
             for _ in range(5)],
           show=False)

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

if __name__ == "__main__":
    main()

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

% ./sample3.py -v
3.
test_xyz (__main__.TestPartialDerivative) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.003s

OK
%

0 コメント:

コメントを投稿