Skip to content

0 48 0

Released on 2024-09-10.

Upgrade Instructions

Enhancements

  1. Improved error messages.
  2. Added SIGNED and UNSIGNED built-in constants to improve readability of QNum types. SDK: QNum[4, SIGNED, 1]. Native: qnum<4, SIGNED, 1>.
  3. QNum types can specify just the size property. SDK: QNum[4] and QNum("n", 4). Native: qnum<4>. Such types are unsigned (is_signed=False) integers (fraction_digits=0) by default.
  4. Execution on remote providers is no longer subject to any time limit when using ExecutionSession or executing models without classical execution code. Note: simulation on Classiq backends is still subject to time limit.
  5. In-place add operations (inplace_add) now support signed variables.

Bug Fixes

  1. Fixed an operand-related bug. Might occur when calling a function recursively in one of its operands (for example: foo(lambda: foo(...))).
  2. Fixed an expression-related bug. Might occur when using the same variable in multiple expressions.
  3. Fixed in-place XOR operations (^= / inplace_xor) in the presence of signed variables. The sign variable is now interpreted as part of the significand without special treatment.
  4. Fixed synthesis of arithmetic operations nested in a within-apply statement.

Interface Changes

  1. SDK: Deprecated parameter names in built-in operations were removed.
  2. control(ctrl=..., operand=...) => control(ctrl=..., stmt_block=...)
  3. within_apply(compute=..., action=...) => within_apply(within=..., apply=...)
  4. power(power=..., operand=...) => power(exponent=..., stmt_block=...)
  5. invert(operand=) => invert(stmt_block=...)

Library Additions

  1. Added a new notebook for solving the Differential equation using the HHL Algorithm, to simulate war games.