scipy.linalg.
khatri_rao#
- scipy.linalg.khatri_rao(a, b)[source]#
卡特里-拉奥乘积
两个矩阵的按列克罗内克乘积
- 参数:
- a(n, k) array_like
输入数组
- b(m, k) array_like
输入数组
- 返回:
- c: (n*m, k) ndarray
a 和 b 的 Khatri-rao 乘积。
请参阅
kron
克罗内克积
注释
Khatri-Rao 乘积的数学定义是
\[(A_{ij} \bigotimes B_{ij})_{ij}\]这是 A 和 B 的每一列的克罗内克积,例如
c = np.vstack([np.kron(a[:, k], b[:, k]) for k in range(b.shape[1])]).T
示例
>>> import numpy as np >>> from scipy import linalg >>> a = np.array([[1, 2, 3], [4, 5, 6]]) >>> b = np.array([[3, 4, 5], [6, 7, 8], [2, 3, 9]]) >>> linalg.khatri_rao(a, b) array([[ 3, 8, 15], [ 6, 14, 24], [ 2, 6, 27], [12, 20, 30], [24, 35, 48], [ 8, 15, 54]])