class_docstr: QubitSum(wires)
  Apply a ``QubitSum`` operation on three input wires.
  
  This operation performs the following transformation:
  
  .. math::
      |a\rangle |b\rangle |c\rangle \rightarrow |a\rangle |b\rangle |a\oplus b\oplus c\rangle
  
  
  .. figure:: ../../_static/ops/QubitSum.svg
      :align: center
      :width: 40%
      :target: javascript:void(0);
  
  See `here <https://arxiv.org/abs/quant-ph/0008033v1>`__ for more information.
  
  **Details:**
  
  * Number of wires: 3
  * Number of parameters: 0
  
  Args:
      wires (Sequence[int]): the wires the operation acts on
  
  **Example**
  
  The ``QubitSum`` operation maps the state :math:`|010\rangle` to :math:`|011\rangle`, with the
  final wire holding the modulo-two sum of the first two wires:
  
  .. code-block::
  
      input_bitstring = (0, 1, 0)
  
      @qml.qnode(dev)
      def circuit(basis_state):
          qml.BasisState(basis_state, wires = [0, 1, 2])
          qml.QubitSum(wires=[0, 1, 2])
          return qml.probs(wires=[0, 1, 2])
  
      probs = circuit(input_bitstring)
      probs_indx = np.argwhere(probs == 1).flatten()[0]
      bitstrings = list(itertools.product(range(2), repeat=3))
      output_bitstring = bitstrings[probs_indx]
  
  The output bitstring is
  
  >>> output_bitstring
  (0, 1, 1)
  
  The action of ``QubitSum`` is to add wires ``0``, ``1``, and ``2``. The modulo-two result is
  output in wire ``2``. In this case, :math:`0 \oplus 1 \oplus 0 = 1`, so we have:
  
  >>> abc_sum = output_bitstring[2]
  >>> abc_sum
  1
class_docstr_tok: ["QubitSum","(","wires",")","Apply","a","``","QubitSum","``","operation","on","three","input","wires",".","This","operation","performs","the","following","transformation",":","..","math",":",":","|a\\rangle","|b\\rangle","|c\\rangle","\\rightarrow","|a\\rangle","|b\\rangle","|a\\oplus","b\\oplus","c\\rangle","..","figure",":",":","..","\/","..","\/_static\/ops\/QubitSum.svg",":","align",":","center",":","width",":","40","%",":","target",":","javascript",":","void","(","0",")",";","See","`","here","<","https",":","\/\/arxiv.org\/abs\/quant-ph\/0008033v1",">","`","__","for","more","information",".","*","*","Details",":","*","*","*","Number","of","wires",":","3","*","Number","of","parameters",":","0","Args",":","wires","(","Sequence","[","int","]",")",":","the","wires","the","operation","acts","on","*","*","Example","*","*","The","``","QubitSum","``","operation","maps","the","state",":","math",":","`","|010\\rangle","`","to",":","math",":","`","|011\\rangle","`",",","with","the","final","wire","holding","the","modulo-two","sum","of","the","first","two","wires",":","..","code-block",":",":","input_bitstring","=","(","0",",","1",",","0",")","@","qml.qnode","(","dev",")","def","circuit","(","basis_state",")",":","qml.BasisState","(","basis_state",",","wires","=","[","0",",","1",",","2","]",")","qml.QubitSum","(","wires=","[","0",",","1",",","2","]",")","return","qml.probs","(","wires=","[","0",",","1",",","2","]",")","probs","=","circuit","(","input_bitstring",")","probs_indx","=","np.argwhere","(","probs","==","1",")",".flatten","(",")","[","0","]","bitstrings","=","list","(","itertools.product","(","range","(","2",")",",","repeat=3",")",")","output_bitstring","=","bitstrings","[","probs_indx","]","The","output","bitstring","is",">",">",">","output_bitstring","(","0",",","1",",","1",")","The","action","of","``","QubitSum","``","is","to","add","wires","``","0","``",",","``","1","``",",","and","``","2","``",".","The","modulo-two","result","is","output","in","wire","``","2","``",".","In","this","case",",",":","math",":","`","0","\\oplus","1","\\oplus","0","=","1","`",",","so","we","have",":",">",">",">","abc_sum","=","output_bitstring","[","2","]",">",">",">","abc_sum","1"]
code: def label(self, decimals=None, base_label=None, cache=None):
      return super().label(
          decimals=decimals, base_label=base_label or "Σ", cache=cache
      )
  
imports: from copy import copy
  import numpy
  import pennylane
  from pennylane.operation import AnyWires, Operation
  from pennylane.wires import Wires
  from pennylane.ops import Identity
  from pennylane.ops.qubit.non_parametric_ops import MultiControlledX
label_desc: Use image node_id 1 for calling the QubitSum obj's underlying member method code with example usage: obj.label(decimals, base_label, cache) and returns: super