braket.experimental.algorithms.bernstein_vazirani.bernstein_vazirani module

braket.experimental.algorithms.bernstein_vazirani.bernstein_vazirani.bernstein_vazirani_circuit(hidden_string: str) Circuit[source]

Bernstein–Vazirani circuit on a hidden string. Creates a circuit that finds the hidden string in a single iteration, using number of qubits equal to the string length.

Example

>>> circ = bernstein_vazirani_circuit("011")
>>> print(circ)
T  : |0|1| 2 |3|4|Result Types|
q0 : -H---C---H---Probability--
          |       |
q1 : -H---|---C-H-Probability--
          |   |   |
q2 : -H-I-|-H-|---Probability--
          |   |
q3 : -H-Z-X---X----------------
T  : |0|1| 2 |3|4|Result Types|
Parameters:

hidden_string (str) – Hidden bitstring.

Returns:

Circuit – Bernstein–Vazirani circuit

braket.experimental.algorithms.bernstein_vazirani.bernstein_vazirani.get_bernstein_vazirani_results(task: QuantumTask) Dict[str, float][source]

Return the probabilities and corresponding bitstrings.

Parameters:

task (QuantumTask) – Quantum task to process.

Returns:

Dict[str, float] – Results as a dictionary of bitstrings

braket.experimental.algorithms.bernstein_vazirani.bernstein_vazirani.run_bernstein_vazirani(circuit: Circuit, device: Device, shots: int = 1000) QuantumTask[source]

Function to run Bernstein Vazirani algorithm on a device. :param circuit: Bernstein Vazirani circuit :type circuit: Circuit :param device: Braket device backend :type device: Device :param shots: Number of measurement shots (default is 1000). :type shots: int

Returns:

QuantumTask – Task from running Quantum Phase Estimation