quantumlib / Cirq

A Python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
Apache License 2.0
4.26k stars 1.01k forks source link

Create tutorials #298

Closed sxwang closed 6 years ago

sxwang commented 6 years ago

Our tutorial page (cirq/docs/tutorial.md) is empty. It might be nice to add some tutorials that shows how to use cirq end-to-end using some non-trivial circuits or algorithms, a step up from hello_qubit.

(Capturing discussion from 4/11 meeting) some ideas discussed:

Strilanc commented 6 years ago

Scott Aaronson's CHP simulator has these examples listed:

I think the epr, ghz, simon, densecoding, qecc, and rand (but smaller) examples are good ideas.

Strilanc commented 6 years ago

The paper Quantum Algorithm Implementations for Beginners was published just this week and is very relevant.

[...] We survey 20 different quantum algorithms, attempting to describe each in a succinct and self-contained fashion; we show how they are implemented on IBM's quantum computer; and in each case we discuss the results of the implementation with respect to differences of the simulator and the actual hardware runs.

Ashalynd commented 6 years ago

Suggestion: everyone who picks up an algorithm to implement creates an issue for it (to exclude double work).

dabacon commented 6 years ago

For the tutorial I think we want to come across as something that is "more advanced". Sort of in the spirit of how every tutorial for a web app framework is "build a blog in under and hour". I will take on the task for the tutorial, thinking of doing a simple variational algorithm.

Strilanc commented 6 years ago

Fixed by https://github.com/quantumlib/Cirq/pull/686