def test_reduce(self): """Test reduce""" fer_op = FermionicOp("N") + FermionicOp("E") + FermionicOp("N") reduced_op = fer_op.reduce() self.assertSetEqual(frozenset(reduced_op.to_list()), frozenset([("N", 2), ("E", 1)])) fer_op = FermionicOp(("+", 1)) + FermionicOp(("-", 1j)) + FermionicOp( ("+", 1j)) reduced_op = fer_op.reduce() self.assertSetEqual(frozenset(reduced_op.to_list()), frozenset([("+", 1 + 1j), ("-", 1j)]))
def test_reduce(self): """Test reduce""" with self.subTest("reduce integer"): fer_op = FermionicOp("N") + FermionicOp("E") + FermionicOp("N") reduced_op = fer_op.reduce() targ = FermionicOp([("N", 2), ("E", 1)]) self.assertFermionEqual(reduced_op, targ) with self.subTest("reduce complex"): fer_op = FermionicOp( "+") + 1j * FermionicOp("-") + 1j * FermionicOp("+") reduced_op = fer_op.reduce() targ = FermionicOp([("+", 1 + 1j), ("-", 1j)]) self.assertFermionEqual(reduced_op, targ)