学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第Ⅵ部(多変数の関数)、第20章(合成微分律と勾配ベクトル)、1(合成微分律)の練習問題12の解答を求めてみる。
点 P、 Q は原点を中心とする半径1の球面 上の点なので、
である。
また、
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, sin, cos, Matrix, solve, Rational, sqrt
from sympy.plotting import plot3d_parametric_line, plot3d
print('12.')
t = symbols('t')
p = Matrix([1 / sqrt(2), 1 / sqrt(2 * sqrt(2)), sqrt(2 * sqrt(2))])
q = Matrix([-1 / sqrt(2), -1 / sqrt(2 * sqrt(2)), -sqrt(2 * sqrt(2))])
l = p + t * (q - p)
class Test(TestCase):
def test_t(self):
self.assertEqual(solve([o for o in l]), {t: Rational(1, 2)})
def test_pq(self):
for pi, qi in zip(p, q):
self.assertEqual(pi, -qi)
pp = plot3d_parametric_line(*l, (t, 0, 1), show=False)
x, y = symbols('x, y')
for o in plot3d(*[s * sqrt(1 - x ** 2 - y ** 2) for s in [-1, 1]],
(x, -1, 1),
(y, -1, 1),
show=False):
pp.append(o)
pp.show()
pp.save('sample12.png')
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample12.py -v
12.
test_pq (__main__.Test) ... ok
test_t (__main__.Test) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.022s
OK
%
0 コメント:
コメントを投稿