Declan
I think we will be using qiskit to access real hardware .
We are told we can access it through WQF but we are not given the resources to do it .
The three files are not going to achieve that goal . leaving out the Amazon bracket file and concentrate on the two IBM files .Looking at IBMQ we are given a link to
https://qiskit.org/documentation/partners/qiskitibmruntime/getting_started.html):
and then
token = Import["~/.qiskit/qiskit-ibm.json", "RawJSON"][
"default-ibm-quantum", "token"];
I assume we install the qiskit-ibm-runtime in qiskit ands access a json file to generate a token . Who knows . So the rest of the IBMQ file makes no sense as I cannot run the first line .
So lets turn to the qiskitIBMQ file . Alls well until
qiskitCircuit["Graphics", "Scale" -> 1]
The "Graphics", needs Matex installing and help with this would be helpful
then down to the first timer we attempt to run on hardware
grover[[;; -2]]["Qiskit"][initState, "Provider" -> "IBMQ"]
which obviously will not run on my machine as I have not done the setup .
So what we need is a notebook with a clean setup from installing the qiskit-ibm-runtime in qiskit to creating a token ( using your own personal api-token in IBM-quantum-experience) , creating an ID and then running some QASMs:.
Then create the code to run grover
grover = QuantumMeasurementOperator[Range[3]]@
QuantumCircuitOperator[{"Grover", a && ! b && c}]
groverQiskit=grover["Qiskit"]["Decompose"]
initState=QuantumOperator["Z",{4}]@QuantumState[{"UniformSuperposition",4}];
grover[[;;-2]]["Qiskit"][initState,"Provider"->"IBMQ"]
cloudSimMeasurement=groverQiskit[initState,"Provider"->"IBMQ"]
deviceMeasurement=groverQiskit[initState,"Provider"->"IBMQ","Backend"->"ibmq_lima"]
BarChart[Merge[{exactMeasurement["Probabilities"],simMeasurement["Probabilities"],deviceMeasurement["Probabilities"]},Identity],ChartLabels->Automatic,
ChartLegends->Placed[{"Exact","Simulation","QPU"},Below]]
Hopefully then the code will run