学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第Ⅵ部(多変数の関数)、第20章(合成微分律と勾配ベクトル)、4(保存律)の練習問題1の解答を求めてみる。
C である定数とすると、 問題のベクトル場 F は
ポテンシャル関数は
実際に勾配ベクトルを求めてみる。
偏微分を考える。
とおく。
よって、
コード
#!/usr/bin/env python3
from unittest import TestCase, main
import random
from sympy import symbols, Matrix, log
from sympy.plotting import plot3d
print('1.')
C = symbols('C')
xs = symbols('x:2', real=True)
X = Matrix(xs)
f = C * X / X.norm() ** 2
phi = C * log(X.norm())
grad_phi = Matrix([phi.diff(xi, 1) for xi in xs])
class TestPotential(TestCase):
def test(self):
self.assertEqual(f, grad_phi)
p = plot3d(phi.subs({C: 1}),
show=True)
p.save('sample1.png')
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample1.py -v
1.
test (__main__.TestPotential) ... ok
----------------------------------------------------------------------
Ran 1 test in 0.087s
OK
%
0 コメント:
コメントを投稿