Skip to content

Latest commit

 

History

History
81 lines (53 loc) · 3.22 KB

changelog-dev.md

File metadata and controls

81 lines (53 loc) · 3.22 KB

:orphan:

Release 0.40.0-dev (development release)

New features since last release

  • A DeviceCapabilities data class is defined to contain all capabilities of the device's execution interface (i.e. its implementation of Device.execute). A TOML file can be used to define the capabilities of a device, and it can be loaded into a DeviceCapabilities object. (#6407)

    >>> from pennylane.devices.capabilities import load_toml_file, parse_toml_document, DeviceCapabilities
    >>> document = load_toml_file("my_device.toml")
    >>> capabilities = parse_toml_document(document)
    >>> isinstance(capabilities, DeviceCapabilities)
    True

New API for Qubit Mixed

  • Added qml.devices.qubit_mixed module for mixed-state qubit device support (#6379). This module introduces an apply_operation helper function that features:

    • Two density matrix contraction methods using einsum and tensordot

    • Optimized handling of special cases including: Diagonal operators, Identity operators, CX (controlled-X), Multi-controlled X gates, Grover operators

  • Added submodule 'initialize_state' featuring a create_initial_state function for initializing a density matrix from qml.StatePrep operations or qml.QubitDensityMatrix operations. (#6503)

Improvements 🛠

  • Added support for the wire_options dictionary to customize wire line formatting in qml.draw_mpl circuit visualizations, allowing global and per-wire customization with options like color, linestyle, and linewidth. (#6486)

Capturing and representing hybrid programs

  • jax.vmap can be captured with qml.capture.make_plxpr and is compatible with quantum circuits. (#6349)

Other Improvements

  • qml.BasisRotation template is now JIT compatible. (#6019)

  • The Jaxpr primitives for for_loop, while_loop and cond now store slices instead of numbers of args. (#6521)

  • Expand ExecutionConfig.gradient_method to store TransformDispatcher type. (#6455)

Breaking changes 💔

  • The qml.shadows.shadow_expval transform has been removed. Instead, please use the qml.shadow_expval measurement process. (#6530) (#6561)

Deprecations 👋

Documentation 📝

  • Add a warning message to Gradients and training documentation about ComplexWarnings (#6543)

Bug fixes 🐛

  • Fixed Identity.__repr__ to return correct wires list. (#6506)

Contributors ✍️

This release contains contributions from (in alphabetical order):

Shiwen An Astral Cai, Yushao Chen, Pietropaolo Frisoni, Andrija Paurevic, Justin Pickering