@elonmusk “It isn’t clear to me why people like Feynman’s physics lectures so much. I found them to be ok, but not great.”
Try this book on quantum computing: https://t.co/aCDMWTMtJk. Shooting for high-school level math.
Title and Book Cover Update: "Building Quantum Software with Python"
In our book, we leverage Python for its broad impact, offering an interface that is mostly compatible with Qiskit at the source level. To enhance functionality, we convert our circuits into Qiskit circuits, enabling full use of Qiskit's tools, including visualization. Additionally, we've developed a JavaScript version available at GitHub, crafted by Naren Sathishkumar, a UCLA student.
Stay tuned for the announcement of our new interactive online tutorial. This tutorial will utilize web components, allowing users to learn quantum computing without the need to run code themselves.
Quantum computing parallelism ~ SIMP = single instruction multiple pairs
The description of the effect of a single qubit gate as a single instruction changing all amplitudes in the state in pairs is as precise as possible. The pair processing is the butterfly pattern, and it happens simulataneously on a real quantum computer, logically speaking (the amplitudes in the state are our representation).
This is the parallelism (compared to classical equivalents) that can give a quantum advantage. What about controlled gates? The same pair processing occurs, but for only half, or a quarter, or a smaller fraction of the pairs. Theorically you can say that a controlled gate is a multi-qubit gate that is an instruction acting on groups (4, or 8, or 16, etc) of amplitudes, but in fact those are just a lot of multiplications by zero that can be avoided by just working on fewer pairs.
Conflating parallel universes with computational parallelism is the source of widespread confusion.
#quantumcomputing
#parallelism
As we are getting closer to finishing the "Building Quantum Software" book, here is an introduction video about it.
https://t.co/gTWIYri1N0
#QuantumComputing
Nature creates patterns with tiny probabilities.
You may recognize the pattern in the image as the intensities of light in a double slit experiment. This simulation uses 12 qubits, allowing for 4,098 locations to be measured. The probability of the location with the highest intensity is 0.002.
#QuantumComputing
Creating 128 dots with 91 quantum instructions. The quantum matrix.
This is a larger version of a video I posted earlier. This time I'm showing the encoding of the identity function with 7-qubit inputs and outputs. This can give a better idea of how quantum computing works.
- The state of a quantum bit system consists of a large number of complex numbers, which can be visualized as pixels in an image.
- A quantum computing instruction (gate) changes all these numbers (pixels) instantly.
- The state is not visible, but as its programmers, we know what it is, so we can visualize it.
- Measuring/reading a quantum state gives just the location of a pixel. If a pixel is more intense, its location is measured more often.
- Creating a desired state efficiently requires taming the immense power of quantum gates with interference while avoiding too much entanglement.
- Classically, one can create the 128 dots in the graph of the identity function with a for loop with 128 iterations.
- The quantum implementation uses 91 gates (the effect of each gate is shown in the video).
In quantum computing, the 0s and 1s are coming from measurements, they are not manipulated directly. This is the quantum version of the matrix: complex numbers (color pixels) are changed, and we only see their intensity by repeating the same computation.
#quantumcomputing
#visualization
#thematrix
This video shows the steps of encoding a parabola as a quantum state.
We use this example in the book, where we discuss how to find the minimum or maximum of a polynomial function (of binary variables). The video is rotated so it is wider than taller for better watching. Parabola is shown on its side.
The function is f(x) = -(x-3)^2 + 3, which can be expressed as f(x_0, x_1, x_2) = -6 + 5 x_0 + 8 x_1 + 8 x_2 - 4 x_0 x_1 - 8 x_0 x_2 - 16 x_1 x_2, using 3 qubits for inputs.
In general, if we use n qubits for inputs, m qubits for outputs, and the binary polynomial has t terms, then the number of gates needed to encode the polynomial is n + (2+t)m + m(m-1)/2. I hope I got this right. It matches precisely the number of steps in the video.
For an Ising model, t is O(n), for a quadratic like those used in QUBO, it is O(n^2). So the number of gates is a low degree polynomial in the number of qubits for encoding an exponential number of values. The entanglement depends on how many variables are in a term, typically low. Adding Grover iterations for optimization is similar, but overall a fault-tolerant computer is needed.
#quantumcomputing
#optimization
#visualization
AI assistants can help with learning complex topics. Function calling ensures correct responses. This video describes the implementation of a quantum computing assistant for our book, but the principles apply to any learning domain.
#QuantumComputing#Assistant#GenAI