在 Python 中获取两个一维数组的克罗内克积

pythonnumpyserver side programmingprogramming

要获取两个一维数组的克罗内克积,请使用 Python Numpy 中的 numpy.kron() 方法。计算克罗内克积,即由第二个数组的块按第一个数组缩放而成的复合数组。

该函数假设 a 和 b 的维数相同,如有必要,在最小的维数前面加上 1。如果 a.shape = (r0,r1,..,rN) 且 b.shape = (s0,s1,...,sN),则克罗内克积的形状为 (r0*s0, r1*s1, ..., rN*SN)。这些元素是 a 和 b 元素的乘积,明确由 − 组织

kron(a,b)[k0,k1,...,kN] = a[i0,i1,...,iN] * b[j0,j1,...,jN]

步骤

首先,导入所需的库 −

import numpy as np

使用 array() 方法创建两个 numpy 一维数组 −

arr1 = np.array([1, 10, 100])
arr2 = np.array([5, 6, 7])

显示数组 −

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)

要获取两个数组的克罗内克积,请使用 numpy.kron() 方法 −

print("\nResult (Kronecker product)...\n",np.kron(arr1, arr2))

示例

import numpy as np

# 使用 array() 方法创建两个 numpy 一维数组
arr1 = np.array([1, 10, 100])
arr2 = np.array([5, 6, 7])

# 显示数组
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)

# 要获取两个数组的克罗内克积,请使用 Python Numpy 中的 numpy.kron() 方法
print("\nResult (Kronecker product)...\n",np.kron(arr1, arr2))

输出

Array1...
[ 1 10 100]

Array2...
[5 6 7]

Dimensions of Array1...
1

Dimensions of Array2...
1

Shape of Array1...
(3,)

Shape of Array2...
(3,)

Result (Kronecker product)...
[ 5 6 7 50 60 70 500 600 700]

相关文章