Skip to content

0.22.0

Upgrade Instructions

Bug Fixes

  • Fix duplicate gate count in certain circuits.

Interface Changes

  1. The VS Code Extension is going to be deprecated from the next version. Use the IDE instead.
  2. Introduced the PortDeclaration which represents a quantum port. It has the following structure:
    • direction: enum with Input, Output and Inout options.
    • size: Expression with the size of the port
  3. Renamed FunctionDefinition to FunctionDeclaration and added the fields:
    • port_declarations: mapping from port name to PortDeclaration.
    • param_decls: mapping from param name to ClassicalType
    • NativeFunctionDefinition and ForeignFunctionDefinition inherit from FunctionDeclaration
    • A user should not initialize the param_decls and port_declarations fields for ForeignFunctionDefinition
  4. Change NativeFunctionDefinition ios 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. The QMOD schema top-level object no longer includes the logic_flow, inputs and outputs fields. Instead, the user should add to the library a function named main with the appropriate logic_flow and port_declarations.
  6. The Grover Operator state_preparation field is renamed to state_preparation_params.

Enhancements

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