Skip to main content
`Ctrl`+`K`
scipy.linalg.

# khatri_rao

scipy.linalg.khatri_rao(a, b)

  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]])