Sequential Quantum Gate Decomposer  v1.9.3
Powerful decomposition of general unitarias into one- and two-qubit gates gates
Variables
example_SABRE Namespace Reference

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)
 

Variable Documentation

◆ circuit_qiskit

example_SABRE.circuit_qiskit = QuantumCircuit.from_qasm_file(filename)

Definition at line 23 of file example_SABRE.py.

◆ coupling_map

list example_SABRE.coupling_map = [[0,1],[0,2],[0,3],[0,4]]

Definition at line 51 of file example_SABRE.py.

◆ decomposition_error

tuple example_SABRE.decomposition_error = (np.real(np.trace(product_matrix)))/2

Definition at line 78 of file example_SABRE.py.

◆ filename

string example_SABRE.filename = 'benchmarks/qfast/5q/vqe.qasm'

Definition at line 20 of file example_SABRE.py.

◆ final_pi

example_SABRE.final_pi

Definition at line 33 of file example_SABRE.py.

◆ matrix_size

int example_SABRE.matrix_size = 1 << Squander_initial_circuit.get_Qbit_Num()

Definition at line 62 of file example_SABRE.py.

◆ N

int example_SABRE.N = 5

Definition at line 21 of file example_SABRE.py.

◆ parameters

example_SABRE.parameters = np.array([])

Definition at line 13 of file example_SABRE.py.

◆ parameters_initial

example_SABRE.parameters_initial

Definition at line 26 of file example_SABRE.py.

◆ parameters_remapped_circuit

example_SABRE.parameters_remapped_circuit

Definition at line 33 of file example_SABRE.py.

◆ phase

example_SABRE.phase = np.angle(product_matrix[0,0])

Definition at line 71 of file example_SABRE.py.

◆ pi

example_SABRE.pi

Definition at line 33 of file example_SABRE.py.

◆ pi_map

example_SABRE.pi_map = list(np.array(sabre.get_inverse_pi(pi)))

Definition at line 43 of file example_SABRE.py.

◆ product_matrix

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.

◆ Qiskit_circuit

example_SABRE.Qiskit_circuit = QuantumCircuit(N)

Definition at line 42 of file example_SABRE.py.

◆ qubits

example_SABRE.qubits = list(range(N))

Definition at line 41 of file example_SABRE.py.

◆ sabre

example_SABRE.sabre = SABRE(Squander_initial_circuit, topology)

Definition at line 32 of file example_SABRE.py.

◆ Squander_initial_circuit

example_SABRE.Squander_initial_circuit

Definition at line 26 of file example_SABRE.py.

◆ Squander_remapped_circuit

example_SABRE.Squander_remapped_circuit

Definition at line 33 of file example_SABRE.py.

◆ swap_count

example_SABRE.swap_count

Definition at line 33 of file example_SABRE.py.

◆ topology

list example_SABRE.topology = [(0,1),(0,2),(0,3),(0,4)]

Definition at line 29 of file example_SABRE.py.

◆ unitary_squander_initial

example_SABRE.unitary_squander_initial = utils.get_unitary_from_qiskit_circuit_operator(circuit_qiskit)

Definition at line 63 of file example_SABRE.py.

◆ unitary_squander_remapped_circuit

example_SABRE.unitary_squander_remapped_circuit = utils.get_unitary_from_qiskit_circuit_operator(Qiskit_circuit)

Definition at line 67 of file example_SABRE.py.