Create a new Sparse tensor out of several small sparse tensor

Hi,

I have two sparse (or even more but 2 for demonstration) float tensors, Say,

i_A = torch.LongTensor([[0, 1], [0, 0]])
v_A = torch.FloatTensor([3, 4])
A = torch.sparse.FloatTensor(i_A, v_A, torch.Size([2,2])).to_dense()
A = [[3, 4],
     [0, 0]]

i_B = torch.LongTensor([[0, 1], [0, 1]])
v_B = torch.FloatTensor([6, 6])
B = torch.sparse.FloatTensor(i_B, v_B, torch.Size([2,2])).to_dense()
B = [[6, 0],
     [0, 6]]

Now I would like to create a new sparse tensor C in which A and B lie on the diagonal, with everywhere else filled with 0:

C = [[3, 4, 0, 0],
     [0, 0, 0, 0],
     [0, 0, 6, 0],
     [0, 0, 0, 6]]