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.
  2. Add the exponential state preparation function.
  3. Improve backend performance in some cases.
  4. Support construction of a Grover operator with user-defined state preparation.