torch.kron¶
- torch.kron(input, other, *, out=None) Tensor ¶
Computes the Kronecker product, denoted by , of
input
andother
.If
input
is a tensor andother
is a tensor, the result will be a tensor with the following entries:where for . If one tensor has fewer dimensions than the other it is unsqueezed until it has the same number of dimensions.
Supports real-valued and complex-valued inputs.
Note
This function generalizes the typical definition of the Kronecker product for two matrices to two tensors, as described above. When
input
is a matrix andother
is a matrix, the result will be a block matrix:where
input
is andother
is .- Parameters:
- Keyword Arguments:
out (Tensor, optional) – The output tensor. Ignored if
None
. Default:None
Examples:
>>> mat1 = torch.eye(2) >>> mat2 = torch.ones(2, 2) >>> torch.kron(mat1, mat2) tensor([[1., 1., 0., 0.], [1., 1., 0., 0.], [0., 0., 1., 1.], [0., 0., 1., 1.]]) >>> mat1 = torch.eye(2) >>> mat2 = torch.arange(1, 5).reshape(2, 2) >>> torch.kron(mat1, mat2) tensor([[1., 2., 0., 0.], [3., 4., 0., 0.], [0., 0., 1., 2.], [0., 0., 3., 4.]])