Skip to content

Commit

Permalink
Implementing Exact Tensor Network method for default.tensor (#5786)
Browse files Browse the repository at this point in the history
**Context:** Currently, the new `default.tensor` device can only
simulate quantum circuits using the Matrix Product State (MPS) method,
based on `quimb`'s `CircuitMPS` class.

**Description of the Change:** With this PR, the device also supports
the Exact Tensor Network method based on `quimb`'s `Circuit` class. This
completes the implementation of the `method` keyword argument, which can
be set to either ``mps`` or ``tn``. For this quarter, this is expected
to be the last feature for the `default.tensor` device (except for
refinements, bug fixes, and performance improvements).

**Benefits:** A new simulation method is implemented for this device,
enabling new functionalities for users.

**Possible Drawbacks:** This PR just implements an additional method,
but it does not modify the existing functionalities (except for some
minor improvements and clarifications in the documentation).

**Related GitHub Issues:** None.

**Related Shortcut Stories:** 
[sc-60805] 
[sc-64011]
[sc-64284]
  • Loading branch information
PietropaoloFrisoni authored Jun 13, 2024
1 parent eb5c192 commit 2252d45
Show file tree
Hide file tree
Showing 5 changed files with 456 additions and 175 deletions.
5 changes: 4 additions & 1 deletion doc/releases/changelog-dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@

<h3>New features since last release</h3>

* The `default.tensor` device now supports the `tn` method to simulate quantum circuits using exact tensor networks.
[(#5786)](https://github.com/PennyLaneAI/pennylane/pull/5786)

* QROM template is added. This template allows you to enter classic data in the form of bitstrings.
[(#5688)](https://github.com/PennyLaneAI/pennylane/pull/5688)

Expand Down Expand Up @@ -46,7 +49,7 @@
to execute once for each shot. If using `qml.jit` with the Catalyst compiler, `mcm_method="single-branch-statistics"`
is also available. Using this method, a single branch of the execution tree will be randomly explored.

* The `default.tensor` device is introduced to perform tensor network simulation of a quantum circuit.
* The `default.tensor` device is introduced to perform tensor network simulations of quantum circuits using the `mps` (Matrix Product State) method.
[(#5699)](https://github.com/PennyLaneAI/pennylane/pull/5699)

* A new `qml.noise` module which contains utility functions for building `NoiseModels`.
Expand Down
Loading

0 comments on commit 2252d45

Please sign in to comment.