Sequential Quantum Gate Decomposer
v1.9.3
Powerful decomposition of general unitarias into one- and two-qubit gates gates
|
Classes | |
class | qgd_Circuit |
A QGD Python interface class for the Gates_Block. More... | |
Functions | |
def | __init__ (self, qbit_num) |
Constructor of the class. More... | |
def | add_adaptive (self, target_qbit, control_qbit) |
def | add_CH (self, target_qbit, control_qbit) |
def | add_Circuit (self, gate) |
def | add_CNOT (self, target_qbit, control_qbit) |
def | add_CROT (self, target_qbit, control_qbit, subtype) |
def | add_CZ (self, target_qbit, control_qbit) |
def | add_Gate (self, qgd_gate) |
def | add_H (self, target_qbit) |
def | add_R (self, target_qbit) |
def | add_RX (self, target_qbit) |
def | add_RY (self, target_qbit) |
def | add_RZ (self, target_qbit) |
def | add_SX (self, target_qbit) |
def | add_SYC (self, target_qbit, control_qbit) |
def | add_T (self, target_qbit) |
def | add_Tdg (self, target_qbit) |
def | add_U1 (self, target_qbit) |
def | add_U2 (self, target_qbit) |
def | add_U3 (self, target_qbit) |
def | add_X (self, target_qbit) |
def | add_Y (self, target_qbit) |
def | add_Z (self, target_qbit) |
def | apply_to (self, parameters_mtx, unitary_mtx, parallel=1) |
def | get_Children (self, gate) |
def | get_Circuit_Depth (self) |
def | get_Gate_Nums (self) |
Call to get statisctics on the gate counts in the circuit. More... | |
def | get_Gates (self) |
Call to get the list of gates (or subcircuits) in the circuit. More... | |
def | get_Matrix (self, parameters_mtx) |
def | get_Parameter_Num (self) |
def | get_Parameter_Start_Index (self) |
def | get_Parents (self, gate) |
def | get_Qbit_Num (self) |
Call to get the number of qubits in the circuit. More... | |
def | get_Qbits (self) |
Call to get the list of qubits involved in the circuit. More... | |
def | get_Second_Renyi_Entropy (self, parameters=None, input_state=None, qubit_list=None) |
Call to get the second Rényi entropy. More... | |
def | Remap_Qbits (self, qbit_map, qbit_num=None) |
Call to remap the qubits in the circuit. More... | |
def squander.gates.qgd_Circuit.__init__ | ( | self, | |
qbit_num | |||
) |
Constructor of the class.
qbit_num | the number of qubits spanning the operations |
Definition at line 68 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_adaptive | ( | self, | |
target_qbit, | |||
control_qbit | |||
) |
Definition at line 257 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_CH | ( | self, | |
target_qbit, | |||
control_qbit | |||
) |
Definition at line 175 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_Circuit | ( | self, | |
gate | |||
) |
Definition at line 275 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_CNOT | ( | self, | |
target_qbit, | |||
control_qbit | |||
) |
Definition at line 157 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_CROT | ( | self, | |
target_qbit, | |||
control_qbit, | |||
subtype | |||
) |
Definition at line 266 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_CZ | ( | self, | |
target_qbit, | |||
control_qbit | |||
) |
Definition at line 166 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_Gate | ( | self, | |
qgd_gate | |||
) |
Definition at line 486 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_H | ( | self, | |
target_qbit | |||
) |
Definition at line 194 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_R | ( | self, | |
target_qbit | |||
) |
Definition at line 130 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_RX | ( | self, | |
target_qbit | |||
) |
Definition at line 122 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_RY | ( | self, | |
target_qbit | |||
) |
Definition at line 139 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_RZ | ( | self, | |
target_qbit | |||
) |
Definition at line 148 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_SX | ( | self, | |
target_qbit | |||
) |
Definition at line 230 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_SYC | ( | self, | |
target_qbit, | |||
control_qbit | |||
) |
Definition at line 184 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_T | ( | self, | |
target_qbit | |||
) |
Definition at line 239 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_Tdg | ( | self, | |
target_qbit | |||
) |
Definition at line 248 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_U1 | ( | self, | |
target_qbit | |||
) |
Definition at line 95 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_U2 | ( | self, | |
target_qbit | |||
) |
Definition at line 104 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_U3 | ( | self, | |
target_qbit | |||
) |
Definition at line 113 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_X | ( | self, | |
target_qbit | |||
) |
Definition at line 203 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_Y | ( | self, | |
target_qbit | |||
) |
Definition at line 212 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.add_Z | ( | self, | |
target_qbit | |||
) |
Definition at line 221 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.apply_to | ( | self, | |
parameters_mtx, | |||
unitary_mtx, | |||
parallel = 1 |
|||
) |
def squander.gates.qgd_Circuit.get_Children | ( | self, | |
gate | |||
) |
Definition at line 419 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.get_Circuit_Depth | ( | self | ) |
def squander.gates.qgd_Circuit.get_Gate_Nums | ( | self | ) |
Call to get statisctics on the gate counts in the circuit.
Definition at line 383 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.get_Gates | ( | self | ) |
Call to get the list of gates (or subcircuits) in the circuit.
Definition at line 375 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.get_Matrix | ( | self, | |
parameters_mtx | |||
) |
Definition at line 284 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.get_Parameter_Num | ( | self | ) |
Definition at line 293 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.get_Parameter_Start_Index | ( | self | ) |
def squander.gates.qgd_Circuit.get_Parents | ( | self, | |
gate | |||
) |
Definition at line 412 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.get_Qbit_Num | ( | self | ) |
Call to get the number of qubits in the circuit.
Definition at line 359 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.get_Qbits | ( | self | ) |
Call to get the list of qubits involved in the circuit.
Definition at line 367 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.get_Second_Renyi_Entropy | ( | self, | |
parameters = None , |
|||
input_state = None , |
|||
qubit_list = None |
|||
) |
Call to get the second Rényi entropy.
parameters | A float64 numpy array |
input_state | A complex array storing the input state. If None |0> is created. |
qubit_list | A subset of qubits for which the Rényi entropy should be calculated. Returns with the calculated entropy |
Definition at line 315 of file qgd_Circuit.py.
def squander.gates.qgd_Circuit.Remap_Qbits | ( | self, | |
qbit_map, | |||
qbit_num = None |
|||
) |
Call to remap the qubits in the circuit.
qbit_map | The map conatining the qbit map in a form of dict: {int(initial_qbit): int(remapped_qbit)}. |
qbit_num | The number of qbits in the remaped circuits (Can be different than in the original circuit) |
Definition at line 393 of file qgd_Circuit.py.