code: def derivatives(self, x, y, coeffs, beta, center_x=0, center_y=0):
          
          shapelets = self._createShapelet(coeffs)
          n_order = self._get_num_n(len(coeffs))
          dx_shapelets = self._dx_shapelets(shapelets, beta)
          dy_shapelets = self._dy_shapelets(shapelets, beta)
          n = len(np.atleast_1d(x))
          if n <= 1:
              f_x = self._shapeletOutput(x, y, beta, dx_shapelets, precalc=False)
              f_y = self._shapeletOutput(x, y, beta, dy_shapelets, precalc=False)
          else:
              H_x, H_y = self.pre_calc(x, y, beta, n_order+1, center_x, center_y)
              f_x = self._shapeletOutput(H_x, H_y, beta, dx_shapelets)
              f_y = self._shapeletOutput(H_x, H_y, beta, dy_shapelets)
          return f_x, f_y
docs: returns df/dx and df/dy of the function