Numpy 複素数

Numpy Fu Su Shu



複素数は、従来の a+bi で表されるものであることがわかっています。ここで、「a」 は常に実数です。 「b」も実数ですが、「i」は虚数成分です。もう 1 つわかっていることは、「i^2 = -1」です。これは、「I」を虚部と呼ぶこの方程式を満たす実数がないためです。 Numpy は実数だけでなく虚数もサポートしています。 NumPy では、虚数は「j」で表されます。 np.complex()、np.range()、np.array() などの複素数を持つ配列を作成および操作するには、さまざまな方法があります。

構文

複素数を含む配列を作成するための構文は次のとおりです。

方法 1:

1j * np。 並べる ( サイズ )

上記の 1j の構文は、複素数の配列を作成することを意味する虚部です。np.arrang は、指定された範囲の配列を作成するために NumPy によって提供される関数です。配列のサイズを示すサイズが関数に渡されます。







方法 2:

例えば 配列 ( [ Re+Re*Im Re+Re*Im ] )

この構文では、np.array は配列を作成できる関数ですが、配列に範囲を渡すことはできません。値を「n」回渡すだけです。関数には、実数を表す「Re」と実数の倍数の虚数「Im」を足したものを渡しています。虚数を n 回渡すことができます。



例 # 01:

私たちが知っているように、NumPy は複素数もサポートしており、複素数を実装および操作するための複数の種類のメソッドを提供しています。以下の例では、複素数を含む配列を作成する 2 つの方法を実装します。 NumPy 関数を実装するには、まず NumPy ライブラリを np としてインポートします。次に、複素数を含む関数 np.arange() を割り当てる「array_a」という名前の配列を初期化します。そして、配列の範囲は「8」になります。次の行では、「array_b」という名前の別の配列を作成し、複素数値を直接渡すことで複素数の配列を渡しました。最後に、両方の方法を使用して作成した複雑な配列を出力しました。



輸入 でこぼこ なので 例えば

array_a = 1j * np。 並べる ( 8 )

配列_b = 例えば 配列 ( [ 2 +1日 3 +4j 5 +2j 1 +6j ] )

印刷する ( 「arange() 関数を使用した複素配列」 array_a )

印刷する ( 「np.array() 関数を使用した複雑な配列」 配列_b )





以下のスニペットに示すように、実行したコードの結果です。 0j から 7j までの複素数の範囲を持つ 2 つの配列を作成したことがわかります。もう 1 つの例では、サイズ 4 の複素数のランダムな範囲を渡しました。



方法 3:

例えば 繁雑 ( Re+Re*Im )

上記の構文では、np.complex() は、複雑な値を格納できるようにする Python パッケージ NumPy によって提供される組み込みクラスです。

例 # 02:

NumPy の複雑な配列を作成する別の方法は、NumPy の complex() クラスを使用することです。 Complex class() は複素数を格納するために使用され、単一のコード内で複数回使用できる複素数オブジェクトを返します。 complex() クラスを実装したら、まず Numpy パッケージをインポートします。次に、アスタリスク「*」を使用して「3+1j」を渡したcomplex()クラスのオブジェクトを渡す複合クラスを渡した配列を初期化します。 Arrange() 関数を使用して、サイズ 5 の配列を作成しました。最後に、complex() クラスを使用して複雑な配列を作成したコードの出力を表示しました。

輸入 でこぼこ なので 例えば

配列 = 例えば 繁雑 ( 3 +1日 ) *例えば。 並べる ( 5 )

印刷する ( 「np.complex() クラスを使用した複雑な配列」 配列 )

下の図に示すように、複素数の配列を作成しました。しかし、この図でもう 1 つ気付くのは、'3+1j' を complex() クラスに渡しているため、定数値が連続して実行されていないことです。これは、次のすべての定数値に 3 が追加されることを意味します。

方法 4:

例えば もの ( dtype = なし 注文 = 'C' * お気に入り = なし )

このメソッド np.ones() では、NumPy 配列の dtype パラメータを使用して複素数の配列を指定します。 Np.ones() は、1 を含む新しい配列を返すために使用されます。関数 np.ones() に、4 つのパラメーター「shape」を渡しました。これは、「2」、「3」などの配列の形状を定義するために使用されます。 「dtype」はデータ型です。この場合、複雑なデータ型を使用します。 「順序」は、配列が 1 次元、2 次元、または多次元のいずれであるかを定義します。

例 # 03:

ones() メソッドを実装して、複素数を使用しているときにどのように機能するかをよりよく理解しましょう。この方法を実装するには、まず Python が提供する NumPy のパッケージをインポートします。次に、2 つのパラメーターを渡した np.ones() 関数を渡す配列を作成します。最初のものは配列サイズが 4 になることを意味する「4」で、2 つ目は複雑な「dtype」です。つまり、データ型が複素数の配列を作成します。 ones() 関数に値「2」を掛けると、実数は「2」になります。最後に、print ステートメントを使用して、作成した配列を出力しました。

輸入 でこぼこ なので 例えば

配列 = 例えば もの ( 4 dtype = 繁雑 ) * 2

印刷する ( 「np.ones() 関数を使用した複雑な配列」 配列 )

以下に示すように、コードの出力は正常に実行され、実数 2 の 4 つの複素数を含む 1 次元配列があります。

例 # 04:

複素数の配列を作成し、複素数の虚部と実部を出力する別の例を実装しましょう。最初に NumPy ライブラリをインポートしてから、「56+0j、27+0j、68+0j、49+0j、120+0j」である「array」という名前の配列に「6」個の複素数値を渡した配列を作成します。 、4+0j」。次の行では、単純に配列を出力しました。次に、複素数配列の虚数と実数の値を出力します。

Numpy は、以下に示す両方の操作に組み込み関数を提供します。虚数部を取得する最初のものは「array_name.imag」です。ここで、ドットの前の値は、虚数部を取得する必要がある配列です。そして、実部を取得する 2 つ目は「array_name.real」です。この場合、配列の名前は「array」なので、print ステートメント、配列名、およびキーワードを渡して、両方の要素を取得しました。

輸入 でこぼこ なので 例えば

配列 = 例えば 配列 ( [ 56 .+ 0 . j 27 .+ 0 . j 68 .+ 0 . j 49 .+ 0 . j 120 .+ 0 . j 3 + 4 . j ] )

印刷する ( '元の配列:x' 配列 )

印刷する ( 「配列の実部:」 )

印刷する ( 配列 . 本物 )

印刷する ( 「配列の虚部:」 )

印刷する ( 配列 . 画像 )

以下のスニペットに示すように、複素数配列の虚部と実部が正常に実行された出力。実部は「56」、「27」、「68」、「120」、「3」です。そして虚数部は「0」です。

結論

この記事では、複素数と、NumPy の組み込み関数を使用して複素数配列を作成する方法について簡単に説明しました。複数の例を実装して理解を深めることで、複雑な配列を作成できるようにする複数の関数について説明しました。