Skip to content

Releases: Classiq/classiq-library

classiq 0.73.0

25 Mar 12:20
Compare
Choose a tag to compare

Released on 2025-03-24.

Upgrade Instructions

Interface Changes

  1. 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

  1. Hardware-aware synthesis is now available for Garnet target through Amazon Braket.
  2. Enhanced the performance of execution jobs polling mechanism.
  3. Added validation for max qubit count for Nvidia backend.

Classiq 0.72.0

19 Mar 09:43
Compare
Choose a tag to compare

Released on 2025-03-18.

Upgrade Instructions

Enhancements

  1. Add new execution backends BRAKET_NVIDIA_SIMULATOR and BRAKET_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.
  2. Improve prepare_amplitudes and prepare_state performance for bound=0.
  3. Add RESET, an atomic function that resets a qubit to the |0> state.
  4. Intel simulator is now available as a backend for execution. See Cloud Providers section in the user guide.

0.71.0

11 Mar 12:06
Compare
Choose a tag to compare

Released on 2025-03-10.

Upgrade Instructions

IDE Updates

  1. Models page is now open to non-signed-up users.

Classiq Studio Updates

  1. Trust Classiq Library workspace by default.

Classiq 0.70.0

27 Feb 13:17
Compare
Choose a tag to compare

Released on 2025-02-26.

Upgrade Instructions

Enhancements

  1. Improve depth and gate count for transpilation options "intensive" and
    "custom".
  2. Improve the synthesis of the suzuki_trotter function for small hamiltonians.

Bug Fixes

  1. Fixed a bug where arithmetic expressions that classically evaluate to constant boolean values could not be used.
  2. Fixed a bug where using the show function in the Python SDK would open the IDE with a "Not Authorized" error.
  3. 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

19 Feb 12:49
Compare
Choose a tag to compare

Released on 2025-02-17.

Upgrade Instructions

Enhancements

  1. Improve the synthesis of the molecule_ucc function for small molecules.
  2. Introduce a new QMOD core-library function
    commuting_paulis_exponent.

Support

  1. 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

19 Feb 12:41
Compare
Choose a tag to compare

Released on 2025-02-11.

Upgrade Instructions

Enhancements

  1. 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];).
  2. Report an indicative error when not releasing local variables inside
    control,
    invert and
    power statements.
  3. 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.
  4. 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

  1. The synthesize and write_qmod functions now accept a
    quantum entry point.
    Instead of synthesize(create_model(main)), write synthesize(main).

Classiq 0.67.0

03 Feb 11:57
Compare
Choose a tag to compare

Released on 2025-02-02.

Upgrade Instructions

Enhancements

  1. 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

  1. Fix control optimization for constant equality conditions
    (e.g., control(x == 1, ...)) producing wrong circuits under certain
    conditions.
  2. Fix in-place XOR optimization for classical values (e.g., x ^= -0.5)
    producing wrong circuits under certain conditions.
  3. Fix in-place XOR optimization for Boolean expressions
    (e.g., x ^= (y > 0) & (z > 0)) producing wrong circuits under certain
    conditions.
  4. 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

28 Jan 08:45
Compare
Choose a tag to compare

Released on 2025-01-27.

Upgrade Instructions

Library Additions

  1. Add the functions amplitude_amplification and exact_amplitude_amplification to the function library.

Classiq 0.66.0

21 Jan 09:15
Compare
Choose a tag to compare

Released on 2025-01-20.

Upgrade Instructions

Enhancements

  1. The num_qubits argument of function allocate 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'
  2. The execute parameter of the QLayer 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

  1. The Application Configuration Panel used for editing examples in the Built-in Apps folder has been removed.
  2. Patched dependencies: Katex.

Classiq 0.65.1

08 Jan 16:38
Compare
Choose a tag to compare

Released on 2025-01-06.

Upgrade Instructions

Enhancements

  1. 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 write q = QBit()
    instead of q = QBit("q").
  2. Improve the performance of executing multiple primitives inside one
    ExecutionSession, such as in execute_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.