[Numpy-discussion] Kronecker product
Nils Wagner
nwagner at isd.uni-stuttgart.de
Wed Jul 18 09:55:55 EDT 2001
"Paul F. Dubois" schrieb:
> Using the outer product you get a matrix that has the right size and
> contents but it is m*n by p*q
> Was that a misprint in your post?
> >>> x
> array([1, 2, 3, 4, 5, 6])
> >>> x.shape=(3,2)
> >>> y = 10*transpose(x)
> >>> y
> array([[10, 30, 50],
> [20, 40, 60]])
> >>> z = outerproduct(x.flat, y.flat)
> >>> z
> array([[ 10, 30, 50, 20, 40, 60],
> [ 20, 60, 100, 40, 80, 120],
> [ 30, 90, 150, 60, 120, 180],
> [ 40, 120, 200, 80, 160, 240],
> [ 50, 150, 250, 100, 200, 300],
> [ 60, 180, 300, 120, 240, 360]])
> >>>
>
> -----Original Message-----
> From: numpy-discussion-admin at lists.sourceforge.net
> [mailto:numpy-discussion-admin at lists.sourceforge.net]On Behalf Of Nils
> Wagner
> Sent: Wednesday, July 18, 2001 4:10 AM
> To: numpy-discussion at lists.sourceforge.net
> Subject: [Numpy-discussion] Kronecker product
>
> Hi,
>
> I would appreciate it, if Numpy could handle the Kronecker-product of
> two matrices X, Y.
>
> kron(X,Y) is the Kronecker tensor product of X and Y.
> The result is a large matrix formed by taking all possible products
> between the elements of X and those of Y. If X is m-by-n
> and Y is p-by-q, then kron(X,Y) is m*p-by-n*q.
>
> Nils
>
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at lists.sourceforge.net
> http://lists.sourceforge.net/lists/listinfo/numpy-discussion
>>> a
> array([[1, 2],
> [3, 4]])
> >>> b
> array([[11, 12],
> [13, 14]])
> >>> outerproduct(a,b)
> array([[11, 12, 13, 14],
> [22, 24, 26, 28],
> [33, 36, 39, 42],
> [44, 48, 52, 56]])
The Kronecker product applied to A,B is
kron(A,B) = array([[11,12,22,24],
[13,14,26,28],
[33,36,44,48],
[39,42,52,56]])
How can I rearrange the result of outerproduct to the result of
Kronecker product with numpy ?
Cheers,
Nils
More information about the NumPy-Discussion
mailing list