2020年4月5日日曜日

学習環境

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


  1. 1を極形式で表す。

    1=cos2kπ+isin2kπk

    1の n 乗根を

    z=cosθ+isinθ

    とおく。

    zn=cosnθ+isinnθcosnθ+isinnθ=cos2kπ+isin2kπnθ=2kπθ=2kπnz=cos2kπn+isin2kπn

    よって、 1の4乗根は

    z=cos2kπ4+isin2kπ4=coskπ2+isinkπ2=±1,±i

    1の6乗根は

    z=cos2kπ6+isin2kπ6=coskπ3+isinkπ3=±1,±1±3i2

    (複号任意)

コード

#!/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 コメント:

コメントを投稿