fix: prevent error when nshots=None. In that case frequencies and probabilities are set to None
This commit is contained in:
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user