class_docstr: Represents a quantum circuit as a directed acyclic graph.
  
  In this representation the :class:`~.Operator` instances are the nodes of the graph,
  and each directed edge represent a subsystem (or a group of subsystems) on which the two
  Operators act subsequently. This representation can describe the causal relationships
  between arbitrary quantum channels and measurements, not just unitary gates.
  
  Args:
      ops (Iterable[.Operator]): quantum operators constituting the circuit, in temporal order
      obs (Iterable[.MeasurementProcess]): terminal measurements, in temporal order
      wires (.Wires): The addressable wire registers of the device that will be executing this graph
      par_info (list[dict]): Parameter information. For each index, the entry is a dictionary containing an operation
      and an index into that operation's parameters.
      trainable_params (set[int]): A set containing the indices of parameters that support
          differentiability. The indices provided match the order of appearence in the
          quantum circuit.
class_docstr_tok: ["Represents","a","quantum","circuit","as","a","directed","acyclic","graph",".","In","this","representation","the",":","class",":","`","~.Operator","`","instances","are","the","nodes","of","the","graph",",","and","each","directed","edge","represent","a","subsystem","(","or","a","group","of","subsystems",")","on","which","the","two","Operators","act","subsequently",".","This","representation","can","describe","the","causal","relationships","between","arbitrary","quantum","channels","and","measurements",",","not","just","unitary","gates",".","Args",":","ops","(","Iterable","[",".Operator","]",")",":","quantum","operators","constituting","the","circuit",",","in","temporal","order","obs","(","Iterable","[",".MeasurementProcess","]",")",":","terminal","measurements",",","in","temporal","order","wires","(",".Wires",")",":","The","addressable","wire","registers","of","the","device","that","will","be","executing","this","graph","par_info","(","list","[","dict","]",")",":","Parameter","information",".","For","each","index",",","the","entry","is","a","dictionary","containing","an","operation","and","an","index","into","that","operation","'s","parameters",".","trainable_params","(","set","[","int","]",")",":","A","set","containing","the","indices","of","parameters","that","support","differentiability",".","The","indices","provided","match","the","order","of","appearence","in","the","quantum","circuit","."]
docstr: Observables in the circuit, in a fixed topological order.
  
  The topological order used by this method is guaranteed to be the same
  as the order in which the measured observables are returned by the quantum function.
  Currently the topological order is determined by the queue index.
  
  Returns:
      list[Observable]: observables
docstr_tok: ["Observables","in","the","circuit",",","in","a","fixed","topological","order",".","The","topological","order","used","by","this","method","is","guaranteed","to","be","the","same","as","the","order","in","which","the","measured","observables","are","returned","by","the","quantum","function",".","Currently","the","topological","order","is","determined","by","the","queue","index",".","Returns",":","list","[","Observable","]",":","observables"]
code: def observables_in_order(self):
      """Observables in the circuit, in a fixed topological order.
  
      The topological order used by this method is guaranteed to be the same
      as the order in which the measured observables are returned by the quantum function.
      Currently the topological order is determined by the queue index.
  
      Returns:
          list[Observable]: observables
      """
      nodes = [
          node for node in self._graph.nodes() if _is_observable(node)
      ]
      return sorted(nodes, key=_by_idx)
  
imports: from numbers import Number
  from collections import namedtuple
  import numpy
  import rustworkx
  from pennylane.measurements import MeasurementProcess
  from pennylane.resource import ResourcesOperation
label_desc: Use image node_id 5 for calling the CircuitGraph obj's underlying member method code with example usage: obj.observables_in_order() and returns: sorted