Skip to content

Classiq 1.34.0

Latest

Choose a tag to compare

@nitzanb-classiq nitzanb-classiq released this 26 Oct 09:20
· 37 commits to main since this release

Enhancements

  • SDK: Added get_quantum_program(program_id), which fetches an already-synthesized quantum program by its ID.
  • Execution: Added provider_session to ExecutionSession and variational_minimize (default True) so users can opt out of provider-side runtime sessions. Standalone one-shot helpers (sample, observe, and calculate_state_vector) never open a provider session.

Bug Fixes

  • Execution: sample and observe print the Studio job page for the organization site. The job still runs on the Classiq API.

  • Synthesis: Fixed internal errors for a quantum array indexed by a value that is not an integer: a classical array (q[idx] for a CArray[CInt] parameter idx), a real number (q[0.5] or a CReal argument), a struct, or a quantum variable. Synthesis now reports that array indices must be integers, and also rejects a CBool index, which was previously read as 0 or 1. To pass several elements, use [q[idx[i]] for i in range(idx.len)]; to index with a real-valued expression, round it with floor, as in q[floor(log(x, 2))].

Interface Changes

  • add_ripple_carry_cdkm and add_ripple_carry_shallow: The aux argument was removed. Call them as add_ripple_carry_cdkm(left, extend_left, right); synthesis allocates the auxiliary qubits the adder needs, as it does for canonical_add.