【NumPy】複素数の使い方

この記事では、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()

おすすめ記事

Python入門 サンプル集
NumPy入門 サンプル集

コメント