Esempio n. 1
0
 def sample(self,
            qubits: List[ops.Qid],
            repetitions: int = 1) -> np.ndarray:
     indices = [self.qubit_map[qubit] for qubit in qubits]
     return wave_function.sample_state_vector(self._state_vector,
                                              indices,
                                              qid_shape=protocols.qid_shape(
                                                  self, None),
                                              repetitions=repetitions)
Esempio n. 2
0
 def sample(self,
            qubits: List[ops.Qid],
            repetitions: int = 1,
            seed: 'cirq.RANDOM_STATE_OR_SEED_LIKE' = None) -> np.ndarray:
     indices = [self.qubit_map[qubit] for qubit in qubits]
     return wave_function.sample_state_vector(self._state_vector,
                                              indices,
                                              qid_shape=protocols.qid_shape(
                                                  self, None),
                                              repetitions=repetitions,
                                              seed=seed)
Esempio n. 3
0
 def sample(self,
            qubits: List[ops.Qid],
            repetitions: int = 1,
            seed: Optional[Union[int, np.random.RandomState]] = None
           ) -> np.ndarray:
     indices = [self.qubit_map[qubit] for qubit in qubits]
     return wave_function.sample_state_vector(self._state_vector,
                                              indices,
                                              qid_shape=protocols.qid_shape(
                                                  self, None),
                                              repetitions=repetitions,
                                              seed=seed)
Esempio n. 4
0
def _compute_samples_display_value(display: ops.SamplesDisplay,
                                   state: np.ndarray,
                                   qubit_order: ops.QubitOrder,
                                   qubit_map: Dict[ops.Qid, int]):
    basis_change_circuit = circuits.Circuit(display.measurement_basis_change())
    modified_state = basis_change_circuit.final_wavefunction(
        state,
        qubit_order=qubit_order,
        qubits_that_should_be_present=qubit_map.keys())
    indices = [qubit_map[qubit] for qubit in display.qubits]
    samples = wave_function.sample_state_vector(
        modified_state, indices, repetitions=display.num_samples)
    return display.value_derived_from_samples(samples)
Esempio n. 5
0
 def sample(self, qubits: List[ops.QubitId],
            repetitions: int = 1) -> np.ndarray:
     indices = [self.qubit_map[qubit] for qubit in qubits]
     return wave_function.sample_state_vector(self._state, indices,
                                              repetitions)