PythonのNumpy Log1p()メソッド

NumPyはPython言語のサードパーティライブラリであり、大規模な多次元配列と行列のサポートを追加し、これらの配列で実行する多くの高レベルの数学関数を伴います。

Numpy log()関数は、値x + 1の自然対数を取得するために使用されます。ここで、xは配列の要素、またはxはオブジェクトです。log1pは、exp(x)–1の逆です。 

np.log1p

Numpy log1p()は、ユーザーがx + 1の自然対数値を計算するのに役立つ数学関数です。ここで、xはすべての入力配列要素に属します。log1pは() の逆である1 - EXP(X)

np.log1p()関数は二つの引数受け入れ アレイ と アウト パラメータ、および戻り値指定された配列要素の要素のX + 1の自然対数の配列。

 

構文

numpy.log1p(array[, out] = ufunc ‘log1p’)

パラメーター

np.log1p()関数は、最大2つの主要な引数を取ることができます。

  1. array:これは、ログが計算される入力配列またはオブジェクトです。ただし、この関数は配列のすべての要素に1を追加します。
  2. out:これはオプションのフィールドです。結果が格納される位置。指定する場合は、入力が伝達する形式である必要があります。指定しない場合またはなしの場合は、新しく割り当てられたリストを返します。タプルは(唯一のキーワード引数として可能)出力の数と同じ長さを有していなければなりません。

戻り値

log1p()関数は、指定された配列要素の要素の値x +1の自然対数の配列を返します。

 

numpy.log()の動作を示すプログラム

次のコードを参照してください。

# Program to show the working of numpy.log

# Importing numpy
import numpy as np

# We will create an 1D array
arr = np.array([4, 14, 10, 63, 11, 4, 64])
# Printing the array
print("The array is: ", arr)
# Shape of the array
print("Shape of the array is : ", np.shape(arr))

# Calculating natural log of value arr[i]+1
out = np.log1p(arr)
print("Natural logarithm of the given array is ")
print(out)

出力

The array is:  [ 4 14 10 63 11  4 64]
Shape of the array is :  (7,)
Natural logarithm of the given array is
[1.60943791 2.7080502  2.39789527 4.15888308 2.48490665 1.60943791
 4.17438727]

説明

このプログラムでは、形状7の配列を宣言してから、その配列を出力しました。次に、numpy.log1p()を呼び出して、指定された配列の要素の値arr [i] +1の自然対数を計算しました。

log()のグラフィック表現

次のコードを参照してください。

# Program to show Graphical represntation

# Importing numpy
import numpy as np
import matplotlib.pyplot as plt

# We will create an 1D array
arr = np.array([40, 2.4, 0.14, 63, 1.2, 1, 4])
# Printing the array
print("The array is: ", arr)
# Shape of the array
print("Shape of the array is : ", np.shape(arr))

# Calculating natural log of value arr[i]+1
out = np.log1p(arr)
print("Natural logarithm of the given array is ")
print(out)

# Ploting of original array in Graph
# Color will be in Green
plt.plot(arr, arr, color='green', marker='x')

# Ploting of natural log array in Graph
# Color will be in blue
plt.plot(out, arr, color='blue', marker='o')

# Showing the Graphical represntation
plt.title("numpy.log1p()")
plt.xlabel("Natural Log Array")
plt.ylabel("Original Array")
plt.show()

出力

The array is:  [40.    2.4   0.14 63.    1.2   1.    4.  ]
Shape of the array is :  (7,)
Natural logarithm of the given array is
[3.71357207 1.22377543 0.13102826 4.15888308 0.78845736 0.69314718
 1.60943791]

Pythonのnplog1p()

説明

このプログラムでは、最初に形状7の配列を宣言し、次に配列要素がfloatデータ型である配列を出力しました。次に、numpy.log1p()を呼び出して、指定された配列の要素の自然対数を計算しました。

その後、グリーンラインの使用を示す2Dグラフに元の配列をプロットしました。自然対数を求めて得られたout配列をプロットしました。これは、青い線を使用して示しています。上記の画像で結果を確認できます。

numpy log1p()メソッドの例は以上です。

リンク: https://appdividend.com/2020/08/04/numpy-log1p-example-np-log1p-in-python/

#python 

What is GEEK

Buddha Community

PythonのNumpy Log1p()メソッド

PythonのNumpy Log1p()メソッド

NumPyはPython言語のサードパーティライブラリであり、大規模な多次元配列と行列のサポートを追加し、これらの配列で実行する多くの高レベルの数学関数を伴います。

Numpy log()関数は、値x + 1の自然対数を取得するために使用されます。ここで、xは配列の要素、またはxはオブジェクトです。log1pは、exp(x)–1の逆です。 

np.log1p

Numpy log1p()は、ユーザーがx + 1の自然対数値を計算するのに役立つ数学関数です。ここで、xはすべての入力配列要素に属します。log1pは() の逆である1 - EXP(X)

np.log1p()関数は二つの引数受け入れ アレイ と アウト パラメータ、および戻り値指定された配列要素の要素のX + 1の自然対数の配列。

 

構文

numpy.log1p(array[, out] = ufunc ‘log1p’)

パラメーター

np.log1p()関数は、最大2つの主要な引数を取ることができます。

  1. array:これは、ログが計算される入力配列またはオブジェクトです。ただし、この関数は配列のすべての要素に1を追加します。
  2. out:これはオプションのフィールドです。結果が格納される位置。指定する場合は、入力が伝達する形式である必要があります。指定しない場合またはなしの場合は、新しく割り当てられたリストを返します。タプルは(唯一のキーワード引数として可能)出力の数と同じ長さを有していなければなりません。

戻り値

log1p()関数は、指定された配列要素の要素の値x +1の自然対数の配列を返します。

 

numpy.log()の動作を示すプログラム

次のコードを参照してください。

# Program to show the working of numpy.log

# Importing numpy
import numpy as np

# We will create an 1D array
arr = np.array([4, 14, 10, 63, 11, 4, 64])
# Printing the array
print("The array is: ", arr)
# Shape of the array
print("Shape of the array is : ", np.shape(arr))

# Calculating natural log of value arr[i]+1
out = np.log1p(arr)
print("Natural logarithm of the given array is ")
print(out)

出力

The array is:  [ 4 14 10 63 11  4 64]
Shape of the array is :  (7,)
Natural logarithm of the given array is
[1.60943791 2.7080502  2.39789527 4.15888308 2.48490665 1.60943791
 4.17438727]

説明

このプログラムでは、形状7の配列を宣言してから、その配列を出力しました。次に、numpy.log1p()を呼び出して、指定された配列の要素の値arr [i] +1の自然対数を計算しました。

log()のグラフィック表現

次のコードを参照してください。

# Program to show Graphical represntation

# Importing numpy
import numpy as np
import matplotlib.pyplot as plt

# We will create an 1D array
arr = np.array([40, 2.4, 0.14, 63, 1.2, 1, 4])
# Printing the array
print("The array is: ", arr)
# Shape of the array
print("Shape of the array is : ", np.shape(arr))

# Calculating natural log of value arr[i]+1
out = np.log1p(arr)
print("Natural logarithm of the given array is ")
print(out)

# Ploting of original array in Graph
# Color will be in Green
plt.plot(arr, arr, color='green', marker='x')

# Ploting of natural log array in Graph
# Color will be in blue
plt.plot(out, arr, color='blue', marker='o')

# Showing the Graphical represntation
plt.title("numpy.log1p()")
plt.xlabel("Natural Log Array")
plt.ylabel("Original Array")
plt.show()

出力

The array is:  [40.    2.4   0.14 63.    1.2   1.    4.  ]
Shape of the array is :  (7,)
Natural logarithm of the given array is
[3.71357207 1.22377543 0.13102826 4.15888308 0.78845736 0.69314718
 1.60943791]

Pythonのnplog1p()

説明

このプログラムでは、最初に形状7の配列を宣言し、次に配列要素がfloatデータ型である配列を出力しました。次に、numpy.log1p()を呼び出して、指定された配列の要素の自然対数を計算しました。

その後、グリーンラインの使用を示す2Dグラフに元の配列をプロットしました。自然対数を求めて得られたout配列をプロットしました。これは、青い線を使用して示しています。上記の画像で結果を確認できます。

numpy log1p()メソッドの例は以上です。

リンク: https://appdividend.com/2020/08/04/numpy-log1p-example-np-log1p-in-python/

#python 

PythonのNumpy Convolve()メソッド

畳み込みとはどういう意味ですか?数学的には、畳み込みは信号処理で一般的に使用される数学演算子です。numpy配列がシグナルとして機能します。

np.convolve

Numpy convolve()メソッドは、2つの1次元ベクトルの離散線形畳み込みを返すために使用されます。np.convolve()メソッドは、v1、v2、およびmodeの3つの引数を受け入れ 、v1およびv2の1次元ベクトルの離散線形畳み込みを返します。

与えられた2つの信号(numpyの場合は配列)の畳み込みは、最初の信号(配列)の積分として定義でき、反転され、2番目の信号(配列)に畳み込まれ、任意のポイントで(内積で)乗算されます。ベクトルが重なっています。

離散畳み込み演算は、次の関数を使用して定義できます。

 

(v1 * v2)[n] = ∑ v1 [m] v2 [nm]

構文

numpy.convolve (v1, v2, mode)

パラメーター

Numpy convolve()関数は、最大3つのパラメーターを取ります。

 

 v1:array_like、最初の1次元入力配列。(M、)の形をしているとしましょう

 v2: array_like、2番目の1次元入力配列。(N、)の形をしているとしましょう

モード:{'full'、 'same'、 'valid'}、オプション

これはオプションのパラメーターであり、以下で説明する3つの異なるモードがあります。

  •  
    • ' full ' :デフォルトのモードです。これにより、(M + N-1)の出力形状で、オーバーラップの各ポイントでの畳み込みが返されます。畳み込みの終点では、ベクトルv1とv2が完全に重なっておらず、境界効果が見られます。
  •  
    • ' same ' : 'same'モードでは、出力シーケンスの長さはmax(M、N)です。境界効果は引き続き表示されます。
  •  
    • ' valid ' この'valid'モードでは、出力シーケンスの長さはmax(M、N)– min(M、N)+1です。畳み込み積は、v1とv2が完全に重なっている場合にのみ与えられます。信号境界の外側にある値は影響しません。

戻り値

convolve()メソッドは、v1およびv2の1次元ベクトルの離散線形畳み込みを返します。

プログラミング例

numpy.convolve()メソッドの動作を示すプログラム

# importing the numpy module
import numpy as np

# Making fist 1-D vector v1
v1 = np.array([3, 7])
print("First vector sequence is: ", v1)

# Making second 1-D vector v2
v2 = np.array([1, 2, 5, 7])
print("Second vector sequence is: ", v2)

print("\nprinting linear convolution result between v1 and v2 using default 'full' mode:")
print(np.convolve(v1, v2))
print("\nprinting linear convolution  result between v1 and v2 using 'same' mode:")
print(np.convolve(v1, v2, mode='same'))

print("\nprinting linear convolution  result between v1 and v2 using 'valid' mode:")
print(np.convolve(v1, v2, mode='valid'))

出力

First vector sequence is: [3 7]
Second vector sequence is: [1 2 5 7]

printing linear convolution result between v1 and v2 using default 'full' mode:
[ 3 13 29 56 49]

printing linear convolution result between v1 and v2 using 'same' mode:
[ 3 13 29 56]

printing linear convolution result between v1 and v2 using 'valid' mode:
[13 29 56] 

説明

プログラムconvolve1.pyでは、v1とv2という名前の2つの1次元入力ベクトルを取得しました。次に、3つの異なるモードのそれぞれを使用して線形畳み込み値を表示することにより、出力を表示しました。

「フル」モードで実行される計算:

v1 = [37]およびv2 = [1 2 5 7]であり、フルモードで動作するため、出力配列の形状は、式の長さ(M + N-1) で与えられます。ここでM = 2およびN = 4です。したがって、結果のベクトルの形状は2 + 4 – 1 = 5になります。

Xは[37]から[73]に反転され、乗算演算は次のように実行されます。

最初の要素:7 *未定義(0として外挿)+ 3 * 1 = 3

2番目の要素:7 * 1 + 3 * 2 = 13

3番目の要素:7 * 2 + 3 * 5 = 29

4番目の要素:7 * 5 + 3 * 7 = 56

5番目の要素は次のとおりです。7* 7 + 3 *未定義(0として外挿)= 49

したがって、結果は次のようになります。[3 13 29 56 49]

「同じ」モードで実行される計算:

v1 = [37]およびv2 = [1 2 5 7]であり、同じモードで動作が実行されるため、出力配列の形状は、式max(M、N ) で与えられます。ここでM = 2およびN = 4です。したがって、結果のベクトルの形状は4になります。

Xは[37]から[73]に反転され、乗算演算は次のように実行されます。

最初の要素:7 *未定義(0として外挿)+ 3 * 1 = 3

2番目の要素:7 * 1 + 3 * 2 = 13

3番目の要素:7 * 2 + 3 * 5 = 29

4番目の要素:7 * 5 + 3 * 7 = 56

5番目の要素は次のとおりです。7* 7 + 3 *未定義(0として外挿)= 49

したがって、結果は次のようになります。[3 13 29 56 49]

'valid'モードで実行される計算:

v1 = [37]およびv2 = [1 2 5 7]であり、有効モードで演算が実行されるため、出力配列の形状は、式の長さmax(M、N)– min(M、N)+1で与えられますここで、M = 2およびN = 4であるため、結果のベクトルの形状は4 – 2 + 1 = 3になります。

ステップ1:Xを[37]から[73]に反転し、次のように乗算演算を実行します。

最初の要素:7 *未定義(0として外挿)+ 3 * 1 = 3

2番目の要素:7 * 1 + 3 * 2 = 13

3番目の要素:7 * 2 + 3 * 5 = 29

4番目の要素:7 * 5 + 3 * 7 = 56

したがって、結果は次のようになります。[3 13 29 56]

最後に、PythonチュートリアルのNumpy convolve()メソッドは終了しました。

リンク: https://appdividend.com/2020/06/03/numpy-convolve-method-in-python/

#python 

山本  洋介

山本 洋介

1638691200

PythonのNumpy Isfinite()関数

isfinite()関数はnumpyで定義され、import numpy asnpとしてインポートされます。私たちは、 多次元配列を作成し、numpyのの助けを借りて、他の数学的な統計情報を引き出すことができます。

Numpy infinite()関数は、要素が有限であるかどうかをテストするために使用されます。配列を渡して、配列に存在する要素が有限クラスに属しているかどうかを確認することもできます。有限でない場合、メソッドはFalseを返します。それ以外の場合はTrueを返します。ブール値を返します。

Numpy isfinite()

np.isfinite()関数は、有限かどうか(無限大ではないか、数値ではないか)を要素ごとにテストし、結果をブール配列として返します。

構文

numpy.isfinite(array or the scalar value, out(output array))

パラメーター

isfinite()関数は2つのパラメーターを取り、そのうち1つのパラメーターはオプションで、もう1つは必須です。

 

最初のパラメーターは、入力配列またはそれが有限であるかどうかを確認する入力です。

2つ目は、オプションのn次元配列です。結果とともに配置されるのは出力配列です。

 

戻り値

np.isfinite()関数はブール配列を返します。これは、配列を渡すと結果になり、スカラー値を渡すとブール値TrueまたはFalseになります。

Pythonのisfinite()メソッドのサンプルプログラム

 Pythonでのisfinite()関数の動作を示すプログラムを作成します。

# app.py

import numpy as np

# Scalar Values
print("Is finite: - : ", np.isfinite(933), "\n")
print("Is finite: - : ", np.isfinite(444), "\n")

# checking for infinity value
print("Is finite: - ", np.isfinite(np.inf), "\n")
print("Is finite: - ", np.isfinite(np.NINF), "\n")

出力

python3 app.py
Is finite: - :  True

Is finite: - :  True

Is finite: -  False

Is finite: -  False

この例では、関数isfinite()で2つのスカラー値をバイパスすると、有限値を表すためTrueが得られますが、無限の値が渡されるとFalseが得られます。 

数学モジュールの値に対してisfinite()関数を使用するプログラムを作成します。

次のコードを参照してください。

# app.py

import math as m

# For finite values
print("Is finite:- ", m.isfinite(999))
print("Is finite:- ", m.isfinite(-999))

# For not a number and +ve infinity and -ve infinity values
print("Is finite:- ", m.isfinite(float("nan")))
print("Is finite:- ", m.isfinite(float("inf")))
print("Is finite:- ", m.isfinite(float("-inf")))

出力

python3 app.py
Is finite:-  True
Is finite:-  True
Is finite:-  False
Is finite:-  False
Is finite:-  False

この例では、数学モジュールを使用して、関数に渡された値に応じてTrue値とFalse値の異なるセットを取得していることがわかります。

numpy isfinite()でnumpy arange()を使用する

Numpy arange ()関数は、指定された範囲内の等間隔の値を含むndarrayオブジェクトを返します。

次のコードを参照してください。

# app.py

import numpy as np

b = np.arange(10).reshape(2, 5)
print("\n", b)
print("\nIs Finite : \n", np.isfinite(b))

b = [[1j],
     [np.inf]]
print("\nIs Finite : \n", np.isfinite(b))

出力

python3 app.py

 [[0 1 2 3 4]
 [5 6 7 8 9]]

Is Finite :
 [[ True  True  True  True  True]
 [ True  True  True  True  True]]

Is Finite :
 [[ True]
 [False]]

その他の例

# app.py

import numpy as np

print(np.isfinite(1))

print(np.isfinite(0))

print(np.isfinite(np.nan))

print(np.isfinite(np.inf))

print(np.isfinite(np.NINF))

出力

python3 app.py
True
True
False
False
False

数ではなく、正の無限大、および負の無限大は非有限と見なされます。

Numpyは、算術演算のバイナリ浮動小数点にIEEE標準(IEEE 754)を使用しています。これは、NotaNumberが無限大と同等ではないことを意味します。

また、正の無限大は負の無限大と同等ではありません。しかし、無限大は正の無限大と同じです。

xがスカラー入力の場合、または1番目と2番目の引数の形状が異なる場合に2番目の引数も指定されると、エラーが発生します

最後に、Pythonの例のNumpy isfinite()関数は終了しました。

リンク: https://appdividend.com/2020/04/30/numpy-isfinite-function-in-python-example/

#python 

PythonのNumpy Correlate()メソッド

Numpyのcorrelate()メソッドは、2つの1次元ベクトル間の相互相関を見つけるために使用されます。単一処理テキストで一般的に定義されている相関を計算するcorrelate()関数は、次のように与えられます。c_{v1v2} [k] = sum_n v1 [n + k] * conj(v2 [n])v1およびv2シーケンスは必要に応じてゼロが埋め込まれ、接続詞が共役になります。

簡単に言うと、Python numpy.correlate(v1、v2、mode)は、配列v2の逆で配列v1の畳み込みを実行し、指定された3つのモードのいずれかを使用して結果をクリップします。

構文

numpy.correlate (v1, v2, mode,old_behaviour)

パラメーター

reacte()関数は、最大4つのパラメーターを取ります。

 v1:array_like、最初の1次元入力配列。(M、)の形をしているとしましょう

 

 v2: array_like、2番目の1次元入力配列。(N、)の形をしているとしましょう

モード:{'valid'、 'same'、 'full'}、オプション

 

これはオプションのパラメーターであり、以下で説明する3つの異なるモードがあります。

  1. ' valid':デフォルトのモードです。モード 'valid'は、長さmax(M、N)– min(M、N)+1の出力を返します。畳み込み積は、v1とv2が完全にオーバーラップしている場合にのみ与えられます。信号境界外の値は影響しません。
  2. ' same':モード ' same'は、長さmin(M、N)の出力を返します。境界効果はまだ表示されます。
  3. ' full':これは、(M + N-1)の出力形状で、オーバーラップの各ポイントでの畳み込みを返します。畳み込みの終点では、ベクトルv1とv2が完全に重なっておらず、境界効果が見られる場合があります。

' old_behavior' :bool、これはブールパラメータであり、trueまたはfalseのいずれかを取ることができます。

old_behavoiurが数値からtrueをとる場合(correlate(v1、v2)== correlate(v2、v1)、および共役は複雑な配列には採用されません)。

それ以外の場合、old_behavoiurが数値からfalseを取得する場合は、従来の信号処理定義を使用します。

戻り値

reacte()メソッドは、v1とv2の1次元ベクトルの相互相関を返します。

プログラミング例

numpy.correlate()メソッドの動作を示すプログラム。

# importing the numpy module
import numpy as np

# Making fist 1-D vector v1
v1 = np.array([1, 3, 5])
print("First vector sequence is: ", v1)

# Making second 1-D vector v2
v2 = np.array([0.5, 1.5, 2.5])
print("Second vector sequence is: ", v2)

print("\nprinting cross-correlation result between v1 and v2 using default 'valid' mode:")
print(np.correlate(v1, v2))

print("\nprinting cross-correlation result between v1 and v2 using 'full' mode:")
print(np.correlate(v1, v2, mode='full'))

# printing cross-correlation result between v1 and v2 using 'same' mode
print("\nprinting cross-correlation result between v1 and v2 using 'same' mode:")
print(np.correlate(v1, v2, mode='same'))

出力

First vector sequence is:  [1 3 5]
Second vector sequence is:  [0.5 1.5 2.5]

printing cross-correlation result between v1 and v2 using default 'valid' mode:
[17.5]

printing cross-correlation result between v1 and v2 using 'full' mode:
[ 2.5  9.  17.5  9.   2.5]

printing cross-correlation result between v1 and v2 using 'same' mode:
[ 9.  17.5  9. ]

説明

プログラムでは、v1v2という名前の2つの1次元入力ベクトルを取得しました。次に、3つの異なるモードのそれぞれを使用して相互相関値を表示することにより、出力を表示しました。

2つのシーケンスの順序を変更したときに、np.correlate()メソッドを使用して時間反転した複素共役の結果を取得する方法を理解するためのプログラム:

次のコードを参照してください。

import numpy as np

# Making fist 1-D vector v1
v1 = np.array([1, 3, 5])
print("First vector sequence is: ", v1)
# Making second 1-D vector v2
v2 = np.array([0.5, 1.5, 2.5])
print("Second vector sequence is: ", v2)

print("\nprinting cross-correlation result between v1 and v2 using 'full' mode:")
print(np.correlate(v1, v2, mode='full'))

# Changing order of sequence
# printing cross-correlation result between v2 and v1 using 'full' mode
print("\nAfter reversing the order of sequence and still using 'full' mode:")
print(np.correlate(v2, v1, mode='full'))

# printing cross-correlation result between v1 and v2 using 'same' mode
print("\nprinting cross-correlation result between v1 and v2 using 'same' mode:")

print(np.correlate(v1, v2, mode='same'))

# Changing order of sequence
# printing cross-correlation result between v2 and v1 using 'same' mode
print("\nAfter reversing the order of sequence and still using 'same' mode:")
print(np.correlate(v2, v1, mode='same'))

出力

First vector sequence is:  [1 3 5]
Second vector sequence is:  [0.5 1.5 2.5]

printing cross-correlation result between v1 and v2 using default 'valid' mode:
[17.5]

printing cross-correlation result between v1 and v2 using 'full' mode:
[ 2.5  9.  17.5  9.   2.5]

printing cross-correlation result between v1 and v2 using 'same' mode:
[ 9.  17.5  9. ]

説明

結果を元のシーケンスで出力し、シーケンスの順序を変更して同じものを出力した後、np.correlate()メソッドを使用して時間反転した複素共役の結果を取得できることを確認できます。

結果は、次の関数を使用して表すことができます。

c_ {v2v1} [k] = c ^ {*} {v1v2} [-k]

結論

2つの1次元シーケンスの相互相関。相関()関数は、信号処理テキストで一般的に定義されている相関を計算します。

最後に、PythonチュートリアルのNumpycorrelate()メソッドは終了しました。

リンク: https://appdividend.com/2020/06/03/numpy-correlate-method-in-python/

#python 

山岸  英樹

山岸 英樹

1636554120

PythonのNumpy Dot()関数とは

Numpy.dotは、行列計算のための堅牢な関数です。2つの行列の内積を計算するには、np.dot関数を使用します。その関数について詳しく見ていきましょう。

np.dot関数

Numpy dot()は、指定された2つのベクトル(リスト)の数学ドットを返すために使用される数学関数です。np.dot()関数は、3つの引数を受け入れ、指定された2つのベクトルの内積を返します。

ベクトルは、多次元だけでなく一次元でもかまいません。どちらの場合も、数学的内積の規則に従います。

1D配列の場合、これはベクトルの内積です。N次元配列の場合、それは最後の軸上積和であるとの二最後の軸B

 

構文

numpy.dot(vector_a, vector_b, out = None)

パラメーター

dot()関数は、主に次の3つのパラメーターを取ります。

  1. vector_a :これは最初のベクトルです。
  2. vector_b:これは2番目のベクトルです。
  3. out:引数の生成。これは、使用されない限り返されるのと同じ種類である必要があります。具体的には、適切な形式であり、C連続である必要があり、そのdtypeはdot(a、b)に対して返される形式である必要があります。それがパフォーマンスの特徴です。したがって、これらの条件が満たされない場合、柔軟にしようとする代わりに、例外が作成されます。

戻り値

numpy.dot()メソッドは、指定された2つのベクトルの内積を返します。ベクトルのいずれかまたは両方が複素数の場合、その複素共役を使用して内積が計算されます。

 

与えられたベクトルが一次元の場合のドットを計算します

次のコードを参照してください。

# Program to show working of numpy.dot
# When both the vectors are 1D

# Importing numpy
import numpy as np

# We will create an 1D array
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([2, 3, 4, 5])
# Printing the array
print("The first array is: ", arr1)
print("The second array is:  ", arr2)
# Shape of the array
print("Shape of the first array is : ", np.shape(arr1))
print("Shape of the second array is : ", np.shape(arr2))

# Printing dot product of the arr1.arr2
out = np.dot(arr1, arr2)
print("Dot product of arr1 and arr2")
print(out)

# When both are complex
a = 6+1j
b = 4+3j
out1 = np.dot(a, b)
print("Dot product of a and b")
print(out1)

出力

The first array is:  [1 2 3 4]
The second array is:   [2 3 4 5]
Shape of the first array is :  (4,)
Shape of the second array is :  (4,)
Dot product of arr1 and arr2
40
Dot product of a and b
(21+22j)

説明

このプログラムでは、最初のケースで、2つの1D配列を初期化し、次に配列とその形状の両方を印刷しました。その後、numpy.dot()を呼び出して、配列の内積を計算しました。

答え40が得られたことがわかります。内積の規則によれば、このようになりました。

(1 * 2 + 2 * 3 + 3 * 4 + 4 * 5)= 40。

また、2番目のケースでは、2つの複素方程式を宣言しました。次に、それらの内積を印刷しました。答えは(21 + 22j)であり、次のように計算されていることがわかります。

6 *(4 + 3j)+ 1j *(4-3j)

= 24 + 18j + 4j-3

= 21 + 22j

ベクトルが多次元である場合、内積を計算します

次のコードを参照してください。

# Program to show the working of numpy.dot
# When both the vectors are 2D

# Importing numpy
import numpy as np

# We will create an 1D array
arr1 = np.array([[1, 2], [5, 6]])
arr2 = np.array([[2, 3], [2, 4]])
# Printing the array
print("The first array is:\n ", arr1)
print("\nThe second array is: \n ", arr2)
# Shape of the array
print("Shape of the first array is : ", np.shape(arr1))
print("Shape of the second array is : ", np.shape(arr2))

# Printing dot product of the arr1.arr2
out = np.dot(arr1, arr2)
print("Dot product of arr1 and arr2")
print(out)

出力

The first array is:
  [[1 2]
 [5 6]]

The second array is:
  [[2 3]
 [2 4]]
Shape of the first array is :  (2, 2)
Shape of the second array is :  (2, 2)
Dot product of arr1 and arr2
[[ 6 11]
 [22 39]]

説明

このプログラムでは、最初のケースで、2つの2D配列を初期化し、次に配列とその形状の両方を印刷しました。その後、numpy.dot()を呼び出して、配列の内積を計算しました。

答えは2D配列にあることがわかります。内積のルールに従って、私たちは答えを得ました。

Numpy dot()メソッドについては以上です。

リンク: https://appdividend.com/2020/08/05/numpy-dot-example-np-dot-in-python/

#python ·