Skip to content


Upgrade Instructions

Interface Changes

  1. Changed the method classiq.quantum_functions.function_library.FunctionLibrary.add_function to return None (instead of CustomFunction). If access to the CustomFunction is necessary, it may be retrieved via the get_function method.
  2. When specifying the backend provider IBM Quantum, the user now needs to set the backend provider name field to IBM Quantum, instead of IBMQ.

  3. Rename methods in CombinatorialOptimization class: generate method changed to synthesize, and get_model method changed to get_ansatz_model

  4. Parametrized functions (such as rotation gates) can now get an arithmetic expression as well as a single parameter. Expressions and parameters are now provided to the function using either str or sympy. For more information please refer to Parameters user guide.

New Features

  1. Add support for parametric functions and storing function definitions in .qfunc files. See Parametric functions and the .qfunc extension.
  2. Analyzer SDK new features:

    • Add an option to select devices in the analyzer SDK method. The user can explicitly choose the devices to transpile the analyzed circuit to create the comparison table.
    • The cloud provider of the devices appears in the comparison table.
    • Add them hardware aware re-synthesize method to the analyzer SDK, which receives device and provider and performs re-synthesis, taking into account the properties of the hardware.
    • Possibility to re-synthesize from the analyzer SDK to the devices with the best fit to a selected comparison property.
  3. Add new configuration to show_interactive method: you can now access the analyzer web app using: show_interactive(web_app=True).

  4. Improved hardware-aware synthesis:

  5. Make analyzer's heatmap graph (from dashboard) access via the SDK.

  6. Users of the Python SDK may now access the documentation by invoking the classiq.open_help() command.
  7. Add option to invert functions. See Inversion
  8. Add option to control functions. See Control
  9. CombinatorialOptimization enables now to see the resulting model of the ansatz and to set a user defined model or circuit as the ansatz. For more details, see Combinatorial Optimization: User-defined Ansatz
  10. Add support for OpenQASM 3.0 as an output format
  11. CombinatorialOptimization module can convert inequality constraints to penalty term using slack variables. See Combinatorial Optimization: Slack Variables