@@ -118,71 +118,6 @@ def select_acquisitions(
118118 acq = np .array (list (acquisitions ))
119119 samples = np .minimum (np .searchsorted (times , acq ), times .size - 1 )
120120 return np .stack ([states [n ].full () for n in samples ])
121- # return np.stack([s.full() for s in states])
122-
123-
124- # def results(
125- # states: NDArray,
126- # sequence: PulseSequence,
127- # hamiltonian: HamiltonianConfig,
128- # options: ExecutionParameters,
129- # ) -> dict[int, Result]:
130- # """Collect results for a single pulse sequence.
131-
132- # The dictionary returned is already compliant with the expected
133- # result for the execution of this single sequence, thus suitable
134- # to be returned as is.
135- # """
136-
137- # probabilities = calculate_probabilities_from_density_matrix(
138- # states,
139- # )
140- # # HERE I COULD RECOVER THE CORRECT SOLUTION ONLY FOR 'fixed-frequency-qutrits' PLATFORM
141- # # STILL NOT WORKING FOR 'qutrits' PLATFORM
142- # # t = datetime.datetime.now().strftime("%H:%M:%S")
143- # # np.savez(f'{t}_raw_qutip_evolution.npz', np.stack(results))
144-
145- # assert options.nshots is not None
146- # sampled = shots(np.moveaxis(probabilities, -2, 0), options.nshots)
147- # # move measurements dimension to the front, getting ready for extraction
148- # measurements = np.moveaxis(sampled, 1, 0)
149-
150- # probabilities = np.moveaxis(probabilities,0,-1)
151- # states_idx = [*range(probabilities.shape[1])]
152- # results = {}
153- # qutip_res = []
154- # # introduce cached measurements to avoid losing correlations
155- # cache_measurements = {}
156- # # for (ro_id, sample), meas in zip(acquisitions(sequence).items(), measurements):
157- # for (ro_id, sample), probs in zip(acquisitions(sequence).items(), probabilities):
158- # i = index(sequence.pulse_channels(ro_id)[0], hamiltonian)
159- # # cache_measurements.setdefault(sample, meas)
160-
161- # # res = np.stack(
162- # # np.unravel_index(cache_measurements[sample], hamiltonian.dims)
163- # # )[i]
164-
165- # states_computational_idx = np.stack(
166- # np.unravel_index(states_idx, hamiltonian.dims)
167- # )
168-
169- # res = np.sum(probabilities[i,states_computational_idx[i]==1,:],axis=0)
170- # # if options.acquisition_type is AcquisitionType.INTEGRATION:
171- # # res = np.stack((res, np.zeros_like(res)), axis=-1)
172- # # res = np.random.normal(res, scale=0.001)
173-
174- # # if options.averaging_mode == AveragingMode.CYCLIC:
175- # # res = np.mean(res, axis=0)
176-
177- # results[ro_id] = res
178- # qutip_res.append(res)
179-
180- # # HERE I COULD RECOVER THE CORRECT SOLUTION ONLY FOR 'fixed-frequency-qutrits' PLATFORM
181- # # STILL NOT WORKING FOR 'qutrits' PLATFORM
182- # # t = datetime.datetime.now().strftime("%H:%M:%S")
183- # # np.savez(f'{t}_resultspy_qutip_evolution.npz', np.stack(qutip_res))
184-
185- # return results
186121
187122
188123def results (
@@ -231,7 +166,7 @@ def results(
231166 ]
232167
233168 if options .averaging_mode == AveragingMode .CYCLIC :
234- res = np .mean (res , axis = 0 )
169+ res = np .mean (res [ res <= 1 ] , axis = 0 )
235170
236171 results [ro_id ] = res
237172
0 commit comments