示例#1
0
 def test_from_label(self):
     """Test from_label method"""
     label = 'IXYZHS'
     CI = Clifford(IGate())
     CX = Clifford(XGate())
     CY = Clifford(YGate())
     CZ = Clifford(ZGate())
     CH = Clifford(HGate())
     CS = Clifford(SGate())
     target = CI.tensor(CX).tensor(CY).tensor(CZ).tensor(CH).tensor(CS)
     self.assertEqual(Clifford.from_label(label), target)
示例#2
0
 def test_tensor_method(self, num_qubits_1, num_qubits_2):
     """Test tensor method"""
     samples = 5
     num_gates = 10
     seed = 800
     gates = 'all'
     for i in range(samples):
         circ1 = random_clifford_circuit(num_qubits_1,
                                         num_gates,
                                         gates=gates,
                                         seed=seed + i)
         circ2 = random_clifford_circuit(num_qubits_2,
                                         num_gates,
                                         gates=gates,
                                         seed=seed + samples + i)
         cliff1 = Clifford(circ1)
         cliff2 = Clifford(circ2)
         value = cliff1.tensor(cliff2)
         circ = QuantumCircuit(num_qubits_1 + num_qubits_2)
         circ.append(circ2, range(num_qubits_2))
         circ.append(circ1, range(num_qubits_2,
                                  num_qubits_1 + num_qubits_2))
         target = Clifford(circ)
         self.assertEqual(target, value)