Classiq

Latest version: v0.58.1

Safety actively analyzes 682244 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 4

0.39.0

Upgrade Instructions

- [Python SDK](../getting-started/python-sdk.mdupdating-versions)
- The [IDE](../getting-started/ide.md) upgrades automatically.

Enhancements

1. Improved the native QMOD syntax of the `repeat`, `if` statements.
For details, see [Classical Control Flow](../user-guide/platform/qmod/language-reference/statements/classical-control-flow.md).
2. Improved the native QMOD syntax of the `control`, `power`, and `invert` statements.
For details, see [Quantum Operators](../user-guide/platform/qmod/language-reference/statements/quantum-operators.md).
3. Added the `classiq.execution.all_hardware_devices.get_all_hardware_devices`
function to the Python SDK.

Deprecations

1. In the SDK, the `classiq.analyzer.analyzer.Analyzer.get_available_devices` method is
deprecated. Use `classiq.execution.all_hardware_devices.get_all_hardware_devices`
instead.

Interface Changes

1. The `len` method for `QArray`, `QCallableList`, and `QParam` of lists, is now a property.
use `.len` instead of `.len()`.

0.38

1. In the IDE, Synthesis page is now removed. Writing and synthesizing models is now done exclusively in the Model page.
2. All pre-defined models previously available in the Synthesis page in Json format are now available in the Model page in native QMOD syntax.
3. Many QMOD language enhancements were introduced to enable the coding of all available models and applications, in both native QMOD and in its Python embedding (see detailed list below).
4. A new QMOD reference manual, covering all the language concepts and constructs in both input formats, is available [QMOD-language-reference](../user-guide/platform/qmod/language-reference/index.md).
5. Documentation content covering old input formats - the Json input and the old SDK classes - has been removed

Language and SDK Enhancements

1. Native QMOD now supports classical POD struct declaration, initialization, and member access.
2. Native QMOD now supports within-apply statements.
3. Native QMOD now supports generalized in-place quantum assignment.
4. Add method `parsed_counts_of_outputs` to sample's result in the Python SDK, see
[sample](../user-guide/platform/executor/primitives.mdsample).
5. Constants can now be used in the `qmod`-python integration with the `QConstant` class.
6. Native QMOD now supports global constants.
7. The quantum numeric type can now receive sign and fraction digits as type arguments in parameter declarations, in both the SDK and native QMOD.
- Native QMOD example: `qnum<5, True, 2>` to indicate a 5-bit signed number with 2 fraction digits.
- SDK examples:
- `QNum[5, True, 2]` to indicate a 5-bit signed number with 2 fraction digits (as a function argument)
- `QNum("x", 5, True, 2)` to indicate a 5-bit signed number with 2 fraction digits (as a local variable)
8. The amplitude encoding flavor of quantum arithmetic (`*=` operator) is now an in-place operation in both the SDK and native QMOD.

Interface Changes

1. The `QStruct` decorator was renamed to `struct` in the `qmod`-python integration.
2. The `qfunc` decorator is renamed to `quantum_function`. The newer `QFunc` and `ExternalQFunc` decorator are now available as `qfunc` and `qfunc(external=True)`. Using either classes as a decorator is deprecated, and this feature may be removed in a future release.
3. Similarly, a new `cfunc` decorator is now available, and using the class `CFunc` as a decorator is deprecated and may be removed in the future.
4. Renamed `GeneratedCircuit` to `QuantumProgram` in the SDK.
5. The `QNum` type does not accept size argument without sign and fraction digits.
6. `QNum` on the right-hand side of `bind` statements must have sign and fraction digits (inferred from initialization or declaration).
7. The Following async methods were removed from `Analyzer` class (The documented methods without the `async` suffix are still available and can be used instead):
1. `get_available_devices_async`
2. `analyzer_app_async`
3. `plot_hardware_connectivity_async`
4. `get_hardware_comparison_table_async`
8. The method `show_multiple_hardware_data` was removed from `RBAnalysis` class. The async equivalent `show_multiple_hardware_data_async` can be used instead.
9. Removed `reinterpret_num` operation (instead use `QNum`/`allocate_num` arguments).
10. Removed `split` and `join` operation (instead use `bind` operation).

0.38.0

Upgrade Instructions

- [Python SDK](../getting-started/python-sdk.mdupdating-versions)
- The [IDE](../getting-started/ide.md) upgrades automatically.

Overview

0.30.0

Upgrade Instructions

- [Python SDK](../getting-started/python-sdk.mdupdating-versions)
- The [IDE](../getting-started/ide.md) upgrades automatically.

Enhancement

1. The `SuzukiTrotter` function now accepts parameters as coefficients for its `pauli_list`.
2. The `SuzukiTrotter` function now has a `disable_scheduling` option to disable the reordering of Pauli terms.
3. There is a new `QDrift` Hamiltonian evolution function.

Interface Changes

1. Add the Classiq Provider as an execution backend preference. It contains the AER backends, that used to be inside IBMBackendPreferences, as well as the Nvidia simulator, which used to be in NvidiaBackendPreferences. See
[Classiq Provider](../user-guide/platform/executor/cloud-providers/classiq-backends.md)
2. Deprecate the NvidiaBackendPreferences.
3. Python SDK: Change annotations of input and output `QVar` types - `InputQVar[...]` is now written `Input[QVar[...]]`, and likewise for `Output`.

Page 4 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.