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)
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)