scipy.linalg.
khatri_rao#
- scipy.linalg.khatri_rao(a, b)[Quelle]#
Khatri-Rao-Produkt
Ein spaltenweises Kronecker-Produkt zweier Matrizen
Die Dokumentation wurde unter der Annahme verfasst, dass die Array-Argumente bestimmte „Kern“-Formen haben. Array-Argumente dieser Funktion können jedoch zusätzliche „Batch“-Dimensionen vorangestellt haben. In diesem Fall wird das Array als Stapel von niedrigdimensionalen Schnitten behandelt; siehe Gestapelte lineare Operationen für Details.
- Parameter:
- a(n, k) array_like
Eingabearray
- b(m, k) array_like
Eingabearray
- Rückgabe:
- c: (n*m, k) ndarray
Khatri-Rao-Produkt von a und b.
Hinweise
Die mathematische Definition des Khatri-Rao-Produkts ist
\[(A_{ij} \bigotimes B_{ij})_{ij}\]was das Kronecker-Produkt jeder Spalte von A und B ist, z.B.
c = np.vstack([np.kron(a[:, k], b[:, k]) for k in range(b.shape[1])]).T
Beispiele
>>> 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]])