Python 複素数 #2
株式会社リュディアです。今回も Python で複素数を扱う方法についてまとめます。
前回までの Python で複素数を扱う方法についてのまとめへのリンクは以下を参考にしてください。
2つの複素数の加減乗除から進めていきます。c1 = 3 + 5j, c2 = 2 + 4j として加減乗除をしてみます。
c1 = 3 + 5j
c2 = 2 + 4j
a = c1 + c2
s = c1 - c2
m = c1 * c2
d = c1 / c2
print(c1, c2, type(c1), type(c2))
print(a, type(a))
print(s, type(s))
print(m, type(m))
print(d, type(d))
# (3+5j) (2+4j) <class 'complex'> <class 'complex'>
# (5+9j) <class 'complex'>
# (1+1j) <class 'complex'>
# (-14+22j) <class 'complex'>
# (1.3-0.1j) <class 'complex'>
難しくないですよね。掛け算と割り算の検算はしませんが、だいたいこんな感じになりそうです。
次に c1 = 3 + 5j のままで c2 = 4 と整数型にして同様の処理をしてみましょう。
c1 = 3 + 5j
c2 = 4
a = c1 + c2
s = c1 - c2
m = c1 * c2
d = c1 / c2
print(c1, c2, type(c1), type(c2))
print(a, type(a))
print(s, type(s))
print(m, type(m))
print(d, type(d))
# (3+5j) 4 <class 'complex'> <class 'int'>
# (7+5j) <class 'complex'>
# (-1+5j) <class 'complex'>
# (12+20j) <class 'complex'>
# (0.75+1.25j) <class 'complex'>
複素数型と整数型の加減乗除も問題なく行えることを確認しました。
ちなみに複素数の除算をマニュアルで行うには共役な複素数が必要になります。Python で計算する場合に共役な複素数を求める必要はないのですがついでに求め方について調べてみましょう。conjugate() メソッドを使います。数学、物理、化学の世界で共役という意味の動詞、形容詞、名詞が conjugate です。では使ってみましょう。
c1 = 3 + 5j
print(c1)
print(c1.conjugate())
# (3+5j)
# (3-5j)
conjugate() メソッドを使うことで共役な複素数が得られていることを確認しました。
Python で複素数を扱う方法に関するまとめの続きは以下からどうぞ。
では、ごきげんよう。