Skip to main content

View on GitHub

Open this notebook in GitHub to run it yourself
This notebook demonstrates Classiq’s capabilities in the framework of phase oracles. The focus is 3-SAT problems on a growing number of variables. To highlight the advantage of generation times, we skip transpilation for the synthesis output. The following utility functions generate random 3-SAT problems for NN boolean variables, consisting of NN clauses.

  1. Generating Phase Oracles
For each 3-SAT problem we generate an oracle with Classiq and save the generation time, as well as the circuits’ width.
The following function generates a phase oracle with qiskit.
For generating the same data with Qiskit please uncomment the commented lines (including the pip install command). We work with qiskit version 1.0.
We skip generating data with Qiskit for N>23N>23, as generation times exponentially diverge with the number of variables.
Output:

  1. Plotting the Data
Since generating the data takes time we hard-coded the Qiskit results in the notebook. If you run this notebook by yourself please comment out the following cell.
Output:
output