Sequential Quantum Gate Decomposer  v1.9.3
Powerful decomposition of general unitarias into one- and two-qubit gates gates
example_partition.py
Go to the documentation of this file.
1 from squander.partitioning.partition import (
2  get_qubits,
3  PartitionCircuitQasm
4 )
5 
6 
8  filename = "examples/partitioning/qasm_samples/heisenberg-16-20.qasm"
9 
10  max_partition_size = 4
11  partitioned_circuit, parameters = PartitionCircuitQasm( filename, max_partition_size, True )
12 
13  print(f"{filename} Partitions ({len(partitioned_circuit.get_Gates())}):")
14  total = 0
15 
16  for i, partition in enumerate(partitioned_circuit.get_Gates()):
17 
18  num_gates = len(partition.get_Gates())
19  qubits = set.union(*(get_qubits(gate) for gate in partition.get_Gates()))
20  total += num_gates
21  print(f"#{i + 1}: {num_gates} {qubits}")
22 
23  print(f"Total gates: {total}")
24 
25 
26 
27 
28 
29 if __name__ == "__main__":
def PartitionCircuitQasm
Definition: partition.py:242
def get_qubits(gate)
Definition: partition.py:12