I got it when I was running:
def case3():
a = torch.randn(2,2)
torch.kron(a,a.T)
but it works for torch.kron(a,a) And then I try:
def case4():
a = torch.randn(1,4)
torch.kron(a,a.T)
It works! So I am confusing why torch.kron would not work on tensor of size 2x2? Thanks!