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