class_docstr: Measurement process that returns the quantum state in the computational basis.
  
  Please refer to :func:`density_matrix` for detailed documentation.
  
  Args:
      wires (.Wires): The wires the measurement process applies to.
      id (str): custom label given to a measurement instance, can be useful for some applications
          where the instance has to be identified
class_docstr_tok: ["Measurement","process","that","returns","the","quantum","state","in","the","computational","basis",".","Please","refer","to",":","func",":","`","density_matrix","`","for","detailed","documentation",".","Args",":","wires","(",".Wires",")",":","The","wires","the","measurement","process","applies","to",".","id","(","str",")",":","custom","label","given","to","a","measurement","instance",",","can","be","useful","for","some","applications","where","the","instance","has","to","be","identified"]
code: def shape(self, device, shots):
      num_shot_elements = (
          sum(s.copies for s in shots.shot_vector)
          if shots.has_partitioned_shots
          else 1
      )
  
      dim = 2 ** len(self.wires)
      return (
          (dim, dim)
          if num_shot_elements == 1
          else tuple((dim, dim) for _ in range(num_shot_elements))
      )
  
file_path: pennylane/pennylane/measurements/state.py
imports: from typing import Sequence, Optional
  import pennylane
  from pennylane.wires import Wires, WireError
  from .measurements import State, StateMeasurement
label_desc: Use image node_id 2 for calling the DensityMatrixMP obj's underlying member method code with example usage: obj.shape(device, shots) and returns: unknown