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

Pythonで2つのベクトルの内積を返す


2つのベクトルの内積を返すには、Pythonでnumpy.vdot()メソッドを使用します。 vdot(a、b)関数は、dot(a、b)とは異なる方法で複素数を処理します。最初の引数が複素数の場合、最初の引数の複素共役が内積の計算に使用されます。 vdotは、ドットとは異なる方法で多次元配列を処理します。行列積を実行しませんが、最初に1次元ベクトルへの入力引数をフラット化します。したがって、ベクターにのみ使用する必要があります。

このメソッドは、aとbの内積を返します。 aとbのタイプに応じて、int、float、またはcomplexにすることができます。最初のパラメータはです。 aが複素数の場合、内積を計算する前に複素共役が取られます。 bは内積の2番目のパラメーターです。

ステップ

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

import numpy as np

array()メソッドを使用して2つのnumpy1次元配列を作成する-

arr1 = np.array([2+3j,5+6j])
arr2 = np.array([9+10j,11+12j])

配列を表示する-

print("Array1...\n",arr1)
print("\nArray2...\n",arr2)

両方のアレイの寸法を確認してください-

print("\nDimensions of Array1...\n",arr1.ndim)
print("\nDimensions of Array2...\n",arr2.ndim)

両方のアレイの形状を確認してください-

print("\nShape of Array1...\n",arr1.shape)
print("\nShape of Array2...\n",arr2.shape)

2つのベクトルの内積を返すには、Pythonでnumpy.vdot()メソッドを使用します-

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

import numpy as np

# Creating two numpy One-Dimensional array using the array() method
arr1 = np.array([2+3j,5+6j])
arr2 = np.array([9+10j,11+12j])

# Display the arrays
print("Array1...\n",arr1)
print("\nArray2...\n",arr2)

# Check the Dimensions of both the arrays
print("\nDimensions of Array1...\n",arr1.ndim)
print("\nDimensions of Array2...\n",arr2.ndim)

# Check the Shape of both the arrays
print("\nShape of Array1...\n",arr1.shape)
print("\nShape of Array2...\n",arr2.shape)

# To return the dot product of two vectors, use the numpy.vdot() method in Python.
print("\nResult...\n",np.vdot(arr1, arr2))

出力

Array1...
[2.+3.j 5.+6.j]

Array2...
[ 9.+10.j 11.+12.j]

Dimensions of Array1...
1

Dimensions of Array2...
1

Shape of Array1...
(2,)

Shape of Array2...
(2,)

Result...
(175-13j)


  1. 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と同じ場合、

  2. パターン「G」を印刷するPythonプログラム

    「*」を使用して文字「G」のパターンを印刷する必要がある場合は、メソッドを定義し、ネストされたループを使用して数値を反復処理し、「*」を印刷して「G」パターンを形成できます。 以下は同じのデモンストレーションです- 例 def display_pattern(my_line):    my_pattern=""    for i in range(0,my_line):       for j in range(0,my_line):