複素数、虚数をPythonで表現してみる

複素数を計算してみましょう。

Pythonでは複素数を扱えますが、複素数の虚部を数学では()で表しますがPythonでは j を使います。

type()関数に(a)を打ち込むと、complex型のオブジェクトと返してきました。

>>> a=2+3j
>>> type(a)
<class 'complex'>

逆にcomplex()関数で複素数を定義することもできますね。

complex(実部,虚部)として渡すと、下のように返してくれます。

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

複素数は足し算と引き算もすることができます。

こんな感じ。

>>> b=4+5j
>>> a+b
(6+8j)
>>> a-b
(-2-2j)

足し算と引き算ができるなら掛け算と割り算もできるはず?

できます。

代数同士の掛け算でもできますが、複素数同士の掛け算でも同じ結果を得ることができます。

そして割り算でも同じ結果を得ることができます。

>>> a*b
(-7+22j)
>>> (2+3j)*(4+5j)
(-7+22j)
>>>
>>> a/b
(0.5609756097560976+0.0487804878048781j)

複素数の実部と虚部を取り出す方法ですが、属性realとimagを使って取り出すことができます。

>>> z=2+3j
>>> z.real
2.0
>>> z.imag
3.0

共役(conjugate)は、実部が変わらず虚部の符号が逆になった複素数。

conjugate()を使った結果は下のとうり。

>>> z.conjugate()
(2-3j)

ではPythonで複素数の大きさ(magnitude)をを実部、を虚部の値として、という式を使って求めてみましょう。

この式をPythonで表現すると、下のようになります。

>>> (z.real**2+z.imag**2)**0.5
3.605551275463989

abs()関数を使って複素数の大きさを求めることもできます。

上の式のように、長い記述をする必要がないので間違いにくいでしょう。

>>> abs(z)
3.605551275463989

オンラインプログラミングならこちら↓↓↓


  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.