Skip to content

Releases: Classiq/classiq-library

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.

Classiq 0.62.0

08 Jan 16:36
Compare
Choose a tag to compare

Released on 2024-12-16.

Upgrade Instructions

Enhancements

  1. 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 of ClassiqNvidiaBackendNames.SIMULATOR. See here for more information.

Bug Fixes

  1. Fix the connectivity map of the rigetti.qpu.ankaa-9q-3 backend in Azure Quantum.
  2. Fix the connectivity map of Amazon Braket devices.
  3. Fix a bug in the method from_id of ExecutionJob.

Deprecations

  1. Parameters value and target of functions inplace_add and inplace_xor
    have been renamed to expression and target_var respectively.
    • In Native Qmod, use += and ^= instead of inplace_add and inplace_xor
      respectively.

IDE

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

  1. Captured variables are now shown as uninitialized.

Classiq 0.61.0

11 Dec 09:10
Compare
Choose a tag to compare

Released on 2024-12-10.

Upgrade Instructions

Bug Fixes

  1. Operands' list elements can be used as operands (in expressions such as,
    e.g., [op_list[0]]).

Library Additions

  1. Add a demonstration of the Decoded Quantum Interferometry (DQI) algorithm. See notebook.
  2. Add the function qsvt_lcu for efficiently encoding QSVT polynomials with indefinite parity.
  3. 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:

  1. Clean up variable names in engine blocks.

What's Changed

Full Changelog: 0.60.0...0.61.0

Classiq 0.60.0

05 Dec 07:44
Compare
Choose a tag to compare

Released on 2024-11-28.

Upgrade Instructions

Interface Changes

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

  1. Credentials for Alice & Bob hardware are now optional. Quantum programs run on Alice & Bob backends will use Classiq's credentials by default.