It's all about statistics it seems. You figure out what it should do, then calibrate and test till it does what you want so you can predict it's behavior in the future.
By the end of the video it *seems* like you can essentially set up the qbits in such a way as to perform entire calculations that would, on standard computing hardware, take hundreds or thousands of independent operations in just a couple of operations.... at least that's my takeaway anyways, lol.
Bobbito Chicon nothing but conjecture and buzzwords. Nothing you said has any scientific validity behind it. No evidence for the other dimensions of string theory.
These ‘Quantum + Robert Smith’ videos are some of the best content I’ve ever seen on RUclips. Well spoken, clear, in-depth explanations, makes a complicated topic easy to follow.
i'd love a video where he starts by explaining the 5 operations in detail and then gives a bunch of example problems with the relative codes to solve them
High level non-technical explanation of quantum computing: it's an analog computer at the quantum scale. Classical analog computers are essentially a tool to model a problem (like calculating a trajectory) by mapping it to a physical (electronic circuit) equivalent. If that mapping is done well, then physics does everything for you in constant time pretty much. The advantages of quantum computing are the density of information and complex quantum properties. However, this also comes with the caveat of being much less intuitive than classical analog computing.
Lol x86 is hilarious. Apparently the mov instruction is Turing complete, someone make a C compiler that only used that 1 instruction. Can't wait until apple moves macOS to ARM.
H 0 CNOT 0 1 MEASURE 0 [0] This is a program that will apply the Hadamard gate on qubit 0, a CNOT gate on qubits 0 and 1, and a MEASURE instruction on qubit 0, putting the "answer" into classical register 0. This is a program to randomly flip a coin. In the classical register 0, we will, 50% of the time, have a 0, and 50% of the time, a 1.
The problem might be that the way it seemed to be explained in the video you are not measuring a value and getting something x% of the time but instead you are measuring the qbit you know to be a specific value and collapsing the probability to a single predetermined combination.
But it was stated in the video that you already know the probabilities then what is gained by running the calculation and measuring a qbit a multitude of times? You get values that reflect the known probabilities. Or if you don't know the probabilities then is the point to find them out by statistics? Then what does a qbit do that a gpu doesn't since they are especially build to do matrix operations?
In case of small quantum computers, sure, you know the probabilities. But when you have more than few dozens qubits, then the only place you can store those probabilities in a useful way... is the quantum computer itself. For example, if you have 50 qubits and probability is stored classically as an 8-byte complex floating-point number, you need 9 petabytes just to store those probabilities, and updating them according to calculations would take quite a long time.
This is the first time I get so many solid answers to my myriad of questions on the subject. And it's not for lack of trying, this person is beyond amazing at teaching. I love him so much, I'll try following him from now on.
This video would benefit from an example use case for a quantum computation. Do the Fourier quantum transform and compare the number of steps to a classical approach.
Quantum FT doesn't offer a speedup as compared to regular FT. But it's a key intermediary step for algorithms like Shor's that actually do provide that quantum-y speedup!
I would now love to see an explanation of how we can compute something useful with these instructions. Maybe an example? Because I think I understand the basic workings so far, but I can't yet see how to do anything useful with it.
I think what wasn’t described that well here which leaves a lot of people confused is how data is input to a quantum program. It depends on the program itself, but you could imagine setting up the initial probability table with the input data. Or have an incremental algorithm where you input probabilities into a couple qubits, then somehow integrate that into the rest of the quantum state, over and over.
Wow, his explanations were so clear and evident, it really blew my mind a few times. 🤩🤯 2 to the power of 250 qubits, doing a matrix multiplication in 50 nanoseconds...what. It's like they operate as one system, no matter how many you have.
The problem with that is that you are NOT doing an actual matrix multiplication that way because the math that uses the matrix multiplication describes an infinite repetition of the quantum computer and not one copy of it.
Miguel Martin algorithms need to make use of quantum interference similar to the patterns produced by Young's double slit experiment (google that first if not familiar with it). the spacing between the slits causes the patterns to be compressed / spread out. if you focus on a single point on the screen, the probability of a photon landing there depends on the angles of the beams. a single slit wont have any interference patterns. quantum computers make use of that interference, not just between 2 but all of its qubits. algorithms are needed (these make use of very complicated maths) to make use of quantum interference with probabilities to determine of the answer is yes or no. you cant step through each operation like you can with maths, so they gotta trust that the algorithm and the maths behind it is correct. it wont be able to run normal algorithms with no quantum interference. the speed up is not running normal things faster, but rather running things in a completely different way
Searching in huge array using boolean logic you need to parse the whole array one by one and you need to make N checks. Using quantum login you can find an item in square root of N checks. Check Grover's algorithm. Easy as that :D
QM has no low hanging fruits. I took the online version of MIT's 8.05x (advanced QM) from EdX, in the final notes prof. Zweibach recommended a pile of books for further reading by adding, that once you have mastered them you can do actually something useful with QM.
It works like jepardy. You put in a answer to a matrix question, and the quantum computer give you the original statement... This is very usefull for example if you have a file that is cryptated. If you have sufficent data you can break the crypty because the quatum computer don´t have to try every single code.. well... it kind of tries every single one at the same time
I like how he keeps saying, 'the details don't matter' but he keeps mentioning them anyway, and 'it sounds complicated but it's not' when he's the one saying it in a needlessly complicated way.
(Added More) Multiple Dimensions is not at all an accurate way of stating it- coupled degrees of freedom, continuous across time but discrete in space (quantized AKA QUANTUM things are discrete objects) ... also people rarely point this out but a dimension parallel to itself is CATEGORICALLY the same dimension- dimension implies orthogonality
Can't exactly blame him, since it's hard to talk about it without diving into the math behind it. Well not until you've studied it Richard Feynman level that you can explain it to a guy in the bar, and this field is so new there's no such person as of now.
Without showing how to solve an actual problem the whole idea still seems completely pointless. Clearly it isn't, but until I can see how to use those instructions to solve a specific problem it means nothing to me.
You don't need to get that involved to understand how the logic of a quantum computer works. Although getting a quantum computer to work gets pretty involved. In the video he showed it solving a real problem. One instruction affects a set or column of probabilities. qbits can be entangled thus allowing for fairly complex optimizations and of course factoring which is why its talked about in relation to encryption as most encryption is based on the factoring problem.
I totally understand that (Chris's) feeling. I remember feeling it when I learnt my umpteenth language. And getting to know computers at all. And every new concept maths could throw at me. But after a while you figure out that it's not a productive thought process
I am an old Z-80/8080 assembly programmer. Also have used APL, BASIC, Pascal, and two languages I designed, R-Code, and LIM. This is an outstanding video, and I think the man explains it the best it can be explained. NOW THEN: quantum programming appears to be VOODOO. It's hard to see the practicality of a program that uses data structures that fluctuate based on some probability envelope. It's very non-deterministic.
Quantum scaling is turning out to be far harder than originally thought - which is why much literature of late speaks to simulation and theory, not specifics and hardware. If we are being honest, its still an open question if a system stable enough to be useful is even possible.
Gil Kalai refuted quantum scaling, basically refuted quantum computing in general, by showing that adding qubits needs increasingly more qubits for error correction, and that no: they won't be able to reduce the noise enough.
@@jmccallister-rc5dy And yet, here we are cutting around the edge. Reducing the noise is a physical problem and mathematically is not limited any further than physics do. So it's really just a matter of going down and down on the details and improving precision and so on and eventually it will not only be sufficient but far much better than we've ever though it could be done. It's scaling physical scaling, it's not mathematical where you bump on literal impossibilities.
@@robertthompson7059 It likely means that we won't see scaling comparable to semiconductors the last few decades, but rather incremental upgrades to the number of stable/useful qbits in quantum computers.
I had been struggling to understand how quantum computer works and why they are better than classical one ever since news came out about google and ibm doing it . This video final showed me how they works . Thanks for saving more head scratching hours . Subscriber ++
This is a great intro on quantum computing that doesn't get bogged down with the complex math involved. Didn't even throw bra-ket notation at us. Thanks!
I was doing welll with this video and was actually following along, (Pat on the back for me huh?)..... until the green intro titles disapeard..... Doh!
Yeah, I did not understand the instructions at all, which is frustrating because not knowing what they do prevents me from wrapping my head around how this all works and is used.
I think it finally clicked...A quantum computer is a QPU. Like we are using GPUs, DSPs or FPGAs to perform specific computations that they are best at doing. At the end of the day, we still need a cpu to bring it all together for our Ux.
ah finally he mentions the efficiency. I'm aware that all of the operations should be expressable as matrices but I did not know that the calculation itself was constant-time in complexity. Very cool!
Surely the problem is that as you add more qubits, you need to perform more repetitions to cancel out the effects of the noise? Since if one result which has a tiny probability occurred by chance (as is possible) then it would take a lot of repetitions until it was drowned back down to the correct level?
This looks like a shoe in for Finite Element Analysis. This is an incredibly hungry field that today commands huge outlay in parallel computing budgets. The subsea oil industry uses this for preemptive quality control on designs of offshore installations. Some of the calculations take weeks to complete on high performance parallel computing clusters. It's all matrix calculations and it looks like this is a perfect fit. Amazing. Luv and Peace.
Nah, QPUs aren't faster for general matrix operations than classical computers are. This is a myth. You also need to consider that all known quantum matrix multiplication algorithms do have errors associated with them both in terms of state preparation and readout. States also need to be prepared classically, which can be done efficiently in some cases but not in general. I'm not saying there won't be any applications in that field, but a lot more basic research is required to determine whether it's even worth pursuing that route. Not only do matrix multipliers require a lot of qubits, the associated gates are complicated and the algorithms are not very fault tolerant.
The matrix multiply at the end of the video shows that modern GPU's are at least 4 Qbit level, and I get the idea of "soft logic" applied to the data, but like many other comments, it's not clear how a particle simulation is converted into a set of operations applied to.. a single matrix of data. I guess the sticking point for many (myself included), is, where is the data flow, the bandwidth, the information you want to process? If all you are doing is sending logic operations, then as asked in the video, yeah, it sounds like you have to kind of know the answer in order to write those instructions (because how does the result of each one really tell you anything? If there is a batter video that explains these operations in terms of matrix data, I'd like to see it.
I believe you seed the initial probabilities with your input data, then apply the set of quantum transformations. The probabilities at the end contain the answer, and you then measure the qubits to get statistical information about the answer
You could manually do all the calculations in a C program and figure out the answer without using a computer, but nobody would ever do this because you want to get the answer *fast* and you maybe also want to do the calculations thousands of times with different data inputs. The same thing applies to a quantum computer. You could apply the gates to your input data by hand and you would still get the correct answer, but a quantum computer can do this a lot faster than any human / computer simulation. The simple programs from the video are easy to do by hand, but when you have a quantum computer with hundreds of qbits and you apply an algorythm with thousands of quantum gates to it which all behave differently depending on your input data, you really need to run it on real hardware to complete the calculation in a reasonable ammount of time.
the end result is always just rotating things (atoms / detectors / slits). quantum gates are not physical gates but they rotate those things in a very specific way
Chenfeng Bao it is a physical process but it is not a physical gate like AND gates where you put 2 physical inputs into the gates and get 1 physical output out
It is definitely a physical process, but it depends on what you're using as your qubits. If you're using the spin of an atom then applying the gates might involve flashing a laser on your atoms to flip the spins.
I've seen many videos explaining quantum computer operation and architecture but i have yet to see a video that shows it in operation, executing a piece of code.
Up until the sentence at 15:00 I was still expecting qubits to be used in an incomprehensible 3 way if-then-else state machine, but "probabilities will accumulate on the answers" lit a bulb in my brain. You don't write a quantum computing code that calculates the answer to a problem, you write a code that eliminates wrong answers probabilistically. So there's still the need for a CPU to feed data and act as a state machine, correct?
algorithms need to make use of quantum interference similar to the patterns produced by Young's double slit experiment (google that first if not familiar with it). the spacing between the slits causes the patterns to be compressed / spread out. if you focus on a single point on the screen, the probability of a photon landing there depends on the angles of the beams. a single slit wont have any interference patterns. quantum computers make use of that interference, not just between 2 but all of its qubits. algorithms are needed (these make use of very complicated maths) to make use of quantum interference with probabilities to determine of the answer is yes or no. you cant step through each operation like you can with maths, so they gotta trust that the algorithm and the maths behind it is correct. it wont be able to run normal algorithms with no quantum interference. the speed up is not running normal things faster, but rather running things in a completely different way
So why does the quantum computer take approximately the same amount of time to compute something no matter the amount of qubits? Talking about 18:04 onward.
Marvin Mer cos all those operations just rotate atoms / detectors around in very specific ways to manipulate those probabilities. then it just needs to make measurements to get a definite answer. the hard part is inventing the algorithm to do the manipulations you want
I should put a disclaimer on here that this is a bit of a guess, but I think it's a good one. I'd love (dis)confirmation from someone who actually works in quantum computing. It's essentially the same reason that a normal computer instruction like xor takes the same amount of time no matter how many bits you "have", but when we talk about the number of bits we have, we aren't thinking about memory, it's actually a question of how big your ALU is. So, you have a 64-bit (or probably 32-bit on mobile) processor on your computer, and that's the size you want to compare compare against this guy's 19-qubit computer. Of course, keeping the speed of an instruction constant in an n-bit computer as n grows requires shoving more gates on chips to achieve an n-bit-wide ALU. In quantum computing, keeping the speed of an instruction constant as the number of qubits grows requires maintaining the entanglement of all the qubits.
Because in order to compute something u have to prepare a specific state by using the gates he talked about. So you need a minimum of q-bits to solve a specific problem. Changing the states into the desires one takes time. If u add q-bits u are gonna add time to prepare a slightly different state in order to solve the same problem. Once the states are prepared u just have to look and get an anwser then prepare and look again and again... By adding q-bits the time stays barely the same. The main difference with classical computers is that in classical computers u just need to do as much operations as possible. By adding bits u can do more operationes in the same amount of time. In quantum computers u need to prepare a very specific initial state, no matter how many q-bits u have they are not gonna contribute to adquire the initial state faster.
This is similar to how an analog computer computes. That is, a collection of operational amplifiers connected, each with a number of resistors and capacitors to configure them to add, subtract, multiply, integrate or differentiate voltages on the connecting wires. A complex model of a physical problem can be built this way to simulate how the physical world should behave. The time it takes to execute is governed by the time the voltages take to propagate though the circuit.
Why are you not explaining exactly what these 5 instruction do in particular? ...This would be really helpfull to think about programs and how the connections between the qbit do their magic. :(
I think I got it. I would like to point out something. You repeat many times that with quantum computers the number of posibilities you have doubles each time you add a qubit. I think that is exactly the same with normal computers... The real difference is that normal computers keep doing basin operations bit by bit, however in quantum computers you do it all at once. (Hence the promising fact)
Are the Quantum counterparts to FSAs, PDAs and Turing Machines necessarily more powerful? With the Church Turing thesis, in mind, is there such a thing as Quantum Lambda calculus and do quantum programming languages draw inspiration from it?
They are not more powerful (in a sense that anything QC can compute, TM can do too). However, there is a subset of NP problems which QC can compute in polynomial time. In other words, they are faster. In practice, QCs are more powerful, because you can build a QC that can solve stuff, that would require classical computer bigger than the observable universe.
This video is like explaining how Assembly works without actually explaining a single Assembly instruction or how it interacts with the registers. It's nice to know you can get some bell something with the Hadamard instruction combined with cnot, but what the hell does each instruction do? What if I write cnot 10 instead of cnot 01? What does it do aside from making the video longer?
So a quantum computer is kind of trying to be an analog computer? So instead of only having 2 states (1/0) it is more trying to be like analog technology, eg. like how a cassette tape stores sounds in magnetic fields of ANY strength (between 1&0) instead of how it's stored in a CD where there either IS a grove or is NOT a grove burnt in by the laser? How correct is this? (Then there are also additional effect with entanglement & such that is not available in analog devices, but I'm more referring to the bit's themselves)
Great video as always. I really appreciate the content. Just one tiny request, and I don’t know if others are bothered by this, but would you please use some pens or a whiteboard? The scratchy noise is really annoying.
What I don't understand is: How are the probabilities changed? Is it something physical done by a machine, like ionizing a molecule (just as a random example) or is it a purely mathematical process that changes how something is counted, for example?
Usually it's microwave pulses hitting ions in an quadrupole ion trap, which uses rapidly changing electric fields to hold an ion in place. Lasers send electromagnetic radiation at the ion. Depending on the phase, frequency, and duration this pulse can change the quantum state. If you think of a quantum state as an arrow in a sphere, where the north pole is one state and the south pole is another, then a pulse can cause the arrow to 'rotate' within the sphere. Depending on the phase and frequency, it will rotate along a different axis and/or rotate at a different 'rate'. I know that's a bit handwavy - the correct term there is the electromagnetic wave causes a specific "magnetic dipole transition" on the particle representing a qubit. You can use a microwave pulse on two qubits to entangle them, essentially causing their quantum states to become correlated with each other. In the computational model here, any two qubits can be entangled. In a real one, there are specific pairs that can be entangled, and only in one direction. It's still a universal quantum computer; there is some mathematics to ensure that a quantum algorithm can always be converted into the weird model of 'only some pairs can be entangled'. You can measure a qubit by using a microwave pulse tuned such that it couples with only one basis state, essentially collapsing it then "testing" whether the qubit is in that state. The qubit either becomes excited and releases some measurable photons, meaning it collapsed into that state, or doesn't become excited, in which case it collapsed into the other state.
I just thought that i could simulate q-bits by flicking a normal binary bit on and off quickly and adjusting the timing from one state to another similar to adjusting a PWM signal. ofc, you will be limited to the speed of the frequency. im guessing actual particles have an essentially a frequency of state switching at the speed of light :p
A question about the matrix multiplication. Basically all computer graphics for videogames relies on multiplying matrices by each other, or vectors by matrices. These are usually 4x4 matrices and vector4's. Is a quantum computer any faster than the modern GPU at this, in terms of Vec4's by Mat4x4's per second, say?
Sadly, not in the general case. Which is weird - quantum computers essentially are giant matrix multiplication machines where the gates form a huge nxn matrix and the quantum state is a vector of length n. But the problem is the matrix has to be unitary, and also that the quantum state can never be observed directly (it always collapses into one of the basis states). So while the linear algebra representation of the quantum computational model is exactly the problem of multiplying matrices and vectors, it's actually pretty terrible at doing that. On the other hand, if you can keep multiplying a vector by a unitary matrix and eventually find a vector with a very large value for one of the basis states and small values for every other state, the exact series of matrices to multiply by is the quantum algorithm, and you've done something useful.
So if quantum computing can store probabilities, and probabilities are values between 0 and 1, could quantum computing make floating point numbers, as they're currently implemented, obsolete? Could you use two qbits to store any floating point value by having one qbit store a value and another qbit store a multiplier? Or, if qbits aren't precise enough for the multiplier, store the multiplier in regular bits? Or pair an integer with a qbit for the value before the . and after?
3 года назад
Fascination on my side! What I missing there are NOP instruction (no operation) and HLT instruction (halt everything). :-) By the way Bell application reminds me a little bit (little qbit) Schrodingers Cat. ON the contrary - Question: If you apply MEASURE function, do Qbits some change? I suppose not...
is there a way how to learn about quantum computing without the quantum mechanics? Im rather mathematically mature, I can deal with any sort of abstraction, but I am really rubbish at physics. Classicaly, I can write programs, prove complexity bounds, define formal semantics of programs and so on, yet I don't understand what's voltage. Is there a way how to gain analogous knowledge for quantum computing? As I am interested in optimization, it would be beneficial for me to understand the quantum contributions to it.
14:12 it’s like he’s trying to skip an NPC dialogue.
That's so distracting, I had to listen to it again to hear the actual question :-)
@Cameron Lattz If only people around understood that.
It feels so weird understanding everything being said, and still being clueless how the subject matter actually works...
It's all about statistics it seems. You figure out what it should do, then calibrate and test till it does what you want so you can predict it's behavior in the future.
There's a huge difference between following along and actually doing it tbh
By the end of the video it *seems* like you can essentially set up the qbits in such a way as to perform entire calculations that would, on standard computing hardware, take hundreds or thousands of independent operations in just a couple of operations.... at least that's my takeaway anyways, lol.
Agreed, Copenhagen Interpretation is pure lunacy. Pilot wave FTW
Bobbito Chicon nothing but conjecture and buzzwords. Nothing you said has any scientific validity behind it. No evidence for the other dimensions of string theory.
extra bits should have been called extra qbits
you beat me to it :D
qubits*
regardless they seem to have collapsed to 0% probability of being viewable =(
nope.. why
These ‘Quantum + Robert Smith’ videos are some of the best content I’ve ever seen on RUclips. Well spoken, clear, in-depth explanations, makes a complicated topic easy to follow.
Mhm
hes doing a verbal handshake to show that hes received the information
aggressive verbal handshake tbh
VERY aggressive hahaha
hmh
mhm
i'd love a video where he starts by explaining the 5 operations in detail and then gives a bunch of example problems with the relative codes to solve them
how to "Hello world!" with a Quantum Computer, as it were
Same
High level non-technical explanation of quantum computing: it's an analog computer at the quantum scale. Classical analog computers are essentially a tool to model a problem (like calculating a trajectory) by mapping it to a physical (electronic circuit) equivalent. If that mapping is done well, then physics does everything for you in constant time pretty much. The advantages of quantum computing are the density of information and complex quantum properties. However, this also comes with the caveat of being much less intuitive than classical analog computing.
Your analogy would be quite apt for adiabatic quantum computing, not exactly for superconducting qubit version which Rigetti is building.
"How many instructions are there?"
"Infinity!"
"..."
"Just kidding, there are five."
I mean, if you look at the X86 instruction set, "infinity" definitely comes to mind.
really ?
I believe he meant there is an infinite number of options if you are designing a chip. Not a teacher material.
Lol x86 is hilarious. Apparently the mov instruction is Turing complete, someone make a C compiler that only used that 1 instruction. Can't wait until apple moves macOS to ARM.
Turing complete... a single opcode ?
Could you show some short program and explain what it exactly does. I am just turning my head around this.
H 0
CNOT 0 1
MEASURE 0 [0]
This is a program that will apply the Hadamard gate on qubit 0, a CNOT gate on qubits 0 and 1, and a MEASURE instruction on qubit 0, putting the "answer" into classical register 0.
This is a program to randomly flip a coin. In the classical register 0, we will, 50% of the time, have a 0, and 50% of the time, a 1.
The problem might be that the way it seemed to be explained in the video you are not measuring a value and getting something x% of the time but instead you are measuring the qbit you know to be a specific value and collapsing the probability to a single predetermined combination.
Draugo You measure a particular qubit, but you do not know its value. That’s exactly what’s determined by the probability.
But it was stated in the video that you already know the probabilities then what is gained by running the calculation and measuring a qbit a multitude of times? You get values that reflect the known probabilities. Or if you don't know the probabilities then is the point to find them out by statistics? Then what does a qbit do that a gpu doesn't since they are especially build to do matrix operations?
In case of small quantum computers, sure, you know the probabilities. But when you have more than few dozens qubits, then the only place you can store those probabilities in a useful way... is the quantum computer itself. For example, if you have 50 qubits and probability is stored classically as an 8-byte complex floating-point number, you need 9 petabytes just to store those probabilities, and updating them according to calculations would take quite a long time.
This is the first time I get so many solid answers to my myriad of questions on the subject. And it's not for lack of trying, this person is beyond amazing at teaching. I love him so much, I'll try following him from now on.
This video would benefit from an example use case for a quantum computation.
Do the Fourier quantum transform and compare the number of steps to a classical approach.
it's about the speed, not the steps
@@RandomNullpointer Doesn't less steps equate to a faster executed algorithm though ?
Not necessarily, because quantum weirdness count as “parallel” instructions
Quantum FT doesn't offer a speedup as compared to regular FT. But it's a key intermediary step for algorithms like Shor's that actually do provide that quantum-y speedup!
This is the first time I got a “mental” image of how these computations work and why it this is such a leap in computing. Thanks.
This video was more illuminating than all the pop-sci articles and presentations about quantum computing in the world.
Thank you!
I would now love to see an explanation of how we can compute something useful with these instructions. Maybe an example?
Because I think I understand the basic workings so far, but I can't yet see how to do anything useful with it.
I agree. How about showing us the code to factor a 4 bit number?
I think the last part really saved it. I finally understand a little. Thanks computer phile!
I think what wasn’t described that well here which leaves a lot of people confused is how data is input to a quantum program. It depends on the program itself, but you could imagine setting up the initial probability table with the input data. Or have an incremental algorithm where you input probabilities into a couple qubits, then somehow integrate that into the rest of the quantum state, over and over.
Wow, his explanations were so clear and evident, it really blew my mind a few times. 🤩🤯
2 to the power of 250 qubits, doing a matrix multiplication in 50 nanoseconds...what.
It's like they operate as one system, no matter how many you have.
The problem with that is that you are NOT doing an actual matrix multiplication that way because the math that uses the matrix multiplication describes an infinite repetition of the quantum computer and not one copy of it.
I'm a bit confused on how this can actually be used to solve problems.
Miguel Martin algorithms need to make use of quantum interference similar to the patterns produced by Young's double slit experiment (google that first if not familiar with it). the spacing between the slits causes the patterns to be compressed / spread out. if you focus on a single point on the screen, the probability of a photon landing there depends on the angles of the beams. a single slit wont have any interference patterns. quantum computers make use of that interference, not just between 2 but all of its qubits. algorithms are needed (these make use of very complicated maths) to make use of quantum interference with probabilities to determine of the answer is yes or no. you cant step through each operation like you can with maths, so they gotta trust that the algorithm and the maths behind it is correct. it wont be able to run normal algorithms with no quantum interference. the speed up is not running normal things faster, but rather running things in a completely different way
Searching in huge array using boolean logic you need to parse the whole array one by one and you need to make N checks. Using quantum login you can find an item in square root of N checks. Check Grover's algorithm. Easy as that :D
QM has no low hanging fruits. I took the online version of MIT's 8.05x (advanced QM) from EdX, in the final notes prof. Zweibach recommended a pile of books for further reading by adding, that once you have mastered them you can do actually something useful with QM.
It works like jepardy.
You put in a answer to a matrix question, and the quantum computer give you the original statement...
This is very usefull for example if you have a file that is cryptated. If you have sufficent data you can break the crypty because the quatum computer don´t have to try every single code.. well... it kind of tries every single one at the same time
Q-computers can solve all problems usual computers can solve in the same order of time.
I like how he keeps saying, 'the details don't matter' but he keeps mentioning them anyway, and 'it sounds complicated but it's not' when he's the one saying it in a needlessly complicated way.
I didn’t find it complicated but maybe that’s because it’s my cs degree tho 💀
This video should have been the main video.
Finally the kind of video I was waiting for. Deeper explanation of the instructions please.
Alternate title: " The art of explaining without actually getting to the point "
t. brainlet
I thought is was very succinct, given that its for a broad audience of tech enthusiasts.
@Bobbito Chicon this guy's got the idea.
(Added More)
Multiple Dimensions is not at all an accurate way of stating it- coupled degrees of freedom, continuous across time but discrete in space (quantized AKA QUANTUM things are discrete objects) ... also people rarely point this out but a dimension parallel to itself is CATEGORICALLY the same dimension- dimension implies orthogonality
Can't exactly blame him, since it's hard to talk about it without diving into the math behind it. Well not until you've studied it Richard Feynman level that you can explain it to a guy in the bar, and this field is so new there's no such person as of now.
First time I've understood anything about quantum computers. Thanks.
Without showing how to solve an actual problem the whole idea still seems completely pointless. Clearly it isn't, but until I can see how to use those instructions to solve a specific problem it means nothing to me.
The problem is there's no way to show you how quantum computers actually work without getting very involved with complex vector spaces.
You don't need to get that involved to understand how the logic of a quantum computer works. Although getting a quantum computer to work gets pretty involved.
In the video he showed it solving a real problem. One instruction affects a set or column of probabilities. qbits can be entangled thus allowing for fairly complex optimizations and of course factoring which is why its talked about in relation to encryption as most encryption is based on the factoring problem.
I totally understand that (Chris's) feeling. I remember feeling it when I learnt my umpteenth language. And getting to know computers at all. And every new concept maths could throw at me. But after a while you figure out that it's not a productive thought process
I get the feeling he left out some important context.
chris4072511 12:50
I am an old Z-80/8080 assembly programmer. Also have used APL, BASIC, Pascal, and two languages I designed, R-Code, and LIM. This is an outstanding video, and I think the man explains it the best it can be explained. NOW THEN: quantum programming appears to be VOODOO. It's hard to see the practicality of a program that uses data structures that fluctuate based on some probability envelope. It's very non-deterministic.
I would love more on this topic. This guy is a great presenter.
Android480 Mhm, mhm...mhm...
This was by far the explantion I have heard yet, thank you.
Quantum scaling is turning out to be far harder than originally thought - which is why much literature of late speaks to simulation and theory, not specifics and hardware. If we are being honest, its still an open question if a system stable enough to be useful is even possible.
Gil Kalai refuted quantum scaling, basically refuted quantum computing in general, by showing that adding qubits needs increasingly more qubits for error correction, and that no: they won't be able to reduce the noise enough.
@@jmccallister-rc5dy And yet, here we are cutting around the edge.
Reducing the noise is a physical problem and mathematically is not limited any further than physics do. So it's really just a matter of going down and down on the details and improving precision and so on and eventually it will not only be sufficient but far much better than we've ever though it could be done. It's scaling physical scaling, it's not mathematical where you bump on literal impossibilities.
@@robertthompson7059 It likely means that we won't see scaling comparable to semiconductors the last few decades, but rather incremental upgrades to the number of stable/useful qbits in quantum computers.
I had been struggling to understand how quantum computer works and why they are better than classical one ever since news came out about google and ibm doing it . This video final showed me how they works . Thanks for saving more head scratching hours . Subscriber ++
Best discussion on quantum computing for the technically literate that seen to date. Two thumbs up!
This is a great intro on quantum computing that doesn't get bogged down with the complex math involved. Didn't even throw bra-ket notation at us. Thanks!
I was doing welll with this video and was actually following along, (Pat on the back for me huh?)..... until the green intro titles disapeard..... Doh!
Guess we are in the same boat (-;
I would love to hear more about the specifics of the different instructions
Yeah, I did not understand the instructions at all, which is frustrating because not knowing what they do prevents me from wrapping my head around how this all works and is used.
Time to learn about this thing called google. (You can search for the matrix representation of all the gates)
Just in case, at 18:10 you wonder how many bits this is:
2^250=(2^10)^25 = approx. (10^3)^25 = 10^75
I think it finally clicked...A quantum computer is a QPU. Like we are using GPUs, DSPs or FPGAs to perform specific computations that they are best at doing. At the end of the day, we still need a cpu to bring it all together for our Ux.
Excellent presentation. Makes sense of quantum computing. Give us more.
A lot of the questions being asked in the comments can be answered by watching the video again.
Speaks with clarity 👌🏼
I actually understood all of this, fantastic description Robert!
ah finally he mentions the efficiency. I'm aware that all of the operations should be expressable as matrices but I did not know that the calculation itself was constant-time in complexity. Very cool!
This is the first video that made me think I understood SOME of the basics of quantum computing
This is the best explanation I’ve ever seen!
Surely the problem is that as you add more qubits, you need to perform more repetitions to cancel out the effects of the noise? Since if one result which has a tiny probability occurred by chance (as is possible) then it would take a lot of repetitions until it was drowned back down to the correct level?
This looks like a shoe in for Finite Element Analysis. This is an incredibly hungry field that today commands huge outlay in parallel computing budgets.
The subsea oil industry uses this for preemptive quality control on designs of offshore installations. Some of the calculations take weeks to complete on high performance parallel computing clusters. It's all matrix calculations and it looks like this is a perfect fit.
Amazing.
Luv and Peace.
Nah, QPUs aren't faster for general matrix operations than classical computers are. This is a myth. You also need to consider that all known quantum matrix multiplication algorithms do have errors associated with them both in terms of state preparation and readout.
States also need to be prepared classically, which can be done efficiently in some cases but not in general.
I'm not saying there won't be any applications in that field, but a lot more basic research is required to determine whether it's even worth pursuing that route. Not only do matrix multipliers require a lot of qubits, the associated gates are complicated and the algorithms are not very fault tolerant.
Is this an unlisted video?
Yes you have not bed fed by the algorithm. You have been fed by humans that love algorithms!
This is why I'm subbed!
Same exact sentiment. Saw this and thought why an i not subbed already.
Vốn những bài hát ngày xưa đã rất hay rồi mà thêm giọng hát giàu cảm xúc của Phúc nữa thì đúng là cực phẩm cover😍
This guy is an awesome teacher/presenter.
The matrix multiply at the end of the video shows that modern GPU's are at least 4 Qbit level, and I get the idea of "soft logic" applied to the data, but like many other comments, it's not clear how a particle simulation is converted into a set of operations applied to.. a single matrix of data. I guess the sticking point for many (myself included), is, where is the data flow, the bandwidth, the information you want to process? If all you are doing is sending logic operations, then as asked in the video, yeah, it sounds like you have to kind of know the answer in order to write those instructions (because how does the result of each one really tell you anything? If there is a batter video that explains these operations in terms of matrix data, I'd like to see it.
I believe you seed the initial probabilities with your input data, then apply the set of quantum transformations. The probabilities at the end contain the answer, and you then measure the qubits to get statistical information about the answer
So if you want to do the QuantumFourier transform for a soundwave untill 10kHz, you'd need circa log(10000)/log(2)=13 Q-bits?
Garbage in garbage out, however this young man does an excellent job of explaining the instructions
"It's bigger than any computer on Earth can store... bigger than any computer in the universe can store!"
You could manually do all the calculations in a C program and figure out the answer without using a computer, but nobody would ever do this because you want to get the answer *fast* and you maybe also want to do the calculations thousands of times with different data inputs.
The same thing applies to a quantum computer. You could apply the gates to your input data by hand and you would still get the correct answer, but a quantum computer can do this a lot faster than any human / computer simulation.
The simple programs from the video are easy to do by hand, but when you have a quantum computer with hundreds of qbits and you apply an algorythm with thousands of quantum gates to it which all behave differently depending on your input data, you really need to run it on real hardware to complete the calculation in a reasonable ammount of time.
How are the "gates" applied to the qubits? Is it a physical process or does it change the way the data from a fixed qubit is interpreted?
the end result is always just rotating things (atoms / detectors / slits). quantum gates are not physical gates but they rotate those things in a very specific way
+Joel Koh
Quantum gates are definitely physical gates. Any information process is a physical process.
Chenfeng Bao it is a physical process but it is not a physical gate like AND gates where you put 2 physical inputs into the gates and get 1 physical output out
+Joel Koh It'd be less misleading to say they are not like classical gates. They are still physical gates, just work differently.
It is definitely a physical process, but it depends on what you're using as your qubits. If you're using the spin of an atom then applying the gates might involve flashing a laser on your atoms to flip the spins.
This guy says "Mmhmm" and "yep" aggressively. It's like he's acknowledging every single word.
It's because even he doesn't understand wtf he's talking about.
It was a nervous tic.
I've seen many videos explaining quantum computer operation and architecture but i have yet to see a video that shows it in operation, executing a piece of code.
Thank you very much, these videos are the first to help me understand.
crisp and clear explanation
Me: I really got to get back to work, just gonna finish this random video and get back to it
My youtube search bar: H-A-D-A-M-A-R
So basically a quantum computer sets the Feynman Equation of a particle, and then you can observe it to get a result?
Up until the sentence at 15:00 I was still expecting qubits to be used in an incomprehensible 3 way if-then-else state machine, but "probabilities will accumulate on the answers" lit a bulb in my brain. You don't write a quantum computing code that calculates the answer to a problem, you write a code that eliminates wrong answers probabilistically.
So there's still the need for a CPU to feed data and act as a state machine, correct?
algorithms need to make use of quantum interference similar to the patterns produced by Young's double slit experiment (google that first if not familiar with it). the spacing between the slits causes the patterns to be compressed / spread out. if you focus on a single point on the screen, the probability of a photon landing there depends on the angles of the beams. a single slit wont have any interference patterns. quantum computers make use of that interference, not just between 2 but all of its qubits. algorithms are needed (these make use of very complicated maths) to make use of quantum interference with probabilities to determine of the answer is yes or no. you cant step through each operation like you can with maths, so they gotta trust that the algorithm and the maths behind it is correct. it wont be able to run normal algorithms with no quantum interference. the speed up is not running normal things faster, but rather running things in a completely different way
I'm f*cking lost right now. I'll rewatch this when I'm more awake
It won’t help in my experience 😳
So why does the quantum computer take approximately the same amount of time to compute something no matter the amount of qubits? Talking about 18:04 onward.
Marvin Mer cos all those operations just rotate atoms / detectors around in very specific ways to manipulate those probabilities. then it just needs to make measurements to get a definite answer. the hard part is inventing the algorithm to do the manipulations you want
I should put a disclaimer on here that this is a bit of a guess, but I think it's a good one. I'd love (dis)confirmation from someone who actually works in quantum computing.
It's essentially the same reason that a normal computer instruction like xor takes the same amount of time no matter how many bits you "have", but when we talk about the number of bits we have, we aren't thinking about memory, it's actually a question of how big your ALU is. So, you have a 64-bit (or probably 32-bit on mobile) processor on your computer, and that's the size you want to compare compare against this guy's 19-qubit computer.
Of course, keeping the speed of an instruction constant in an n-bit computer as n grows requires shoving more gates on chips to achieve an n-bit-wide ALU. In quantum computing, keeping the speed of an instruction constant as the number of qubits grows requires maintaining the entanglement of all the qubits.
Because in order to compute something u have to prepare a specific state by using the gates he talked about. So you need a minimum of q-bits to solve a specific problem. Changing the states into the desires one takes time. If u add q-bits u are gonna add time to prepare a slightly different state in order to solve the same problem. Once the states are prepared u just have to look and get an anwser then prepare and look again and again... By adding q-bits the time stays barely the same. The main difference with classical computers is that in classical computers u just need to do as much operations as possible. By adding bits u can do more operationes in the same amount of time. In quantum computers u need to prepare a very specific initial state, no matter how many q-bits u have they are not gonna contribute to adquire the initial state faster.
I believe I understand now, thank you both.
This is similar to how an analog computer computes. That is, a collection of operational amplifiers connected, each with a number of resistors and capacitors to configure them to add, subtract, multiply, integrate or differentiate voltages on the connecting wires. A complex model of a physical problem can be built this way to simulate how the physical world should behave.
The time it takes to execute is governed by the time the voltages take to propagate though the circuit.
Why are you not explaining exactly what these 5 instruction do in particular? ...This would be really helpfull to think about programs and how the connections between the qbit do their magic. :(
Linear algebra would have been needed.
I think I got it. I would like to point out something. You repeat many times that with quantum computers the number of posibilities you have doubles each time you add a qubit. I think that is exactly the same with normal computers... The real difference is that normal computers keep doing basin operations bit by bit, however in quantum computers you do it all at once. (Hence the promising fact)
If you are using complex data structures and constructing simulations, quantum computing definetly can help you out.
Are the Quantum counterparts to FSAs, PDAs and Turing Machines necessarily more powerful? With the Church Turing thesis, in mind, is there such a thing as Quantum Lambda calculus and do quantum programming languages draw inspiration from it?
They are not more powerful (in a sense that anything QC can compute, TM can do too). However, there is a subset of NP problems which QC can compute in polynomial time. In other words, they are faster. In practice, QCs are more powerful, because you can build a QC that can solve stuff, that would require classical computer bigger than the observable universe.
This video is like explaining how Assembly works without actually explaining a single Assembly instruction or how it interacts with the registers.
It's nice to know you can get some bell something with the Hadamard instruction combined with cnot, but what the hell does each instruction do? What if I write cnot 10 instead of cnot 01? What does it do aside from making the video longer?
Been waiting for this video for ever... Still lost
why is this an unlisted video?
It's the next episode of the series, they just let us watch it early.
I don't know why, but it's cool ahah
Thanks for that explanation, Sheldon. :)
I would like to see the "extra bits" video hinted at at the end, but have a hard time finding it. Does someone know where I can find it?
So a quantum computer is kind of trying to be an analog computer?
So instead of only having 2 states (1/0) it is more trying to be like analog technology, eg. like how a cassette tape stores sounds in magnetic fields of ANY strength (between 1&0) instead of how it's stored in a CD where there either IS a grove or is NOT a grove burnt in by the laser?
How correct is this? (Then there are also additional effect with entanglement & such that is not available in analog devices, but I'm more referring to the bit's themselves)
Extra bits video is not working !! 😟
Seems to me like this will be great for large scale physics simulations. Maybe we get physics cards in our computers in the future :)
PPU 😄
Great video as always. I really appreciate the content.
Just one tiny request, and I don’t know if others are bothered by this, but would you please use some pens or a whiteboard? The scratchy noise is really annoying.
What would you call the bus that interacts with the quantum co-processor when you use pyquil?
The extra bits video is not available anymore?
Why is this video not listed on computerphile's videos tab
So you are turning a concurrent operation into a sequential result? That doesn't work though?
Hadamard gate: Its a very important gate that does bla bla...
T gate: Not a very creative name
Justice for t gate 😂
This is a great series thank you.
Has the extra bit video stoped working?
excellent presentation !
Thanks Robert.
Bring back the EXTRA BITS please
It's [adamaʁ]. I don't know if the H is "aspirated".
Could you explain what the other instructions do?
What I don't understand is: How are the probabilities changed? Is it something physical done by a machine, like ionizing a molecule (just as a random example) or is it a purely mathematical process that changes how something is counted, for example?
Usually it's microwave pulses hitting ions in an quadrupole ion trap, which uses rapidly changing electric fields to hold an ion in place. Lasers send electromagnetic radiation at the ion. Depending on the phase, frequency, and duration this pulse can change the quantum state. If you think of a quantum state as an arrow in a sphere, where the north pole is one state and the south pole is another, then a pulse can cause the arrow to 'rotate' within the sphere. Depending on the phase and frequency, it will rotate along a different axis and/or rotate at a different 'rate'. I know that's a bit handwavy - the correct term there is the electromagnetic wave causes a specific "magnetic dipole transition" on the particle representing a qubit.
You can use a microwave pulse on two qubits to entangle them, essentially causing their quantum states to become correlated with each other. In the computational model here, any two qubits can be entangled. In a real one, there are specific pairs that can be entangled, and only in one direction. It's still a universal quantum computer; there is some mathematics to ensure that a quantum algorithm can always be converted into the weird model of 'only some pairs can be entangled'. You can measure a qubit by using a microwave pulse tuned such that it couples with only one basis state, essentially collapsing it then "testing" whether the qubit is in that state. The qubit either becomes excited and releases some measurable photons, meaning it collapsed into that state, or doesn't become excited, in which case it collapsed into the other state.
I just thought that i could simulate q-bits by flicking a normal binary bit on and off quickly and adjusting the timing from one state to another similar to adjusting a PWM signal. ofc, you will be limited to the speed of the frequency. im guessing actual particles have an essentially a frequency of state switching at the speed of light :p
No, you can't do that. Quantum mechanics does not work like any of the digital systems that you may be familiar with.
And what kind of hardware would this be running on?
This guy is on a higher level, wow.
A question about the matrix multiplication. Basically all computer graphics for videogames relies on multiplying matrices by each other, or vectors by matrices. These are usually 4x4 matrices and vector4's. Is a quantum computer any faster than the modern GPU at this, in terms of Vec4's by Mat4x4's per second, say?
Sadly, not in the general case. Which is weird - quantum computers essentially are giant matrix multiplication machines where the gates form a huge nxn matrix and the quantum state is a vector of length n. But the problem is the matrix has to be unitary, and also that the quantum state can never be observed directly (it always collapses into one of the basis states). So while the linear algebra representation of the quantum computational model is exactly the problem of multiplying matrices and vectors, it's actually pretty terrible at doing that.
On the other hand, if you can keep multiplying a vector by a unitary matrix and eventually find a vector with a very large value for one of the basis states and small values for every other state, the exact series of matrices to multiply by is the quantum algorithm, and you've done something useful.
What if the byte code sent to a quantum computer was in a superposition? Does it do both instructions at once?
Can someone tell me how to add two numbers or something trivial using this ?
This is very fascinating, but also very hard to grasp. I guess the end game for quantum computing is being able to use elementary particles as qubits.
So if quantum computing can store probabilities, and probabilities are values between 0 and 1, could quantum computing make floating point numbers, as they're currently implemented, obsolete? Could you use two qbits to store any floating point value by having one qbit store a value and another qbit store a multiplier? Or, if qbits aren't precise enough for the multiplier, store the multiplier in regular bits? Or pair an integer with a qbit for the value before the . and after?
Fascination on my side!
What I missing there are NOP instruction (no operation) and HLT instruction (halt everything). :-)
By the way Bell application reminds me a little bit (little qbit) Schrodingers Cat. ON the contrary - Question: If you apply MEASURE function, do Qbits some change? I suppose not...
Just had my linear algebra exam today. Now I'm seeing linear algebra everywhere.. :O
Didn't know I could see unlisted vids. Cool!
Anyone with a link can watch an unlisted video. Private videos require direct invitations.
is there a way how to learn about quantum computing without the quantum mechanics? Im rather mathematically mature, I can deal with any sort of abstraction, but I am really rubbish at physics. Classicaly, I can write programs, prove complexity bounds, define formal semantics of programs and so on, yet I don't understand what's voltage. Is there a way how to gain analogous knowledge for quantum computing? As I am interested in optimization, it would be beneficial for me to understand the quantum contributions to it.