2020年3月7日土曜日

学習環境

解析入門(上) (松坂和夫 数学入門シリーズ 4) (松坂 和夫(著)、岩波書店)の第9章(関数列と関数級数)、9.3(複素整級数(指数関数・三角関数再論))、問題4の解答を求めてみる。



    • sinzcosw+coszsinw=eiz-e-iz2i·eiw+e-iw2+eiz+e-iz2·eiw-e-iw2i=14ieiz+w+eiz-w-ei-z+w-ei-z-w+eiz+w-eiz-w+ei-z+w-ei-z-w=14i2eiz+w-2e-iz+w=eiz+w-e-iz+w2i=sinz+w

    • coszcosw-sinzsinw=eiz+e-iz2·eiw+e-iw2-eiz-e-iz2i·eiw-e-iw2i=eiz+w+eiz-w+ei-z+w+e-iz+w4+eiz+w-eiz-w-ei-z+w+e-iz+w4=2eiz+w+2e-iz+w4=eiz+w+e-iz+wz=cosz+w

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, sin, cos

print('4.')

z, w = symbols('z, w', imag=True)


class MyTestCase(TestCase):
    def test_sine(self):
        a, b = sin(z + w).as_real_imag()
        c, d = (sin(z) * cos(w) + cos(z) * sin(w)).as_real_imag()
        self.assertEqual(a.simplify(), c.simplify())
        self.assertEqual(b.simplify(), d.simplify())

    def test_cosine(self):
        a, b = cos(z + w).as_real_imag()
        c, d = (cos(z) * cos(w) - sin(z) * sin(w)).as_real_imag()
        self.assertEqual(a.simplify(), c.simplify())
        self.assertEqual(b.simplify(), d.simplify())


if __name__ == "__main__":
    main()

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

% ./sample4.py -v
4.
test_cosine (__main__.MyTestCase) ... ok
test_sine (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 2 tests in 1.312s

OK
%

0 コメント:

コメントを投稿