Skip to content

0.27.0

Upgrade Instructions

Enhancements

  1. Synthesis engine enhancements improve StatePreparation circuit quality under certain conditions. See StatePreparation.
  2. A new Python SDK sub-package, pyqmod, is now available. pyqmod allows creating Classiq QMOD models in an intuitive and declarative fashion. See pyqmod.
  3. A new execution primitive iqae allows builtin execution of the Iterative Quantum Amplitude Estimation algorithm. See iqae.

Interface Changes

  1. Add num_shots field to the ExecutionDetails.
  2. Remove the members input_ports_wiring and output_ports_wiring from NativeFunctionDefinition, and change the type of the inputs, outputs, and inouts members to Dict[str, HandleBinding]. A HandleBinding accepts a 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 will now contain registers