I have two sparse tensors `a`

and `b`

of sizes `(A, B, C, D)`

and `(A, B)`

respectively.

How do I multiply the two of them?

I don’t want to copy `b`

across a new third and fourth dimension `C`

and `D`

times because that wastes memory and also takes compute time. I also don’t want to convert both to dense and back to sparse (although converting `b`

to dense at some point would be fine; it’s just `a`

that takes time to convert).