Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで次元が異なる2つの(配列の)ベクトルの外積を返します


2つのベクトルの外積を計算するには、Python Numpyのnumpy.cross()メソッドを使用します。このメソッドは、ベクトル外積であるcを返します。最初のパラメーターは、firstvector(s)のコンポーネントであるaです。 2番目のパラメーターはbで、2番目のベクトルの成分です。 3番目のパラメーターisaxisaは、ベクトルを定義するaの軸です。デフォルトでは、最後の軸。 4番目のパラメーターはaxisbで、ベクトルを定義するbの軸です。デフォルトでは、最後の軸。

5番目のパラメーターはaxiscで、cの軸には外積ベクトルが含まれています。戻り値がスカラーであるため、両方の入力ベクトルの次元が2の場合は無視されます。デフォルトでは、最後の軸。 6番目のパラメーターは、定義されている場合、ベクトルと外積を定義するa、b、cの軸です。 axisa、axisb、axiscをオーバーライドします。

ステップ

まず、必要なライブラリをインポートします-

import numpy as np

次元の異なる2つのベクトルを作成します。 int型の要素を挿入しました-

arr1 = [13, 11, 19]
arr2 = [19, 10]

ベクトルを表示する-

print("Vector 1...\n", arr1)
print("\nVector 2...\n", arr2)

2つのベクトルの外積を計算するには、Python Numpyのnumpy.cross()メソッドを使用します-

print("\nResult...\n",np.cross(arr1, arr2))

import numpy as np

# Creating two vectors with different dimensions
# We have inserted elements of int type
arr1 = [13, 11, 19]
arr2 = [19, 10]

# Display the vectors
print("Vector 1...\n", arr1)
print("\nVector 2...\n", arr2)

# To compute the cross product of two vectors, use the numpy.cross() method in Python Numpy
# The method returns c, the Vector cross product(s).
print("\nResult...\n",np.cross(arr1, arr2))

出力

Vector 1...
[13, 11, 19]

Vector 2...
[19, 10]

Result...
[-190 361 -79]

  1. Pythonで4Dおよび3D次元の配列のクロネッカー積を入手する

    4Dと3Dの次元配列のクロネッカー積を取得するには、Python Numpyのnumpy.kron()メソッドを使用します。最初の配列によってスケーリングされた2番目の配列のブロックで構成される複合配列であるクロネッカー積を計算します この関数は、aとbの次元数が同じであると想定し、必要に応じて最小の次元の前に1を追加します。 a.shape =(r0、r1、..、rN)およびb.shape =(s0、s1、...、sN)の場合、クロネッカー積は形状(r0 * s0、r1 * s1、...、 rN * SN)。要素は、aとbの要素の積であり、-によって明示的に編成されています。 kron(a

  2. Pythonで2つのスパースベクトルの内積を見つけるプログラム

    2つのリストで表される2つのスパースベクトルがあるとします。 2つのスパースベクトルの内積を返す必要があります。ベクトルはオブジェクトとして表され、リストはオブジェクトのメンバー変数numsに格納されます。 したがって、入力がvector1 =[1、0、0、0、1]、vector2 =[0、0、0、1、1]のようである場合、出力は1になります。内積は1 * 0+0です。 * 0 + 0 * 0 + 0 * 1 + 1 * 1=1。 これを解決するには、次の手順に従います- res:=0 インデックスiごとに、vector2の数の値vを実行します vが0と同じ場合、