Skip to content

1 7 0

Released on 2026-03-22.

Upgrade Instructions

Enhancements

  • IBM execution – emulate: Add optional emulate on IBMBackendPreferences and IBMConfig. Set emulate=True (default False) to run on Classiq AerSimulator with an IBM noise model derived from the backend name (e.g. ibm_pittsburgh, ibm_boston). Only valid for real IBM hardware backends (not fake backends); backend name must be in CLASSIQ_NOISE_MODELS. See IBM backends for details.
  • Add ExecutionJob.get_submitted_circuits() to return the final quantum circuits submitted to the provider (sample jobs only). The returned circuits reflect the actual QASM after transpilation and parameter assignment. Each circuit can be converted to QASM via to_qasm() or to a Qiskit QuantumCircuit via to_qiskit().
  • Amplitude threshold for state vector simulation: Added amplitude_threshold to ExecutionPreferences. When running state vector simulation, only states with amplitude magnitude strictly greater than the threshold are included in the result. Defaults to 0 (filters exactly zero-amplitude states, same as before). Setting a higher threshold reduces the size of the result for circuits where most amplitudes are negligibly small. include_zero_amplitude_outputs=True overrides this and includes all states regardless of amplitude. See State Vector Filtering for details.
  • QP Visualization: Fixed bug in the visualization of split operations
  • Add estimate_sample_cost and estimate_sample_batch_cost to the Python SDK for user-facing cost estimation before executing quantum programs. These functions return a CostEstimateResult with cost and currency fields. See SDK execution reference for details.

Bug Fixes

  • Fix error messages when calling built-in operations with the wrong number of arguments.
  • IonQ execution: Replaced explicit noise_model with an emulate flag on IonqBackendPreferences and IonQConfig. Set emulate=True (default False) to run on the IonQ simulator with a noise model derived from the backend name (e.g. qpu.aria-1aria-1). Only valid when the backend is a QPU. See IonQ backends for details.
  • QLayer check-pointing: Prefer saving only weights with torch.save(model.state_dict(), path) and model.load_state_dict(torch.load(path)). For whole-model save/load, if post_process is not picklable it is omitted and a warning is logged; after load call layer.register_post_process(your_post_process) before using the model. New constructor option serializable_post_process=False skips pickling post_process and suppresses the warning when you know it is not serializable.
  • Add estimate_sample_cost and estimate_sample_batch_cost to the Python SDK for user-facing cost estimation before executing quantum programs. These functions return a CostEstimateResult with cost and currency fields. See SDK execution reference for details.