def test_operate_controlled_xyz(self): """test 'operate' (controlled_xyz) """ qs_expect = QState(qubit_num=4) qs_actual = QState(qubit_num=4) pp = PauliProduct(pauli_str="XYZ", qid=[2, 0, 1]) qs_expect.cx(3, 2).cy(3, 0).cz(3, 1) qs_actual.operate(pp=pp, ctrl=3) ans = equal_qstates(qs_expect, qs_actual) self.assertEqual(ans, True)
def test_operate_h_z(self): """test 'operate' (z followed by h) """ qs_expect = QState(qubit_num=1).h(0) qs_actual = QState(qubit_num=1).h(0) pp = PauliProduct(pauli_str="Z") qs_expect.z(0) qs_actual.operate(pp=pp) ans = equal_qstates(qs_expect, qs_actual) self.assertEqual(ans, True)
def test_operate_xyz(self): """test 'operate' (xyz) """ qs_expect = QState(qubit_num=3) qs_actual = QState(qubit_num=3) pp = PauliProduct(pauli_str="XYZ", qid=[2, 0, 1]) qs_expect.x(2).y(0).z(1) qs_actual.operate(pp=pp) ans = equal_qstates(qs_expect, qs_actual) self.assertEqual(ans, True)
def test_operate_x(self): """test 'operate' (x) """ qs_expect = QState(qubit_num=1) qs_actual = QState(qubit_num=1) pp = PauliProduct(pauli_str="X") qs_expect.x(0) qs_actual.operate(pp=pp) ans = equal_qstates(qs_expect, qs_actual) self.assertEqual(ans, True)