Skip to content
This repository was archived by the owner on Aug 21, 2023. It is now read-only.

Commit a0512d5

Browse files
committed
Merge branch 'Qiskit/master'
2 parents eb6baf8 + cd577ad commit a0512d5

22 files changed

Lines changed: 2882 additions & 5803 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,4 @@ qiskit/basics/Qconfig_IBMQ_experience_public.py
2929
qiskit/basics/Qconfig_IBMQ_experience_staging.py
3030

3131
qiskit/basics/Qconfig_IBMQ_network-dev.py
32+
.DS_Store

INSTALL.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ At least [Python 3.5 or later](https://www.python.org/downloads/) is required to
2727
When there are no issues with dependencies, Qiskit can be simply installed using
2828

2929
```
30-
pip install qiskit qiskit-aqua qiskit-aqua-chemistry
30+
pip install qiskit qiskit-aqua qiskit-chemistry
3131
```
3232

3333
Or, pre-installed qiskit can be updated using
3434

3535
```
36-
pip install -U qiskit qiskit-aqua qiskit-aqua-chemistry
36+
pip install -U qiskit qiskit-aqua qiskit-chemistry
3737
```
3838

3939
However, in case of issues with dependencies, we recommend the following installation procedure:
@@ -116,8 +116,8 @@ python -m ipykernel install --user --name Qiskitenv --display-name "Python (Qisk
116116
jupyter notebook index.ipynb
117117
```
118118

119-
## 5. Visualizing Circuits with Latex
120-
You can visualize your quantum circuits directly from Qiskit. Qiskit circuit drawers are based on matplotlib and latex. The matplotlib version is entirely native to Python, and thus easy to use. The Latex version produces publication-quality circuit images, but relies on some pre-requisite software. These include the `pdflatex` compiler for rendering latex documents, and the Poppler library for converting PDF to image. To get these:
119+
## 5. [Optional] Visualizing Circuits with Latex
120+
You can visualize your quantum circuits directly from Qiskit. Qiskit circuit drawers support Text, Latex and matplotlib. The text and matplotlib version is entirely native to Python, and thus easy to use. The Latex version produces publication-quality circuit images, but relies on some pre-requisite software. These include the `pdflatex` compiler for rendering latex documents, and the Poppler library for converting PDF to image. To get these:
121121

122122
On Linux:
123123

README.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@
1010
[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/QISKit/qiskit-tutorial/master?filepath=index.ipynb)
1111

1212

13-
Welcome to the Quantum Information Science Kit ([Qiskit](https://www.qiskit.org/) for short) tutorials!
13+
Welcome to the [Qiskit](https://www.qiskit.org/ tutorials!
1414

1515
In this repository, we've put together a collection of Jupyter notebooks aimed at teaching people who want to use Qiskit for writing quantum computing programs, and executing them on one of several backends (online quantum processors, online simulators, and local simulators). The online quantum processors are the [IBM Q](https://quantumexperience.ng.bluemix.net/qx/devices) devices.
1616

1717
## Installation and Setup
1818

1919
The notebooks for these tutorials can be viewed here on GitHub. But for the full experience, you'll want to interact with them!
2020

21-
The easiest way to do this is using [the Binder image](https://mybinder.org/v2/gh/Qiskit/qiskit-tutorial/master?filepath=index.ipynb), which lets you use the notebooks via the web. This means that you don't need to download or install anything, but it also means that you should not insert any private information into the notebooks (such as your API key). We recommend as pointed out in [issue #231](https://github.com/Qiskit/qiskit-tutorial/issues/231) that after you are done using mybinder that you regenerate your token.
21+
The easiest way to do this is using [the Binder image](https://mybinder.org/v2/gh/Qiskit/qiskit-tutorial/master?filepath=index.ipynb), which lets you use the notebooks via the web. This means that you don't need to download or install anything, but it also means that you should not insert any private information into the notebooks (such as your API key). We recommend as pointed out in [issue #231](https://github.com/Qiskit/qiskit-tutorial/issues/231) that after you are done using mybinder that you regenerate your token.
2222

2323
Please refer to this [installation guide](INSTALL.md) for setting up Qiskit and the tutorials on your own machine (this is the recommended way).
2424

@@ -28,30 +28,31 @@ Please refer to this [installation guide](INSTALL.md) for setting up Qiskit and
2828
We have organized the tutorials into two sections:
2929

3030
### 1. [Qiskit notebooks](qiskit/)<a id='qiskit'></a>
31-
We've collected a core reference set of notebooks in this section outlining the features of Qiskit. We will be keeping them up to date with the latest Qiskit version, currently version 0.6.
31+
We've collected a core reference set of notebooks in this section outlining the features of Qiskit. We will be keeping them up to date with the latest Qiskit version.
3232
- [Basics](qiskit/basics) is meant for those who are getting started.
3333
- [Terra](qiskit/terra) is meant for those who want to study circuits.
3434
- [Ignis](qiskit/ignis) is meant for those who want to study noise.
35-
- [Aqua](qiskit/aqua) is meant for those who want to develop applications on NISQ computers.
35+
- [Aqua](qiskit/aqua) is meant for those who want to develop applications on NISQ computers.
36+
- [Jupyter](qiskit/jupyter) is meant to highlight some cool Juypter features.
3637

3738
### 2. [Community notebooks](community/)<a id='community'></a>
38-
Teaching quantum computing and qiskit has many different paths of learning. We love our community, and we love the contributions so keep them coming. Because Qiskit is changing so much, at the moment we cant keep this updated, but there are some great notebooks in here. See:
39+
Teaching quantum computing and qiskit has many different paths of learning. We love our community, and we love the contributions so keep them coming. Because Qiskit is changing so much, at the moment we cant keep this updated, but there are some great notebooks in here. See:
3940
- [Hello, Quantum World](community/hello_world/) learn from the community how to write your first quantum program.
4041
- [Quantum Games](community/games/), learn quantum computing by having fun.
41-
- [Quantum Information Science with Terra](community/terra/), learn about quantum information science with Qiskit Terra.
42-
- [Textbook Quantum Algorithms](community/algorithms/), learn Qiskit from the textbook algorithms.
42+
- [Quantum Information Science with Terra](community/terra/), learn about quantum information science with Qiskit Terra.
43+
- [Textbook Quantum Algorithms](community/algorithms/), learn Qiskit from the textbook algorithms.
4344
- [Quantum Algorithms](community/aqua/), learn about quantum algorithms for noisy near-term devices with Qiskit Aqua.
4445
- [Teach Me Qiskit 2018](community/teach_me_qiskit_2018/), learn from the great contributions to the [Teach Me Qiskit award](https://www.ibm.com/blogs/research/2018/06/teach-qiskit-winner/).
4546

46-
To go through the tutorials, load up the [index.ipynb](index.ipynb) notebook and start learning.
47+
To go through the tutorials, load up the [index.ipynb](index.ipynb) notebook and start learning.
4748

48-
***
49+
***
4950

5051
## Contributing
5152
If you would like to contribute to the tutorials, there are a number of ways to get involved:
5253

5354
* **Issues**: Issues can be reported with GitHub [issue reporting](https://github.com/Qiskit/qiskit-tutorial/issues) for this repository. Select `New issue`, fill in a descriptive title, and provide as much detail as is needed for the issue to be reproduced.
54-
* **Notebooks**: If you would like to contribute a notebook, please create a [fork](https://help.github.com/articles/fork-a-repo/) of the repository from the `master` branch and create a [pull request](https://help.github.com/articles/about-pull-requests/) for your change. Note that new notebooks should be placed in the relevant part of the [Community](community/) section.
55+
* **Notebooks**: If you would like to contribute a notebook, please create a [fork](https://help.github.com/articles/fork-a-repo/) of the repository from the `master` branch and create a [pull request](https://help.github.com/articles/about-pull-requests/) for your change. Note that new notebooks should be placed in the relevant part of the [Community](community/) section.
5556

5657
## Contributors
5758
These tutorials are the work of our [Qiskitters](https://github.com/Qiskit/qiskit-tutorial/graphs/contributors) who contribute to the project at different levels.

community/terra/index.ipynb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,16 @@
3030
" * [Multi-Qubit W State Systems](qis_adv/Multi-Qubit_W_States_with_Tomography.ipynb)\n",
3131
" * [Quantum Fourier Transform](qis_adv/fourier_transform.ipynb)\n",
3232
" * [Quantum Magic Square](qis_adv/quantum_magic_square.ipynb) \n",
33-
" * Quantum Random Access Coding: [Single Qubit](qis_adv/single-qubit_quantum_random_access_coding.ipynb) and [Two Qubit](two-qubit_state_quantum_random_access_coding.ipynb)\n",
33+
" * Quantum Random Access Coding: [Single Qubit](qis_adv/single-qubit_quantum_random_access_coding.ipynb) and [Two Qubit](qis_adv/two-qubit_state_quantum_random_access_coding.ipynb)\n",
34+
" * [Random Number Generation](qis_adv/random_number_generation.ipynb)\n",
3435
" * [Topological Quantum Walks](qis_adv/topological_quantum_walk.ipynb)\n",
3536
" * [Vaidman Detection Test](qis_adv/vaidman_detection_test.ipynb)\n",
3637
"\n",
3738
"<!-- space -->\n",
3839
"\n",
3940
"* [Quantum Error Correction](qec)\n",
4041
"\n",
41-
"Note that we have more tutorials than those listed above, however they have not been updated to Qiskit 0.6, so may not work. If you would like to contribute, updating an exisiting tutorial to add to the list would be great start, or you could create a new tutorial, perhaps an quantum error correction one...\n"
42+
"Note that we have more tutorials than those listed above, however they have not been updated to Qiskit 0.7, so may not work. If you would like to contribute, updating an exisiting tutorial to add to the list would be great start, or you could create a new tutorial, perhaps an quantum error correction one...\n"
4243
]
4344
},
4445
{
@@ -65,7 +66,7 @@
6566
"name": "python",
6667
"nbconvert_exporter": "python",
6768
"pygments_lexer": "ipython3",
68-
"version": "3.6.4"
69+
"version": "3.6.7"
6970
}
7071
},
7172
"nbformat": 4,

community/terra/qis_adv/Multi-Qubit_W_States_with_Tomography.ipynb

Lines changed: 104 additions & 132 deletions
Large diffs are not rendered by default.

community/terra/qis_adv/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
# Advanced Quantum Information Science with Qiskit Terra
22

3-
This folder hosts notebooks on advanced topics of Quantum Information Science.
3+
This folder hosts notebooks on advanced topics of Quantum Information Science, note that all of them may not work with the latest version of qiskit.
44

55
Now that you have seen that quantum superposition and entanglement are important features in quantum computing and information,
66
we will see how they can be used to obtain quantum advantages, as below.
77

8+
* [Random Number Generation](random_number_generation.ipynb): demonstrate how to generate random numbers using a quantum computer.
9+
810
* [Quantum Random Access Coding](single-qubit_quantum_random_access_coding.ipynb): show quantum advantages with one qubit that cannot be achieved with a single classical bit. The two-qubit version is also available [here](two-qubit_state_quantum_random_access_coding.ipynb).
911

1012
* [Vaidman Detection Test](vaidman_detection_test.ipynb): show how to exploit probability computation between classical and quantum devices. Quantum computing works on probability amplitudes (instead of probability in classical), which is shown can mean either dead or alive! The ability to operate on probability amplitudes is also the basis of [the Grover search algorithm](../../algorithms/grover_algorithm.ipynb).
1113

1214
* [Quantum Fourier Transform](fourier_transform.ipynb): part of the [Shor's factoring algorithm](../../algorithms/shor_algorithm.ipynb) and an important block for extracting periodicity structures in many quantum algorithms.
1315

14-
* [Creation of Multi-Qubit W State Systems](Multi-Qubit_W_States_with_Tomography.ipynb): show an evidence that a customized circuit can be more efficient than the standard/generic one.
16+
* [Multi-Qubit W State Systems](Multi-Qubit_W_States_with_Tomography.ipynb): show an evidence that a customized circuit can be more efficient than the standard/generic one.
1517

1618
* [Topological Quantum Walk](topological_quantum_walk.ipynb): an example of applying quantum mechanics for random walk, which is a powerful tool in many classical randomized algorithms.
1719

0 commit comments

Comments
 (0)