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

Commit 18b5b49

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 6a2f4c5 + 32ed3ce commit 18b5b49

25 files changed

Lines changed: 3734 additions & 3121 deletions

README.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,13 @@ Please refer to this [installation guide](INSTALL.md) for setting up Qiskit and
1919
## Contents
2020

2121
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.
22-
- [Basics](qiskit/basics) is meant for those who are getting started.
23-
- [Terra](qiskit/terra) is meant for those who want to study circuits.
24-
- [Aer](qiskit/aer) is meant for those who want to simulate quantum circuits.
25-
- [Ignis](qiskit/ignis) is meant for those who want to study noise.
26-
- [Aqua](qiskit/aqua) is meant for those who want to develop applications on NISQ computers.
27-
- [Jupyter](qiskit/jupyter) is meant to highlight some cool Juypter features.
22+
- [Basics](qiskit/fundamentals) is meant for those who are getting started.
23+
- [Terra](qiskit/advanced/terra) is meant for those who want to study circuits.
24+
- [Aer](qiskit/advanced/aer) is meant for those who want to simulate quantum circuits.
25+
- [Ignis](qiskit/advanced/ignis) is meant for those who want to study noise.
26+
- [Aqua](qiskit/advanced/aqua) is meant for those who want to develop applications on NISQ computers.
2827

29-
To go through the Qiskit examples, load up the [start_here.ipynb](qiskit/start_here.ipynb) notebook and start seeing how Qiskit works.
28+
To go through the Qiskit examples, load up the [start_here.ipynb](qiskit/1_start_here.ipynb) notebook and start seeing how Qiskit works.
3029

3130
## Contribution Guidelines
3231

@@ -42,4 +41,4 @@ to the project at different levels. If you use Qiskit, please cite as per the in
4241

4342
## License
4443

45-
[Apache License 2.0](LICENSE.txt)
44+
[Apache License 2.0](LICENSE)

qiskit/1_start_here.ipynb

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -62,18 +62,31 @@
6262
"## 3 Qiskit Aer\n",
6363
"\n",
6464
"Aer, the ‘air’ element, permeates all Qiskit elements. To really speed up development of quantum computers, we need better simulators with the ability to model realistic noise processes that occur during computation on actual devices. Aer provides a high-performance simulator framework for studying quantum computing algorithms and applications in the noisy intermediate-scale quantum regime. \n",
65-
" * [Aer provider](advanced/aer/aer_provider.ipynb) - Gives a summary of the Qiskit Aer provider containing the Qasm, statevector, and unitary simulator\n",
66-
" * [Extended stabilizer tutorial](advanced/aer/extended_stabilizer_tutorial.ipynb) - Gives an overview of the *extended stabilizer* Qasm Simulator method\n",
67-
" * [Device noise simulation](advanced/aer/device_noise_simulation.ipynb) - Shows how to use the Qiskit Aer noise module to automatically generate a basic noise model for simulating hardware backends\n",
68-
" * [Building noise models](advanced/aer/building_noise_models.ipynb) - Shows how to use Qiskit Aer noise module to construct custom noise models for noisy simulations\n",
69-
" * [Custom gate noise](advanced/aer/custom_gate_noise.ipynb) - Shows to implement simulations using custom noisy gates.\n",
70-
" * [Noise transformations](advanced/aer/noise_transformation.ipynb) - Demonstrates the noise approximation utility functions to construct approximate Clifford noise models out of a general noise model\n",
65+
"1. [Aer provider](advanced/aer/1_aer_provider.ipynb) - Gives a summary of the Qiskit Aer provider containing the Qasm, statevector, and unitary simulator\n",
66+
"2. [Device noise simulation](advanced/aer/2_device_noise_simulation.ipynb) - Shows how to use the Qiskit Aer noise module to automatically generate a basic noise model for simulating hardware backends\n",
67+
"3. [Building noise models](advanced/aer/3_building_noise_models.ipynb) - Shows how to use Qiskit Aer noise module to construct custom noise models for noisy simulations\n",
68+
"4. [Custom gate noise](advanced/aer/4_custom_gate_noise.ipynb) - Shows to implement simulations using custom noisy gates.\n",
69+
"5. [Noise transformations](advanced/aer/5_noise_transformation.ipynb) - Demonstrates the noise approximation utility functions to construct approximate Clifford noise models out of a general noise model\n",
70+
"6. [Extended stabilizer tutorial](advanced/aer/6_extended_stabilizer_tutorial.ipynb) - Gives an overview of the *extended stabilizer* Qasm Simulator method\n",
71+
"7. [Matrix Product State simulator](advanced/aer/7_matrix_product_state_method.ipynb) - Gives an overview of the *matrix product state* Simulator method\n",
7172
" \n",
7273
"## 4 Qiskit Ignis\n",
73-
"Ignis, the ‘fire’ element, is dedicated to fighting noise and errors and to forging a new path. This includes better characterization of errors, improving gates, and computing in the presence of noise. Ignis is meant for those who want to design quantum error correction codes, or who wish to study ways to characterize errors through methods such as tomography, or even to find a better way for using gates by exploring dynamical decoupling and optimal control. While we have already released parts of this element as part of libraries in Terra, an official stand-alone release will come soon. For now, we have some tutorials for you to explore.\n",
74-
" * [Relaxation and decoherence](advanced/ignis/relaxation_and_decoherence.ipynb) - How to measure coherence times on the real quantum hardware\n",
75-
" * [Quantum state tomography](advanced/ignis/state_tomography.ipynb) - How to identify a quantum state using state tomography, in which the state is prepared repeatedly and measured in different bases\n",
76-
" * [Quantum process tomography](advanced/ignis/process_tomography.ipynb) - Using quantum process tomography to reconstruct the behavior of a quantum process and measure its fidelity, i.e., how closely it matches the ideal version\n",
74+
"Ignis, the ‘fire’ element, is dedicated to fighting noise and errors and to forging a new path. This includes better characterization of errors, improving gates, and computing in the presence of noise. Ignis is meant for those who want to design quantum error correction codes, or who wish to study ways to characterize errors through methods such as tomography and randomized benchmarking, or even to find a better way for using gates by exploring dynamical decoupling and optimal control. Ignis tutorials are found [here](advanced/ignis/) and include:\n",
75+
" 1. [Calibrating a qubit](advanced/ignis/1_calibrating_a_qubit.ipynb) - Using pulse to calibrate a \"pi-pulse\" gate by fitting a Rabi oscillation on a qubit. Using the \"pi-pulse\" measure the single-shot analog voltages that are returned by an experiment.\n",
76+
" 2. [Hamiltonian and gate characterizations](advanced/ignis/2_hamiltonian_and_gate_characterization.ipynb) - Sequences to measure ZZ rates between qubits and to measure rotation and angle errors in the gates.\n",
77+
" 3. [Relaxation and decoherence](advanced/ignis/3_relaxation_and_decoherence.ipynb) - How to measure coherence times on the real quantum hardware\n",
78+
" 4. [Measurement error mitigation](advanced/ignis/4_measurement_error_mitigation.ipynb) - How to peform calibration experiments for measurement errors and fed those calibrations into a \"filter\" that can be utilized to mitigate errors in subsequent experiments.\n",
79+
" 5. Randomized Benchmarking:\n",
80+
" * a. [Randomized benchmarking](advanced/ignis/5a_randomized_benchmarking.ipynb) - Randomized benchmarking (RB) is a technique used to measure the average gate error by measuring the outcomes of random Clifford circuits. This is used internally to report gate errors on our systems. \n",
81+
" * b. [Interleaved RB](advanced/ignis/5b_interleaved_rb.ipynb) - A variant of RB used to measure the error of a specific gate.\n",
82+
" * c. [Purity RB](advanced/ignis/5c_purity_rb.ipynb) - A variant of RB used to measure the *incoherent* error per gate.\n",
83+
" 6. Tomography:\n",
84+
" * a. [Quantum state tomography](advanced/ignis/6a_state_tomography.ipynb) - How to identify a quantum state using state tomography, in which the state is prepared repeatedly and measured in different bases. \n",
85+
" * b. [Quantum process tomography](advanced/ignis/6b_process_tomography.ipynb) - A method to reconstruct the quantum process matrix by preparing certain states, applying a gate, and then measuring the outcome in different bases. \n",
86+
" 7. [Quantum volume](advanced/ignis/7_quantum_volume.ipynb) - How to run quantum volume measurements on the quantum hardware.\n",
87+
" 8. [Repetition Code](advanced/ignis/8_repetition_code.ipynb) - How to run a simple error correction code, known as the repetition code. This can be used to characterize bit flip errors in the hardware.\n",
88+
" 9. [Logging](advanced/ignis/9_ignis_logging.ipynb) - An introduction to some of the logging features in Ignis, intended to be used to track characterization parameters.\n",
89+
" \n",
7790
"\n",
7891
"## 5 Qiskit Aqua\n",
7992
"Aqua, the ‘water’ element, is the element of life. To make quantum computing live up to its expectations, we need to find real-world applications. Aqua is where algorithms for NISQ computers are built. These algorithms can be used to build applications for quantum computing.\n",
@@ -165,7 +178,7 @@
165178
"name": "python",
166179
"nbconvert_exporter": "python",
167180
"pygments_lexer": "ipython3",
168-
"version": "3.7.3"
181+
"version": "3.6.8"
169182
},
170183
"varInspector": {
171184
"cols": {

qiskit/advanced/aer/1_aer_provider.ipynb

Lines changed: 608 additions & 0 deletions
Large diffs are not rendered by default.

qiskit/advanced/aer/2_device_noise_simulation.ipynb

Lines changed: 786 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)