Skip to content

0.28.0

Upgrade Instructions

Enhancements

  1. Declare the Input and Inout ports of NativeFunctionDefinition without a size expression. Their size will be deduced from calls to it.
  2. Add parsed_counts attribute to ExecutionDetails, where the states are parsed according to their arithmetic information.
  3. Change the transpile_to_hardware field in ExecutionPreferences to receive an optimization level and use it.
  4. Add Hadamard transform as a new built-in function.
  5. Improve detection of auxiliary qubits for visualization in the IDE.
  6. Add the initial_point member to OptimizerConfig, which is used in construct_combinatorial_optimization_model to specify an initial value for the optimization algorithm.
  7. Filter the execution chart received after execution of circuits in the IDE by the list of results. See Filtering results.

Interface Changes

  1. Automatically parse the value field of SavedResult according to its type, with no need to call parse_obj to parse execution results.
  2. Introduce the strict_zero_ios flag in the function call. This gives you (rather than the engine) responsibility for memory management. Previously, this was done by the assign_zero_ios flag, which is deprecated. The logic has been reversed: previously setting
    assign_zero_ios=True now corresponds to strict_zero_ios=False, and vice versa.
  3. Change the default value of OptimizerConfig.alpha_cvar to 1.0.
  4. Change the qubit order of the counts and state_vector fields in ExecutionDetails. They are now returned with lsb right qubit order.
  5. Change the endianness terminology in ExecutionDetails to qubit order, such that the result 0b10 in qubit order lsb right refers to the number 2.

Bug Fixes

  1. Show all port names in the circuit visualization. Previously, port names were missing under certain conditions.
  2. Correctly display the expected qubit state of control gates in the IDE.

Deprecations

  1. Deprecate heatmap from the analyzer.
  2. Deprecate gate count histogram from the analyzer.
  3. Deprecate qubit connectivity from the analyzer.
  4. Deprecate the basis parameter for the VQE. basis is currently unsupported for chemistry problems.

IDE

  1. Provide default values for IBM hardware execution configuration fields: hub, group, and project.
  2. Make the default job name the circuit name. To access the job's ID, expand it in the Jobs History window.
  3. Introduce the aer_simulator_statevector, aer_simulator_density_matrix, and aer_simulator_matrix_product_state to the IDE.
  4. Academic users can now run circuits on Azure with their own credentials instead of through Classiq-Azure integration. See the User guide instructions.

Docs

  1. Extend the "Advanced Usage > Qubit Release" section and rename it as "Memory Management". It thoroughly explains the Classiq engine's capabilities of allocating and releasing qubits and illustrates how user-provided input can aid the synthesis engine in improving the circuit performance.