 Okay, thanks everybody for coming. So, we have Eric Sanford here from Purdue. We'll be speaking to our co-op about apology and final computation. Thank you, Josh. This has been a lot of fun when you're meeting people and hanging out in New York. I did a little digging and tried to find some interesting New York connections. Maybe it's not news to you, some of it is news to me, so to those who'll come up. Yeah, so this is just gonna be kind of a high level overview of these two topics and how they're related to apology and thoughts coming to you. And for me, when I'm talking about psychology, I usually think about three-dimensional psychology, right? So, and when I say psychology, I usually mean what's sometimes called geometric psychology, right? So, in psychology, there's different flavors of sub-fields in psychology, right? Like point-set psychology for metric psychology, things like this. I'm interested in geometric psychology, that's where you study things like surfaces and manifolds and things that emit remarkable metrics, but you don't care about their money, you just care about the mental line pop up on the space. So, those are the kind of aspects of the apology that are very closely related to certain ideas and point computing relating to what's called error correction and fault tolerance, okay? So, let's see, here we go. So, yeah, so in a nutshell, there's kind of a two-way conversation here, but I would say one of these arrows is much more, much better understood than the other arrow, at least in theory, right? So, I'll say, I'm gonna tell you what I mean by quantum computation in a minute here, but the big overview here is that topology can be used as a mathematical framework for doing certain things in quantum computing relating to what's called fault tolerance. So, the big issue with quantum computers is that they're noisy, so you have to implement what's called error correction on them to extract useful like algorithms on the quantum computer, and topology is one way to like understand, like to, topology is one framework for understanding error correction. So, I'll spend most of the talk talking about that at a high level and maybe much more intriguing and it's a quite, you know, this connection between topology and quantum computation goes back to really like the 90s, 1997 at least, and the old Alexei Katya, the physicist in California. But ever since then, there's kind of been this conversation which is like, well, topology can be useful for quantum computing, but is there, can you use quantum computers to do things in topology like more quickly than you could with a classical computer? And when I say classical computer, I mean just a computer like all of our computers in this room right now, right? Then it's here to your phone or whatever. Those are computers that do not use quantum mechanics. So, that's where we're headed. And this is like a much more technical web of the interactions here. So, there's a specific part of topology, a specific type of structure in topology called the topological quantum field theory. And those are like a tight connection to quantum computation and a fault-tomorrow quantum. And then like there's algebraic things related. It's called tensor categories, quantum groups and things like that. And then there's physics things related called topologically word phases of matter. I'm not really gonna talk about this in detail and we'll return to this at the end of the course just to give you another sense of where we're headed. So, here's what I'll do. Just some background. I'll tell you about quantum mechanics. I won't assume you know quantum mechanics is and then what it means to have a computer and then it uses quantum mechanics. And then we'll say a little bit about the parts of topology I have in mind, namely not theory and top of quantum field theory. And then I'll dig in, this is the meat of the talk. This connection between topology and quantum computing is motivated by error correction. So, I'll show you probably the most famous example of a quantum error correction code. It's called a torus code. And it has something to do with the torus, right? Like a donut of the topology of the torus. So, then after that, very quickly this last section I'll address this Congress question, like, well, are there things quantum computers can do for topology that possible computers can't? So, any questions about where I'm headed, any concerns? So, please feel free to interrupt me. I'm gonna introduce the axioms of quantum mechanics to you. And so, if you have any questions, just let me know. I don't have a board I can write on, I guess, but I will be happy to try this one. So, what is quantum mechanics? For me, it's a mathematical theory, okay? In the sense that there's a set of axioms that describe this mathematical theory. And I just take those as quantitative, okay? I'm not a physicist. I don't really know why these are the correct axioms. But that's okay, I don't have to, right? They've existed for about 100 years. It's mostly about the German and Austrian people like back in the 1920s, like defining quantum mechanics as a mathematical theory. And I think the key thing to remember is that it's not really a theory of physics. It's a theory of probability, okay? So, it's a theory where you have, it's a type of generalization of probability theory where probabilities are no longer just numbers between zero and one. Probabilities are actually complex numbers, okay? So, so I guess I said that. So, this really goes back to work of Einstein in 1905, this story. Einstein did a lot of important stuff in 1905. It's called the miraculous year, usually, but this is what just one of those things he did in 1905 is he was trying to address something called the photoelectric effect, which is there's certain materials where if you shine light at them, they send off electrons, right? And those electrons, you notice, if you're shining light at them, and back in 1905, people thought light was a wave, right? That light, like the way light behaves goes by some way you've propagated through space. And so what we would expect is that the wave is hitting the surface and the electrons being picked off should probably also be a wave, right? But Einstein said no, that doesn't happen. Experimentally it doesn't. The electrons that come off are always come off in discrete charges. They're quantized. So, his response was like, okay, if we're shining light and we see electrons bouncing off, then presumably the light is not actually a wave, the light is actually particles. Those are called photons, or photons now, right? So, but he wasn't taken very seriously at the time, okay? Because everybody thought light is a wave, right? You could do these diffraction experiments where you have a light source over here and you have a wall with two splits in it and you see the light, it will interfere exactly like if you have waves rippling, they will interfere. You get an interference pattern on this opposite wall here that looks like that, where you have bright spots and dark spots because of the interference in the waves, okay? So, in 1905, everybody thought of light like that, okay? They didn't take him very seriously, but he was correct. What's going on is light is in fact a wave, but it's also a haze like a particle, okay? So, this is a double slit experiment, right? So, very roughly what this means is we go back here. If you just let the light propagate without paying any attention to what's going on here, this is exactly what will happen. You get this interference pattern. But if you release only a very small amount of light at a time and you look, oh, which slit is it going through, right? Because when you're thinking of it, like if you have a single light source over here that's the haze and you went away, it's gonna go through both, right? But if you pay attention to which one it goes through, you no longer get that interference pattern. Like this interference pattern here is the bottom one there, okay? But if you pay attention to which slit the light is going through, you get the top pattern, the singles. Well, that's a slight, but you get something like that. So, and the cool thing was what I didn't realize, so this was in 1927 that this was confirmed by Davidson and Gurner. So they won a Nobel Prize for this. And I guess I knew they did their work in America, but until this morning, I did not realize that they actually did it in the event, okay, at Bell Labs. So there's a plaque, apparently, somewhere down in the East African District on the original Bell Labs building. So that's where they did work. So they basically confirmed that light is both a particle and a wave. Confusing, yes, but that's our reality. So we got to deal with it. Okay, so quantum computing, what is this about? I'm gonna say more about what quantum mechanics actually is in a second, but we'll go to this idea. The idea of quantum computing is to, well, build a computer that uses quantum mechanics in some fundamental way. Just to back up for a second, the way our computers work, this computer, my phone, the phone, the pocket, right? They have things called transistors in them and the transistors, okay, they are interesting, like, weird, like, material sciences into them that involves some quantum mechanics a little bit, but roughly speaking, it can approximate a transistor is just a switch, so either one or all of them, right? And the magic is you're using electronics to implement that in a way that doesn't have some kind of a switch, right? That's interesting, but we can just approximate it as mathematicians as either one or all, right? And with quantum mechanics, you can have things in superposition of one and all in a way I'll make the size of the same. So that's what you wanna take advantage of with a quantum computer. So you want to have things like transistors that aren't just one or all, they're in a mixture of one and all. So, and something to bear in mind here, like I said at the top, quantum mechanics is fundamentally a probabilistic theory. So quantum computers are a type of generalization of probabilistic computers, right? So you can imagine, if I can run an algorithm on this computer over here, it's maybe it's solving some problem using some C++ code or something. And along the way, it might use randomness, right? For instance, by like using a pseudo random number generator to like as part of the process of implementing the algorithm. So there's something like that that's always going on on a quantum computer. They're intrinsically probabilistic, but they, yeah, so they're like a generalization of classical problems of computers. And so this idea of using quantum mechanics to build a computer kind of goes back to this young fellow from Queens. I'll let you, maybe he's familiar, maybe he's not. He's quite young here. He's a little less young here. You might be know the guy on the left. Anyone know the guy on the left? That's Oppenheimer. You might know the guy on the right too, right? But the guy on the right here, he was 23, fresh out of his PhD. He was in New Mexico helping Oppenheimer do big bad stuff. And, but this is Richard Fine, right? So he wound up getting a Nobel Prize in the sixties for stuff not related to quantum computing related to the standard model, the particle physics. But later in his career in 1981, he came up with this great idea of like, well, we should use quantum mechanics to build computers because we could probably do some new stuff. And he's totally right. And so, especially since the nineties, people have really been trying to make this happen. So, so what is quantum mechanics? Like I said, there's a list of axioms. It's really a mathematical theory and there's four axioms. Yeah, so I'm gonna take you through them. We usually present it in a different order, but they basically have to do with linear algebra. This is what's so intriguing about quantum mechanics. It's basically a way of interpreting linear algebra over complex numbers as some kind of generalization of probability theory. So axiom one, what does it say? So if we have a closed quantum system, I have a box and there's something quantum mechanical inside that box. Then what the axiom is telling me is how to describe the possible states of that system inside the box. And it's by Hilbert space. So V here is a Hilbert space and the different possible configurations of the quantum system are exactly vectors in that Hilbert space. With one exception, the zero vector in that Hilbert space for not a lot of them, that's not an analysis. So for those who maybe are unfamiliar, so a Hilbert space is the type of vector space over the complex numbers. And it has a linear product, like a dot product, if you will. But it's weird, it's only half linear. It was like a weird combination involved. You don't know what I'm talking about. So, I'll explain the state in a second. This is for you, yeah, of course. So maybe that was an important example for quantum computing of a quantum system is an abstraction, it's called a quantum state. So a possible bit, just like a transistor, we can model abstractly as something that's either one or off, it's either zero or one. A quantum bit is something we model abstractly as something that can be an arbitrary superposition of one and off, zero and one. So what that means is a qubit is by definition, it's a Hilbert space that's two dimensional. Okay, so it's a two dimensional vector space over C and we usually think of it just kind of formally, for us, this is called the Rax Brault expectation. We can just treat it as symbols, right? So we're defining this vector space as being spanned by this symbol and that symbol, like off and below essentially, and it's spanned by this and what that means is a vector of here, what it looks like is a linear combination of these two symbols for alpha and beta here are complex numbers. So, and now this has to be a Hilbert space, right? I need an inner product. So what this is telling you about the inner product is it's basically telling you these two symbols form an orthonormal basis. From there it's enough that you can understand by the linearity of the inner product, like what the inner product is going to be like. So just, this is what a generic state looks like, you have to pick out an inner complex numbers, but the specific one would be this one, zero plus one. And this is a state that we think of as being in a superposition of both one and off, which if you remember it was the Schrodinger's cat experiment, that's exactly what's going on. You have this poor cat in a box, Schrodinger is being really mean to it. Like there's some experiment where like, you set it up so that the cat, like there's some quantum mechanical thing going on where like, if it were zero, then a cat would be good. And if it were one, the cat would be alive. But because it's happening in the box and you haven't looked into the box yet, the cat is what's called in a superposition of both dead and alive. Okay, so it's kind of just a solid experiment that it sounds crazy and kind of is because we don't actually observe quantum mechanical phenomena at far scale, right? Like actual things, but it's an interesting culture. So that's the first axiom. We can visualize now, if a little bit more work, I won't exactly explain now, but in arbitrary quantum state over here, right? One of these things, so it turns out, right? We're not allowed to pick the zero back here. So we can't have alpha and beta both be zero. And moreover, there's some, some of these things we can't distinguish from each other for certain reasons, having to do with measurement. And what that means is that we can visualize the set of possible states of a few bit as living on a sphere, okay? So this is called the block sphere. And what's going on is that, so it's just, you know, the different sides are points on the sphere. The different places out often, essentially, the different points on the sphere. And, you know, this is the off, this is the on, and any other point between us in some mixture of off and on, some superposition of off and on. So, and the point is to compare this, this is, it's not just classical probability theory, right? If it were classical probability theory, what do we have? If I had a bit, a single bit that was either on or off with some probability p, maybe it's zero, maybe it's one with probability p and zero with probability one minus p, the set of possible values are formed in intervals, right? And not a sphere. We're getting a sphere because there's something really fundamental going on with the complex numbers. So, you know, this is boring, is kind of what I'm getting at here. This is like, it's just a line, right? But this is a whole sphere, what's going on there? There's a lot more quantum states on a qubit than there are probabilistic states on a day. And for what it's worth, if I had a deterministic bit, that's something that is either zero or one with certainty, it's not a mixture of zero or one, that would just be the set zero or one, right? And so it'd be like, end points to that curve. That's even more, right? So, put the others here, that's cool. Yeah, that's right, yeah. I mean, all possible combinations described by strings, you know, lots of many bits, but they're just those, I mean, I'm not trying to throw it under the bus, right? All these computers are classical, they use old school classical bits, but they're still, that's still, of course, important to know. All right, so that's the first axiom. Are there any questions about the first axiom? This is, okay. Okay, so the fourth axiom, I'm jumping with the fourth one, because I think it's a little easier to understand, before we use the second one, in fact, tells you what happens when you have a quantum system that consists of multiple subsystems. So, I have a quantum system over here in a box, got another one over here in a box. I know this thing, if this is system A, has a Hilbert space called VA, and this thing has a Hilbert space VB, what this axiom is telling you, if you look at both of them, and you put them inside a box together, the Hilbert space is the tensor product, in certain construction and linear algebra. So, an example here would be an NQ dip memory, right? After all, like, even classically, right? We don't care about a single bit, we care about lots of bits. And on a quantum computer, we're gonna care about having lots of qubits, right? And we're gonna think of having, by NQ bits, that's like a memory, a quantum memory with NQ bits, right? So, like on this computer, it's probably got a gigabyte of memory, right? A gigabyte of storage, and while a byte is eight bits, so that's like eight gig of bits, right? So, many, many, many millions of bits. What's a gigabyte? Is it a billion or a trillion? It's a lot of bits, right? So, we're gonna wanna have quantum computers with numbers of qubits on that scale, eventually. So, if we follow the axiom, then it says, well, if I have more, just for a second, there's one qubit, there's another, there's another, there's another, there's ten of these, and I can tensor them all together, just as short now, like that, like this. So, I should have had fun seeing the qubits. But, so this is what the state space of N qubits looks like. And maybe an interesting thing to note is that as a vector space, this thing has dimension two to the N, okay? So, this is, you only have N bits, but the dimension of the state space is exponentially large, okay? And we can think of this as being spanned. The bit was spanned by a single, a qubit was like a superposition of a single zero on one. Then N qubits can be in any superposition of arbitrary bit strains of one N. So, this is sometimes described as a curse of dimensionality in that, like, well, if I have an N qubit system, that instead of possible states, it's gargantuan, it's exponentially large, in terms of the number of qubits. But in fact, that's also a source of power for quantum computers, because it means you can, you could try to exploit this exponential size of the state space to do new things and implement, create new algorithms that you couldn't possibly create a classical computer. So, that's axiom four. Axiom two tells you what are the valid ways to manipulate a quantum system, essentially? And in the sense that if the quantum system is in this, you know, this hypothetical box that I keep waving my hands around, if I don't look inside the box, but I know stuff's going on in the box, what this axiom tells me is that that stuff must be affecting a unitary transformation. So, what do I mean? This is the state space, you know, the thing in the box looks like a vector in here. And as time is evolving, that state will undergo an illusion to become a new state. What we're saying is that that new state has to look like the application of a unitary transformation. So, in here unitary, what this means is it's a linear map from this vector space to itself that's a bijection, right? It's an invertible linear map, determined and long, if you will. And unitary means something even stronger. It means it preserves all of the inner products. Okay, so that's the axiom. Here's an example. So, classically, what do computations look like? Just like abstractly, right? We might start with some state of our memory, which is just, you know, we have three bits here. That one's zero, that one's one, that one's zero. And then a calculation, like at the end of the day, what the computer is doing is running these bits through elementary circuitry. And that elementary circuitry is doing things like taking the AND that these two bits, zero and one, the AND of that is a zero. Or one and zero, the AND of that is a zero. But zero, that's a not gate. So, these are n gates, not gates, and four gate, n gates. So, this is like a very abstract elementary model of what the computer is doing at the end of the day. So, quantum computers are going to do an analogous thing to this. But there's a complication, which is that when we're manipulating the memory of our quantum computer, we can only use unitary transformations. Whereas here, these bits, we can operate on them with like AND, right? So, the function AND, it takes two bits, in this case, zero and one, it returns one bit. So, that is not a bijective function, right? The domain of AND has size four, whereas the target has size two. So, you can't possibly implement AND using unitary. So, you run into this immediate trouble, which is like, what the heck would it mean to compute? Like, if I can only compute with reversible functions. And it turns out you can't deal with it. So, in fact, any competition you can do on a classical computer, you can in principle, if you're age, we don't even have quantum computers yet, but in principle, you could run them up on a computer. So, what does a quantum calculation look like? Well, it's a generalization of this to a unitary set, where it's called a quantum circuit. So, it'll look like this. So, we read this this way. Each of these strands represents a qubit. And each of these little operations, so what this means is like, do something with these two qubits. This is do something with these two qubits. This here is just do something with this one qubit. Here is do something with these two qubits. So, time is like going this way. And this is implementing a calculation. Now, I didn't tell you what the input is. The input can be an arbitrary state of qubits. And it's gonna run it through the circuit and outrun a new state of qubits. So, it's those things, quantum circuits, that are gonna do our calculations for us at the end of the video. What a quantum computer. Okay, so, axiom three, I did axiom four seconds, right? So, this is the last one for us. It's the axiom of measurement. And it really is, I would say, the subtlest axiom. And I'm not gonna define it. It would take a lot of text on the page and I don't think it's necessary. So, but very roughly, what the axiom of measurement is telling you is how to extract classical information. In other words, this from quantum information, qubits. And so you have to define things like observables and measurements and outcomes and things like that. And what's cool is it all just uses linear output. It's pretty nice. But I don't wanna get too bogged down. So, I'll just comment that measurement is really important for a computer. And understanding how it comes up is, well, maybe not understanding how it's involved can be a source of a lot of confusion. So, I will do my best to, I'm not defining it very carefully. So, I'll do my best not to propagate any bad intuition here. So, but let me give an example. So, because roughly on a quantum computer, the only measurements we ever have to perform is asking a qubit, are you zero or are you one? So, a qubit, right? It's in some superposition of zero and one. It's zero and one with different probabilities. But at the end of the day, we want a specific value, right? We want a zero, we want a one. We want a yes or a no. We can't just have, we're like classical preachers. We don't know how to interpret quantum, I don't know. Yeah, I have to, maybe there's, maybe like a whale that's had a thing quantuming or something like that. But I don't think that I, I think. And so, so, so we have to measure our conditions to get to classical information. And so, if I have a qubit that looks like this, remember this is what a arbitrary state of the qubit looks like. What I can do is measure it in a computational basis. So these two symbols, zero and one, they're a basis of this silver state and that's called the computational basis. And what this essentially has is taking the qubit that's in that state and asking, hey you, are you zero or are you one? And what's interesting is it's going to say zero. It's gonna say, oh, I'm zero or I'm one, not with any deterministic properties, but with some probabilities. And the probabilities are determined by these parameters by that point. So what's interesting is like I have this qubit and I want to see, hey, are you zero or one? It says, oh, I'm zero. Then the probability that it was zero is gonna look like that, but I don't know what this probability is directly, right? Alpha and beta, I think you need to. I might just have psi in my hand, but I don't actually know what alpha and beta are. So I can ask you, are you zero or are you one? And if it says zero, then all I really know is that alpha can't be zero. But if I have many copies of psi, 100 copies of psi over here, I could ask them, are you zero or one? Are you zero or one? Are you zero or one? They'll each report back. So I can approximate these probabilities, right? But I just never see alpha and beta directly. And that's part of the subtlety of what quantum computers are doing. That sounds like a complication and it sounds like it would make life hard. But in fact, not knowing what alpha and beta are is exactly what you have to take in there. If you want to have an interesting point about this. So here's a very concrete example of this case. Let's look at this state, zero plus i one, right? I can ask you, are you zero or are you one? And if you plug it into this formula, it's going to say zero or one with equal probabilities. Okay, so maybe a more interesting case, kind of mashing up multiple of the previous axioms. Let's look at a state on two qubits. We'll look at this state, zero, zero plus one, one. This is sometimes called a del state because this guy, del, says that he's in the sixties and for EPR pair, one of the fancies. What's interesting is if I have two qubits, right? If they're in this state and I ask the first qubit, are you zero or are you one? And it says, oh, I'm one. Then they're going to ask the second qubit, are you zero or are you one? If the first one said I'm one, the second one will always say I'm also one. They're quarreling. And that's another source of power in quantum computation. This really freaked out, I'm sorry. If you ever have heard this phrase, there's no, like, oh, it's a whole dice, or like, you know, there's no spooky action at a distance, like, it has to do with this. There's no actual contradiction in reality there. It's just strange. I could say more about it with that cool pageant. Well, any questions? These are all the axioms. There's a lot there, you know. I think you could spend a whole semester learning these things in detail. Okay, so why all the fuss? Why am I leaving you learning all these things? So, well, I'm not trying to leave you with it. But I think it's really cool. And what's really cool is that when you build computers using these things, there's, it's believed, no one has a quantum computer in reality, Google and IBM, or, they want you to think they do. They're very close, to be fair, probably, but they don't really have one. And, but the intriguing thing is there's algorithms we can run on quantum computers that are much more efficient than classical computers. And maybe the most obvious place to look, like what's something a quantum computer should be able to do better than a classical computer? In the sense of theoretical computer science, right? It can run, it can support algorithms that run more efficiently. The first would be quantum simulation. And I won't get too specific about what I mean by this, but you know, you can imagine problems in chemistry where like, oh, I mean, I wanna figure out like electron orbitals or something. How does this molecule work? That's intrinsically a quantum mechanical problem. So if you wanted to use a computer to try to model it, it's gonna be very costly to use a classical computer to model it, exactly because of this cursive dimensionality. So if you have a quantum computer, you can represent the problem much more natively on the quantum machine, and it's in principle solid or critical. So here's the sort of finding, this is a big innovation, like nature isn't classical, damn it. And if you wanna make a simulation of nature, you'd better make it quantum mechanical and vitality, it's a wonderful problem. That's extremely insightful. We're all, there's a lot of computers we awesome to have, but it's definitely not an easy problem. So maybe, so that's a little bit like the, that's a bit of a motivation coming from like the real world in some sense. So the real world's quantum mechanical, we want to simulate it and choose a quantum computer, but there's also just some really like crazy motivation coming from basically pure math that's due to theater and computer science and computer science. So in 1994, he discovered an algorithm that you can run on a quantum computer that's able to factor integers more quickly than anything we know how to do on a classical computer. So this might sound kind of silly, but it's an important problem within computer science. So I gave you an integer n, and I just wanna know what are its prime factors? Every integer can be written as a product of prime numbers. And if there's a question here if the size of n is just n itself, then you can find the factors then quickly, but that's not how we represent numbers in the real world. We don't represent numbers with the amount of size proportional to the number itself. It's represented by the amount of size while the rhythmic, right? So if I write this in, if I write n, the way we normally write numbers is in base 10, right? So the size of n, when I represent it on a computer, is log base 10, right? Okay, on a computer, maybe I'm using binary, so I should use log base 2, right? So what you want is to know the factor n when you're given n in binary. You wanna factor it quickly as the length is a functional length. And it's not known how to do this, except Peter Schroer figured out how to do it quickly on a quantum computer. And that just, that blew the lid off the subject, right? Prior to that, like, oh yeah, Simon, he's thinking about some crazy stuff in the 80s, but when Peter Schroer figured this out, everyone woke up, yeah. Because in particular, this like breaks RSA encryption, right? So one of the most common encryption schemes used for my credit card and on the internet is this whole RSA encryption. And the fact that RSA encryption is secure depends on the fact that factor n should not be used. So there's this whole subject now of what's called post-quantum cryptography, where people want to define, like construct new cryptosystems that are secure, even if there's a bad guy involved with that quantum computer. So it's an interesting subject. Okay, so that's the fuss. There's a couple of motivations to that question. All right, anyone? Yeah? Yeah? This is a machine of the truth, yeah? Yes. As compared to what's happening now, this is like these new computers are gonna be very fast. Yes. So that means like putting up a lot of thinking like, how safe is it? How safe? Because I mean, it's moving fast, putting up a lot of bits to bits. Yeah. So I'm thinking, I think it best with the cooling system. Absolutely, absolutely. All these things have to be very cool. Safe, safe, you know. That's, yes. So even if we have real-world quantum computers in the next 10 years, they're gonna be like computers were 100 years ago. They're gonna fill this room. They're gonna be massive, they'll require massive cooling systems because control quantum mechanics at the level of control you need to build a quantum computer, you have to make sure the system's very stable and not noisy. And that is why you need to make things cold. And it's also why you have to deal with what's called error correction. Absolutely. Yeah, so we will not have quantum computers in our pockets probably in 500 years. I would be confident to say that. But I could be wrong. I've been happy to be wrong about that. Yeah, that's a question. So you say that we will show the list of quantum algorithms, local factor in the past four years, local factor in integers. Yeah. And the only thing that is perfect in us so far from our RSA question, the broken is the fact that we don't have a hardware. That's correct. Yeah. Some people think, well, maybe you gotta say no. I don't think that. I don't think that. I think if RSA had quantum computers, that were able to factor larger integers than the global number. So we need to look at how they managed to open those phones. Then you know when did it happen. Well, yeah, they probably have other factors for somehow less interesting science and more human existence, right? So because they're able to pay off problems or something. I don't know. Just. Yeah. So this is something to look forward to, having all of our sensitive data at. So that'll be fun. Now, but things will get secured. People have already figured out pretty convincing quantum secure crypto systems. And in particular, they don't require, right? So you just need a different way to make things secure on my phone that doesn't require quantum computing. And people have discovered those. And of course, we don't have a proof that a quantum computer can't break them, but we don't have any ideas. So there's been a lot of problems on that. And like NIST, the National Institute of Standard and Technology, they're in the final stages now of approving certain post-quantum crypto systems. Okay, so now let me address the elephant in the room, which is how are we actually gonna do all this? So far, this is all in theory. And the honest answer is I don't know. I am not an engineer. I'm not a physicist. I'm just a math person, I'm a psychologist. But you need hardware, right? How do you actually realize that a qubit is an abstraction? How do you physically build one in our reality? Just like a bit is an abstraction, but they are represented by transistors. So we need some kind of analog of that. And there's a bunch of approaches. And all of them are compelling for different reasons. Okay, so Google and IBM are using superconductors. Don't ask me what a superconductor is. I don't know. Quantinium, formerly honeywell, they're using trapped ions. I kind of know what that is, I guess. We'll see you later. Quantum optics is another way. So you have like lasers and mirrors and stuff, but it's quantum. And another is quantum annealing. This is what D-Wave's doing, kind of up in the Toronto area. And maybe the biggest, maybe the grandest vision here is Microsoft's, I would say, which will use topology, something called myelona-zero modes, but I must stress, all four of these, they've actually realized qubits. They have them in their laboratories. They have quantum computers. So Google and IBM, they have their superconductors qubits that they have like a quantum computer that's like 500 of them. That's pretty good, right? Eventually we'll want thousands of them, millions of them, so we can do cool calculations. Microsoft has zero qubits, but it's because they're trying to bake in all the topology and the quantum error correction at the level of the hardware. So like if a much harder problem to even get one quitted, but presumably once they're able to get one, they'll be able to scale up much more quickly than these other ones. That's just, that's the whole thing. I'm definitely on their side, but I'm rooting for them, but I don't work for Microsoft. But the fact that they're using topology at the hardware level is very cool. So, and then there's other ways, I don't really, not an expert on that, so for sure. So yeah, so I keep alluding to this. Look, so what does topology have to do with any of this? And it kind of gets to the question I had a moment ago, which is, well, these computers, do you need to make them really cold? And the answer is yes, right? So quantum mechanics being an intrinsically probabilistic thing, what goes along with that is that it's also like intrinsically very noisy, okay? So you can imagine, as a thought experiment, forget quantum for a second. What if you had a computer? So what does a computer consist of? It's got a memory, and then it's got the CPU, which is able to implement instructions to manipulate that memory, right? And the CPU will have things like, these physical things that implement those AND gates and OR gates and NOT gates that are happening. And, but the thought experiment here is, well, what if the memory in your computer was not stable? What if mistakes happen in the memory? So you have, you load a problem into the computer and you say, okay, let me start computing on this, but the computer is screwing up the memory while you're going. So can you fix this? Can you make your, is your computer even useful, still? And the answer is yes, and this is where error correction comes in. So error correction is a subject that's important, even classically. Now, maybe realistically, as far as I'm aware, all of our transistors on all of our phones and on their laptops and stuff, they're so good, they're basically perfect. They don't make mistakes. Your memory on your computer almost never makes mistakes. So when your computer's running code, it almost never has to do error correction. Where error correction does come up classically is in networking and wireless transitions. So if I'm trying to send a signal from this computer to the Wi-Fi somewhere here, then that has to go over the air and you're sending some classical signal like radio wave or something like that, microwave or something that is an analog classical signal and it has to be converted back to bits when it gets to wherever it's going and mistakes could happen. So you use error correction codes to make sure that if mistakes do happen, then well, as long as not too many mistakes happen, then the information you're trying to relay is not corrupted and you can decode the errors. So that all happens classically and on a quantum computer, we definitely have to do that. So on a quantum computer, you can have a quantum memory in the sense that you have an n qubit quantum memory in the way I defined earlier. If it's a real world quantum memory, then it's gonna be noisy. So the qubits, you might shake the table, right? If you shake your phone, the transistors aren't gonna screw up, but if you shake your quantum computer, the qubits won't get screwed on. So you need to be able to perform what's called a quantum error correction on your memory. So that's the warmup. That also sounds kind of complicated, but it was kind of figured out in the 90s that well, theoretically, there is a decent theory of quantum error correction. So if your memory is not stable, you can at least as long as you make it, you can always make the memory bigger and then encode the information in a redundant way that as long as it's not too many mistakes happen, you can fix it. So that's the warmup. We think we kind of understand how that works, although I want to stress it hasn't really been achieved, well, I'll say something about it later to talk about it. Whether this has happened yet in the real world with real-world quantum computers is a little bit up in here, but the bigger problem is what's called fault problems. So now imagine not only your memory is bad, but your CPU is bad, right? So you're supposed to implement, this is even classically, this would be horrible, right? You have to implement AND gates and OR gates on the memory and start doing calculations, but what if the AND gates and OR gates are getting screwed up? Moreover, the error correction you use has to use AND gates and OR gates and stuff. So if you're gonna try to correct errors, you have to do calculations to do that. And if the computations are themselves a source of noise, how do you correct errors if the error correction process itself introduces the points? That sounds horrible. And it is, but there's some theory to believe that it should be an achievable, something, it's an issue which should be able to get over that sort of threshold and this problem, it's trying to solve the fault problem. So this is, you know, it's like, quantum memory, unstable quantum memory, yeah okay, we kind of know how to deal with that, but unstable quantum memory can also not having being able to implement the calculations is one exactly, that just makes it really hard. Okay, and I'm supposed to answer this question, but is topology have to do with all of this? And the answer is that like topology, it's maybe not so surprising in the sense that what is topology all about? About studying like spaces or geometric objects, but you're allowed to deform them, right? You wanna understand like what are the properties of a system of a mathematical object that are preserved when you start performing the object in various states. So, and you can think of like the memory of your quantum computer as like your object and if it's being taken with noise, that's like the fault in memory. So, the topology, you know, it's not so wild but I'm gonna give you a very specific example. So, there are any questions? I guess there's pizza, should I let people get pizza? Keep going? Okay, so let me say a little something about topology first and then I'll talk about before I go. So, I'm just gonna stick to Knott theory. So, in Knott theory, you study Knott's, right? What the Knott? It's an embedded copy of the circle inside a three-dimensional space, right? And here's a bunch of variables, right? And now we're actually, we usually represent them exactly like this, right? When you think of mathematically or it's like a computational problem, if I had an actual Knott, right? I don't know, this cable down here, I could put the cable on the table here and look down at it and it would be a picture just like one of those things. So, this is a decent representation of Knott's. And moreover, these are combinatorial data, right? Like, you can move these things around and stuff like, I can describe something like this as ugly as it is, I can describe it as a computer. After all, it's all a projector, right? It's a projector, something to do with it. So, a basic problem in topology in Knott theory specifically is to understand, well, if I have two different pictures of Knott's, say this one and this one, can I figure out what do they represent the same Knott? Right, because Knott's, we're allowed to wiggle it around and stuff, right? And this one turns out to actually be filled with that. So, this is called the Knott. This is like this, you could Knott, where like, you don't actually do anything, you just kind of take your rope and you put it together and put it on the table and it's a perfect circle. It's not Knott at all, right? So, it's called the Knott. But there's infinitely many representations of the Knott, for example, that. I could take that circle of rope and just mess it up without tying any actual Knott's in it, they could look like that, but it could be untainted. Where it's something like this, no matter how long you start tying the untainted, you'll never make it look like that. This is called the Knott. But like this thing is equivalent to that. Right there. And now, you know, mathematicians like to like, classify Knott. So, these are all the Knott's. All the Knott's that can be represented with that most, but they're all eight crossings. So, you can ask for, right, if you have a really big Knott, it's possible there's no way to represent it by something that only has like six crossings, right? So, this is just a table that people had essentially competed by before sort of the years that classified both Knott's up to the crossings. This is from Wolfson's textbook from the 70s. So, maybe a point to make here is that everything I'm describing is like, it's interesting just as a mathematical problem to understand Knott's, but it's even more exciting, I would say, than you think about it from the perspective of computer science. Because like, we don't just want to decide, we don't just want to abstract mathematical theory to decide whether this is equivalent to that. We ideally like an algorithm that we can run on our computer that will tell me whether or not these are the same. And even better, we don't know if this is possible, we'd like an algorithm that is efficient. So, it's an open question whether it's an efficient algorithm that decides whether or not it's equivalent. And this is a little bit out of left field, but I'll just say no. It's not a crazy question to think that maybe there's a quantum algorithm telling Knott things, or decide things are equivalent. So, before I really tie things together, the topology and the quantum computing, I want to quickly review something called TQFT, I apologize for the acronym there, it's a pathological quantum field theory. So, it sounds like physics mode, but it's actually a rigorously defined mathematical structure. And I'm not gonna give you the full definition, but it's like the key mathematical idea that allows us to use topology and quantum computing. So, what is this? I'll only talk about what are called three-dimensional TQFTs. You can have them in other dimensions as well. And I'll just kind of define it by what it does as opposed to what it actually is. So, it's basically some type of quantum theory, which means that it's described purely by topological phenomena in three dimensions, okay? So, in particular, these TQFTs come with particles called anions. And you should think of the TQFT as saying, it's a recipe for how to set up certain physical systems on surfaces, like the surface of this table or the surface of a donut or a higher genus surface. And then what we're allowed to do is put particles on these surfaces, these are called anions, and move them around and stuff. And so, here's an example, like at time zero, here's a genus three surface. And you can imagine you have some particles, these anions, and then in time, I'm gonna start moving them around each other on the surface and then I'm gonna even deform the topology of this thing into a better surface and then I'm like, break stuff up some more. And so, this is the kind of operations you can, the TQFT is telling you, like, what the states are on these different surfaces, and then these operations of moving the particles around on the surface are telling you something about how time evolution behaves. So, yeah, so, and the point of all this is it's supposed to only depend on the topology of what's going on here, not the geometry. So, that all sounds very mushy, I must admit the way I've described this, but like, there's relatively rigorous ways that don't take too much holding your breath to actually like see that you can define such things. And in fact, you can define them with a like, fairly combinatorial data. So, there's lots of different TQFTs, I wanna stress that, even in dimension three. It's an interesting mathematical problem in the class, basically a problem algebra. So, but for our purposes, what I wanna observe is that if I have some of these particles, I keep calling them, they're anions, they're somehow, they're part of the data of the TQFT. If I have a particle, anion, and a knot, then there's something I can do with the TQFT to get myself an invariant of the knot. So, what it means is there's something I can do with the TQFT and that thing to learn something about the knot. And let me be a little bit more specific here. So, well, I will second here, but if this means anything to you, like examples of this, most interesting examples of this come from things involving what's called the Jones polynomial. There's many to do that fine, but the, maybe you can do that a little bit more, like there's constructions of TQFTs that come from my group theory and also come from semi-simple, the, you know, really quantum definitions of them, whatever that happens. But, so, and somehow the goal, what will be the goal eventually is to understand these TQFTs and how they relate to quantum confusion. So, let me explain for a second though what I mean by a knot invariant. This is an example, it's, I'm calling the Jones polynomial strictly the same thing. So, there's a lot going on right here, but can this supposed to be a picture of a knot? Like one of the things I had on the slide is what the TQFT had. And then this is telling you a recursive procedure to write down a polynomial with integer coefficients in the variable a and a inverse. That polynomial, using some rules, like, oh, anytime you see a crossing, you can get rid of it in the two different ways and there's some recursive following up for how the invariant is defined. And what's really cool is that this formula, and it's a little bit of a lie, but it's basically that this thing's an invariant. It's sense that you have two different diagrams of k, right? Because you have to pick a picture of the k on the table by its algorithm to compute it. But if I picked k off the table and mushed it around and put it back down, I got another picture and I did the same algorithm, I get the same answer. That's why anybody doesn't invariant. It doesn't, you know, the way I compute it depends on the representation of k, but the answer I get when I'm done is doesn't. So this is not exactly a TQMT invariant, but it's very closely related. So what we can do now, this is an invariant, it's a weird thing, it's a polynomial in this variable a and a inverse. That polynomial's in the top logical invariant of a. That's kind of weird, but what you could do in particular is just pick a complex number. Pick your favorite complex number. Very well, that's a slight lie. I'm gonna make you pick a complex number that's a good one. So for example, e to the, I don't know what's wrong. So you plug in that number to this polynomial, all that, because the polynomial itself was invariant, the evaluation of the polynomial that number also is the same. And it's those types of numbers that these crazy TQPs are dealing with. Well, that's what I hadn't looked at. So, right, so that's the intro. When do I stop? Soon, okay. So let me show you the Toric code and then we'll call it a day. So at one point I call this Catias million dollar idea. This is done in 1997. Has something to do with the porous, which is like the surface of it, I'm not there. And but I really think it's probably safe to call it a built-in already. Everyone implements surface code. It doesn't matter what hardware you're using, you're implementing the Toric code. So what is it? So I don't want to keep you too late. So very roughly what's going on is you make a grid, okay? And this grid, I think I'm having periodic boundary conditions. So this edge is this edge and this edge is this edge. So if you put that up, what we're getting is a grid on the porous. And then what we do is we put a qubit in the middle of every edge, okay? So this is a K by K grid and we'll add two K squared and a qubits, okay? So you want to think of those as physical qubits, they're your actual hardware. And now we're going to define a subspace of those qubits and that will be our quantum error correction code space. So what that means is we're not going to allow arbitrary, we don't want to compute an arbitrary configuration of the qubits. We only want to pick a subspace of the qubits and use that to compute with because it will have good error correction properties. We'll encode that. So what is the priority of the deciding what the subspace, I mean, what's... Yeah, there's a whole arc to figure out like how do you build good subspaces? There's kind of two important parameters. There's the weight, which is telling you like, okay, yeah, you have a thousand qubits, but if you have a thousand qubits, you should be able to encode some large fraction of logical qubits, physical qubits. So that's one of the parameters. And then the other is called the distance. And that's the key thing. And it's kind of telling you how many qubits can you make them stay for, but still see that you may have stayed incorrect. So those are roughly the two things you're aiming for, the rate and the distance. So I could say more about that, but so the way he defines, I have to find this code space. It's going to be a subspace of this. It's using what are called star and blackout operators. And so a blackout operator, what it looks like is there's a specific unitary matrix called the Pauli D matrix. And what you do is you apply it to all four of these qubits on the head, if I can. And then the star operator, you apply the Pauli X matrix for all four of the qubits around the star, around a vertex. Now what you do is you say, we're not going to look at all states. We're only going to look at the states in here that when I apply any of these operators to those, you just get that state back. So this is what's called a stabilizer code because you're looking for the states that are stable under the application of these operators. We're basically saying we want the states that are plus one item vectors in these operators. And this is a pretty good quantum memory. I won't be precise about it, but I can tell you more about it. So this is a error correction code. And what's really cool about this, it's not only as an error correction code, it comes with intrinsically fault-alert operations. In the sense that there's things you can do that you can introduce particles and eons and move them around on this thing and use that to manipulate information. And the way you move these things around, like if I worry, the way it affects the code space could depend on the geometry and how you do things around it, it turns out to not be the only depends on the topology. So this is essentially realizing the TQMT. Now, the good news is that this is implementing a TQT and what Katya was arguing back in 1997 was something much more general. I mean, this construction alone, like you might get a Nobel Prize just for this direct construction of like it gets implemented someday, but what he did get a much grander vision in fact, which is that anytime you use a quantum computer, you build a quantum computer where you got a code, use an error correction code, has something to do with the TQT, then in fact it comes with a bunch of protected operations, like unitary gates, quantum gates you can perform better than cells fall on. So that's the magic. The bad news is those gates aren't very interesting for the toric code. So you can't build a fully programmable quantum computer using toric code, even though you can get a decent memory out of it. So now there's other things you can do using other TQT's. And this is what's really been largely improved back in 2002. This is Mike Friedman. He ran Microsoft Station few for a long time, basically trying to realize this vision. They haven't got the hardware yet, but they've done a lot of really cool math in the last 20 years. And there's a whole story here, I don't want to hold you up too much, but let me show some recent news. We'll stop here. So the first is that Google will only see February, nature paper where they argued that they were able to implement the toric code on the machine. And that's cool, that in itself is cool, but the key word here is scalability. What you want is to be able to, as you make your quantum memory big, as you add more and more qubits to the system, you want to build, right, these quantum codes depend on how many qubits you have, and you want the quantum code to get better and better as you add more and more qubits. And they argue that that's the case. These are just pretty good, you see that? So, but whether that's sure or not, I don't know, I don't really think they're cold. I don't need to, right? Like there's this interesting moment. I'm very much an academic, right? But like these corporate guys, like they have a lot of like external motivation to like do things first, which like, okay, like so they'll stake this claim and say, oh, we did it, we did it first. And then like it'll get shot down by academics like two years later, but I don't hold that, I don't hold a grudge with them. It makes it interesting. There's kind of this, this path. But so they did that. And then another thing to plug maybe is that the stuff of these enions, what's important about them is that you can like move them around in different ways. And like moving them this way will affect the transformation that's different from moving them that way. That's just in theory, but the physics of that, I've been knowing in theory since the 80s, but it was only a couple of years ago that we were directly able to measure. People have to do, we're able to directly measure any of them. That's pretty cool. But they were doing something that was kind of like the Torah code. And like I said, the Torah code is not universal. So it's like a good memory, but it's not good for a fully programmable computer. And the somewhat different direction is like this year, people simulated TQFTs with not a million enions, but so the kinds of things you need have a fully programmable computer. It's not sufficient, it's necessary. And this was done by, well, it's quite a continuum there. They see Honeywell, they basically simulated the TQFT on their quantum computer, which has nothing to do with topology. Their quantum computer uses trap algorithms. So here, what they were essentially doing was taking a plan and saying, look, Microsoft, it's kind of a big Microsoft. Microsoft been trying to build these non-annual enions for a long time, but they're trying to do it using condensed matter physics for good reason. Well, these guys are just teasing them a little bit and saying, well, look, we were able to stimulate them on our quantum computer. That's nothing to do with condensed matter physics. And so we plan, we got the person to do it in the oven. And I was like, yeah, maybe, but it's definitely very cool. I don't want to undersell it, it's very cool. But in some sense, it's not implementing error correction what these guys are doing. It's just kind of staking a claim. It's basically asserting that it's a chance for a continuum to assert that their computer is at least strong enough to be able to simulate these things. So maybe I will stop there and we can have these are the big questions. So, thanks a lot. Thank you. Thank you. Thank you.