Pythonのcomplex型は、複素数を表すために使用されます。複素数は、実数部と虚数部を持つ数で、数学や工学、物理学など多くの分野で重要な役割を果たします。
複素数って実数と虚数を表したあれですね。
数学とかで使うから日常ではあまり使わないね。詳しくは説明しないけどPythonでは複素数が型であるんだ。
複素数って何?
複素数は、実数だけでは解くことができない数学の問題を解くために使われる数です。
普通の数にはない「虚数」というものを使います。複素数は「実数部」と「虚数部」から成り立っています。例えば、3 + 4jという数では、3が実数部、4jが虚数部です。ここでのjは虚数単位と呼ばれ、これを2乗すると-1になります。
3 + 4jのように書くと、Pythonはこれを複素数として認識します。
# 複素数の例
my_complex_number = 3 + 4j
複素数の実数部と虚数部
作成した複素数から、実数部と虚数部を取り出すことができます。
# 実数部を取得
real_part = my_complex_number.real # 3.0
# 虚数部を取得
imaginary_part = my_complex_number.imag # 4.0
複素数の計算
複素数同士で足し算、引き算、掛け算、割り算をすることができます。
# 別の複素数
another_complex_number = 1 + 2j
# 足し算
sum = my_complex_number + another_complex_number # 4 + 6j
# 引き算
difference = my_complex_number - another_complex_number # 2 + 2j
# 掛け算
product = my_complex_number * another_complex_number # -5 + 10j
# 割り算
quotient = my_complex_number / another_complex_number # 2.2 - 0.4j
複素数は、日常生活ではあまり使われませんが、科学や工学の分野で非常に重要です。次は複素数を使った簡単な例を出します。
複素数を使用した例
1. 複素数の作成と属性の取得
複素数を作成し、その実数部と虚数部を取得する基本的な例です。
# 複素数の作成
c = 3 + 4j
# 実数部と虚数部の取得
real_part = c.real # 実数部: 3.0
imaginary_part = c.imag # 虚数部: 4.0
print("実数部:", real_part)
print("虚数部:", imaginary_part)
2. 複素数同士の加算と減算
二つの複素数を加算または減算します。
# 複素数同士の加算
c1 = 1 + 2j
c2 = 3 + 4j
sum = c1 + c2 # 4 + 6j
# 複素数同士の減算
difference = c2 - c1 # 2 + 2j
print("和:", sum)
print("差:", difference)
3. 複素数の乗算と除算
複素数同士の乗算と除算を行います。
# 複素数同士の乗算
product = c1 * c2 # -5 + 10j
# 複素数同士の除算
quotient = c2 / c1 # 2.2 - 0.4j
print("積:", product)
print("商:", quotient)
4. 複素数の共役と絶対値
複素数の共役を取得し、複素数の絶対値(大きさ)を計算します。
# 複素数の共役
conjugate = c.conjugate() # 3 - 4j
# 複素数の絶対値
magnitude = abs(c) # 5.0
print("共役:", conjugate)
print("絶対値:", magnitude)
5. 複素数を使用した実用的な例
電気工学では、交流回路におけるインピーダンス(抵抗)の計算に複素数が使用されます。ここでは、シンプルな例として、インピーダンスの合計を計算します。
# インピーダンスの例
R = 4 + 0j # 抵抗: 4オーム
L = 0 + 2j # インダクタンスによるインピーダンス: 2jオーム
# シリーズ回路の合計インピーダンス
total_impedance = R + L # 4 + 2jオーム
print("合計インピーダンス:", total_impedance)
まとめ
Pythonで複素数を扱うのはとても簡単です。実数部と虚数部を持つcomplex型を使って、複素数の計算を行うことができます。
複素数は特殊な数ですが、Pythonを使えば誰でも簡単に扱うことができるようになります。興味があれば、複素数を使ったさまざまな計算に挑戦してみてくださいね。