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. Circuit Synthesis: 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.