haiqu.block_vector_loading() to generate a quantum state for 1D and 2D large vectors with high fidelity. It slices the input vector or matrix into blocks, which are encoded independently. The method introduces a trade-off between loading smaller and simpler vectors into a quantum state but requiring more qubits to do so.
For the 64x64 pixels image Vector Loading prepares a state with ~87% fidelity, while Block Vector Loading achieves ~97% fidelity.
haiqu.block_vector_loading()
What does it do? Block Vector loading prepares a quantum state, which amplitudes match a given data vector, sliced into multiple blocks. How do I use it? Pass a real or complex vector or matrix and desired number of blocks to create a data loading job, then retrieve results with job.result(). What are the options? Optional parameters include various hyperparameters for circuit synthesis such as num_layers, truncation_cutoff and fine_tuning_iterations. Which option do you recommend? Start with few blocks and observe the state fidelity returned by the job result as well as number of qubits required. If needed try to increase amount of blocks and synthesis parameters to achieve the desired fidelity.
Having a bug or an issue?
Submit feedback
Initialize the benchmark
Import the necessary libraries, initialize the Haiqu SDK, create a desired quantum state.
Block vector loading
haiqu.block_vector_loading()
This notebook demonstrates how to use
Run benchmark scenarios
Prepare a quantum state with Qiskit’s default and Haiqu’s methods
Block Vector loading allows to load the image with a much better fidelity than standard Vector loading.
Haiqu’s loading methods outperform standard method in circuit complexity as shown in the table below:
Get in Touch
Documentation portal docs.haiqu.ai
Contact Support feedback.haiqu.ai
Follow Us on LinkedIn latest news on LinkedIn
Visit Our Website Learn more about Haiqu Inc. on haiqu.ai
Business Inquiries Contact us at info@haiqu.ai