Releases: Classiq/classiq-library
classiq 0.73.0
Released on 2025-03-24.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Interface Changes
- The functions
construct_qsvm_model
,construct_finance_model
, and
construct_grover_model
have been removed from the SDK.
Check out our Qmod implementations of the QSVM, finance, and Grover
algorithms in the Classiq library.
Enhancements
- Hardware-aware synthesis is now available for Garnet target through Amazon Braket.
- Enhanced the performance of execution jobs polling mechanism.
- Added validation for max qubit count for Nvidia backend.
Classiq 0.72.0
Released on 2025-03-18.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- Add new execution backends
BRAKET_NVIDIA_SIMULATOR
andBRAKET_NVIDIA_SIMULATOR_STATEVECTOR
. These simulators run on Amazon Braket's infrastructure and provide faster execution for single circuits. See Execution on Classiq Backends for more information. - Improve
prepare_amplitudes
andprepare_state
performance forbound=0
. - Add
RESET
, an atomic function that resets a qubit to the|0>
state. - Intel simulator is now available as a backend for execution. See Cloud Providers section in the user guide.
0.71.0
Released on 2025-03-10.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
IDE Updates
- Models page is now open to non-signed-up users.
Classiq Studio Updates
- Trust Classiq Library workspace by default.
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.