Skip to content

0.27.0

Upgrade Instructions

Enhancements

  1. Improve StatePreparation circuit quality under certain conditions due to synthesis engine enhancements. See StatePreparation.
  2. Add a Python SDK sub-package, qmod, to create Classiq QMOD models in an intuitive and declarative fashion. See qmod.
  3. Add an execution primitive, iqae, for built-in execution of the Iterative Quantum Amplitude Estimation algorithm. See iqae.

Interface Changes

  1. Add the num_shots field to ExecutionDetails.
  2. Remove the input_ports_wiring and output_ports_wiring members from NativeFunctionDefinition, and change the type of the inputs, outputs, and inouts members to Dict[str, HandleBinding]. HandleBinding accepts the name of a port of the function, and passes that port to the called function. The following example represents a function that applies the gate H, and then applies the gate X to the same port:
NativeFunctionDefinition(
    name="main",
    port_declarations={
        "p": PortDeclaration(
            name="p",
            size=Expression(expr="1"),
            direction=PortDeclarationDirection.Inout,
        )
    },
    body=[
        QuantumFunctionCall(
            function="H",
            inouts={"target": HandleBinding(name="p")},
        ),
        QuantumFunctionCall(
            function="X",
            inouts={"target": HandleBinding(name="p")},
        ),
    ],
)

IDE

  1. Multiple Hardware Execution: Select up to five hardware backends for simultaneous execution.
  2. MCX Gates Visualization now contains registers.