docs: def _ttm_me_compute(self, V, edims, sdims, transp):
          """
          Assume Y = T x_i V_i for i = 1...n can fit into memory
          """
          shapeY = np.copy(self.shape)
  
          # Determine size of Y
          for n in np.union1d(edims, sdims):
              shapeY[n] = V[n].shape[1] if transp else V[n].shape[0]
  
          # Allocate Y (final result) and v (vectors for elementwise computations)
          Y = zeros(shapeY)
          shapeY = array(shapeY)
          v = [None for _ in range(len(edims))]
  
          for i in range(np.prod(shapeY[edims])):
              rsubs = unravel_index(shapeY[edims], i)