この記事では、Python言語とNumPyを用いて複素数を扱う方法をソースコード付きで解説します。
複素数
NumPy配列では複素数も扱うことができます。
複素数は次のように宣言します。
x = np.array([1+1j, 1+2j, 1+3j])
①□+○jの□が実部、○が虚部です。
②虚部が1のときは「j」でなく「1j」と記述する必要があります。
書式
以下のメソッドを用いることで実部・虚部のみを取り出したり、複素共益を計算できます。
– | 説明 |
---|---|
numpy.real(x) | 配列xから実部のみを取り出します。 |
numpy.imag(x) | 配列xから虚部を取り出します。 |
numpy.conj(x) | 配列xから複素共役を求めます。 |
ソースコード
サンプルプログラムのソースコードです。
# -*- coding: utf-8 -*- import numpy as np def main(): # 配列の生成 a = np.array([1+1j, 1+2j, 1+3j]) b = np.array([1+1j, 2+1j, 3+1j]) # 四則演算 print(a+b) # [ 2.+2.j 3.+3.j 4.+4.j] print(a-b) # [ 0.+0.j -1.+1.j -2.+2.j] print(a*b) # [ 0. +2.j 0. +5.j 0.+10.j] print(a/b) # [ 1.0+0.j 0.8+0.6j 0.6+0.8j] # 操作 print(np.real(a)) # 実部 [ 1. 1. 1.] print(np.imag(a)) # 虚部 [ 1. 2. 3.] print(np.conj(a)) # 複素共役 [ 1.-1.j 1.-2.j 1.-3.j] if __name__ == '__main__': main()
コメント