mindspore.ops.kron

mindspore.ops.kron(x, y)[source]

Computes the Kronecker product xy, denoted by ⊗, of x and y.

If x is a (a0 x a1 x … x an) Tensor and y is a (b0 x b1 x … x bn) Tensor, the result will be a (a0b0 x a1b1 x … x anbn) Tensor with the following entries:

(xy)k0,k1,...kn=xi0,i1,...inyj0,j1,...jn,

where kt=itbt+jt for 0 ≤ tn. If one Tensor has fewer dimensions than the other it is unsqueezed until it has the same number of dimensions.

Note

Supports real-valued and complex-valued inputs.

Parameters
  • x (Tensor) – Input Tensor, has the shape (r0,r1,...,rN).

  • y (Tensor) – Input Tensor, has the shape (s0,s1,...,sN).

Returns

Tensor, has the shape (r0s0,r1s1,...,rNsN).

Raises
Supported Platforms:

Ascend GPU CPU

Examples

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, nn
>>> from mindspore import ops
>>> x = Tensor(np.array([[0, 1, 2], [3, 4, 5]])).astype(np.float32)
>>> y = Tensor(np.array([[-1, -2, -3], [-4, -6, -8]])).astype(np.float32)
>>> output = ops.kron(x, y)
>>> print(output)
[[  0.   0.   0.  -1.  -2.  -3.  -2.  -4.  -6.]
 [  0.   0.   0.  -4.  -6.  -8.  -8. -12. -16.]
 [ -3.  -6.  -9.  -4.  -8. -12.  -5. -10. -15.]
 [-12. -18. -24. -16. -24. -32. -20. -30. -40.]]