Skip to content

0.22.0

Upgrade Instructions

Bug Fixes

  • Fix a duplicate gate count in certain circuits.

Interface Changes

  1. Deprecate the VS Code Extension in the next version. Use the IDE instead.
  2. Introduce PortDeclaration, representing a quantum port. It has this structure:
    • direction: enum with Input, Output and Inout options
    • size: Expression with the size of the port
  3. Rename FunctionDefinition to FunctionDeclaration, adding these fields:
    • port_declarations: mapping from port name to PortDeclaration
    • param_decls: mapping from param name to ClassicalType
    • NativeFunctionDefinition and ForeignFunctionDefinition inherit from FunctionDeclaration
    • Do not initialize the param_decls and port_declarations fields for ForeignFunctionDefinition
  4. Change the NativeFunctionDefinition inputs and outputs structure:
    • input_ports_wiring: mapping from input port name to wire name
    • output_ports_wiring: mapping from output port name to wire name
    • input_decls and output_decls are no longer fields of NativeFunctionDefinition
  5. Remove the logic_flow, inputs, and outputs fields from the QMOD schema top-level object. Instead, add a function named main with the appropriate logic_flow and port_declarations.
  6. Rename the Grover Operator state_preparation field to state_preparation_params.

Enhancements

  1. Support execution of the Amplitude Estimation algorithm. See Amplitude Estimation.
  2. Add the exponential state preparation function. See Exponential State Preparation.
  3. Improve backend performance in some cases.
  4. Support construction of a Grover operator with user-defined state preparation. See Grover Operator.