Releases: Classiq/classiq-library
Classiq 0.70.0
Released on 2025-02-26.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- Improve depth and gate count for transpilation options "intensive" and
"custom". - Improve the synthesis of the
suzuki_trotter
function for small hamiltonians.
Bug Fixes
- Fixed a bug where arithmetic expressions that classically evaluate to constant boolean values could not be used.
- Fixed a bug where using the
show
function in the Python SDK would open the IDE with a "Not Authorized" error. - Fixed a bug where certain operations in the Quantum Program visualization are displayed with very long name that describes the operation's hierarchy.
Classiq 0.69.0
Released on 2025-02-17.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- Improve the synthesis of the
molecule_ucc
function for small molecules. - Introduce a new QMOD core-library function
commuting_paulis_exponent
.
Support
- Error messages now include a link to our support system for reporting bugs or opening support tickets. You can also reach us on our Slack community channel.
Classiq 0.68.0
Released on 2025-02-11.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- Arithmetic assignments and control conditions now support quantum subscript
expressions.
A quantum subscript expression comprises a classical list accessed by a quantum
subscript, e.g.,x |= subscript([1, 2, 3, 4], y)
(in Native Qmod:x = [1, 2, 3, 4][y];
). - Report an indicative error when not releasing local variables inside
control,
invert and
power statements. - When estimating using the
ClassiqSimulatorBackendNames.SIMULATOR_STATEVECTOR
backend,
compute the expectation value directly from the state vector instead of running shots.
This is especially helpful when running VQE. - In the Python SDK, arguments of type
CArray
can now be NumPy arrays, tuples, and
similar sequential objects. For example, the following statements are
equivalent:
prepare_state([0.25, 0.25, 0.25, 0.25], 0, q)
and
prepare_state(np.ones(4) / 4, 0, q)
.
Interface Changes
- The
synthesize
andwrite_qmod
functions now accept a
quantum entry point.
Instead ofsynthesize(create_model(main))
, writesynthesize(main)
.
Classiq 0.67.0
Released on 2025-02-02.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- Unreleased local variables of a function are now un-computed
and released when calling the function under a compute block of a
Within-apply
statement.
Bug Fixes
- Fix control optimization for constant equality conditions
(e.g.,control(x == 1, ...)
) producing wrong circuits under certain
conditions. - Fix in-place XOR optimization for classical values (e.g.,
x ^= -0.5
)
producing wrong circuits under certain conditions. - Fix in-place XOR optimization for Boolean expressions
(e.g.,x ^= (y > 0) & (z > 0)
) producing wrong circuits under certain
conditions. - Fix a bug causing an internal error in arithmetic expression that use comparison,
subtraction, or negation (e.g.x > 0.3
,0.2 - x
,-x
) when synthesizing
models with the machine precision set to higher than 8.
Classiq 0.66.1
Released on 2025-01-27.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Library Additions
- Add the functions
amplitude_amplification
andexact_amplitude_amplification
to the function library.
Classiq 0.66.0
Released on 2025-01-20.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
-
The
num_qubits
argument of functionallocate
is now optional. If it is
not specified, it is inferred automatically according to the quantum type
of the allocated variable. Example:q = QBit() allocate(q) # allocates one qubit for variable 'q'
-
The
execute
parameter of theQLayer
object is now optional. Example:QLayer(quantum_program, post_process)
Deprecations
The simulator name "nvidia_state_vector_simulator" has been removed. Please use
ClassiqNvidiaBackendNames.SIMULATOR or "nvidia_simulator" instead.
IDE Changes
- The Application Configuration Panel used for editing examples in the Built-in Apps folder has been removed.
- Patched dependencies: Katex.
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.