学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windowsアプリ)
- iPad
- MyScript Nebo - MyScript(iPadアプリ(iOS))
- 参考書籍
新装版 数学読本3 (松坂 和夫(著)、岩波書店)の第10章(新しい数とその表示ー複素数と複素平面)、10.1(複素平面)、ド・モアブルの公式と複素数のn乗根の問12の解答を求めてみる。
よって 問題の複素数の平方根の極形式は
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, I, sqrt, sin, cos, pi, root
print('12.')
zs = [1 + I,
I,
-2 + 2 * sqrt(3) * I,
-1]
ns = [2, 3, 4, 5]
k = symbols('k', integer=True)
ras = [(root(2, 4), pi / 8 + k * pi),
(1, pi / 6 + 2 * k * pi / 3),
(sqrt(2), pi / 6 + k * pi / 2),
(1, pi / 5 + 2 * k * pi / 5)]
class MyTestCase(TestCase):
def test(self):
for i, (z, n, (r, a)) in enumerate(zip(zs, ns, ras), 1):
print(f'({i})')
if type(z) == int:
c = z
d = 0
else:
c, d = z.as_real_imag()
for k0 in range(n):
e, f = ((r * (cos(a) + I * sin(a))) **
n).subs({k: k0}).as_real_imag()
self.assertAlmostEqual(float(c), float(e))
self.assertAlmostEqual(float(d), float(f))
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample12.py -v
12.
test (__main__.MyTestCase) ... (1)
(2)
(3)
(4)
ok
----------------------------------------------------------------------
Ran 1 test in 0.272s
OK
%
0 コメント:
コメントを投稿