示例#1
0
 def test_evolve_clifford2(self, gate, label):
     """Test evolve method for 2-qubit Clifford gates."""
     op = Operator(gate)
     pauli = Pauli(label)
     value = Operator(pauli.evolve(gate))
     target = op.adjoint().dot(pauli).dot(op)
     self.assertEqual(value, target)
示例#2
0
 def test_evolve_clifford_qargs(self):
     """Test evolve method for random Clifford"""
     cliff = random_clifford(3, seed=10)
     op = Operator(cliff)
     pauli = random_pauli(5, seed=10)
     qargs = [3, 0, 1]
     value = Operator(pauli.evolve(cliff, qargs=qargs))
     target = Operator(pauli).compose(op.adjoint(), qargs=qargs).dot(op, qargs=qargs)
     self.assertEqual(value, target)
示例#3
0
 def test_evolve_clifford2(self, gate, label):
     """Test evolve method for 2-qubit Clifford gates."""
     op = Operator(gate)
     pauli = Pauli(label)
     value = Operator(pauli.evolve(gate))
     value_h = Operator(pauli.evolve(gate, frame="h"))
     value_s = Operator(pauli.evolve(gate, frame="s"))
     value_inv = Operator(pauli.evolve(gate.inverse()))
     target = op.adjoint().dot(pauli).dot(op)
     self.assertEqual(value, target)
     self.assertEqual(value, value_h)
     self.assertEqual(value_inv, value_s)