Skip to content

Releases: Classiq/classiq-library

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.

Classiq 0.64.0

08 Jan 16:38
Compare
Choose a tag to compare

Released on 2024-12-29.

Upgrade Instructions

Enhancements

  1. Improve error messages.

Bug Fixes

  1. Fix quantum bits raising an error when used in in-place assignments
    (^= and +=).
  2. Fix quantum struct field access raising an error in lambdas.

IDE Improvements

  1. Classiq Thumbnail: Updated the Classiq thumbnail image!
  2. Links on the IDE model page now directing to Classiq Library.
  3. 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

08 Jan 16:38
Compare
Choose a tag to compare

Released on 2024-12-26.

Upgrade Instructions

Classiq 0.63.0

08 Jan 16:37
Compare
Choose a tag to compare

Released on 2024-12-23.

Upgrade Instructions

Enhancements

  1. 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.
  2. A new filed optimization_level has been added the Preferences 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.
  3. 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

  1. Fix usage of overlapping quantum array slices (e.g., qbv[1:3] and qbv[2])
    in bodies of lambda expressions and control statements.