0 43 0
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically. Please note that you might need to clear your cache after the version update. See this guide for help.
Enhancements
- Support signed quantum numerics in in-place-xor assignments (^=).
- Support quantum array subscripts in quantum expressions.
- Support quantum numeric arrays.
- Improve synthesis performance.
- Apply an automatic qubit reuse pass when the model is unconstrained.
- Add user-defined enums.
@qfunc
def main(res: Output[QBit]) -> None:
    allocate(1, res)
    qnv: QArray = QArray("qnv", element_type=QNum[2, False, 0])  # quantum numeric array
    allocate(6, qnv)
    repeat(qnv.len, lambda i: inplace_prepare_int(i + 1, qnv[i]))
    res ^= qnv[0] + qnv[1] == qnv[2]  # array subscripts in expressions
qfunc main(output res: qbit) {
  allocate<1>(res);
  qnv: qnum<2, False, 0>[]; // quantum numeric array
  allocate<6>(qnv);
  repeat (i: qnv.len) { inplace_prepare_int<i + 1>(qnv[i]); }
  res ^= qnv[0] + qnv[1] == qnv[2];  // array subscripts in expressions
}
Interface Changes
- The classical scope in Qmod no longer supports function definitions.
- The aer_simulator,aer_simulator_statevector,aer_simulator_density_matrix, andaer_simulator_matrix_product_stateClassiq backends are no longer accessible in the SDK. Usesimulator,simulator_statevector,simulator_density_matrix, andsimulator_matrix_product_stateinstead.
- The @structdecorator is deprecated and will be removed in a future release. Use@dataclassinstead.
Bug Fixes
- Fixed a bug where multiple in-place assignment statements resulted in a 22102error.
- Fixed a bug where using the same variable in controloperation for both the control operation and the body resulted in a non-indicative error.
- Fix invertandwithin-applyvariable initialization tracking in native Qmod.
- Fix division with classical symbolic variables.
- Fix rogue comma inserted to the chemistry model classical execution code after IDE form update.
- Fix reporting uninitialized quantum variables in arithmetic expressions as undefined.
- Fix double execution on devices requiring access tokens.
- Fix execution configuration being applied only to the first selected device, when one of the selected devices requires an access token.
- Fix a bug where Grover circuit was incorrect when reflecting about states different than uniform superposition.
- Fix a synthesis bug that could appear in models that constrain the width and optimize depth or vice versa.
IDE
- Graphical Model tab redesign of nodes (Function call, Output, Assignment).
- Restructure of node categories (Graphical Model).
- Fix countries list not loading sometimes during registration.
- Prevent Qmod editor from crashing when compiler crashes.
- Redesigned the Accordion and Icon status for jobs.
- Quantum Program tabs moved to the left drawer.
- Uploading Quantum Program can now be done using the Upload button on the left drawer.
- 3 newly introduced tabs of Quantum Program data: Transpiled Info, Program Info, Data.
Library Additions
- A new technology demonstration notebook, treating a discrete quantum walk on a circle, was added to the library; see here.
- New rainbow options pricing notebooks in the public repository research folder.