Sequential Quantum Gate Decomposer
v1.9.3
Powerful decomposition of general unitarias into one- and two-qubit gates gates
|
Variables | |
circuit_qiskit = QuantumCircuit.from_qasm_file(filename) | |
list | coupling_map = [[0,1],[0,2],[0,3],[0,4]] |
tuple | decomposition_error = (np.real(np.trace(product_matrix)))/2 |
string | filename = 'benchmarks/qfast/5q/vqe.qasm' |
final_pi | |
int | matrix_size = 1 << Squander_initial_circuit.get_Qbit_Num() |
int | N = 5 |
parameters = np.array([]) | |
parameters_initial | |
parameters_remapped_circuit | |
phase = np.angle(product_matrix[0,0]) | |
pi | |
pi_map = list(np.array(sabre.get_inverse_pi(pi))) | |
product_matrix = np.dot(unitary_squander_initial.conj().T, unitary_squander_remapped_circuit) | |
Qiskit_circuit = QuantumCircuit(N) | |
qubits = list(range(N)) | |
sabre = SABRE(Squander_initial_circuit, topology) | |
Squander_initial_circuit | |
Squander_remapped_circuit | |
swap_count | |
list | topology = [(0,1),(0,2),(0,3),(0,4)] |
unitary_squander_initial = utils.get_unitary_from_qiskit_circuit_operator(circuit_qiskit) | |
unitary_squander_remapped_circuit = utils.get_unitary_from_qiskit_circuit_operator(Qiskit_circuit) | |
example_SABRE.circuit_qiskit = QuantumCircuit.from_qasm_file(filename) |
Definition at line 23 of file example_SABRE.py.
list example_SABRE.coupling_map = [[0,1],[0,2],[0,3],[0,4]] |
Definition at line 51 of file example_SABRE.py.
tuple example_SABRE.decomposition_error = (np.real(np.trace(product_matrix)))/2 |
Definition at line 78 of file example_SABRE.py.
string example_SABRE.filename = 'benchmarks/qfast/5q/vqe.qasm' |
Definition at line 20 of file example_SABRE.py.
example_SABRE.final_pi |
Definition at line 33 of file example_SABRE.py.
int example_SABRE.matrix_size = 1 << Squander_initial_circuit.get_Qbit_Num() |
Definition at line 62 of file example_SABRE.py.
int example_SABRE.N = 5 |
Definition at line 21 of file example_SABRE.py.
example_SABRE.parameters = np.array([]) |
Definition at line 13 of file example_SABRE.py.
example_SABRE.parameters_initial |
Definition at line 26 of file example_SABRE.py.
example_SABRE.parameters_remapped_circuit |
Definition at line 33 of file example_SABRE.py.
example_SABRE.phase = np.angle(product_matrix[0,0]) |
Definition at line 71 of file example_SABRE.py.
example_SABRE.pi |
Definition at line 33 of file example_SABRE.py.
example_SABRE.pi_map = list(np.array(sabre.get_inverse_pi(pi))) |
Definition at line 43 of file example_SABRE.py.
int example_SABRE.product_matrix = np.dot(unitary_squander_initial.conj().T, unitary_squander_remapped_circuit) |
Definition at line 70 of file example_SABRE.py.
example_SABRE.Qiskit_circuit = QuantumCircuit(N) |
Definition at line 42 of file example_SABRE.py.
example_SABRE.qubits = list(range(N)) |
Definition at line 41 of file example_SABRE.py.
example_SABRE.sabre = SABRE(Squander_initial_circuit, topology) |
Definition at line 32 of file example_SABRE.py.
example_SABRE.Squander_initial_circuit |
Definition at line 26 of file example_SABRE.py.
example_SABRE.Squander_remapped_circuit |
Definition at line 33 of file example_SABRE.py.
example_SABRE.swap_count |
Definition at line 33 of file example_SABRE.py.
list example_SABRE.topology = [(0,1),(0,2),(0,3),(0,4)] |
Definition at line 29 of file example_SABRE.py.
example_SABRE.unitary_squander_initial = utils.get_unitary_from_qiskit_circuit_operator(circuit_qiskit) |
Definition at line 63 of file example_SABRE.py.
example_SABRE.unitary_squander_remapped_circuit = utils.get_unitary_from_qiskit_circuit_operator(Qiskit_circuit) |
Definition at line 67 of file example_SABRE.py.