Skip to content

Commit

Permalink
Remove entanglement forging (#479)
Browse files Browse the repository at this point in the history
* Remove entanglement forging

* remove forging references from docs

* Remove forging tags from release notes

* Remove dead tags from release note
  • Loading branch information
caleb-johnson authored Feb 9, 2024
1 parent fb56da4 commit e6de752
Show file tree
Hide file tree
Showing 43 changed files with 31 additions and 3,802 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test_latest_versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,6 @@ jobs:
notebook_flags=""
if [ "$RUNNER_OS" = "Windows" ]; then
echo Skipping tutorials \& how-tos that require pyscf
notebook_flags="${notebook_flags} --ignore=docs/entanglement_forging --ignore=docs/_build/jupyter_execute/entanglement_forging/how-tos"
notebook_flags="${notebook_flags} --ignore=docs/_build/jupyter_execute/entanglement_forging/how-tos"
fi
tox -epy${pver/./}-notebook -- ${notebook_flags}
14 changes: 4 additions & 10 deletions INSTALL.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@ packages. There are three primary ways to do this:
- :ref:`Option 2`
- :ref:`Option 3`

CutQC and entanglement forging users should consult the
:ref:`Platform Support` section to determine which installation option
is appropriate for them. Users who wish to run within a
CutQC users should consult the :ref:`Platform Support` section to determine
which installation option is appropriate for them. Users who wish to run within a
containerized environment may skip the pre-installation and move straight
to :ref:`Option 3`.

Expand Down Expand Up @@ -62,15 +61,13 @@ Upgrade pip and install the CKT package.
pip install --upgrade pip
pip install circuit-knitting-toolbox
Users intending to use the entanglement forging tool should install the ``pyscf`` optional dependency.

Users intending to use the automatic cut finding functionality in the CutQC package should install the ``cplex`` optional dependency.

Adjust the options below to suit your needs.

.. code:: sh
pip install 'circuit-knitting-toolbox[pyscf,cplex]'
pip install 'circuit-knitting-toolbox[cplex]'
.. _Option 2:
Expand All @@ -97,15 +94,13 @@ The next step is to install CKT to the virtual environment. If you plan on runni
notebook dependencies in order to run all the visualizations in the notebooks.
If you plan on developing in the repository, you may want to install the ``dev`` dependencies.

Users intending to use the entanglement forging tool should install the ``pyscf`` optional dependency.

Users intending to use the automatic cut finding functionality in the CutQC package should install the ``cplex`` optional dependency.

Adjust the options below to suit your needs.

.. code:: sh
pip install tox notebook -e '.[notebook-dependencies,dev,pyscf,cplex]'
pip install tox notebook -e '.[notebook-dependencies,dev,cplex]'
If you installed the notebook dependencies, you can get started with CKT by running the notebooks in the docs.

Expand Down Expand Up @@ -183,7 +178,6 @@ intend to use.

- The automatic wire cut search in the ``cutqc`` package depends
on CPLEX, which is only available on Intel chips.
- The entanglement forging tool requires PySCF, which does not support Windows.

In each case, one method that is guaranteed to work is to :ref:`use
the toolbox within Docker <Option 3>`. Other methods include:
Expand Down
21 changes: 9 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
![Platform](https://img.shields.io/badge/%F0%9F%92%BB%20Platform-Linux%20%7C%20macOS%20%7C%20Windows-informational)
[![Python](https://img.shields.io/pypi/pyversions/circuit-knitting-toolbox?label=Python&logo=python)](https://www.python.org/)
[![Qiskit](https://img.shields.io/badge/Qiskit-%E2%89%A5%200.45.0%2C%20%3C1.0-6133BD?logo=qiskit)](https://github.com/Qiskit/qiskit)
[![Qiskit Nature](https://img.shields.io/badge/Qiskit%20Nature-%E2%89%A5%200.6.0%2C%20%3C0.7-6133BD?logo=qiskit)](https://github.com/Qiskit/qiskit-nature)
<br />
[![Docs (stable)](https://img.shields.io/badge/%F0%9F%93%84%20Docs-stable-blue.svg)](https://qiskit-extensions.github.io/circuit-knitting-toolbox/)
[![DOI](https://zenodo.org/badge/543181258.svg)](https://zenodo.org/badge/latestdoi/543181258)
Expand All @@ -30,7 +29,7 @@

### About

Circuit Knitting is the process of decomposing a quantum circuit into smaller circuits, executing those smaller circuits on a quantum processor(s), and then knitting their results into a reconstruction of the original circuit's outcome. Circuit knitting includes techniques such as entanglement forging, circuit cutting, and classical embedding. The Circuit Knitting Toolbox (CKT) is a collection of such tools.
Circuit Knitting is the process of decomposing a quantum circuit into smaller circuits, executing those smaller circuits on a quantum processor(s), and then knitting their results into a reconstruction of the original circuit's outcome.

Each tool in the CKT partitions a user's problem into quantum and classical components to enable efficient use of resources constrained by scaling limits, i.e. size of quantum processors and classical compute capability. It can assign the execution of "quantum code" to QPUs or QPU simulators and "classical code" to various heterogeneous classical resources such as CPUs, GPUs, and TPUs made available via hybrid cloud, on-prem, data centers, etc.

Expand All @@ -50,10 +49,10 @@ All CKT documentation is available at https://qiskit-extensions.github.io/circui

### Installation

We encourage installing CKT via ``pip``, when possible. Users intending to use the entanglement forging tool should install the ``pyscf`` optional dependency. Users intending to use the automatic cut finding functionality in the ``CutQC`` package should install the ``cplex`` optional dependency.
We encourage installing CKT via ``pip``, when possible. Users intending to use the automatic cut finding functionality in the ``CutQC`` package should install the ``cplex`` optional dependency.

```bash
pip install 'circuit-knitting-toolbox[cplex,pyscf]'
pip install 'circuit-knitting-toolbox[cplex]'
```

For information on installing from source, running CKT in a container, and platform support, refer to the [installation instructions](https://qiskit-extensions.github.io/circuit-knitting-toolbox/install.html) in the CKT documentation.
Expand All @@ -68,19 +67,17 @@ This project is meant to evolve rapidly and, as such, does not follow [Qiskit's

### References

[1] Andrew Eddins, Mario Motta, Tanvi P. Gujarati, Sergey Bravyi, Antonio Mezzacapo, Charles Hadfield, Sarah Sheldon, [Doubling the size of quantum simulators by entanglement forging](https://journals.aps.org/prxquantum/abstract/10.1103/PRXQuantum.3.010309), PRX Quantum 3, 010309 (2022).
[1] Kosuke Mitarai, Keisuke Fujii, [Constructing a virtual two-qubit gate by sampling single-qubit operations](https://iopscience.iop.org/article/10.1088/1367-2630/abd7bc), New J. Phys. 23 023021.

[2] Kosuke Mitarai, Keisuke Fujii, [Constructing a virtual two-qubit gate by sampling single-qubit operations](https://iopscience.iop.org/article/10.1088/1367-2630/abd7bc), New J. Phys. 23 023021.
[2] Kosuke Mitarai, Keisuke Fujii, [Overhead for simulating a non-local channel with local channels by quasiprobability sampling](https://quantum-journal.org/papers/q-2021-01-28-388/), Quantum 5, 388 (2021).

[3] Kosuke Mitarai, Keisuke Fujii, [Overhead for simulating a non-local channel with local channels by quasiprobability sampling](https://quantum-journal.org/papers/q-2021-01-28-388/), Quantum 5, 388 (2021).
[3] Christophe Piveteau, David Sutter, [Circuit knitting with classical communication](https://arxiv.org/abs/2205.00016), arXiv:2205.00016 [quant-ph].

[4] Christophe Piveteau, David Sutter, [Circuit knitting with classical communication](https://arxiv.org/abs/2205.00016), arXiv:2205.00016 [quant-ph].
[4] Lukas Brenner, Christophe Piveteau, David Sutter, [Optimal wire cutting with classical communication](https://arxiv.org/abs/2302.03366), arXiv:2302.03366 [quant-ph].

[5] Lukas Brenner, Christophe Piveteau, David Sutter, [Optimal wire cutting with classical communication](https://arxiv.org/abs/2302.03366), arXiv:2302.03366 [quant-ph].

[6] Wei Tang, Teague Tomesh, Martin Suchara, Jeffrey Larson, Margaret Martonosi, [CutQC: Using small quantum computers for large quantum circuit evaluations](https://doi.org/10.1145/3445814.3446758), Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. pp. 473 (2021).
[5] Wei Tang, Teague Tomesh, Martin Suchara, Jeffrey Larson, Margaret Martonosi, [CutQC: Using small quantum computers for large quantum circuit evaluations](https://doi.org/10.1145/3445814.3446758), Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. pp. 473 (2021).

[7] K. Temme, S. Bravyi, and J. M. Gambetta, [Error mitigation for short-depth quantum circuits](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.119.180509), Physical Review Letters, 119(18), (2017).
[6] K. Temme, S. Bravyi, and J. M. Gambetta, [Error mitigation for short-depth quantum circuits](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.119.180509), Physical Review Letters, 119(18), (2017).

----------------------------------------------------------------------------------------------------

Expand Down
69 changes: 0 additions & 69 deletions circuit_knitting/forging/__init__.py

This file was deleted.

Loading

0 comments on commit e6de752

Please sign in to comment.