Skip to main content
Haiqu’s SDK state_compression function is an approximate compilation method extending the depth of the circuit, which can be run on noisy hardware. It allows tuning the compression level to tailor the best performance for different input circuit depths and device noise levels. To compress you can simply initiate a corresponding job by running
job_h = haiqu.state_compression(circuit=circuit)
and read the results after the job is completed
circuit_compressed, quality = job_h.result()
Where circuit_compressed contains the compressed circuit and quality variable stands for circuit approximation quality on ideal device.
Haiqu’s compression utilizes the device’s noise profile to ensure the best results on actual hardware. To this end, the function can sacrifice approximation on an ideal device in favor of more compact circuits that would perform better on real quantum hardware.

Parameters

  • circuit – the quantum circuit whose action on all-0 state is to be compressed.
  • compression_level – defines the compression level. Three options are available:
    • low – this setting is best used for already shallow input circuits or very low noise levels;
    • balanced – the default setting gives the best performance for most circuits and noise profiles;
    • high – this setting may sometimes yield better results for very deep circuits.
  • noise_profile – sets the noise profile to which the function adjusts the compression algorithm. Currently available options include “eagle_r3”, “heron_r1” and “heron_r2” options. The latter is also the default option.
  • fine_tuning – uses classical resources to further improve the compressed circuit. Three options are available:
    • disabled – no fine-tuning performed, the lowest latency;
    • low – default, best balance between speed and accuracy;
    • heavy – improved circuit accuracy, but time-intensive.
  • approximation_level – an integer-valued parameter influencing circuit complexity. Larger values improve the noiseless quality metric, but may degrade noisy performance. Defaults to None, which corresponds to auto-selection, which accounts for the provided noise profile.

State Compression Specifications

ParameterDetails
Number of qubitsUp to 500
Runtime (at 100 qubits)From few seconds and
up to 2 minutes with no fine-tuning;
up to 15 minutes with heavy fine-tuning
Runtime scalingLinear scaling with circuit size, problem-dependent
Supported circuits- Circuits decomposable into CNOT, RX, RY, RZ basis gates
- Circuits with mid-circuit measurements are supported, but compression applies only prior to MCM
Supported connectivityAny.
Not transpiled input with Linear connectivity is preferred.
Compression rateUp to 100× for various application circuits
Returned metrics- Compression rate
- Quality of the compression (fidelity-like metric)
*runtime can vary for different circuit classes of the same size