2020年4月5日日曜日

学習環境

新装版 数学読本3 (松坂 和夫(著)、岩波書店)の第10章(新しい数とその表示ー複素数と複素平面)、10.1(複素平面)、ド・モアブルの公式と複素数のn乗根の問11の解答を求めてみる。


  1. 1を極形式で表す。

    1 = cos 2 k π + i sin 2 k π k

    1の n 乗根を

    z = cos θ + i sin θ

    とおく。

    z n = cos n θ + i sin n θ cos n θ + i sin n θ = cos 2 k π + i sin 2 k π n θ = 2 k π θ = 2 k π n z = cos 2 k π n + i sin 2 k π n

    よって、 1の4乗根は

    z = cos 2 k π 4 + i sin 2 k π 4 = cos k π 2 + i sin k π 2 = ± 1 , ± i

    1の6乗根は

    z = cos 2 k π 6 + i sin 2 k π 6 = cos k π 3 + i sin k π 3 = ± 1 , ± 1 ± 3 i 2

    (複号任意)

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, I, sqrt
print('11.')

a, b = symbols('a, b', real=True)
z = a + b * I


class MyTestCase(TestCase):
    def test_root4(self):
        for z in [-1, 1, -I, I]:
            self.assertEqual(z ** 4, 1)

    def test_root6(self):
        for z in [-1, 1,
                  (-1 - sqrt(3) * I) / 2, (-1 + sqrt(3) * I) / 2,
                  (1 - sqrt(3) * I) / 2, (1 + sqrt(3) * I) / 2]:
            try:
                self.assertEqual(z ** 6, 1)
            except:
                self.assertEqual((z ** 6).simplify(), 1)


if __name__ == "__main__":
    main()

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

% ./sample11.py -v 
11.
test_root4 (__main__.MyTestCase) ... ok
test_root6 (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.258s

OK
%

0 コメント:

コメントを投稿