Giter Site home page Giter Site logo

kevinsung / circuit-knitting-toolbox Goto Github PK

View Code? Open in Web Editor NEW

This project forked from qiskit-extensions/circuit-knitting-toolbox

0.0 1.0 0.0 5.29 MB

Tools for knitting quantum circuits with Qiskit

Home Page: https://qiskit-extensions.github.io/circuit-knitting-toolbox/

License: Apache License 2.0

Python 99.72% Dockerfile 0.11% OpenQASM 0.18%

circuit-knitting-toolbox's Introduction

Stability Release Platform Python Qiskit
Docs (stable) DOI License Downloads Tests Coverage

Circuit Knitting Toolbox

Table of Contents


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.

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.

The toolbox enables users to run parallelized and hybrid (quantum + classical) workloads without worrying about allocating and managing underlying infrastructure.

The toolbox currently contains the following tools:


Documentation

All CKT documentation is available at https://qiskit-extensions.github.io/circuit-knitting-toolbox/.


Installation

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.

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 in the CKT documentation.


Deprecation Policy

This project is meant to evolve rapidly and, as such, does not follow Qiskit's deprecation policy. We may occasionally make breaking changes in order to improve the user experience. When possible, we will keep old interfaces and mark them as deprecated, as long as they can co-exist with the new ones. Each substantial improvement, breaking change, or deprecation will be documented in the release notes.


References

[1] Kosuke Mitarai, Keisuke Fujii, Constructing a virtual two-qubit gate by sampling single-qubit operations, New J. Phys. 23 023021.

[2] Kosuke Mitarai, Keisuke Fujii, Overhead for simulating a non-local channel with local channels by quasiprobability sampling, Quantum 5, 388 (2021).

[3] Christophe Piveteau, David Sutter, Circuit knitting with classical communication, arXiv:2205.00016 [quant-ph].

[4] Lukas Brenner, Christophe Piveteau, David Sutter, Optimal wire cutting with classical communication, arXiv:2302.03366 [quant-ph].

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

[6] K. Temme, S. Bravyi, and J. M. Gambetta, Error mitigation for short-depth quantum circuits, Physical Review Letters, 119(18), (2017).


License

Apache License 2.0

circuit-knitting-toolbox's People

Contributors

caleb-johnson avatar dependabot[bot] avatar dharmash avatar eric-arellano avatar garrison avatar hitomitak avatar ibrahim-shehzad avatar jenglick avatar lockwo avatar pemmaras avatar psschwei avatar saashajoshi avatar seetharamiseelam avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.