code: def bprop(self, error, permute=False):
      for dst in range(self.ofmsize):
          rflinks = self.links[dst]
          A = error.T[:, rflinks]
          B = self.weights.T
          if permute:
              inds = np.random.permutation(A.shape[1])
              self.y[:, self.ofmlocs[dst]] = np.dot(
                  A[:, inds], B[inds, :]
              )
          else:
              self.y[:, self.ofmlocs[dst]] = np.dot(A, B)
  
file_path: neon/tests/test_deconv_layer.py
imports: import itertools
  import numpy
  import pytest
  from neon import NervanaObject
  from neon.layers import Deconvolution
  from neon.initializers import Uniform
  from utils import allclose_with_out
label_desc: Use image node_id 3 for calling the DeconvRefLayer obj's underlying member method code with example usage: obj.bprop(error, permute) without return types