def test_number_operator_nosite(self): op = number_operator(4) expected = (FermionOperator(((0, 1), (0, 0))) + FermionOperator(((1, 1), (1, 0))) + FermionOperator(((2, 1), (2, 0))) + FermionOperator(((3, 1), (3, 0)))) self.assertTrue(op.isclose(expected))
def test_is_molecular_term_number(self): op = number_operator(n_orbitals=5, orbital=3) self.assertTrue(op.is_molecular_term())
def test_normal_ordered_number_reversed(self): n_term_rev2 = FermionOperator(((2, 0), (2, 1))) number_op2 = number_operator(3, 2) expected = FermionOperator(()) - number_op2 self.assertTrue(normal_ordered(n_term_rev2).isclose(expected))
def test_number_operator_site(self): op = number_operator(3, 2, 1j) self.assertTrue(op.isclose(FermionOperator(((2, 1), (2, 0))) * 1j))