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

Commit

Permalink
Merge branch 'master' into fix_circuits_1
Browse files Browse the repository at this point in the history
  • Loading branch information
nonhermitian committed May 11, 2020
2 parents 4d36662 + 8aba564 commit cd66800
Showing 1 changed file with 35 additions and 46 deletions.
81 changes: 35 additions & 46 deletions start_here.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -20,101 +20,99 @@
"\n",
"The focus of these notebooks is not on learning quantum computing. Instead we will focus on how to use Qiskit, and will go into details only when needed. For those interested in learning about quantum computing we recommend the [Qiskit Textbook](https://qiskit.org/textbook) that we and the community have put together, or the [Qiskit documentation](https://qiskit.org/documentation).\n",
"\n",
"Qiskit is made up of four elements: **Terra**, **Aer**, **Ignis**, and **Aqua**. Each element has its own focus, and together they make up the full Qiskit framework. \n",
"\n",
"\n",
"## Terra Fundamentals - Getting Started\n",
"## Circuits\n",
"\n",
"This section gives you the tools to make your first circuits, execute them, and view the data.\n",
"\n",
"1. [Getting started with Qiskit](tutorials/terra/fundamentals/1_getting_started_with_qiskit.ipynb) - How to use Qiskit.\n",
"1. [Getting started with Qiskit](tutorials/circuits/1_getting_started_with_qiskit.ipynb) - How to use Qiskit.\n",
"\n",
"\n",
"2. [Plotting data in Qiskit](tutorials/terra/fundamentals/2_plotting_data_in_qiskit.ipynb) - Illustrates the different ways of plotting data in Qiskit.\n",
"2. [Plotting data in Qiskit](tutorials/circuits/2_plotting_data_in_qiskit.ipynb) - Illustrates the different ways of plotting data in Qiskit.\n",
"\n",
"\n",
"3. [Summary of quantum operations](tutorials/terra/fundamentals/3_summary_of_quantum_operations.ipynb) - List of quantum operations (gates, reset, measurements) in Qiskit Terra\n",
"3. [Summary of quantum operations](tutorials/circuits/3_summary_of_quantum_operations.ipynb) - List of quantum operations (gates, reset, measurements) in Qiskit Terra\n",
" \n",
" \n",
"## Terra Advanced\n",
"## Advanced Circuits\n",
"\n",
"Terra, the ‘earth’ element, is the foundation on which the rest of the software lies. Terra provides a bedrock for composing quantum programs at the level of circuits and pulses, to optimize them for the constraints of a particular device, and to manage the execution of batches of experiments on remote-access devices. Terra defines the interfaces for a desirable end-user experience, as well as the efficient handling of layers of optimization, pulse scheduling and backend communication.\n",
"1. [Advanced circuits](tutorials/circuits_advanced/1_advanced_circuits.ipynb) - Circuit building tools added including registerless declarations, composite gate updates and parameterized circuits.\n",
"\n",
"1. [Advanced circuits](tutorials/terra/advanced/1_advanced_circuits.ipynb) - Circuit building tools added including registerless declarations, composite gate updates and parameterized circuits.\n",
"\n",
"2. [Operators overview](tutorials/circuits_advanced/2_operators_overview.ipynb) - Gives a summary of the features and uses of the Operator class.\n",
"\n",
"2. [Operators overview](tutorials/terra/advanced/2_operators_overview.ipynb) - Gives a summary of the features and uses of the Operator class.\n",
"\n",
"3. [Advanced circuit visualization](tutorials/circuits_advanced/3_advanced_circuit_visualization.ipynb) - Details on drawing your quantum circuits.\n",
"\n",
"3. [Advanced circuit visualization](tutorials/terra/advanced/3_advanced_circuit_visualization.ipynb) - Details on drawing your quantum circuits.\n",
"\n",
"4. [Transpiler passes and passmanager](tutorials/circuits_advanced/4_transpiler_passes_and_passmanager.ipynb) - How to use the transpiler passes, passmanger, and extend the transpiler with a new pass.\n",
"\n",
"4. [Transpiler passes and passmanager](tutorials/terra/advanced/4_transpiler_passes_and_passmanager.ipynb) - How to use the transpiler passes, passmanger, and extend the transpiler with a new pass.\n",
"\n",
"## High-Performance Simulators\n",
"\n",
"## Aer\n",
"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. Qiskit provides a high-performance simulator framework called `Aer` for studying quantum computing algorithms and applications in the noisy intermediate-scale quantum regime. \n",
"\n",
"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",
"1. [Aer provider](tutorials/aer/1_aer_provider.ipynb) - Gives a summary of the Qiskit Aer provider containing the Qasm, statevector, and unitary simulator.\n",
"1. [Simulators](tutorials/simulators/1_aer_provider.ipynb) - Gives a summary of the Qiskit Aer provider containing the Qasm, statevector, and unitary simulator.\n",
"\n",
"\n",
"2. [Device noise simulation](tutorials/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",
"2. [Device noise simulation](tutorials/simulators/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",
"\n",
"\n",
"3. [Building noise models](tutorials/aer/3_building_noise_models.ipynb) - Shows how to use Qiskit Aer noise module to construct custom noise models for noisy simulations\n",
"3. [Building noise models](tutorials/simulators/3_building_noise_models.ipynb) - Shows how to use Qiskit Aer noise module to construct custom noise models for noisy simulations\n",
"\n",
"\n",
"4. [Custom gate noise](tutorials/aer/4_custom_gate_noise.ipynb) - Shows to implement simulations using custom noisy gates.\n",
"4. [Custom gate noise](tutorials/simulators/4_custom_gate_noise.ipynb) - Shows to implement simulations using custom noisy gates.\n",
"\n",
"\n",
"5. [Noise transformations](tutorials/aer/5_noise_transformation.ipynb) - Noise approximation utility functions to construct approximate Clifford noise models out of a general noise model\n",
"5. [Noise transformations](tutorials/simulators/5_noise_transformation.ipynb) - Noise approximation utility functions to construct approximate Clifford noise models out of a general noise model\n",
"\n",
"\n",
"6. [Extended stabilizer tutorial](tutorials/aer/6_extended_stabilizer_tutorial.ipynb) - Gives an overview of the *extended stabilizer* Qasm Simulator method\n",
"6. [Extended stabilizer tutorial](tutorials/simulators/6_extended_stabilizer_tutorial.ipynb) - Gives an overview of the *extended stabilizer* Qasm Simulator method\n",
"\n",
"\n",
"7. [Matrix Product State simulator](tutorials/aer/7_matrix_product_state_method.ipynb) - Gives an overview of the *matrix product state* Simulator method\n",
"7. [Matrix Product State simulator](tutorials/simulations/7_matrix_product_state_method.ipynb) - Gives an overview of the *matrix product state* Simulator method\n",
"\n",
"\n",
"## Ignis\n",
"## Quantum Device Noise Analysis\n",
"\n",
"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.\n",
"This includes better characterization of errors, improving gates, and computing in the presence of noise. Qiskit `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.\n",
"\n",
"1. [Hamiltonian and gate characterizations](tutorials/ignis/1_hamiltonian_and_gate_characterization.ipynb) - Sequences to measure ZZ rates between qubits and to measure rotation and angle errors in the gates.\n",
"1. [Hamiltonian and gate characterizations](tutorials/noise/1_hamiltonian_and_gate_characterization.ipynb) - Sequences to measure ZZ rates between qubits and to measure rotation and angle errors in the gates.\n",
"\n",
"\n",
"2. [Relaxation and decoherence](tutorials/ignis/2_relaxation_and_decoherence.ipynb) - How to measure coherence times on the real quantum hardware\n",
"2. [Relaxation and decoherence](tutorials/noise/2_relaxation_and_decoherence.ipynb) - How to measure coherence times on the real quantum hardware\n",
"\n",
"\n",
"3. [Measurement error mitigation](tutorials/ignis/3_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",
"3. [Measurement error mitigation](tutorials/noise/3_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",
"\n",
"\n",
"4. [Randomized benchmarking](tutorials/ignis/4_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",
"4. [Randomized benchmarking](tutorials/noise/4_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",
"\n",
"\n",
"5. [Quantum volume](tutorials/ignis/5_quantum_volume.ipynb) - How to run quantum volume measurements on the quantum hardware.\n",
"5. [Quantum volume](tutorials/noise/5_quantum_volume.ipynb) - How to run quantum volume measurements on the quantum hardware.\n",
"\n",
"\n",
"6. [Repetition Code](tutorials/ignis/6_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",
"6. [Repetition Code](tutorials/noise/6_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",
"\n",
"\n",
"7. [Accreditation](tutorials/ignis/7_accreditation.ipynb) - protocol devised to characterize the reliability of noisy quantum devices.\n",
"7. [Accreditation](tutorials/noise/7_accreditation.ipynb) - protocol devised to characterize the reliability of noisy quantum devices.\n",
" \n",
" \n",
"## Aqua\n",
"## Optimization\n",
"\n",
"1. [Quadratic Programs](tutorials/optimization/1_quadratic_program.ipynb) - Introduce how to build optimization problems using Qiskit's optimization module.\n",
"\n",
"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",
"\n",
"2. [Quadratic Program Converters](tutorials/optimization/2_converters_for_quadratic_programs.ipynb) - Qiskit Optimization provides with `QuadraticProgram` a very generic and powerful representation for optimization problems\n",
"\n",
"### Optimization\n",
"\n",
"1. [Hamiltonian and gate characterizations](tutorials/aqua/optimization/1_optimization_problems.ipynb) - Introduce how to construct an optimization models with Qiskit Optimization.\n",
"3. [Minimum Eigen Optimizer](tutorials/optimization/3_minimum_eigen_optimizer) - Solutions to quadratic programs using minimum eigenvalue solvers.\n",
"\n",
"\n",
"2. [Quadratic Program Converters](tutorials/aqua/optimization/2_converters_for_quadratic_programs.ipynb) - Qiskit Optimization provides with `QuadraticProgram` a very generic and powerful representation for optimization problems\n",
"4. [Grover Optimizer](tutorials/optimization/4_grover_optimizer.ipynb) - Explore each component of the `GroverOptimizer`, which utilizes the techniques described in GAS, by minimizing a Quadratic Unconstrained Binary Optimization (QUBO) problem\n",
"\n",
"\n",
"3. [Grover Optimizer](tutorials/aqua/optimization/4_grover_optimizer.ipynb) - Explore each component of the `GroverOptimizer`, which utilizes the techniques described in GAS, by minimizing a Quadratic Unconstrained Binary Optimization (QUBO) problem"
"5. [ADMM Optimizer](tutorials/optimization/5_admm_optimizer.ipynb) - The ADMM Optimizer can solve classes of mixed-binary constrained optimization problems that often appear in logistic, finance, and operation research."
]
},
{
Expand Down Expand Up @@ -144,15 +142,6 @@
"import qiskit.tools.jupyter\n",
"%qiskit_copyright"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
Expand All @@ -172,7 +161,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
"version": "3.8.2"
},
"varInspector": {
"cols": {
Expand Down

0 comments on commit cd66800

Please sign in to comment.