CommutationAnalysis

class CommutationAnalysis(*args, **kwargs)[source]

Analysis pass to find commutation relations between DAG nodes.

Property_set[‘commutation_set’] is a dictionary that describes the commutation relations on a given wire, all the gates on a wire are grouped into a set of gates that commute.

TODO: the current pass determines commutativity through matrix multiplication. A rule-based analysis would be potentially faster, but more limited.

Attributes

CommutationAnalysis.is_analysis_pass

Check if the pass is an analysis pass.

CommutationAnalysis.is_transformation_pass

Check if the pass is a transformation pass.

Methods

CommutationAnalysis.name()

Return the name of the pass.

CommutationAnalysis.run(dag)

Run the CommutationAnalysis pass on dag.