qat.pbo.AbstractRegister
- class qat.pbo.AbstractRegister(constant_list=None)
This class is used to define abstract register. Please use this function if the name of your gate can match with gates having different arities.
- Example of use:
>>> # Creates a new abstract register >>> register = AbstractRegister() ... >>> # Gets the first qubit of the register >>> sub_register_1 = register[0] ... >>> # Gets the qubit positioned at the middle of the register >>> sub_register_2 = register[register.len() // 2]
- len()
Return the length of the
AbstractRegister
- Returns
length of the register
- Return type
- undirected()
Set the abstract register undirected. Please call this function if order of qubits does not matter.
- Returns
this method returns the object to allow writing compact code. For instance, in the following example, First case and Second case are equivalent:
register = AbstractRegister() # Fist case register.undirected() pattern = [("SWAP", register)] # Second case pattern = [("SWAP", register.undirected())]
- Return type