@@ -137,13 +137,16 @@ def test_bad_input(self):
137137class JWGetGaussianStateTest (unittest .TestCase ):
138138 def setUp (self ):
139139 self .n_qubits_range = range (2 , 10 )
140+ self .rng = numpy .random .default_rng (5387 )
141+ self .hamiltonian_seed_sequence = numpy .random .SeedSequence (5387 )
140142
141143 def test_ground_state_particle_conserving (self ):
142144 """Test getting the ground state of a Hamiltonian that conserves
143145 particle number."""
144146 for n_qubits in self .n_qubits_range :
145147 # Initialize a particle-number-conserving Hamiltonian
146- quadratic_hamiltonian = random_quadratic_hamiltonian (n_qubits , True )
148+ hamiltonian_seed = self .hamiltonian_seed_sequence .spawn (1 )[0 ].generate_state (1 )[0 ]
149+ quadratic_hamiltonian = random_quadratic_hamiltonian (n_qubits , True , seed = hamiltonian_seed )
147150
148151 # Compute the true ground state
149152 sparse_operator = get_sparse_operator (quadratic_hamiltonian )
@@ -165,7 +168,8 @@ def test_ground_state_particle_nonconserving(self):
165168 conserve particle number."""
166169 for n_qubits in self .n_qubits_range :
167170 # Initialize a non-particle-number-conserving Hamiltonian
168- quadratic_hamiltonian = random_quadratic_hamiltonian (n_qubits , False )
171+ hamiltonian_seed = self .hamiltonian_seed_sequence .spawn (1 )[0 ].generate_state (1 )[0 ]
172+ quadratic_hamiltonian = random_quadratic_hamiltonian (n_qubits , False , seed = hamiltonian_seed )
169173
170174 # Compute the true ground state
171175 sparse_operator = get_sparse_operator (quadratic_hamiltonian )
@@ -187,11 +191,12 @@ def test_excited_state_particle_conserving(self):
187191 particle number."""
188192 for n_qubits in self .n_qubits_range :
189193 # Initialize a particle-number-conserving Hamiltonian
190- quadratic_hamiltonian = random_quadratic_hamiltonian (n_qubits , True )
194+ hamiltonian_seed = self .hamiltonian_seed_sequence .spawn (1 )[0 ].generate_state (1 )[0 ]
195+ quadratic_hamiltonian = random_quadratic_hamiltonian (n_qubits , True , seed = hamiltonian_seed )
191196
192197 # Pick some orbitals to occupy
193- num_occupied_orbitals = numpy . random . randint (1 , n_qubits + 1 )
194- occupied_orbitals = numpy . random .choice (range (n_qubits ), num_occupied_orbitals , False )
198+ num_occupied_orbitals = self . rng . integers (1 , n_qubits + 1 )
199+ occupied_orbitals = self . rng .choice (range (n_qubits ), num_occupied_orbitals , False )
195200
196201 # Compute the Gaussian state
197202 circuit_energy , gaussian_state = jw_get_gaussian_state (
@@ -219,11 +224,12 @@ def test_excited_state_particle_nonconserving(self):
219224 particle number."""
220225 for n_qubits in self .n_qubits_range :
221226 # Initialize a non-particle-number-conserving Hamiltonian
222- quadratic_hamiltonian = random_quadratic_hamiltonian (n_qubits , False )
227+ hamiltonian_seed = self .hamiltonian_seed_sequence .spawn (1 )[0 ].generate_state (1 )[0 ]
228+ quadratic_hamiltonian = random_quadratic_hamiltonian (n_qubits , False , seed = hamiltonian_seed )
223229
224230 # Pick some orbitals to occupy
225- num_occupied_orbitals = numpy . random . randint (1 , n_qubits + 1 )
226- occupied_orbitals = numpy . random .choice (range (n_qubits ), num_occupied_orbitals , False )
231+ num_occupied_orbitals = self . rng . integers (1 , n_qubits + 1 )
232+ occupied_orbitals = self . rng .choice (range (n_qubits ), num_occupied_orbitals , False )
227233
228234 # Compute the Gaussian state
229235 circuit_energy , gaussian_state = jw_get_gaussian_state (
0 commit comments