Skip to content

Commit ab74d3b

Browse files
authored
Fix #1064: replace calls to deprecated method orbital_energies (#1066)
1 parent 3a27def commit ab74d3b

File tree

4 files changed

+27
-20
lines changed

4 files changed

+27
-20
lines changed

src/openfermion/circuits/slater_determinants.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,9 @@ def gaussian_state_preparation_circuit(
103103
if not isinstance(quadratic_hamiltonian, QuadraticHamiltonian):
104104
raise ValueError('Input must be an instance of QuadraticHamiltonian.')
105105

106-
(
107-
orbital_energies,
108-
transformation_matrix,
109-
_,
110-
) = quadratic_hamiltonian.diagonalizing_bogoliubov_transform(spin_sector=spin_sector)
106+
(orbital_energies, transformation_matrix, _) = (
107+
quadratic_hamiltonian.diagonalizing_bogoliubov_transform(spin_sector=spin_sector)
108+
)
111109

112110
if quadratic_hamiltonian.conserves_particle_number:
113111
if occupied_orbitals is None:
@@ -221,7 +219,7 @@ def jw_get_gaussian_state(quadratic_hamiltonian, occupied_orbitals=None):
221219
n_qubits = quadratic_hamiltonian.n_qubits
222220

223221
# Compute the energy
224-
orbital_energies, constant = quadratic_hamiltonian.orbital_energies()
222+
orbital_energies, _, constant = quadratic_hamiltonian.diagonalizing_bogoliubov_transform()
225223
if occupied_orbitals is None:
226224
# The ground energy is desired
227225
if quadratic_hamiltonian.conserves_particle_number:

src/openfermion/circuits/slater_determinants_test.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,9 @@ def test_excited_state_particle_conserving(self):
198198
)
199199

200200
# Compute the true energy
201-
orbital_energies, constant = quadratic_hamiltonian.orbital_energies()
201+
orbital_energies, _, constant = (
202+
quadratic_hamiltonian.diagonalizing_bogoliubov_transform()
203+
)
202204
energy = numpy.sum(orbital_energies[occupied_orbitals]) + constant
203205

204206
# Check that the energies match
@@ -228,7 +230,9 @@ def test_excited_state_particle_nonconserving(self):
228230
)
229231

230232
# Compute the true energy
231-
orbital_energies, constant = quadratic_hamiltonian.orbital_energies()
233+
orbital_energies, _, constant = (
234+
quadratic_hamiltonian.diagonalizing_bogoliubov_transform()
235+
)
232236
energy = numpy.sum(orbital_energies[occupied_orbitals]) + constant
233237

234238
# Check that the energies match

src/openfermion/ops/representations/polynomial_tensor_test.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ def do_rotate_basis_quadratic_hamiltonian(self, real):
488488
# Initialize a particle-number-conserving quadratic Hamiltonian
489489
# and compute its orbital energies
490490
quad_ham = random_quadratic_hamiltonian(n_qubits, True, real=real)
491-
orbital_energies, constant = quad_ham.orbital_energies()
491+
orbital_energies, _, constant = quad_ham.diagonalizing_bogoliubov_transform()
492492

493493
# Rotate a basis where the Hamiltonian is diagonal
494494
_, diagonalizing_unitary, _ = quad_ham.diagonalizing_bogoliubov_transform()
@@ -504,7 +504,8 @@ def do_rotate_basis_quadratic_hamiltonian(self, real):
504504
self.assertTrue(quad_ham.conserves_particle_number)
505505

506506
# Check that the orbital energies and constant are the same
507-
new_orbital_energies, new_constant = quad_ham.orbital_energies()
507+
new_orbital_energies, _, new_constant = quad_ham.diagonalizing_bogoliubov_transform()
508+
508509
self.assertTrue(numpy.allclose(orbital_energies, new_orbital_energies))
509510
self.assertAlmostEqual(constant, new_constant)
510511

src/openfermion/ops/representations/quadratic_hamiltonian_test.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -121,13 +121,15 @@ def test_add_chemical_potential(self):
121121
def test_orbital_energies(self):
122122
"""Test getting the orbital energies."""
123123
# Test the particle-number-conserving case
124-
orbital_energies, constant = self.quad_ham_pc.orbital_energies()
124+
orbital_energies, _, constant = self.quad_ham_pc.diagonalizing_bogoliubov_transform()
125+
125126
# Test the ground energy
126127
energy = numpy.sum(orbital_energies[orbital_energies < 0.0]) + constant
127128
self.assertAlmostEqual(energy, self.pc_ground_energy)
128129

129130
# Test the non-particle-number-conserving case
130-
orbital_energies, constant = self.quad_ham_npc.orbital_energies()
131+
orbital_energies, _, constant = self.quad_ham_npc.diagonalizing_bogoliubov_transform()
132+
131133
# Test the ground energy
132134
energy = constant
133135
self.assertAlmostEqual(energy, self.npc_ground_energy)
@@ -265,11 +267,9 @@ def test_diagonalizing_bogoliubov_transform_particle_conserving(self):
265267
quad_ham = get_quadratic_hamiltonian(reorder(get_fermion_operator(quad_ham), up_then_down))
266268

267269
for spin_sector in range(2):
268-
(
269-
orbital_energies,
270-
transformation_matrix,
271-
_,
272-
) = quad_ham.diagonalizing_bogoliubov_transform(spin_sector=spin_sector)
270+
(orbital_energies, transformation_matrix, _) = (
271+
quad_ham.diagonalizing_bogoliubov_transform(spin_sector=spin_sector)
272+
)
273273

274274
def index_map(i):
275275
return i + spin_sector * 5
@@ -286,7 +286,7 @@ def index_map(i):
286286
quad_ham = random_quadratic_hamiltonian(
287287
5, conserves_particle_number=True, expand_spin=False
288288
)
289-
orbital_energies, _ = quad_ham.orbital_energies()
289+
orbital_energies, _, _ = quad_ham.diagonalizing_bogoliubov_transform()
290290

291291
_, transformation_matrix, _ = quad_ham.diagonalizing_bogoliubov_transform()
292292
numpy.testing.assert_allclose(
@@ -337,7 +337,9 @@ def test_particle_conserving(self):
337337
numpy.testing.assert_allclose(discrepancy, 0.0, atol=1e-7)
338338

339339
# Check that the eigenvalues are in the expected order
340-
orbital_energies, constant = quadratic_hamiltonian.orbital_energies()
340+
orbital_energies, _, constant = (
341+
quadratic_hamiltonian.diagonalizing_bogoliubov_transform()
342+
)
341343
for index in range(2**n_qubits):
342344
bitstring = bin(index)[2:].zfill(n_qubits)
343345
subset = [j for j in range(n_qubits) if bitstring[j] == '1']
@@ -374,7 +376,9 @@ def test_non_particle_conserving(self):
374376
numpy.testing.assert_allclose(discrepancy, 0.0, atol=1e-7)
375377

376378
# Check that the eigenvalues are in the expected order
377-
orbital_energies, constant = quadratic_hamiltonian.orbital_energies()
379+
orbital_energies, _, constant = (
380+
quadratic_hamiltonian.diagonalizing_bogoliubov_transform()
381+
)
378382
for index in range(2**n_qubits):
379383
bitstring = bin(index)[2:].zfill(n_qubits)
380384
subset = [j for j in range(n_qubits) if bitstring[j] == '1']

0 commit comments

Comments
 (0)