qiskit-metapackage icon indicating copy to clipboard operation
qiskit-metapackage copied to clipboard

Getting started with Qiskit and introduction to Qiskit tutorials are very similar

Open HuangJunye opened this issue 2 years ago • 9 comments

Informations

  • Qiskit version:
  • Python version:
  • Operating system:

What is the current behavior?

https://qiskit.org/documentation/intro_tutorial1.html and https://qiskit.org/documentation/tutorials/circuits/1_getting_started_with_qiskit.html are both supposed to be "getting started" guide covering similar topics.

Steps to reproduce the problem

What is the expected behavior?

There should be only one "getting started"

Suggested solutions

We should remove one of these two tutorials

HuangJunye avatar May 18 '22 09:05 HuangJunye

Actually https://qiskit.org/documentation/tutorials/circuits/01_circuit_basics.html is also very similar to the two tutorials mentioned above.

HuangJunye avatar May 18 '22 09:05 HuangJunye

This looks like something I can help with. Is there something you would like done to start?

InfamousPlatypus avatar May 24 '22 17:05 InfamousPlatypus

@InfamousPlatypus Thank you. To start with, I think it will help if you can do a detailed comparisons of the three so that we can decide which one to keep.

HuangJunye avatar May 25 '22 10:05 HuangJunye

Is this useful?

Introduction to Qiskit

Four steps: Build, Compile, Run, Analyze Example: Simulate 2 qbit circuit with an H and Cnot. Run, draw and plot.

Workflow Step by Step

Six steps, Import packages, Initialize variables, Add gates, Visualize Circuit, simulate, Visualize results.

Imports Numpy, qiskit QuantumCircuit, aer QasmSimulator, visualization plot_histogram

After that we initialize a 2 qbit circut.
(I do like how this one shows you need 2 registers up front. The others do a better job of showing a separation between the quantum register and classical register though)

Build the circuit (bell state) then measure.
    Basic description of the gates. Keywords (superposition state and entangled state) are highlighted. I feel like this doc has quite sparse links, this may be a good place to use them.

Visualize Circuit
    Just has QC.draw(), but tells us to change the settings.conf to mpl if we prefer that. Also lists valid backends.

Simulate experiment with Aer or basic Aer.
    Qasm simulator
    get_counts

Visualize results
    plot_histogram

Next Steps: tutorials, Textbook, Coding With Qiskit

This is for sure the Introduction. It is most basic, simple and easy to follow. Some sections of the others feel like a wall of text

Getting Started with Qiskit

Two stages, Build and Execute. Do the imports

Circuit Basics

Building the Circuit

Create a 3 qbit GHZ gate. Shows what the gates do using math.

Visualize Circuit

Uses mpl It has a text box explaining endiness, Probably something good to keep.

Simulating circuits with Aer

Statevector backend

Be careful because it returns 2^n where n is the number of qbits There is a nice tip and note that I did not know. I guess I did not read this tutorial before. I think these are important to know. Outputs: Statevector, plot_state_city

Unitary Backend

This does not look like the statevector. It's unclear why it's different?

OpenQASM backend

It redoes the circuit with the required classical bits. I can see it's backend is slightly different from the other two and requires measurements.

Version info

This is a lot more math-y. Has some notes that I think were useful.

Circuit Basics

Uh, this appears to be the same as "Getting Started with Qiskit" but we also draw with latex, qsphere, and hinton. The drawing for OpenQASM also uses mpl instead of text.

Summary

We appear to have two different tutorials, Introduction to Qiskit seems to be best for getting started tutorials. The other two seem to primarily be quick explanations of backends/visualizations and can be merged.

InfamousPlatypus avatar May 26 '22 15:05 InfamousPlatypus

@InfamousPlatypus Thanks for writing the summary. I agree with you that the introduction to Qiskit is the most concise and best suited as the getting started while the other two are very similar. I would vote for removing https://qiskit.org/documentation/tutorials/circuits/1_getting_started_with_qiskit.html and keep https://qiskit.org/documentation/tutorials/circuits/01_circuit_basics.html at least. (may need to make sure the link to the first will redirect to the second) as the first step.

HuangJunye avatar Jun 02 '22 11:06 HuangJunye

That sounds good, I will do that.

InfamousPlatypus avatar Jun 02 '22 15:06 InfamousPlatypus

Nevermind, I can't. I thought I saw a way to send one notebook to another, but that's an exploit.

InfamousPlatypus avatar Jun 02 '22 15:06 InfamousPlatypus

We can set up specific redirects using the conf.py file in the documentation build of the metapackage (this repo). That's probably the right way to do that, if it's what you're after.

jakelishman avatar Jun 06 '22 13:06 jakelishman

On hold until https://github.com/Qiskit/qiskit-tutorials/issues/1435 is fixed.

HuangJunye avatar Jul 19 '22 13:07 HuangJunye

Closing this as it is supersede by https://github.com/Qiskit/qiskit-terra/issues/10315

1ucian0 avatar Jun 27 '23 12:06 1ucian0