def test_double_cnot_bit_flip(simulator, p): qubit = 1 U = gates.X(0) + gates.X(2) + gates.CX(0, 1) + gates.CX(2, 1) H = paulis.Qm(qubit) O = ExpectationValue(U=U, H=H) NM = BitFlip(p, 2) E = simulate(O, backend=simulator, samples=1, noise=NM)
def test_double_cnot_bit_flip(simulator, p): qubit = 1 U = gates.X(0) + gates.X(2) + gates.CX(0, 1) + gates.CX(2, 1) H = paulis.Qm(qubit) O = ExpectationValue(U=U, H=H) NM = BitFlip(p, 2) E = simulate(O, backend=simulator, samples=1000, noise=NM) assert (numpy.isclose(E, 2 * (p - p * p), atol=1.e-1))
def test_bit_flip(simulator, p, controlled): qubit = 0 if controlled: U = gates.X(target=1) + gates.CX(1, 0) H = paulis.Qm(0) NM = BitFlip(p, 2) else: U = gates.X(target=0) NM = BitFlip(p, 1) H = paulis.Qm(qubit) O = ExpectationValue(U=U, H=H) E = simulate(O, backend=simulator, samples=1, noise=NM)
def test_bit_flip(simulator, p, controlled): qubit = 0 if controlled: U = gates.X(target=1) + gates.CX(1, 0) H = paulis.Qm(0) NM = BitFlip(p, 2) else: U = gates.X(target=0) NM = BitFlip(p, 1) H = paulis.Qm(qubit) O = ExpectationValue(U=U, H=H) E = simulate(O, backend=simulator, samples=1000, noise=NM) assert (numpy.isclose(E, 1.0 - p, atol=1.e-1))