1. ホーム
  2. python

[解決済み] Pythonで複素数

2022-05-15 03:25:57

質問

複素数はpythonでサポートされているデータ型ですか?もしそうなら、どのようにそれらを使用しますか?

どのように解決するのですか?

pythonでは、数字の後に'j'や'J'を付けると虚数になるので、複雑なリテラルを簡単に書くことができます。

>>> 1j
1j
>>> 1J
1j
>>> 1j * 1j
(-1+0j)

j」は電気工学に由来するもので、通常「i」という変数が電流に使われます。 ( 理由はここにあります。 )

複素数の型は complex で、お好みで型をコンストラクタとして使用することができます。

>>> complex(2,3)
(2+3j)

複素数にはいくつかの組み込みアクセサがあります。

>>> z = 2+3j
>>> z.real
2.0
>>> z.imag
3.0
>>> z.conjugate()
(2-3j)

いくつかの組み込み関数が複素数をサポートしています。

>>> abs(3 + 4j)
5.0
>>> pow(3 + 4j, 2)
(-7+24j)

標準モジュール cmath には、複素数を扱う関数がより多く用意されています。

>>> import cmath
>>> cmath.sin(2 + 3j)
(9.15449914691143-4.168906959966565j)