Some key concepts under quantum computing are described as follows:
- Quantum computers: These exploit the properties of quantum physics, superposition and entanglement, to perform some computations much more efficiently than on a classic computer.
- Qubit: This is a quantum piece of information used in quantum computing that represents one possible combination of two values. Manipulating qubits of information is what powers many modern quantum computers, including IBM QX.
- Quantum state: A quantum state is a grouping of one or more qubits.
- Entanglement: When qubits that compose a quantum state are related, they are entangled. Entanglement is key to the power of quantum computing.
- Coherence: Coherence is the property of waves, and if waves are coherent they can in some senses "work together." Qubits interact with the environment and this process causes the correlations they had due to coherence to be lost, which hinders the ability to perform quantum computation. The longer the coherence time of a quantum computer, the better it will function.
- Quantum gate: In the gate model of quantum computing, taking an input quantum state and transforming it in the desired way is done with quantum gates. The right set of gates can perform any quantum computation. In IBM QX, these are called the I, X, Y, Z, H, S, S†, T, T† and CNOT gates.
- Quantum circuit: This is a quantum circuit is a sequence of one or more quantum gates grouped together.
- Quantum circuit diagram: A method to visualize quantum circuits. The IBM QX Quantum Composer is a way to program IBM QX using the quantum circuit visualization.
- IBM QX programming: Can be programmed via the quantum composer, a way of visually representing quantum circuits. Can be programmed via a Python API interacting with the computer and simulation tools via the Python qiskit module. Can be programmed with a general purpose quantum programming language called OpenQASM.
- Quantum algorithms: Grover's algorithm works to efficiently find the one solution to a function out of all possible inputs. Shor's algorithm factors numbers. The Quantum Fourier Transform is a useful subroutine of many quantum algorithms, including Shor's algorithm.
- Quantum supremacy: This is when a quantum computing algorithm offers significant speedup compared to the best known algorithm on a classic computer, and this speedup is demonstrated on a quantum computer. As of the writing of this book, many algorithms offer the promise of quantum supremacy, but the hardware of quantum computing lags behind the theory and quantum supremacy has yet to be clearly demonstrated.