scipy.linalg.
khatri_rao#
- scipy.linalg.khatri_rao(a, b)[источник]#
Произведение Хатри-Рао
Покомпонентное произведение Кронекера двух матриц
Документация написана в предположении, что аргументы-массивы имеют указанные «основные» формы. Однако аргументы-массивы этой функции могут иметь дополнительные «пакетные» измерения, добавленные перед основной формой. В этом случае массив обрабатывается как пакет низкоразмерных срезов; см. Пакетные линейные операции подробности.
- Параметры:
- a(n, k) array_like
Входной массив
- b(m, k) array_like
Входной массив
- Возвращает:
- c: (n*m, k) ndarray
Произведение Хатри-Рао a и b.
Примечания
Математическое определение произведения Хатри-Рао:
\[(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]])