class_docstr: The Adjoint of an operator.
  
  Args:
      base (~.operation.Operator): The operator that is adjointed.
  
  .. seealso:: :func:`~.adjoint`, :meth:`~.operation.Operator.adjoint`
  
  This is a *developer*-facing class, and the :func:`~.adjoint` transform should be used to
  construct instances
  of this class.
  
  **Example**
  
  >>> op = Adjoint(qml.S(0))
  >>> op.name
  'Adjoint(S)'
  >>> qml.matrix(op)
  array([[1.-0.j, 0.-0.j],
     [0.-0.j, 0.-1.j]])
  >>> qml.generator(Adjoint(qml.RX(1.0, wires=0)))
  (PauliX(wires=[0]), 0.5)
  >>> Adjoint(qml.RX(1.234, wires=0)).data
  (1.234,)
  
  .. details::
      :title: Developer Details
  
      This class mixes in parent classes based on the inheritance tree of the provided ``Operator``.
      For example, when provided an ``Operation``, the instance will inherit from ``Operation`` and
      the ``AdjointOperation`` mixin.
  
      >>> op = Adjoint(qml.RX(1.234, wires=0))
      >>> isinstance(op, qml.operation.Operation)
      True
      >>> isinstance(op, AdjointOperation)
      True
      >>> op.grad_method
      'A'
  
      If the base class is an ``Observable`` instead, the ``Adjoint`` will be an ``Observable`` as
      well.
  
      >>> op = Adjoint(1.0 * qml.PauliX(0))
      >>> isinstance(op, qml.operation.Observable)
      True
      >>> isinstance(op, qml.operation.Operation)
      False
      >>> Adjoint(qml.PauliX(0)) @ qml.PauliY(1)
      Adjoint(PauliX)(wires=[0]) @ PauliY(wires=[1])
class_docstr_tok: ["The","Adjoint","of","an","operator",".","Args",":","base","(","~.operation.Operator",")",":","The","operator","that","is","adjointed",".","..","seealso",":",":",":","func",":","`","~.adjoint","`",",",":","meth",":","`","~.operation.Operator.adjoint","`","This","is","a","*","developer","*","-facing","class",",","and","the",":","func",":","`","~.adjoint","`","transform","should","be","used","to","construct","instances","of","this","class",".","*","*","Example","*","*",">",">",">","op","=","Adjoint","(","qml.S","(","0",")",")",">",">",">","op.name","'Adjoint","(","S",")","'",">",">",">","qml.matrix","(","op",")","array","(","[","[","1.-0.j",",","0.-0.j","]",",","[","0.-0.j",",","0.-1.j","]","]",")",">",">",">","qml.generator","(","Adjoint","(","qml.RX","(","1.0",",","wires=0",")",")",")","(","PauliX","(","wires=","[","0","]",")",",","0.5",")",">",">",">","Adjoint","(","qml.RX","(","1.234",",","wires=0",")",")",".data","(","1.234",",",")","..","details",":",":",":","title",":","Developer","Details","This","class","mixes","in","parent","classes","based","on","the","inheritance","tree","of","the","provided","``","Operator","``",".","For","example",",","when","provided","an","``","Operation","``",",","the","instance","will","inherit","from","``","Operation","``","and","the","``","AdjointOperation","``","mixin",".",">",">",">","op","=","Adjoint","(","qml.RX","(","1.234",",","wires=0",")",")",">",">",">","isinstance","(","op",",","qml.operation.Operation",")","True",">",">",">","isinstance","(","op",",","AdjointOperation",")","True",">",">",">","op.grad_method","'","A'","If","the","base","class","is","an","``","Observable","``","instead",",","the","``","Adjoint","``","will","be","an","``","Observable","``","as","well",".",">",">",">","op","=","Adjoint","(","1.0","*","qml.PauliX","(","0",")",")",">",">",">","isinstance","(","op",",","qml.operation.Observable",")","True",">",">",">","isinstance","(","op",",","qml.operation.Operation",")","False",">",">",">","Adjoint","(","qml.PauliX","(","0",")",")","@","qml.PauliY","(","1",")","Adjoint","(","PauliX",")","(","wires=","[","0","]",")","@","PauliY","(","wires=","[","1","]",")"]
code: def __repr__(self):
      return f"Adjoint({self.base})"
  
imports: from functools import wraps
  import pennylane
  from pennylane.math import conj, moveaxis, transpose
  from pennylane.operation import Observable, Operation, Operator
  from pennylane.queuing import QueuingManager
  from pennylane.tape import make_qscript
  from pennylane.compiler import compiler
  from pennylane.compiler.compiler import CompileError
  from .symbolicop import SymbolicOp
label_desc: Use image node_id 5 for calling the Adjoint obj's underlying member method code with example usage: obj.__repr__() and returns: str, self, str