code: def adjoint(self):
          
          # TODO allow users to select what method to use here.
          div_op = Divergence(domain=self.displacement.space, method='forward',
                              pad_mode='symmetric')
          jacobian_det = self.domain.element(
              np.exp(-div_op(self.displacement)))
  
          return jacobian_det * self.inverse
docs: Adjoint of the linear operator.
  
          Note that this implementation uses an approximation that is only
          valid for small displacements.