Simple Grover's search with the Azure Quantum service
This sample demonstrates how to use Q# and the Azure Quantum service together to search for data with Grover's algorithm, also known as amplitude amplification. By applying a sequence of reflections, this state prepares a register of qubits in a state marked by a given quantum operation known as an oracle. The oracle used in this sample checks if its input matches a given integer, so that the computational basis state corresponding to that index is prepared with high probability.
This sample is implemented as a standalone executable, such that no C# or Python host is needed.
The program takes one command-line option,
--n-qubits, to control the number of qubits that are prepared using amplitude amplification.
Q# standalone command-line
Running the sample on a local simulator
dotnet run -- --simulator QuantumSimulator --n-qubits=3 --idx-marked=6
Running the sample on the Azure Quantum service
Make sure that you have created and selected a quantum workspace, and then run the following at the command line, substituting
TARGET with the target that you would like to run against (e.g.:
az quantum execute --target-id TARGET -- --n-qubits=3 --idx-marked=6
For a full list of available QIO and quantum computing targets, run:
az quantum target list --output table
⚠️ This sample makes use of paid services on Azure Quantum. The cost of running this sample with the provided parameters on IonQ in a Pay-As-You-Go subscription is approximately $6 USD (or the equivalent amount in your local currency). This quantity is only an approximate estimate and should not be used as a binding reference. The cost of the service might vary depending on your region, demand and other factors.
Q# with Jupyter Notebook
Make sure that you have followed the Q# + Jupyter Notebook quickstart for the Quantum Development Kit, and then start a new Jupyter Notebook session from the folder containing this sample:
cd grover jupyter notebook
Once Jupyter starts, open the
Grover.ipynb notebook and follow the instructions there.