code: def adjoint(self):
          
          if not self.is_linear:
              raise OpNotImplementedError('nonlinear operators have no adjoint')
  
          return OperatorSum(self.left.adjoint, self.right.adjoint,
                             self.__tmp_dom, self.__tmp_ran)
docs: Adjoint of this operator.
  
          The adjoint of the operator sum is the sum of the operator
          adjoints:
  
              ``OperatorSum(left, right).adjoint ==
              OperatorSum(left.adjoint, right.adjoint)``
  
          Returns
          -------
          adjoint : `OperatorSum`
  
          Raises
          ------
          OpNotImplementedError
              If either of the underlying operators are non-linear.