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. The model designer preferences can now be passed as an argument to the synthesize command in the Python SDK. Synthesis Preferences.
  3. State preparation L2 error metric now refer to the standard definition \(\sum(x^2)^0.5\) instead of \(\sum(x^2)\).
  4. The synthesis result now contains information about the transpiled circuit under the transpiled_circuit field. The transpiled_qasm and depth attributes are now accessible by using transpiled_circuit.qasm and transpiled_circuit.depth. In addition, you can now 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 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. Arithmetic Expressions
  3. Introduce Classiq's benchmarking package. For more information, see Benchmarking.