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:
main_frequencies = { frequencies = Counter(circ_quimb.sample(nshots))
state: count main_frequencies = {
for state, count in frequencies.most_common(self.n_most_frequent_states) state: count
} for state, count in frequencies.most_common(
computational_states = [state for state in main_frequencies.keys()] self.n_most_frequent_states
amplitudes = { )
state: circ_quimb.amplitude(state) for state in computational_states }
} computational_states = list(main_frequencies.keys())
measured_probabilities = { amplitudes = {
state: abs(amplitude) ** 2 for state, amplitude in amplitudes.items() state: circ_quimb.amplitude(state) for state in computational_states
} }
measured_probabilities = {
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(