def test_permute(self, permutation, expected_pauli): """Test the permute method.""" pauli_sum = PauliSumOp(SparsePauliOp.from_list([("XYZ", 1)])) expected = PauliSumOp(SparsePauliOp.from_list([(expected_pauli, 1)])) permuted = pauli_sum.permute(permutation) with self.subTest(msg="test permutated object"): self.assertEqual(permuted, expected) with self.subTest(msg="test original object is unchanged"): original = PauliSumOp(SparsePauliOp.from_list([("XYZ", 1)])) self.assertEqual(pauli_sum, original)
def test_permute(self): """permute test""" pauli_sum = PauliSumOp(SparsePauliOp((X ^ Y ^ Z).primitive)) expected = PauliSumOp(SparsePauliOp((X ^ I ^ Y ^ Z ^ I).primitive)) self.assertEqual(pauli_sum.permute([1, 2, 4]), expected) pauli_sum = PauliSumOp(SparsePauliOp((X ^ Y ^ Z).primitive)) expected = PauliSumOp(SparsePauliOp((Z ^ Y ^ X).primitive)) self.assertEqual(pauli_sum.permute([2, 1, 0]), expected) with self.assertRaises(OpflowError): pauli_sum.permute([1, 2, 1]) with self.assertRaises(OpflowError): pauli_sum.permute([1, 2, -1])
def test_permute(self): """ permute test """ pauli_sum = PauliSumOp(SparsePauliOp((X ^ Y ^ Z).primitive)) expected = PauliSumOp(SparsePauliOp((X ^ I ^ Y ^ Z ^ I).primitive)) self.assertEqual(pauli_sum.permute([1, 2, 4]), expected)
def test_permute_invalid(self, permutation): """Test the permute method raises an error on invalid permutations.""" pauli_sum = PauliSumOp(SparsePauliOp((X ^ Y ^ Z).primitive)) with self.assertRaises(OpflowError): pauli_sum.permute(permutation)