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 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
}
@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
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_state
Classiq backends are no longer accessible in the SDK. Usesimulator
,simulator_statevector
,simulator_density_matrix
, andsimulator_matrix_product_state
instead. - The
@struct
decorator is deprecated and will be removed in a future release. Use@dataclass
instead.
Bug Fixes
- Fixed a bug where multiple in-place assignment statements resulted in a
22102
error. - Fixed a bug where using the same variable in
control
operation for both the control operation and the body resulted in a non-indicative error. - Fix
invert
andwithin-apply
variable 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.