fix: prevent error when nshots=None. In that case frequencies and probabilities are set to None

This commit is contained in:
Mattia Robbiano
2025-09-05 17:18:18 +02:00
parent f0b28d87c4
commit 1fa1730fb3

View File

@@ -112,18 +112,24 @@ class QuimbBackend(QibotnBackend, NumpyBackend):
circuit.to_qasm(), psi0=initial_state circuit.to_qasm(), psi0=initial_state
) )
frequencies = Counter(circ_quimb.sample(nshots)) if nshots is not None else None if nshots:
frequencies = Counter(circ_quimb.sample(nshots))
main_frequencies = { main_frequencies = {
state: count state: count
for state, count in frequencies.most_common(self.n_most_frequent_states) for state, count in frequencies.most_common(
self.n_most_frequent_states
)
} }
computational_states = [state for state in main_frequencies.keys()] computational_states = list(main_frequencies.keys())
amplitudes = { amplitudes = {
state: circ_quimb.amplitude(state) for state in computational_states state: circ_quimb.amplitude(state) for state in computational_states
} }
measured_probabilities = { measured_probabilities = {
state: abs(amplitude) ** 2 for state, amplitude in amplitudes.items() state: abs(amplitude) ** 2 for state, amplitude in amplitudes.items()
} }
else:
frequencies = None
measured_probabilities = None
statevector = circ_quimb.to_dense() if return_array else None statevector = circ_quimb.to_dense() if return_array else None
return TensorNetworkResult( return TensorNetworkResult(