Skip to content


Upgrade Instructions

Interface Changes

  1. Remove draw_as_functions from ModelDesigner.Preferences. The behavior of circuit visualization is now controlled solely by the draw_at_level attribute (see below).
  2. Pass the model designer preferences as an argument to the synthesize command in the Python SDK. See Synthesis Preferences.
  3. Refer to the state preparation L2 error metric using the standard definition \(\sum(x^2)^0.5\) instead of \(\sum(x^2)\).
  4. Add information to the synthesis result about the transpiled circuit in the transpiled_circuit field. Access the transpiled_qasm and depth attributes using transpiled_circuit.qasm and transpiled_circuit.depth. Also, access a dictionary, mapping each gate to its number of occurrences in the transpiled circuit, under transpiled_circuit.count_ops.
  5. Rename the no uncomputation mapping method of the arithmetic from "none" to "no_uncomputation".

New Features

  1. Change draw_at_level attribute in ModelDesigner.Preferences to behave as follows:
    • When None (default): open up the circuit until at least two blocks are visible
    • When -1: open up the circuit until the gate level
    • When n >= 0: open up the circuit to n levels (e.g., 0 keeps the circuit as is)
  2. Allow a dirty optimized mapping method in the arithmetic expression. See Arithmetic Expressions.
  3. Introduce Classiq's benchmarking package. See Benchmarking.