def tracingTest(): print("Testing the partial trace...") se = simpleEngine(10) se2 = simpleEngine(10) se.add_fresh_qubit() se.add_fresh_qubit() se.add_fresh_qubit() se2.add_fresh_qubit() se2.add_fresh_qubit() se2.add_fresh_qubit() se.apply_X(0) se.apply_X(2) se2.apply_X(0) se2.apply_X(1) se.remove_qubit(1) se2.remove_qubit(2) if se.qubitReg != se2.qubitReg: print("ERROR: Partial trace failed\n") print("ok\n")
def gateTest(): print("Testing the gates...") se = simpleEngine(10) se.add_fresh_qubit() savedQubit = se.qubitReg se.apply_H(0) se.apply_Z(0) se.apply_H(0) se.apply_X(0) if savedQubit != se.qubitReg: print("ERROR: Gate test failed\n") print("ok\n")
def measureTest(): print("Testing a measurement...") se = simpleEngine() se.add_fresh_qubit() outcome = se.measure_qubit(0) if outcome != 0: print("ERROR: Measurement test failed\n") se.add_fresh_qubit() se.apply_X(0) outcome = se.measure_qubit(0) if outcome != 1: print("ERROR: Measurement test failed\n") print("ok\n")