I don’t think it would be possible to concatenate or stack these tensors to the desired shape, since the number of elements differ.
E.g.:
x, y, z = 2, 3, 4
print(x*y*z)
> 24
print((x*y) + (x*z))
> 14

You could transform each tensor to T by adding the missing dimension (via unsqueeze) and then e.g. calling expand or repeat on it.