class_docstr: DiagonalQubitUnitary(D, wires)
  Apply an arbitrary diagonal unitary matrix with a dimension that is a power of two.
  
  **Details:**
  
  * Number of wires: Any (the operation can act on any number of wires)
  * Number of parameters: 1
  * Number of dimensions per parameter: (1,)
  * Gradient recipe: None
  
  Args:
      D (array[complex]): diagonal of unitary matrix
      wires (Sequence[int] or int): the wire(s) the operation acts on
class_docstr_tok: ["DiagonalQubitUnitary","(","D",",","wires",")","Apply","an","arbitrary","diagonal","unitary","matrix","with","a","dimension","that","is","a","power","of","two",".","*","*","Details",":","*","*","*","Number","of","wires",":","Any","(","the","operation","can","act","on","any","number","of","wires",")","*","Number","of","parameters",":","1","*","Number","of","dimensions","per","parameter",":","(","1",",",")","*","Gradient","recipe",":","None","Args",":","D","(","array","[","complex","]",")",":","diagonal","of","unitary","matrix","wires","(","Sequence","[","int","]","or","int",")",":","the","wire","(","s",")","the","operation","acts","on"]
code: def label(self, decimals=None, base_label=None, cache=None):
      return super().label(
          decimals=decimals, base_label=base_label or "U", cache=cache
      )
  
imports: import warnings
  from itertools import product
  import numpy
  from scipy.linalg import fractional_matrix_power
  from pennylane.math import norm, cast, eye, zeros, transpose, conj, sqrt, sqrt_matrix
  from pennylane import numpy
  import pennylane
  from pennylane.operation import AnyWires, DecompositionUndefinedError, Operation
  from pennylane.wires import Wires
label_desc: Use image node_id 7 for calling the DiagonalQubitUnitary obj's underlying member method code with example usage: obj.label(decimals, base_label, cache) and returns: super