From be3f4b8160b9bd0194244e31dc612f6af3d24589 Mon Sep 17 00:00:00 2001 From: Ben Bartlett Date: Thu, 12 Jul 2018 10:31:44 -0700 Subject: [PATCH 1/2] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8d05857..027dcbb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # Simulator for quantum networks and channels - + + + SQUANCH (Simulator for QUAntum Networks and CHannels) is an open-source Python framework for creating performant and parallelized simulations of distributed quantum information processing. Although it can be used as a general-purpose From 1d4064ecc68613eafce832db804b0843321841ac Mon Sep 17 00:00:00 2001 From: Ben Bartlett Date: Thu, 12 Jul 2018 10:49:34 -0700 Subject: [PATCH 2/2] Update README.md --- README.md | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 027dcbb..2ed66df 100644 --- a/README.md +++ b/README.md @@ -7,18 +7,18 @@ SQUANCH (Simulator for QUAntum Networks and CHannels) is an open-source Python framework for creating performant and parallelized simulations of distributed quantum information processing. Although it can be used as a general-purpose quantum computing simulation library, SQUANCH is designed specifically for simulating quantum *networks*, acting as a -sort of "quantum playground" to test ideas in quantum transmission and networking protocols. The package includes -flexible modules that allow you to intuitively design and simulate a multi-party quantum network, extensible quantum -and classical error models which introduce realism and the need for error correction in your simulations, and a -multi-threaded framework for manipulating quantum information in a performant manner. +sort of "quantum playground" to test ideas for quantum networking protocols. The package includes flexible modules that +allow you to easily design and simulate complex multi-party quantum networks, extensible classes for implementing quantum +and classical error models for testing error correction protocols, and a multi-threaded framework for manipulating quantum +information in a performant manner. SQUANCH is developed as part of the Intelligent Quantum Networks and Technologies ([INQNET](http://inqnet.caltech.edu)) -program, a collaboration between AT&T and the California Institute of Technology. +program, a [collaboration](http://about.att.com/story/beyond_quantum_computing.html) between AT&T and the California Institute of Technology. ## Documentation Documentation for this package is available at the [documentation website](https://att-innovate.github.io/squanch/) or -as a pdf manual [here](/docs/SQUANCH.pdf). +as a [pdf manual](/docs/SQUANCH.pdf). You can also view the presentation given at the 2017 INQNET Symposium [here](https://indico.hep.caltech.edu/indico/getFile.py/access?sessionId=1&resId=1&materialId=0&confId=131). ## Installation @@ -32,7 +32,12 @@ If you don't have pip, you can get it using `easy_install pip`. ## Demonstrations -Demonstrations of the framework's capabilities can be found in the [demos](/demos) folder and in the [documentation](https://att-innovate.github.io/squanch/demos.html). +Demonstrations of various quantum protocols can be found in the [demos](/demos) folder and in the [documentation](https://att-innovate.github.io/squanch/demos.html): + +- [Quantum teleportation](https://att-innovate.github.io/squanch/demos/quantum-teleportation.html) +- [Superdense coding](https://att-innovate.github.io/squanch/demos/superdense-coding.html) +- [Man-in-the-middle attack](https://att-innovate.github.io/squanch/demos/man-in-the-middle.html) +- [Quantum error correction](https://att-innovate.github.io/squanch/demos/quantum-error-correction.html) As a simple example to put in this readme, let's consider a simulation of a transmission of classical data via [quantum superdense coding](https://en.wikipedia.org/wiki/Superdense_coding). In this @@ -40,7 +45,7 @@ scenario, we have three agents, Alice, Bob, and Charlie. Charlie will distribute send data to Bob by encoding two bits in the Pauli-X and -Z operations for each of her photons. Bob receives Alice's photons and disentangles them to reconstruct her information, as shown in the following diagram. -![](docs/source/img/superdenseABC.png) +![](https://github.com/att-innovate/squanch/blob/master/docs/source/img/superdenseABC.png) Simulating complex scenarios with multiple agents like this one is what SQUANCH is designed to do. The quantum states of large numbers of particles can be efficiently dealt with using `QStream` objects, and the behavior of each agent can be defined by @@ -112,4 +117,4 @@ received_img = np.reshape(np.packbits(out["Bob"]), img.shape) plt.imshow(received_img) ``` -![Alice transmitting an image to Bob over 1km simulated fiber optic cable.](docs/source/img/transmissionDemo.png) +![Alice transmitting an image to Bob over 1km simulated fiber optic cable.](https://github.com/att-innovate/squanch/blob/master/docs/source/img/transmissionDemo.png)