Skip to content

Walk-through: prepare_state

View on GitHub

This notebook is the Classiq SDK equivalent of the walkthrough sequence as presented in the Classiq web IDE [1].

from classiq import *

Build Your Algorithm

In the IDE: To start writing your quantum model, click the Model tab.

Build the Model

In the IDE: Here you define the model, function parameters, and more. See the User Guide [2] for details.

Below is the SDK representation of the Qmod syntax shown on the IDE page:

probabilities = [
    0,
    0.002,
    0.004,
    0.006,
    0.0081,
    0.0101,
    0.0121,
    0.0141,
    0.0161,
    0.0181,
    0.0202,
    0.0222,
    0.0242,
    0.0262,
    0.0282,
    0.0302,
    0.0323,
    0.0343,
    0.0363,
    0.0383,
    0.0403,
    0.0423,
    0.0444,
    0.0464,
    0.0484,
    0.0504,
    0.0524,
    0.0544,
    0.0565,
    0.0585,
    0.0605,
    0.0625,
]


@qfunc
def main(io: Output[QArray]):
    prepare_state(probabilities=probabilities, bound=0.01, out=io)

Synthesize the Model

In the IDE: Now that you have selected or built a model, click the "Synthesize" button, sit back, and let Classiq do its magic!

Below is the SDK representation of the Qmod syntax shown on the IDE page:

qprog = synthesize(main)
write_qmod(main, "prepare_state")
show(qprog)
Quantum program link: https://platform.classiq.io/circuit/2zPKuTDqwQAGWvEB299Om2iz6sl


gio: https://platform.classiq.io/circuit/2zPKuTDqwQAGWvEB299Om2iz6sl?login=True&version=0.85.0: Operation not supported

Congratulations!

In the IDE: This is your first quantum program. Learn more in the User Guide [2].

Run on Quantum Hardware or Simulators

In the IDE: Click 'Execute' to define the quantum hardware or a quantum simulator to run your synthesized quantum program.

Define Execution Details

In the IDE: Select which quantum program to execute, define the execution parameters, and choose a quantum provider and backend platform. The Classiq platform is your gateway to all major quantum computing providers.

preferences = ExecutionPreferences(
    backend_preferences=ClassiqBackendPreferences(
        backend_name=ClassiqSimulatorBackendNames.SIMULATOR
    )
)

Run on a Quantum Simulator!

In the IDE: Click 'Run' to execute your quantum program on the simulator you chose in the previous step.

Below is the SDK execution code:

with ExecutionSession(qprog, preferences) as es:
    res = es.sample()
res.dataframe.head()
io count probability bitstring
0 [1, 1, 1, 1, 1] 136 0.066406 11111
1 [1, 0, 1, 1, 1] 132 0.064453 11101
2 [0, 1, 1, 1, 1] 124 0.060547 11110
3 [0, 1, 0, 1, 1] 114 0.055664 11010
4 [0, 0, 0, 1, 1] 113 0.055176 11000

Look at that cool triangle probability function! In the IDE: That's it! You ran your first quantum program.

To learn more about the Classiq platform, read the User Guide [2].

References

[1]: Classiq IDE

[2]: Classiq User_Guide