コード例 #1
0
 def test_trivially_commutes_both_hopping_and_number_on_same_modes(self):
     self.assertTrue(
         trivially_commutes_dual_basis(FermionOperator('4^ 1'),
                                       FermionOperator('4^ 1^ 4 1')))
コード例 #2
0
 def test_no_trivial_commute_left_hopping_operator(self):
     self.assertFalse(
         trivially_commutes_dual_basis(FermionOperator('3^ 2'),
                                       FermionOperator('3^ 3')))
コード例 #3
0
 def test_trivially_commutes_both_hopping_annihilate_same_mode(self):
     self.assertTrue(
         trivially_commutes_dual_basis(FermionOperator('4^ 1'),
                                       FermionOperator('3^ 1')))
コード例 #4
0
 def test_trivially_commutes_one_double_number_operators(self):
     self.assertTrue(
         trivially_commutes_dual_basis(FermionOperator('3^ 2^ 3 2'),
                                       FermionOperator('3^ 3')))
コード例 #5
0
 def test_trivially_commutes_nonintersecting_single_number_operators(self):
     self.assertTrue(
         trivially_commutes_dual_basis(FermionOperator('2^ 2'),
                                       FermionOperator('3^ 3')))
コード例 #6
0
 def test_trivially_commutes_both_single_number_operators(self):
     self.assertTrue(
         trivially_commutes_dual_basis(FermionOperator('3^ 3'),
                                       FermionOperator('3^ 3')))
コード例 #7
0
 def test_no_trivial_commute_with_intersection(self):
     self.assertFalse(
         trivially_commutes_dual_basis(FermionOperator('2^ 1'),
                                       FermionOperator('5^ 2^ 5 2')))
コード例 #8
0
 def test_trivially_commutes_no_intersection(self):
     self.assertTrue(
         trivially_commutes_dual_basis(FermionOperator('3^ 2^ 3 2'),
                                       FermionOperator('4^ 1')))