scipy.linalg.
khatri_rao#
- scipy.linalg.khatri_rao(a, b)[source]#
Khatri-rao product
A column-wise Kronecker product of two matrices
- Parameters:
- a(n, k) array_like
Input array
- b(m, k) array_like
Input array
- Returns:
- c: (n*m, k) ndarray
Khatri-rao product of a and b.
Notes
The mathematical definition of the Khatri-Rao product is:
\[(A_{ij} \bigotimes B_{ij})_{ij}\]which is the Kronecker product of every column of A and B, e.g.:
c = np.vstack([np.kron(a[:, k], b[:, k]) for k in range(b.shape[1])]).T
Examples
>>> 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]])