Greetings from the Qiskit Community team! This textbook is a university quantum algorithms/computation course supplement based on Qiskit to help learn:
- The mathematics behind quantum algorithms
- Details about today's non-fault-tolerant quantum devices
- Writing code in Qiskit to implement quantum algorithms on IBM's cloud quantum systems
This is a free digital textbook that will teach you the concepts of quantum computing while you learn to use the Qiskit SDK.
This textbook is built on a jupyter notebook framework that allows for easy reading, but it also allows readers to edit and run the code right in the textbook. The chapters can also be opened as Jupyter notebooks in the IBM Quantum Experience, no installs required!
# Click 'try', then 'run' to see the output, # you can change the code and run it again. print("This code works!") from qiskit import QuantumCircuit qc = QuantumCircuit(2) # Create circuit with 2 qubits qc.h(0) # Do H-gate on q0 qc.cx(0,1) # Do CNOT on q1 controlled by q0 qc.measure_all() qc.draw()
The best way to learn is by doing. Qiskit allows users to run experiments on state-of-the-art quantum devices from the comfort of their homes. The textbook teaches not only theoretical quantum computing but the experimental quantum physics that realises it.
If you're reading the textbook independently, you don't have to read it all in order, but we recommend you read chapters 1-3 first.
The textbook can be followed as an independent course, however, it has been designed to accompany a traditional university course. The textbook shows students how to use Qiskit to experiment with quantum algorithms and hardware, and uses this to reinforce their understanding.
If you are using the Qiskit Textbook in your course, you can join the IBM Quantum Educators Program. The Program provides:
- The ability to reserve time for priority access to our open systems for in-class demonstrations
- Access to additional premium systems beyond our open systems
- Access to a 5-qubit system with full microwave control using Qiskit Pulse
If you have any questions or suggestions about the textbook or would like to incorporate it into your curriculum, please contact Frank Harkins ([email protected]). In the true spirit of open-source, any chapter contributions are welcome in this GitHub repository.
Learn Quantum Computation using Qiskit is the work of several individuals. If you use it in your work, cite it using this bib file or directly as:
Abraham Asfaw, Antonio Córcoles, Luciano Bello, Yael Ben-Haim, Mehdi Bozzo-Rey, Sergey Bravyi, Nicholas Bronn, Lauren Capelluto, Almudena Carrera Vazquez, Jack Ceroni, Richard Chen, Albert Frisch, Jay Gambetta, Shelly Garion, Leron Gil, Salvador De La Puente Gonzalez, Francis Harkins, Takashi Imamichi, Hwajung Kang, Amir h. Karamlou, Robert Loredo, David McKay, Antonio Mezzacapo, Zlatko Minev, Ramis Movassagh, Giacomo Nannicini, Paul Nation, Anna Phan, Marco Pistoia, Arthur Rattew, Joachim Schaefer, Javad Shabani, John Smolin, John Stenger, Kristan Temme, Madeleine Tod, Stephen Wood, James Wootton.