Releases: Classiq/classiq-library
Classiq 0.65.1
Released on 2025-01-06.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- The name argument of local quantum variables
is now optional. If a name is not specified, it is inferred automatically from
the Python code. For example, it is now possible to writeq = QBit()
instead ofq = QBit("q")
. - Improve the performance of executing multiple primitives inside one
ExecutionSession
, such as inexecute_qaoa
.
Deprecations
Function prepare_int
and inplace_prepare_int
are now deprecated. Use Qmod out-of-place
and in-place numeric assignment statements instead. For example, instead of prepare_int(5, my_qnum)
,
write my_qnum |= 5
.
See more under numeric assignments.
Classiq 0.64.0
Released on 2024-12-29.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- Improve error messages.
Bug Fixes
- Fix quantum bits raising an error when used in in-place assignments
(^=
and+=
). - Fix quantum struct field access raising an error in lambdas.
IDE Improvements
- Classiq Thumbnail: Updated the Classiq thumbnail image!
- Links on the IDE model page now directing to Classiq Library.
- Modify the Quantum Programs URL so that the circuit ID is embedded in its path
New Visualization:
Compact View:
- Clean up variable names in engine blocks.
- Corrected the spacing miscalculation for junction dots.
- Refined padding before allocation
- Hide labels in open functional blocks to create a more space-efficient
display. - Removed unnecessary dots and labels for low-level QC elements.
Classiq 0.63.1
Classiq 0.63.0
Released on 2024-12-23.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- Generative functions
have undergone a round of significant improvements.
Check out our DQI notebook
to see how generative functions are used to implement advanced quantum algorithms. - A new filed
optimization_level
has been added thePreferences
of the synthesis.
This field determines the trade-off between synthesis speed and the quality of the results,
In terms of the optimization parameter and the constraints. For more information,
see here. - State vector filtering is available. This is an important step for simulating
large circuits with a state vector simulator. For more information, see this page
Bug Fixes
- Fix usage of overlapping quantum array slices (e.g.,
qbv[1:3]
andqbv[2]
)
in bodies of lambda expressions and control statements.
Classiq 0.62.0
Released on 2024-12-16.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- Added a new simulator under the Classiq provider, under the name
ClassiqNvidiaBackendNames.SIMULATOR_STATEVECTOR
.
This simulator runs on a GPU and returns a state vector, similar to
ClassiqSimulatorBackendNames.SIMULATOR_STATEVECTOR
(which runs on a CPU).
Thus, it can handle larger circuits. The name"nvidia_state_vector_simulator"
is deprecated in favor ofClassiqNvidiaBackendNames.SIMULATOR
. See here for more information.
Bug Fixes
- Fix the connectivity map of the
rigetti.qpu.ankaa-9q-3
backend in Azure Quantum. - Fix the connectivity map of Amazon Braket devices.
- Fix a bug in the method
from_id
ofExecutionJob
.
Deprecations
- Parameters
value
andtarget
of functionsinplace_add
andinplace_xor
have been renamed toexpression
andtarget_var
respectively.- In Native Qmod, use
+=
and^=
instead ofinplace_add
andinplace_xor
respectively.
- In Native Qmod, use
IDE
- QMOD examples on the Model page now contain direct links to their respective tutorials in the Classiq documentation. Simply hover over an algorithm list item from the QMODs list in the left panel and a tooltip will appear with link to the relevant tutorial.
New Visualization:
- Captured variables are now shown as uninitialized.
Classiq 0.61.0
Released on 2024-12-10.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Bug Fixes
- Operands' list elements can be used as operands (in expressions such as,
e.g.,[op_list[0]]
).
Library Additions
- Add a demonstration of the Decoded Quantum Interferometry (DQI) algorithm. See notebook.
- Add the function
qsvt_lcu
for efficiently encoding QSVT polynomials with indefinite parity. - Subsequent invocations to execution primitives inside
ExecutionSession
now use different random seeds (depending on the initial seed) to avoid
getting the exact same simulation results inside a session.
IDE Improvements
New Visualization:
- Clean up variable names in engine blocks.
What's Changed
- Add caching by @classiqdor in #611
- remove old action by @classiqdor in #625
- rename workflows by @classiqdor in #631
- push quantum challange deleted by @NadavClassiq in #641
- add classiq paper codes by @TomerGoldfriend in #642
- Release 0.61.0 by @nivclassiq in #644
Full Changelog: 0.60.0...0.61.0
Classiq 0.60.0
Released on 2024-11-28.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Interface Changes
ExecutionSession
needs now to be explicitly closed, and it is recommended
to use it as a context manager. See here for more information.
IDE Changes
- Credentials for Alice & Bob hardware are now optional. Quantum programs run on Alice & Bob backends will use Classiq's credentials by default.
Classiq 0.58.0
Released on 2024-11-18.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- This release introduces a new version to the Quantum Program (QP) visualization tool in parallel to the legacy visualization.
- The new visualization version offers advanced visualization capabilities that bridge high-level algorithmic descriptions (Qmod) with gate-level implementations, incorporating interactive hierarchical views and data flow analysis.
Feature Details
Visualization Versions:
Both the new version and the legacy version are available on the Quantum Program page.
Users can toggle between two visualization versions:
- 'New' version: Advanced visualization that includes quantum data flow views and new hierarchical block structures.
- 'Basic' version: Legacy visualization.
Documentation & Support:
Initial documentation : A basic guide is available to help users navigate and utilize the visualization tool’s key features.
Tooltip: Integrated to the QP page to provide in-line initial guidance on key functions and elements.
Known Issues and Limitations:
Supported models: The 'New' visualization doesn't yet support all models. Unsupported models may not render - in these cases it is suggested to switch back to the 'Basic' visualization.
In-Progress development: This is part of an initial release milestone, with major issues being actively addressed.
Usage Recommendations
Switching between versions: It’s recommended to switch between the 'New' and 'Basic' versions to evaluate visualization consistency and effectiveness for specific quantum programs.
Feedback and bug reporting: Any issues, inconsistencies, or suggested improvements should be reported through the designated Slack channel for prompt review.
Next Steps
User feedback will inform ongoing improvements and prepare the tool for broader production release. Further enhancements and bug fixes are planned in alignment with Classiq’s high-level quantum design roadmap.
Classiq 0.57.0
Released on 2024-11-11.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Bug Fixes
- Fix walkthrough bug in the IDE.
- Change the default value of display_url in show(circuit, display_url) to True.
Classiq 0.56.0
Released on 2024-10-31.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
New Features
- Add an optional
else
block to thecontrol
statement.
Bug Fixes
- Fix Pauli feature map circuit visualization.
- Add missing
len
property toQConstant
s of typeCArray
(Qmod/Python).