Ok. So in place subtraction does work for a simpler indexing version of the above. So this works in pytorch:
array1[index1,index2]-=array2
The question is how to add extra dimensions so I can simultaneously subtract array2 from multiple index2 locations.