StructureAnalysisPass

class StructureAnalysisPass[source]

Bases: BasePass

A pass that catalogs circuit structures used in a partitioned circuit.

If a circuit contains hierarchically defined gates, these hierarchies are discarded to check gate level equivalence between structures.

Example

The left shows a hierarchically defined gate sequence. The right shows the same gate sequence but it is specified at the gate level. These two structures are considered equivalent.

———- ———-

|-cx-rz-cx-||-cx-rz-cx-|– –cx-rz-cx-cx-rz-cx–
| | | | | | | == | | | |
|-cx-rz-cx-||-cx-rz-cx-|– –cx-rz-cx-cx-rz-cx–

———- ———-

__init__()[source]

Construct a StructurePass.

Attributes

name

The name of the pass.

Methods

execute(*args, **kwargs)

Map a function over iterable arguments in parallel.

get_connectivity(_, data)

Retrieve the current connectivity of the circuit.

get_model(_, data)

Retrieve the machine model from the data dictionary.

get_placement(_, data)

Retrieve the logical to physical qubit map from the data dictionary.

get_target(_, data)

Retrieve the target from the data dictionary.

in_parallel(data)

Return true if pass is being executed in a parallel.

run(circuit, data)

Perform the pass's operation, see BasePass for more.