Stefan Krastanov: Again. Thanks for the reminder.
Stefan Krastanov: Okay. So we switch to Speaker View. So just so, people know. Whoever speaking through zoom, you will see your base very large on the screen here.
Stefan Krastanov: So, as I mentioned, this is a similar course.
which, at least in the you Mass.
Stefan Krastanov: a version of it is to great extent something similar to a journal below for a grade.
Stefan Krastanov: The base workload for the class will be obviously to be involved with the with the Q. A. During the the presentations, and to engage with your colleagues who are presenting on a given paper during the session.
Stefan Krastanov: We'll have papers on various topics of
Stefan Krastanov: of importance in the in quantum integration provided throughout the semester to
Stefan Krastanov: for you to choose for your presentation. To give.
Stefan Krastanov: The class will be structured mostly
in the style of 2 or 3 of you presenting on one of these papers.
Stefan Krastanov: If you're taking the section that's focused on this journal plot part of the same Webinar. That's for one credit at Qms, and there is a certain arrangement of Arizona.
and that's that will be the vast majority of your responsibilities from their class.
Stefan Krastanov: and there is a version of the class, the section that's for tree credits that involve some form of class project to. We'll have a number of suggestions for these plus projects. In the few weeks, and midway through this semester we have one or 2
Stefan Krastanov: sessions specifically dedicated on discussing what the reasonable project would be, and we want feedback from everyone, not only from people that are undertaking those projects, and the last one or 2 sessions of the class will be those that are undertaking a project presenting those projects
Stefan Krastanov: under the merciless Q. And a. Of your colleagues.
Stefan Krastanov: not the thanks for your thanks, for this will be nice, and
Stefan Krastanov: that's the overall structure for the class. Don't: Would you like to add anything?
Don Towsley: I don't have any things to add
Don Towsley: at this point.
Narayanan Rengaswamy: Yeah, I think the plan sounds good.
Stefan Krastanov: Okay. So in terms of well logistics for the next one or 2 weeks today, I will give a real
Stefan Krastanov: chapter focus overview of our classical and quantum air correction. Obviously, in an hour and a half I won't.
Stefan Krastanov: however, ending of that would truly let you appreciate the death of the field. But we'll go through a couple of small tools that can be useful as you're undertaking them. More difficult task of understanding these in depth papers.
I'll provide that capital of suggestions for software tools you can use in order to run through your own America experiments as you're reading through papers
Stefan Krastanov: and basically try to give give you a sense of what's typical
Stefan Krastanov: engineering approach to our correction is without discussing any of the beautiful math behind it.
Stefan Krastanov: Next week we Won't have a class, because
Stefan Krastanov: a lot of you and the the faculty themselves will be at the conference.
Stefan Krastanov: However, one of the faculty has prepared wonderful in-depth course. 3 h later that was given at the centre for pantonnetworks, in your school
Stefan Krastanov: so that recording, and so another, our colleagues will be provided. And so you're very strongly encouraged to to go through.
Stefan Krastanov: especially if you are one of the people that will be presenting on the turn week of the class
Stefan Krastanov: for people that are joining from
across the Internet.
Stefan Krastanov: The class will be taking the life. Part of the class will be taking place at this time Massachusetts.
Stefan Krastanov: we'll be sending in advance schedules in their holidays, or anything like that. I think most of our colleges overlap.
And so my question finally, in a piece of logistics.
Stefan Krastanov: not next week, but the week after that
Stefan Krastanov: you must. On Wednesday we will have a different schedule on the typical Wednesday schedule, because
for Monday holiday.
Stefan Krastanov: Nonetheless, if the vast majority of you are are available, we would like to take that Wednesday, and still do our class
Stefan Krastanov: to great extent to make up for the lost lecture next week.
Stefan Krastanov: If that sounded too confusing, there will be an email about it.
Stefan Krastanov: and in terms of emails, especially if you're online and you have not received an email from me message me so that I can make sure that your own lists that that contain the announcements for for for future classes. If you're on you mass students and your registered room, although
Stefan Krastanov: we have you on the list. If you're a Us. Student and you're just in person here for phone. That's fine message me. So I know that I have to email you.
Stefan Krastanov: And if you are joining us across the Internet. If you have not yet received an email from me message me, because it means that you are not on my list.
Don Towsley: Okay, Step Stephan, I just want to say that the Wednesday
Don Towsley: that you're talking about follows Monday's schedule. So we're hoping
Don Towsley: since Monday and Wednesday classes are always the same time
Don Towsley: that you'll have this time free.
Stefan Krastanov: Yes, I concur with with this. So
Stefan Krastanov: okay, with this, I see that already sound has joined the online
Stefan Krastanov: collaborative session I set up. I also got this, but that's fine.
Stefan Krastanov: so I will share screen shortly with the aforementioned
Stefan Krastanov: numerical style engineering introduction to to quantum air correction.
Stefan Krastanov: We'll go through a couple of bigger sizes to just get a taste of it. It's really meant to be more of a open discussion. You guys seeing some of the tools we have available. Some of you might have seen this at the secure and retreat
few months ago.
Stefan Krastanov: and let's see what will be the least painful way to share screen without breaking everything.
Stefan Krastanov: Okay.
Stefan Krastanov: okay.
please let me know if you have issues seeing the screen. Oh, wait! It's not even shared yet. So you will have.
Stefan Krastanov: Okay. Hopefully, now, we can see the screen. This is small notebook that we'll share with you if you want to play with it. This one happens to be written in Julia. There are similar tools in a python in Matlab, and we'll provide links to such tools and guides on how we can use it in whatever language you prefer.
So i'll just go through this. No, no book, so I can see some of the tools will be using.
Stefan Krastanov: So, as we mentioned, the goal of the class would be very much focused on quantum air correction. But before we can discuss that, the really instructive starting point is classical approach.
Stefan Krastanov: We'll start with a particular type of plus for operation called linear calls that we'll explain what linear means in this context. But there. The vast majority of quantum air correction is built on top of such classical calls
Stefan Krastanov: that type of classical goals are usually structured, as
Stefan Krastanov: we're frequently represent this form of some form of parity check matrix of an object that represents some set of constraints you put on top of your set of bits.
Stefan Krastanov: So, for instance, one for the straightforward example would be, You want to send along classically a bit of information, but the issue is that there will be some chance of that being being flipped midway through.
Stefan Krastanov: And so
Stefan Krastanov: I want to find some form of redundancy, some form of redundant in the coding that will permit us to preserve protect against that.
Stefan Krastanov: One of the most obvious cases that even little kids do when they are trying to communicate over the playground is to yale out something multiple times, so we'll do a repetition call. We'll send a bit multiple times, and then we'll do something like a majority volt in order to
Stefan Krastanov: see hopefully the the the correct message, just the the type of bit we've received. More often we will assume that that's the correct bit. That's assumption. Location will be wrong if the the noise is very significant. But as long as the noise is under some threshold
things should be fine.
Stefan Krastanov: so how do we automatically represent that call, or any form of quote in that class. We want to represent that form of redundancy within the call it.
Stefan Krastanov: And so one of the standard approaches is to write down a number of linear equations that the new code word needs to fulfill. The cold work will be the day we sent instead of instead of a single bit, and we will extend this to more bits as well. But
Stefan Krastanov: we want one logical bit. We'll be encoding it with some large code work. That code word will obey some constraints.
For instance, the constraint can be that all the bits in the code work has to be the same.
Stefan Krastanov: We need to encode those constraints. Those concerns will be involved in that in in the class. Of course, we talk about in the form of a set of linear equations.
Stefan Krastanov: We're working on our bits and bullets so that
Stefan Krastanov: those linear equations will be over the field of binary numbers. And we know that third linear equations can be expressed as matrices, so our constraints will be represented as a matrix.
Stefan Krastanov: and so that matrix will be called the parity check matrix, because it can be interpreted as taking various forms of charities between the bits.
And with that out of the way. Let's finally actually look at the parity check matrix for the repetition called of 3 bits.
Stefan Krastanov: It looks like this.
Stefan Krastanov: It's 2 chicks.
The first. The first rule checks that
Stefan Krastanov: bit, one
Stefan Krastanov: plus big. 2 of the cold word
Stefan Krastanov: are equal to 0. So the parity of the first 2 bits matches, the second check does that the same thing for for the for the second part for the second and third bit.
Stefan Krastanov: and we can write down the constraint as
Stefan Krastanov: I. The check matrix H multiplied by the cold words, c. Which is some factor of bits, has to be equal to the 0. Vector
Stefan Krastanov: We can write that down in many different languages, in different fashion. But in this particular language it's matrix multiplication. And then because we haven't this in, call it a specific type for Boolean, we do module 2 because we want one plus one true plus true to be equal to 0.
Stefan Krastanov: And I haven't defined that line yet.
Stefan Krastanov: Yeah, and everything is fine, Nothing too special we get that both of the constraints, both of these constraints are full field for this call.
Stefan Krastanov: Oh, okay.
Stefan Krastanov: Now let's consider on there the Er. Would again be represented as a vector of bits. That vector of bits will be zeros where no flip has happened, and it will be once where a flip has happened.
Stefan Krastanov: and the cold word vector plus the error, vector
Stefan Krastanov: we'll correspond to that actual transmitted word that won't necessarily be a cold word, and let's see what happens when we have this error.
Stefan Krastanov: and we have
Stefan Krastanov: our partnership matrix with that part to check matrix, those constraints will be verified, not on the code word, but on the code word after an error was applied. It's a here error application. You can write it down as a x, or logical x, or which is what this symbol is.
Stefan Krastanov: or you can write it down as a plus or model to.
Stefan Krastanov: And let's see what happens in this case.
Stefan Krastanov: Well, let's look at what the arrows the give me a second. It's probably a bit too sensitively.
Stefan Krastanov: The error was 1 0 0. So the first bit was flipped.
Stefan Krastanov: so the parity check that was checking something religion. The first bit
Stefan Krastanov: will be triggered, and this is what we see down here that this is a vector of the results of 2 constraints. The first one is plan.
Any questions up to here.
Stefan Krastanov: Should I go faster, slower? No, it's the summary. It's it's an error. It'll be a 0. Vector I it's no error. It's a
Stefan Krastanov: Yes, if we're like there's also the case of an error that's on the
Stefan Krastanov: But hopefully you pick a call for which the parity check matrices. The parity check matrix has a high probability of detecting the the plausible areas.
Stefan Krastanov: For instance, what was happen if my error was
Stefan Krastanov: 1 1 one. If I put in a single one of my queues, then
Stefan Krastanov: let's do it hopefully, this one through and the rest of my examples.
Stefan Krastanov: then none of the the the checks were triggered, because this is still a cold work, even though there was an error, it was just an undetectable error.
Stefan Krastanov: So a big part of designing good air breaking quote will be figuring out a way to set up checks, so that the hypothetical errors are detected.
Sorry. Something stroked around to this.
Stefan Krastanov: Okay?
Stefan Krastanov: Oh, my best.
Stefan Krastanov: Okay, we have the error.
Stefan Krastanov: and
Stefan Krastanov: we have.
Stefan Krastanov: I I apologize about all this. It seems my scrolling is very sensitive right now.
Stefan Krastanov: Okay.
Stefan Krastanov: So we want to look at a certain pattern. Here, let's we were. We're calculating how to check matrix acting on error plus coordinate. Right? Well, let's expand this this expression and see what happens. We just.
we just
Stefan Krastanov: drake of the preferences, and we take into account that
Stefan Krastanov: this part here H. Dot C. H. Acting on the cold word by definition, should be the 0. Vector so this see basically disappears, and we know that H. Acting on the word that was being transmitted
Stefan Krastanov: actually Doesn't does not contain the information about the word being the the code works that was
Stefan Krastanov: initially send. It contains information only about the error, and you can. We'll name this H. Dot e the senior mode here, and that's an extremely important property, both on the classroom and front of side.
Stefan Krastanov: on the classical side to great extension for permits maybe efficient.
Stefan Krastanov: efficient, the calling
Stefan Krastanov: by which I mean it. Given the syndrome, given the list of things that failed, knowing what the error was, without having to also know what the code work was. If if we need to know. The cold word was.
Stefan Krastanov: Well, we're using the whole point of their breaking code. We want something that the
Stefan Krastanov: gives us information about the error without it being dependent on the code work. So it's already pretty important for the classical case
Stefan Krastanov: on the quantum side.
Stefan Krastanov: It's well for me, because I on the quantum side. It's fast and more important than the classical side of things, because we want a way to measure what was transmitted
Stefan Krastanov: without destroying coherence. We tell the strike bottom of information, and we know that measuring the quantum information measuring which cold word was being saved.
Stefan Krastanov: will project and destroy coherences destroyed superposition. The sorry the valuable resource you brought them information.
Stefan Krastanov: So instead of that we'll be.
Stefan Krastanov: we need a measurement that's capable of learning something about an error without
without learning anything about the the positive information being set.
Stefan Krastanov: Okay. So again, this vector of checks is called the syndrome.
Stefan Krastanov: and let me just double check that i'm not missing anything from the chat.
Stefan Krastanov: Okay? I pulled up the chat on the on the different page, so I can see if anyone's writing anything, and at any time. Please feel free to interrupt both in person and over. Zoom.
Okay.
Stefan Krastanov: So as I mentioned that your collection part is the mapping from S to E. From the syndrome to the error that mapping is not unique. Usually our goal will be to find the error that was most probable. Given the the the syndrome we measured.
Stefan Krastanov: and that's like going to maximum like a good estimation, which is, and then the complete problem. It's not something we have a chance of solving efficiently
Stefan Krastanov: unless they called some cast some extra structure that we can explore.
Stefan Krastanov: And again, the Us. A designer of a code.
Stefan Krastanov: Your goals not not only be to find a set of parity check matrices of a priority check matrix that has the high probability of the taking
Stefan Krastanov: the problem Errors You also want to have some structure among those chicks, so that it's
Stefan Krastanov: so that you can device an efficient algorithm you did use. Given the checks. What was the error.
Stefan Krastanov: Error to syndrome is music computation. It's just a matrix notification.
Stefan Krastanov: but the syndrome to air the deep calling. The correction of the air is the difficult computation.
Okay.
Stefan Krastanov: So what we'll do right now is
Stefan Krastanov: we'll sorry there's a question in your room.
Stefan Krastanov: Is it like a dictionary or something? For all of the words the code words that are
Stefan Krastanov: awesome
Narayanan Rengaswamy: there might be if someone don't mind no such feel free to chime in that's just called the code Book. I guess I mean the code or the code book is basically the set of all code words that are valid for that particular code.
Narayanan Rengaswamy: How how you map each message to the gold.
Narayanan Rengaswamy: the to the code words it can be different. So there are different ways to map
Narayanan Rengaswamy: message or like logical bits to the code words. But basically the code book or the code is just a collection of code words.
Narayanan Rengaswamy: And I guess that's what you're referring to.
Stefan Krastanov: And given that we come from very different backgrounds, please, at any point interrupt me. If there is something
Stefan Krastanov: interesting, useful, i'm using that, you want to add.
Narayanan Rengaswamy: Sure, Sure.
Stefan Krastanov: yeah, I I want to stress I'm more of a physics person, and that's the background which I come into into this. We have people on the class organization that are experts in coding theory that are experts in networking.
be certain to avail yourself of the resources
we are trying to provide.
Stefan Krastanov: Okay, so now, because I want to run through a couple of examples. I'll do a really stupid decoder.
Stefan Krastanov: I will do a decoder in which I just run through all possible errors
change the syndrome. They have.
Stefan Krastanov: Write them down in a table, and i'll use that table as a as a. G holder. That's the the reverse mapping
Stefan Krastanov: as i'm doing that. I
sorry there's a question.
Stefan Krastanov: There's a question about why the reverse mapping is difficult, so that's actually related to what I was just discussing, so i'll do one way of doing the reverse mapping.
Stefan Krastanov: and it will work for the example. I'm doing I i'm. Saying that e 2 s is easy s 2 e is difficult. I'll provide one way to do. S to E. That you called in the reverse method.
Stefan Krastanov: as i'm doing that, please try to think true. Why is it the terrible ideal to do it the way i'm doing it right now in?
Stefan Krastanov: So i'll first create the lookup table.
Stefan Krastanov: And that's my function that will be creating a lookup table. That's function is. This is the parrot check matrix. I'll be working with it prepares the empty table. It just takes. What are the sizes of the Major? So I know how many constraints rose, and how many bits call ones I have.
Stefan Krastanov: and i'm initializing the the more obvious part of the lookup table. I know that if I have a vector of zeros of length constraints so as many th the that's the chick vector. That's the is vector I know that to that we should have
Stefan Krastanov: does the no error as a solution as a mapping. So I just say that this this part of the table is to also 0, vector
Stefan Krastanov: and then i'll be filling out the table with the one bit errors. I'll be considering only one bit errors, so
Stefan Krastanov: my bit to be flipped and added to the table will be that would be the index going from one to the total number of bits. This particular language is one index. If you're coming from Python and prefer 0 indexing just if I
Stefan Krastanov: so i'm constructing an error. Vector it's it's all zeros, except for one single bit being a one.
Stefan Krastanov: I'm calculating the syndrome.
Stefan Krastanov: and i'm storing that in the lookup table to be used in the future, and that's the lookup table. That's my decoder. That's that's the all to be prepared in your in order to do this.
Stefan Krastanov: anyone else already having ideas, for why, this is a terrible way to do it.
Stefan Krastanov: I see some people smirking, but they might have studied that before, so
Stefan Krastanov: I appreciate that you're working and not saying anything.
Anyone that Hasn't seen it before having any ideas for Why, this is a terrible way to do it.
Stefan Krastanov: Okay, I'll continue, and we'll discuss at some point. Why, it's a terrible way to do it, and don't do what i'm teaching your help to do right now
Narayanan Rengaswamy: there is a guess in the chat.
Stefan Krastanov: Oh.
Stefan Krastanov: scalability is that's it. Thank you for bringing that up. So
Stefan Krastanov: as i'm going through, try to think to what would happen if I want to do not only one bit errors, but also 2 bit errors and 3 bit errors, and I want to have all the different different possible errors listed in my table.
Okay.
Stefan Krastanov: So I will create the lookup table right here, so I have. No, that will be the variable name for the lookup table. Oh, sorry I didn't actually execute the app
Stefan Krastanov: so, and i'll do it for this
Stefan Krastanov: for the fair to checkmitters that was defined above the parks checkmakers through the repetition of the.
Stefan Krastanov: And so, yeah, it says that
it says that
Stefan Krastanov: if I have
Stefan Krastanov: a trivial syndrome there is no error. If both of the syndrome bits were flipped then the then the the middle communication bits bit was the one that contains an error, and so you can check those yourself.
Stefan Krastanov: So now I want to evaluate, which for that call to which that decoder works well.
Stefan Krastanov: and one of the fairly standard ways to do that is to do a multi-core simulation. You simulate the communication scheme.
Stefan Krastanov: and then you simulate the decoding and then you check whether the decoding succeed in you because you're simulating it you actually can do that. Unlike someone that's actually using this in the real world, they don't know the code where that was sent.
Stefan Krastanov: So what will the evolution look like it takes the par to shake matrix. It takes the lookup table, and again it's.
Stefan Krastanov: It will go through a loop of samples.
Stefan Krastanov: and to Cal. Tell me of those random samples or success in decoding.
Stefan Krastanov: So first I will start by trading
Stefan Krastanov: an error that I want to check, and there that that's I. I want to calls being transmitted to all the communication channel, and then try to correct, for
Stefan Krastanov: so here I kind of make some implicit assumptions. I'm. Assuming that this particular type of error will be every single bit independently has some chance of flipping. Maybe that's not the actual error. Model Air models that in reality might need to be considered this the bit was er erased, the there was correlation between how bits were flipped. We actually frequently in the classical world need to this design aircraft and calls
Stefan Krastanov: which are resilient to many consecutive bits, having issues because a typical issue with classical communication is that cloud passing between you and the satellite, and if a cloud passes a lot of this, one after the other will be will be
Stefan Krastanov: broken. It will be just a random sample of bits that are flipped.
Stefan Krastanov: and just in terms of syntax. I'm. Just generating a a bunch of a random vector
of independent elements between 0, and one of like bits.
Stefan Krastanov: and I am element twice comparing it to P, which is the noise parameter for which I will be running the simulation.
And this dog here is how this particular language I do something element wise instead of over the the entire object.
Stefan Krastanov: Okay, I compute the senior, and for that particular error.
Stefan Krastanov: Then I try to guess the look of the guess. The the area of this happened
Stefan Krastanov: by using the lookup table. If the guess is correct again. This is something that experimentally you can All the the person actually doing the communication cannot check, because we're running the simulation. We can check whether the guess is correct, and if it's correct, we add one to the count of successful recordings.
Stefan Krastanov: and we have that. We return the fraction of of faders.
Stefan Krastanov: Okay, let's do this and let's try to.
Stefan Krastanov: What I'm doing here is I'll be running that exact simulation for error rates varying from 1%
Stefan Krastanov: to 50% instead of 5%.
Stefan Krastanov: And now just evaluate the decoder
Stefan Krastanov: for each error in these areas. And now for this we won't. Go for the plotting function. Let's just see what the result looks like.
Stefan Krastanov: and let's wait for the
So this is running online at the server we have in New Mass. So I have. It's been a bit finicky to ensure that can connection is good.
Stefan Krastanov: I'm doing that because I want to set up that server for you guys to be able to use.
Stefan Krastanov: So if you're interested in being able to run this notebook on without having to install anything, please message me so like, I said for you. It will be down on one by one basis for the moment, because it's not very well tested.
Stefan Krastanov: A nice feature of this notebook, though, is that it's like in Google Docs. You can have 2 people or multiple people, anything it at the same time. So if you know you'll be working with someone, and you want to have this resource so you can call together at any time.
Stefan Krastanov: Please message me in groups, so that that can be set up, and there will be an email about this as well.
Stefan Krastanov: Anyway, this extremely
Stefan Krastanov: shows on the x-axis
Stefan Krastanov: the
Stefan Krastanov: error rate that we were putting in the system the error rate of every single one of those communicated bits, every single one of the how many of them were there, tree
Stefan Krastanov: and on the X-axis, but on the Y axis we have the the how often there is an error on the logical level. How often the air correction fails.
Stefan Krastanov: and what we usually want to see is that after the calling
Stefan Krastanov: we have lower error rates than before decoding, we want to see that the air creating call is better than not using an air correctly. Call that's not always the case. Maybe the the air raid is too high, and I specifically don't
Stefan Krastanov: didn't float the beyond the 50% chance of flip, because we only 50% chance of flip. This they are creating.
Stefan Krastanov: And I think no, we'll do anything particularly useful.
Stefan Krastanov: Okay. Questions up to here.
Stefan Krastanov: Okay. So i'll briefly go back to the question, for why you should know you decoding the way I do the on the account testing that's fine, but the decoding.
Stefan Krastanov: Well, if if if you want a table of all multiple syndrome, we have.
say we have
Stefan Krastanov: a number of chicks, that's c.
How many different syndrome can exist.
Stefan Krastanov: Well, it will be to the R. Of C. We will need an exponentially large look of people.
Stefan Krastanov: Maybe we can make a look of people that's only for the most probable errors only for the one or 2 or 3 or 5 bit errors, but that also scales the prohibitively, especially when you take into account that
Stefan Krastanov: typical modern air breaking calls are at least at the level of hundreds.
Stefan Krastanov: a 100 bits. So the Pci express laying, or the that that's used by your Gpu to to communicate with your CPU or the Around memory bus to the CPU on a classical computer.
Stefan Krastanov: Those already use air carrying calls that might be up to 100 hundreds of bits.
Stefan Krastanov: and this especially the the Gpu communication
Stefan Krastanov: and if we're talking about wi-fi, or satellite communication, or or that type of stuff they're in. That setting can be tens of thousands of bits with chance for quite a bit more than one bit to flip. So we need something more efficient than just an exponential large lookup table.
Stefan Krastanov: Okay, with that, let me make the screen a little bit smaller again. So people can actually read
Stefan Krastanov: and let's go into.
So
Stefan Krastanov: here
Stefan Krastanov: will brush through so much important stuff. But all this important stuff will be discussed by your colleagues in an upcoming presentation. So think of this as a giving a taste of how to do some simulations.
Stefan Krastanov: how to double check the things that your colleagues will be telling them in 2 weeks, and for whoever's assigned to be actually presenting in 2 weeks, consider this as a 2 that you can use to help yourself check your understanding.
Stefan Krastanov: So we'll start by
Stefan Krastanov: introducing these quantum you are creating calls, and for the moment.
Stefan Krastanov: while there's also subtlety behind them, we'll just say that the quantum system a a qubit needs to be protected against more than just bit flip. It needs to be protected against something that changes the
Stefan Krastanov: I wrote the phases of the 2 bits, the the 2 levels of the queue bit. Sorry. Not 2 bits just 2 levels
Stefan Krastanov: before I continue. May I have both online and in person. Raise your hand. If you have actually ever written down my kids on paper and worked with the with the qubit for any purpose.
Stefan Krastanov: That's
well. I see that some people that I know if You' Quebec, they are not raising their hands. But that's fine
Stefan Krastanov: liars. But yeah, if
for those of you that can't work with qubits, you can consider it a little bit differently.
Stefan Krastanov: For the purpose of this exercise we're simply creating an air conditioning call that's not working over the alphabet of 0, and one
Stefan Krastanov: it's working over the alphabet of pairs of bits, and we can have a type of error. Let's go with the z er that flips the qubit along y axis
Stefan Krastanov: for a type of error called the X error that flips the qubit around another axis in terms of this alphabet description. The Z error changes the letters in one way.
Stefan Krastanov: The Xr changes the letters in another way, and we have 4 letters instead of 2 letters, and there's a certain algebraic properties of those letters. This is the feature that's provided by being a qubit.
Stefan Krastanov: But again, Those are things that will be discussed much more in this by your colleagues in a few weeks. For the moment.
Stefan Krastanov: It it's, for instance, it's really interesting to discuss. Why, just those 2 types of errors are sufficient to describe any possible error on my quantum call. All those are important.
Stefan Krastanov: fascinating questions. For the moment I will just focus on
Stefan Krastanov: on
Stefan Krastanov: on the air correction as if there is some arbitrary alphabet that admits 2 types of errors.
Stefan Krastanov: Okay? And we'll start by introducing one of the smallest calls that does something interesting in the quantum case that this one of the smallest calls that can protect against both type of errors to some degree the same way the repetition code of True, this was the smallest call.
Stefan Krastanov: the smallest call for which which was able to protect against one, this error in the classical case.
Stefan Krastanov: So we will introduce this team's sale on qubit calls.
Stefan Krastanov: And again, Why, exactly it looks like this. There's all the fascinating history behind it.
Stefan Krastanov: but that that fascinating history will to come from a colleague of yours.
Stefan Krastanov: So
Stefan Krastanov: the the law already looks a little bit different. So the rack out you, and introduce the work to blow the prior to check matrix or in it looks a little bit different. Here.
Stefan Krastanov: let's write you a. A. D. On counter. Read this
Stefan Krastanov: so previously the parity check matrix was something that was shaking for for bits of errors by chasing for the parity it contains either 0, either one and Zeros one meant that particular qubit. Sorry that particular bit or qubit needs to be considered.
while for for this particular check. Each row corresponded to a check, and each call corresponded to a bit.
Stefan Krastanov: Here we don't have one, and zeros rather we have
Stefan Krastanov: Z's x's.
Stefan Krastanov: and then
Stefan Krastanov: eyes for identity or wise for Z. And X. At the same time. There is a lot of
Stefan Krastanov: physics history, because it's.
Stefan Krastanov: There is some intuition in terms of 3D Cartesian diagrams. For why these that are so big
Stefan Krastanov: we don't really care in our context, for for all that intuition at all. We will just be saying that where we have these.
Stefan Krastanov: they'll be that check that particular.
Stefan Krastanov: for instance, for for that, for this particular role, this Z on the first call means that I'm. Shaking for a particular type of error on the first C
Stefan Krastanov: and then the skipping, skipping on the skipping
Stefan Krastanov: 6 cubic and 7 cubic.
Stefan Krastanov: This. It's the rules for how those
Stefan Krastanov: card checks happen, or similar to the in the classical case. But we won't go through the all cheaper of it. The same way we have 0 plus 0 0 0 plus one is equal, 1 one plus one is equal
Stefan Krastanov: 0,
Stefan Krastanov: and that gives us the of the field of binary numbers. Here we have some other fuels. Yup! It's such that the attendee and the Y errors
Stefan Krastanov: is the skips in this case just the short end for the eyes or yes, the skips are short hands for that for the eyes, and if it's a X and Z at the same time, those will be explicitly shown.
Stefan Krastanov: So again, this is literally the party check matrix over some different algebra, the the algebra of
Stefan Krastanov: I. X, Y. Z.
Stefan Krastanov: And they have multiplication rules, and they have additional rules, and we can write them down. But right now those won't be particularly instructive. Rather it would you? What rather I want to convey the intuition of
these
Stefan Krastanov: shit winter.
Stefan Krastanov: An X error is happened on on on certain cubits. So, for instance, if an X error happens on the first query.
Stefan Krastanov: This checker.
Stefan Krastanov: we'll detect it.
Stefan Krastanov: If the excel is on the second qubit.
Stefan Krastanov: this check will not detect it.
Stefan Krastanov: but this check will detect.
Stefan Krastanov: If an X here capital is on the first.
Stefan Krastanov: and for
Stefan Krastanov: this check will not detect it because it's it wraps around the the parity is back to 0,
Stefan Krastanov: but this will detect it because only one of its corresponding.
Stefan Krastanov: So there's a little bit of a confusion in our infrastructure here. The Z roles of the of the par to check the blow, check for x.
Stefan Krastanov: and extra also the power to check the blockchain for Z.
Stefan Krastanov: Let's say that it's because this is.
Stefan Krastanov: and so
Stefan Krastanov: an important feature that I haven't mentioned again. I'm. X er on this qubit I mentioned it's dictated by these guys.
Stefan Krastanov: but it's not detected by this guy, because in the language of
Stefan Krastanov: physics, 8 years commute with the X checks. So
Stefan Krastanov: once again this will be discussed in a more detail, actually on the third on on third week of the class, a lot of that algebra. Behind this, also the low level information to you and physics behind it will be explained
Stefan Krastanov: for the moment. I only want to convey this intuition of thinking of this as some alphabet over 4 letters with a particular
with our particular Mo rules for multiplication
questions up to here.
Stefan Krastanov: Okay, comments from some people that are frustrated by how I butchered they below subject.
Stefan Krastanov: Okay, then.
Stefan Krastanov: let's continue
Stefan Krastanov: One feature I want to
Stefan Krastanov: mentioned here is that every single call on every single qubit does belong to at least 2 chicks. It belongs to a check for a zer and a sorry a check Front X here, and belongs to to a chick for a z ear.
Stefan Krastanov: and that's important if we're if we want to be able to at the very least be able to fix any single qubit area
Stefan Krastanov: would probably need something a little bit. Behavior if we' to to protect against more. But that's the very bottom requirement.
Stefan Krastanov: Okay, so let's just define this. The blow and the word the blow is frequently used to to refer to
Stefan Krastanov: a matrix of these 4 letters.
Stefan Krastanov: Okay. So now we'll do the same thing. We'll do a lookup table for a quantum call, and we'll see which this particular content call is any good.
Stefan Krastanov: Oh, yeah, yeah, yeah, good point.
Stefan Krastanov: I kind of don't want you. But so why er as I mentioned, is they put on the from X and Z er having happened
Stefan Krastanov: so in the multiplication rules for this alphabet.
Stefan Krastanov: X times Y. That's right. X times z is equal to y up to
Stefan Krastanov: caveats, but we can take it, for this does equal for them.
Stefan Krastanov: If if we have the
Stefan Krastanov: why error having happened on this qubit.
Stefan Krastanov: then this check will detect it.
Stefan Krastanov: and this check will detect it.
Stefan Krastanov: So that's so. That's that would be our decoding procedure if we know that both of these, both this check
Stefan Krastanov: and this check were triggered. We know that it was a wide air.
Stefan Krastanov: does it? Thanks for the question.
Stefan Krastanov: Probably
Stefan Krastanov: there's only
Stefan Krastanov: you can do that. It's.
Stefan Krastanov: It's
Stefan Krastanov: for the vast majority of calls that people study to understand, because it's easier to construct it in that way.
There are no ways
Stefan Krastanov: again, purely by virtue of
Stefan Krastanov: it's being easier to construct it that way we'll we'll hear about the whole class of calls that inherently are are split between z's and exchange and don't have any y checks.
Stefan Krastanov: especially if you start with classical code. It's much easier to find 2 classical codes. Why did they get to the chase, and one they get to the Exchange, and they together checking for for wise.
Stefan Krastanov: Then to make one that has inherent wide wide checks.
Stefan Krastanov: However, nothing stops your from from tapping something out, casting your employ checks.
Stefan Krastanov: There are also some other features of this the blow that i'm
Stefan Krastanov: the skipping, while, for instance, a clarity-check matrix, the classical. It's fine.
Stefan Krastanov: There are some other algebraic properties that the quantum version. But the long history full field that I have skipped over. So it's actually a rather difficult to just generate a random to blow. Unlike the ease with which you can generate a random classical parity check. Matrix.
But
those, again are something that will be discussed by your phonics.
Stefan Krastanov: Okay.
Stefan Krastanov: thanks.
Stefan Krastanov: A. Why, chick.
Stefan Krastanov: I will be triggered by an X in the Z. But it won't be triggered by a y. So all these chicks
Stefan Krastanov: they get triggered by a a type of error that's not them, but they don't detect
Stefan Krastanov: themselves as a type of error. Again, this is very, very and way to statement, but it conveys the the multiplication table you have behind these calls. Why, that multiplication table is the one that matters through polymer correction is a a question that we have to discuss throughout all the semester.
Okay.
Don Towsley: I I have a question.
No, it you could just easily. It could have been z and wise right
Don Towsley: or
Don Towsley: Z. X's and Y's. Why do you have any idea why we've chosen this way.
Stefan Krastanov: I I think it's an accident of the Convention, because
Stefan Krastanov: the Z
Stefan Krastanov: is frequently represented as
Stefan Krastanov: wow.
Stefan Krastanov: 1 0, and that x is frequently represent this
0, one, or flip. This can be permitted.
and the Y is frequently represented us
Stefan Krastanov: sorry. Again, the same issue of
Stefan Krastanov: sensitive scroll back.
Stefan Krastanov: and the why is frequently represented as 1 one, and it's just a little bit preacher to be dealing with the the 1 0 0 one that's it. But nothing stops you from permuting this convention. It's somewhat historical.
Don Towsley: Okay? Then I just a related question from an engineering perspective.
Don Towsley: Could there be situations where you'd rather work with, let's say x and y, and not use Z's.
Stefan Krastanov: Yes, if you have an axes of your qubit that has some
Stefan Krastanov: physical meaning that's easier to to work with. For instance, there's some global magnetic field that was used to align things, and that access inherently has higher performance gates and so on. That will be special.
Stefan Krastanov: But instead of
Don Towsley: you would relabel that axis right?
Stefan Krastanov: That's a Z. And you'd be that
Don Towsley: right? Thanks.
Narayanan Rengaswamy: Yeah. Also, I guess. Like. So yeah, I mean the this binary representation of this 1 0, 0, 1 1. One also comes, I guess.
Narayanan Rengaswamy: from the fact that y is sort of defined as I times X Times, Z.
Narayanan Rengaswamy: So like, Somehow I think X and Z are just, have been considered like the primary basis. And then why is a combination of the 2, and that just reflects in this binary representation. So yeah, I guess I mean, I agree with Stefan that I think it's pretty much
Narayanan Rengaswamy: convention.
Stefan Krastanov: Another interesting point on the lines of what was just mentioned. If you just draw it on the on the axis, the the that the does your medical presentation of the qubit. There is a lot of
Stefan Krastanov: physics history behind how these were described, and so how access were chosen, and a lot of that arbitrary is is, comes from just what the first textbook on topic labeled as the main access for a certain qubit.
Stefan Krastanov: So yeah, I guess it's just repeating myself at this point.
Stefan Krastanov: Okay, so let's see how much time with your left.
Stefan Krastanov: Thank you.
Stefan Krastanov: Actually, it's been an hour now. So
Stefan Krastanov: any desire for breaks around don your opinion. Should we give them 5 min
in in the past? We've gone through.
Don Towsley: Okay? Well.
Stefan Krastanov: that's good.
Next time, green groups. Okay.
So
Stefan Krastanov: well, we'll do the same exercise with it previously. We'll make a lookup table for the this quantum type of calls.
Stefan Krastanov: and
Stefan Krastanov: we'll be creating a lookup table. And again we'll be taking a skeleton something that represents the code. And this is just the type of notation in this particular language, and stabilizer is just the name for this. The the blows. That's the library that's internal to them. His shows him
Stefan Krastanov: the name might be Mike, if you need to be better. But again, conventional, persist
Stefan Krastanov: and we're preparing.
Stefan Krastanov: and if you look up table, we're checking the size of the cold
Stefan Krastanov: we are putting down in the look of table down
Stefan Krastanov: trivial. The trivial case where the syndrome is all zeros. And so we're putting us that here that gives calls that trivial syndrome
Stefan Krastanov: we're putting in the
Stefan Krastanov: identity poly operate that. So now we need to talk a little bit about normally that you are here.
Stefan Krastanov: for the operator is the name for one of those letters I. X. Y. Z.
Stefan Krastanov: Again up to some caveats that we don't care about.
Stefan Krastanov: And why am I saying I am getting a 0 vector of multiple polio operators when I said, is the identity.
Stefan Krastanov: It's because when we there there a couple of different algebraic structures we're going to work with here when we're talking about those operators as
Stefan Krastanov: as an alphabet
Stefan Krastanov: over which, as a field or which we're building these parrot check matrices.
Stefan Krastanov: The 0 of that field
Stefan Krastanov: is
Stefan Krastanov: the identity operation. While we're talking about these objects as
Stefan Krastanov: as operations that are applied to the qubits as something that the physicist or an engineer will be discussing and trying to city, how they happen.
Stefan Krastanov: Well, it's.
Stefan Krastanov: And so
Stefan Krastanov: it's. It's just the
Stefan Krastanov: confusing on that. That will be popping up more and more as the class goes through.
Stefan Krastanov: Okay. So now we are trying to build up the some memo.
Stefan Krastanov: me most table, and also what we'll be doing is that we'll be doing it for every single bit the qubit we care about.
Every single one might get flipped.
Stefan Krastanov: and we'll be doing it for every single type of care we care about we can. We can have an X here or y or a 0.
Stefan Krastanov: We'll be
Stefan Krastanov: creating. That error
Stefan Krastanov: will be applying here and computing the syndrome, and that computation has something to do with the commutation relations of these poly operators. It is not to. It is equivalent to just counting these bits as we were doing it one or 2 sales above.
Stefan Krastanov: And again, why exactly come in communication? Why, Why, that number that you? Why, this language is being used will be discussed throughout the semester, especially in the
Stefan Krastanov: into it. Okay.
Stefan Krastanov: And we're adding this syndrome.
Stefan Krastanov: This list of failed checks to the table.
Stefan Krastanov: and we're returning to the table.
and we're creating the look of table, and let's see what happens. Let's see what we agree with that lookup table
Stefan Krastanov: to discuss that. I think I need to copy paste. The steamy call itself, so that we can compare the calls against the look at table we've got.
Stefan Krastanov: Okay.
Stefan Krastanov: so
Stefan Krastanov: let's see. We have
Stefan Krastanov: that
Stefan Krastanov: the syndrome of the when, when the first and the second, when the first and the second
Stefan Krastanov: bits of the syndrome are flipped when the first and the they can check are broken.
Stefan Krastanov: The local table is saying to us that we have
the
Stefan Krastanov: sure, the for
Stefan Krastanov: be experiencing an ex error. Let's just see what your that makes sense to us.
Stefan Krastanov: If the 4 bit first, second, third, 4 bit is the 4 bit experiences a mix er and nothing else.
Stefan Krastanov: This chain the first shape should be triggered, the second check should be triggered; the third take. Should not
Stefan Krastanov: this check is not triggered because some X cannot be taken next year.
Stefan Krastanov: This check is not triggered.
and the Shakespeare.
Stefan Krastanov: and we can go through the table and verify that it makes sense. It's hopefully making sense.
Stefan Krastanov: and we have one another simulation type of cold. It's.
Stefan Krastanov: The difference here is that we we generate the the error a little bit different. It's a different library call, because we need something that no represent all the operators. But internally it's again very similar. It's just shaking. That's
Stefan Krastanov: their error rates to checking around the number against the error rate. If they run, the number is smaller than the it's. This random area is contained in this.
Stefan Krastanov: In this
it's just
Stefan Krastanov: the particular library we use uses that that
Stefan Krastanov: we compute the center for that error. We get
Stefan Krastanov: out of the book of table, I guess, and we check whether that guess corresponds to the error that actually has happened.
Stefan Krastanov: and
Stefan Krastanov: seeing
same thing, we'll be checking for error rates between 0 and 10%,
Stefan Krastanov: and it will be evaluating the steam calls.
Stefan Krastanov: And so let me zoom in a bit.
Stefan Krastanov: and we see that very similar type of plots. But it seems in the quantum case, or at least for this particular quote. We've big things are quite a bit more sensitive indeed, for smaller rates we have, we have, after encoding and decoding. We have
Stefan Krastanov: air right after
better than not doing energy coding.
Stefan Krastanov: But as long as we get more than
Stefan Krastanov: 6% error, 5, 5, 6% error.
Stefan Krastanov: We actually do worse if we use the air.
Stefan Krastanov: And that's a feature of classical air conditioning, too. It's just that in classical operation Typically, we don't have much trouble being on the good side of this this intersection point.
Stefan Krastanov: and this intersection point frequently is called the threshold.
and why Sudo will discuss in the future. There is another thing called the threshold. They are closely related, and most people
Stefan Krastanov: use them interchangeably, and sticklers will make fun of you if you mix them up.
Stefan Krastanov: And again he we did have to choose an error model.
Stefan Krastanov: and if we look at the the
Stefan Krastanov: if we look at the call that we use for the error model.
We need to read the documentation of this of this function. But basically what's happening is that
Stefan Krastanov: we're generating a string of poly operators a single key with all the operators. The number of them is qubit we go through, and one for each qubit, and there is the over 3 chance
Stefan Krastanov: for a next year.
Independent.
Stefan Krastanov: I can depend on
Stefan Krastanov: same for it to be over 3 chance for a why error? And p over 3 chance for the error. So if we just actually let's just
Stefan Krastanov: run this
Stefan Krastanov: around them
Stefan Krastanov: all the
Stefan Krastanov: for
Stefan Krastanov: 4 qubits with the 0 point
Stefan Krastanov: to 100% chance
Stefan Krastanov: for
Stefan Krastanov: any one of these errors. We get the
Stefan Krastanov: a random string, and there is something about. So making sure that we don't have phases that's again, don't think that will be discussed in the future.
Stefan Krastanov: And again, this
Stefan Krastanov: my point is, we do need to choose an in your model, and it's possible that a realistic error model will be biased. You have way more X errors than 0, and that's actually frequently the case.
Stefan Krastanov: So you, as the designer of the code, probably would want to exploit knowledge about all the typical type of errors will be before you
Stefan Krastanov: start designing your call, or if you have a parameterized call for a family of calls, you might be able to fine tune the code so that it corresponds to the type of
Stefan Krastanov: noise mobile that you have in the actual system.
Stefan Krastanov: Okay.
Stefan Krastanov: yes, until the performance of this code increases. If we let's say the state you don't need to bit like one of those 3 errors.
Stefan Krastanov: I don't know. I don't know
Stefan Krastanov: you can run the experiment. You can change that. The area equals something something.
Stefan Krastanov: I don't have particular information about it. It's also a little bit difficult to phrase the question consistently, because
Stefan Krastanov: with respect to sound error, error, mobile, and you're changing, not just the parameter. How much er it happens. But you're all now also changing what types of errors your permit.
Stefan Krastanov: So it's difficult to for to compare apples to that point.
Don Towsley: Yeah, Stefan.
Don Towsley: before he asked the question. I was thinking also. So suppose I take X or say, with some probability, P.
Don Towsley: And I compare the performance with that of when it's just why errors with the same probability, P.
Don Towsley: And compare it to when it's the errors with the same probability. P.
Don Towsley: It seems like there's symmetry there right, they should have exactly the same performance
Stefan Krastanov: for this particular cold.
Stefan Krastanov: I
Stefan Krastanov: I don't think it's true in general
Don Towsley: right it should be for this one right
Stefan Krastanov: around. You might be better, but if you do
Narayanan Rengaswamy: so, I think I think it just depends on the distance of the code, and if there is any bias in the distance. So we haven't talked about distance just yet. So so. But basically distance is so. For for those who don't know what the distance of a code is
Narayanan Rengaswamy: so. The distance is just the number of cubic that the error needs to affect
Narayanan Rengaswamy: for the error to go undetected.
Narayanan Rengaswamy: meaning it's kind of like how how much the other has to affect for you to not even see it. So that's like the problematic errors which you can't even detect to the simple. So for this case, because the steam code has distance 3, you can prove that you can correct up to one error on any qubit.
Narayanan Rengaswamy: and that's why you see the symmetry for X, Y and Z. As long as it happens only on one qubit
Narayanan Rengaswamy: so. But some codes can be very asymmetric like. Later, in the course we'll talk about like large Ldp codes, where, like the x, distance and Z distance and y distance can be different in those cases the symmetry will not exist anymore. But
Narayanan Rengaswamy: yeah, up to up to the roughly the distance over to all errors are kind of symmetric.
Narayanan Rengaswamy: but in case one distance is higher than the other, then
Narayanan Rengaswamy: a certain set of certain type of errors
Narayanan Rengaswamy: can affect more qubits, and you can still fix them. But as for the other errors, you can only kind of come to the distance so
Narayanan Rengaswamy: hopefully that makes sense. Don.
Don Towsley: Thanks.
Stefan Krastanov: Speak of.
Stefan Krastanov: Oh, yeah.
Stefan Krastanov: So
Stefan Krastanov: is there an intuition on? Why, it's harder in the quantum case. Is it because of the size of the field you you're defining your algebra, and like in the classical you just have to right, and then you and have 4.
Stefan Krastanov: This is 0.
Stefan Krastanov: Any sort of
Stefan Krastanov: intuition
Stefan Krastanov: in that one.
Narayanan Rengaswamy: So so you mean Why, it's difficult to correct errors in quantum like. What do you mean.
Stefan Krastanov: or why it's more difficult.
Narayanan Rengaswamy: So yeah. So part of the reason is.
Narayanan Rengaswamy: I mean, I think you've pointed to pointer to that so classically we have these binary errors, and and so you have to correct a bit flips. But but keep in mind that, like not all classical channels, just flip it. So there is this binary symmetric channel which flips bits.
Narayanan Rengaswamy: But you can also have other channels like this Gaussian, my channel, where you you transmit your data as Bpsk symbols like plus one or minus one. And then the actual error is additive noise, which can add a real number from a Gaussian distribution or some other distribution depending on the Channel model.
Narayanan Rengaswamy: So in those cases, what you receive at the receiver is actually some real number.
Narayanan Rengaswamy: and then you have to build a decoder using those real numbers. So so performance of the of a code on on this Gaussian last channel can be quite different from the Flip Channel. So this
Narayanan Rengaswamy: also exist in the classical case, and there can also be other out of models like, Stefan said, that could be like burst errors like if it's like raining heavily. And you're transmitting data. It's very likely that a whole bunch of like 100 bits, like consecutive widths can go, and error
Narayanan Rengaswamy: in those cases you have to design the code differently. So there are those kind of things in the quantum case. Yes, you have 4 types of errors now depending on what channel model you look at. So that is this like independent X and Z error model.
Narayanan Rengaswamy: in which case there are no like correlations between X and 0. So Xr's affect cubic independently from the way Zr. Is effect in those cases you. If you use this kind of 2 classical codes to construct this quantum code, using X checks and Z checks.
Narayanan Rengaswamy: then you can run 2 independent decoders, one to correct the errors, and one to correct errors, and it would do just as well as you wanted to.
Narayanan Rengaswamy: whereas if the channel is actually introducing.
Narayanan Rengaswamy: I mean by correlation. I just mean, why is x times Z. So so anytime of wire that affects it's a combination of X and Z. So in those cases you can have X, z, and Y, and there is some probability, like Stephan showed like. Let's say you have this city pole rising channel, which means with probability, P. Over 3. You can have the zeros, and probably
Narayanan Rengaswamy: or 3 I can't have. Why, in those cases, if you can still construct codes which have Independent X and Z. Stabilizers.
Narayanan Rengaswamy: because, putting the syndrome together, you can still detect wires, but your decoder has to be clever than having independent X and Z or decoders.
Narayanan Rengaswamy: So in those cases you have to work over like a this Galba field of you know size 4. So you have to work with finite fields
Narayanan Rengaswamy: on 20 of 4, rather than just working with binary decoders. And people have looked at this, but just that the complexity grows a little more, because now you're working with a larger alphabet.
Narayanan Rengaswamy: And so there are problems around that. But yeah, so fundamentally, I guess you have these different kinds of errors.
Narayanan Rengaswamy: and we are still sticking to just these poly depolarizing kind of color buttons. But there are also other channels like the amplitude dumping channel, or like defacing channels. So, depending on these different channel models, you just have to come up with different decoders that are matched to the Channel model, to the code and to the other model. Yeah.
Stefan Krastanov: I see. Thank you.
Narayanan Rengaswamy: Yeah.
Michele Pacenti: Can you ask a question?
Stefan Krastanov: Go ahead.
Michele Pacenti: So are that situation where it's more interesting to design a code to protect, etc., more rather than zeros, I mean, is there of practical interest to build a/C. Measured codes?
Stefan Krastanov: Sorry.
Yeah, I was just saying Yes, so that that is this. The recent body of work that I showed that in many hardware platforms
like zeros, are more common than etc. So people
deliberately look at You know codes that are biased towards your collection.
Narayanan Rengaswamy: And so one kind of famous example now is this Xcx surface code.
Narayanan Rengaswamy: I think that would be actually a good paper for someone to read and present later. But but yes, so there are some nice models in such certain hardware platforms that people are
Narayanan Rengaswamy: figuring out by talking to the experimentalists, and
Narayanan Rengaswamy: and I think that as motivated kind of
Narayanan Rengaswamy: kind of some bias in the core constructions.
Michele Pacenti: Okay, thanks.
Narayanan Rengaswamy: Stephan. Just a quick point, so I need to drop up in about 5 min. I have.
Narayanan Rengaswamy: like a 20 min time conflict for.
Narayanan Rengaswamy: like Bi weekly, until, like they let savings start
Narayanan Rengaswamy: so, and and then, like this meeting, will move one or earlier for us. So then i'm good.
Narayanan Rengaswamy: But for now I have this conflict. So yeah, I I will drop off her
Narayanan Rengaswamy: at noon. Our time
Stefan Krastanov: sounds good. I'm now worried that they all be able to answer questions after that point.
Narayanan Rengaswamy: if it email me anyone.
Stefan Krastanov: So the question was, what are some of this generalizability of the Q. In case? So the question was, which are Some of this generalizes to queue this case.
Stefan Krastanov: for those that don't know this. It's a terrible name for a multi-level quantum systems, the the fun being that it's not queue bit for binary. It's cute bit for d-dimensional
Stefan Krastanov: and yes, a lot of this generalizes
Stefan Krastanov: that it is not uncommon to write down a
does that involve
Stefan Krastanov: higher order? Z. And X operators. But I personally have absolutely zoom experience.
Stefan Krastanov: And so then there's also some people, both zoning calls.
Stefan Krastanov: which is for
Stefan Krastanov: and calling quantum information, calling discrete quantum information into a continuous, infinite dimensional quantum system, like the chronic oscillator.
Stefan Krastanov: and
Stefan Krastanov: it will be nice if we get to cover some of this in the end of the class. If there are a couple of papers suggested for that.
Stefan Krastanov: it kind of depends on how the cost goes
any additions from online.
Narayanan Rengaswamy: Okay, I I just agree with what you said. Yeah.
go ahead.
Stefan Krastanov: Okay. So now we'll go through another quote and have a fairly popular call.
Stefan Krastanov: and it's not just to play with the second call. This one actually has some interesting
Stefan Krastanov: features that will be important to understand later on in the class
Stefan Krastanov: that make it differ from the standpoint. So this call is called the.
Stefan Krastanov: and both of those are just named after folks. If you want to meet Peter Short, you can go through one of his lectures in Boston.
Stefan Krastanov: and so
Stefan Krastanov: so what does it look like? Let's look at the
Stefan Krastanov: to an extent. This circle looks a little bit like missed it.
Stefan Krastanov: Repetition calls one repetition called for the
Stefan Krastanov: one repetition called for
Stefan Krastanov: z aired for it. Sorry one. I' for a
Stefan Krastanov: all 3 qubits. Then one repetition called for X errors on on
Stefan Krastanov: train. More qubits, then one repetition calls for X errors on 3 more cubs. Now you're left with
Stefan Krastanov: 9 cubits, and in tributes every single one of those 9 cubits is protected against X air. And now you take those
Stefan Krastanov: those 3 triplets, and you interpret them as something on which you want to protect against the errors. So you have finally a Z error repetition. Call. That's all that higher level. So you can see that here, actually
Stefan Krastanov: this small part of the the blow.
Stefan Krastanov: this these 2 chase. They're literally a repetition code for X errors on the first 3 qubits
Stefan Krastanov: same here for the next 3 qubit same here for the next 2 cubits. And this thing here, if you squint, and your colleagues. Later on we'll define mathematically what squint means here.
It looks like
Stefan Krastanov: a repetition called for the errors
Stefan Krastanov: of first checking the first 2 triplets and then checking the next 2 triplets.
Stefan Krastanov: Okay. And so
Stefan Krastanov: we built up the look of table for for this sharp calls we have the table. We will be evaluating it for some error rates. We get the pulse, Air correction, error rates, and we plot it. And
Stefan Krastanov: can someone tell me, how do they feel about this plot is this plot showing something good or something bad?
Stefan Krastanov: There you go.
Stefan Krastanov: Yeah, it's for any error, rate for any physical. As for any physical Eric by physical, I mean with the lower level the actual qubits.
Stefan Krastanov: The logical error rate is higher.
Stefan Krastanov: So it seems like this, called the way we tested. The release is definitely, very useless.
Stefan Krastanov: So what happened here? It's not that Peter sure was wrong. It was that we were checking whether the errors are correct in a rather naive way.
Stefan Krastanov: The call center
Stefan Krastanov: in the quantum set. It's perfectly feasible for
Stefan Krastanov: for
Stefan Krastanov: to in a quantum setup, it's perfectly feasible to have one error. You don't need to look at the screen. Nothing is with on it right now.
Stefan Krastanov: especially possible for one error to happen, but in sure it you we gave that error, you just comply it again. You apply the same flip. We already do that in the classical case. We know that there was bits here from the queue on bit 2, we just flip it again.
Stefan Krastanov: That works in the quantum case, too, if we can deduce exactly what the error was, we apply that same error. It flips back. Everything's fine. Okay, at least in the qubit case in the queue this case it might be a bit more complicated.
Stefan Krastanov: Oh, that's great.
Stefan Krastanov: but it's also possible in the common case, that you can have 2 different errors, 2 different qubits being flipped and cancel each other out, so the to to an extent that
Stefan Krastanov: cast something to do with the structure of States. We can explain, maybe, that it has something to do with with the the fact that the information is distributed for many cubits, and if you want to be one way, it's equivalent to affecting another qu, but in a different way. But the important thing is that
Stefan Krastanov: we don't need to correct by knowing exactly what error happened.
Stefan Krastanov: We just need to know an air in the equilibrium cost of errors.
Stefan Krastanov: And that's why we need to change.
shall we? Or
Stefan Krastanov: verifying our correction in the multicultural estimation?
Stefan Krastanov: If anything, look at people might work, it's just that we are too strange in the multi-communication. So just to go over that again. So here we have a fully operator, an air that flips along the Z axis, as here only on the first cubic, and we just check which which
parachute will be triggered by this
Stefan Krastanov: only the second to last party. Chick is not 0, only the second plus part is Jacqueline.
Stefan Krastanov: We do the same thing where we've half an error that zif lips
Stefan Krastanov: a 0 on the second qubit.
Stefan Krastanov: and again that that flips only the second to last check the same check as a previous one.
Stefan Krastanov: To an extent this has to do
Stefan Krastanov: with the structure of the code. We have here the fact that the Co. The first 3 qubits. We are now looking at them as a one holistic object that that is already protected against X errors. And now a second call is set up to protect against the
Stefan Krastanov: the errors. So it's not surprising that flip on the first, on the second qubit will have the very same effect.
Stefan Krastanov: The mathematical rigor behind this incredibly hand wave statements will come in a couple of weeks.
Stefan Krastanov: Okay.
Stefan Krastanov: And just to look at this again. Here we have flip on the first qubit multiplied by a slip on the second cube. So flip on the first 2 qubits on each one of the Z access.
Stefan Krastanov: That thing actually doesn't trigger any of the of the chicks.
Stefan Krastanov: More importantly.
Stefan Krastanov: it also doesn't flip the the logical operations. We'll define this in depth a little bit more later on. But in the classical case it was
Stefan Krastanov: feasible to find an error that's dazzling tree, or any of the chase.
Stefan Krastanov: But that is a near that's not the thing.
Stefan Krastanov: It's still a bad error in the quantum case we have this operation. Z.
Stefan Krastanov: And this operation is
something that is down on the bits.
Stefan Krastanov: But this operation not only doesn't tree or any of the checks it doesn't change the logical state.
Stefan Krastanov: This call to J. The generous call, and these do exist in the in the quantities.
Stefan Krastanov: So that's why we need to be a little bit more careful. And how we check.
Stefan Krastanov: You know, multi-colored and obviously which, more importantly, when you need to be aware of this feature, so that we can design that.
Stefan Krastanov: Okay, so
Stefan Krastanov: let's count this new function that will be evaluating the generate Call recorders.
Stefan Krastanov: Again, we're starting to
Stefan Krastanov: the the the law represents the stabilizer to we're representing the call, and we have a lookup table, and we have the error rate at which we'll be doing the
Stefan Krastanov: thanks.
Stefan Krastanov: Here
Stefan Krastanov: we extract the set of logical operations, the set of
Stefan Krastanov: of flips
Stefan Krastanov: that we response to
Stefan Krastanov: flipping the logical state of the
of the
Stefan Krastanov: of the code. For instance, if that was in the classical case.
Stefan Krastanov: What is the logical operation
Stefan Krastanov: for the repetition called the tribes? What is the what is the not operation, the logical not operation. In the classical case we have 0 0, 0,
Stefan Krastanov: and 1 1 one was the permitted homeworks, the the logical States.
Stefan Krastanov: the not operation, would correspond to
Stefan Krastanov: performing, and not all everyone, every single one of the physical bits. So logical not, is the product of 3 physical, not one after the other, on every single one of the bits.
Stefan Krastanov: In the classical case it's very problematic. If an error
happens to be a logical operation, because that cannot be the tick
Stefan Krastanov: in the quantum case. That's still the case. That's still an issue.
Stefan Krastanov: If a quantum error couples to be one of the logical operations that's approval.
Stefan Krastanov: But in the quantum case it's possible for an error to be
Stefan Krastanov: not detected by the by, the parity check matrix.
Stefan Krastanov: and to not be a logical operation to commute with all of those to an extent that's related to Again, the fact that we'll be acting on different qubits, but because they're entangled. Actually, one of the key bits is according to not actually on the other queue. So all of these errors
Stefan Krastanov: well errors we don't need to track it's more importantly, if one of those errors happens, and we predict that the other error
Stefan Krastanov: that's right.
Stefan Krastanov: If our
Stefan Krastanov: and our prediction is not the same error, but the product of those 2 errors is a to something that's not dictated by the syndrome, and not the logical operation that is fine.
Stefan Krastanov: and our multi cows simulator currently isn't checking for that our Monte Carlo, SIM, that we're on for exact prediction of the air which is on this unnecessarily stringent.
Stefan Krastanov: I have just some messages in the chat
Stefan Krastanov: is that?
Is that
Stefan Krastanov: here?
Stefan Krastanov: Okay, there's some nodding
Stefan Krastanov: for all this work. This will be discussed multiple times in the future, and the turn to Google for this is not the gender. Sorry it's degenerate calls.
Okay.
Stefan Krastanov: So what are we doing here? Well is instead of just having this set of chicks, we'll also have the set of logical operations. We we extract the with the synthesis of the.
Stefan Krastanov: and then we generate our error.
Stefan Krastanov: We get the scenario.
Stefan Krastanov: we get the guess, and then, instead of checking, which are the guests exactly equal to the air.
we.
Stefan Krastanov: the check is a little bit more complicated. Well, for instance, first we check that. The guess is not the word nothing. The guess is actually present in the look of table. If it's not present in the look of it. We just
Stefan Krastanov: yeah, Can I do anything?
Stefan Krastanov: Then we check that.
Stefan Krastanov: All of the the the guest types that error we take that
Stefan Krastanov: guest times ever this new operation, hope, homeless identity. But even if it's not like density, at least it's not something that's triggered by the Paris check matrices.
Stefan Krastanov: And finally, we similarly check that guest. Times error. So the our guest trying to invert the air, even if it's not exactly inverting it, it's at least something that that that commutes with the logical operations.
Stefan Krastanov: It's something that doesn't change the logical state of the of the
Stefan Krastanov: logical cute. And again, this is a feature of
Stefan Krastanov: they generate content.
Stefan Krastanov: and we have this function and we around the emulation.
Stefan Krastanov: And now it's a little bit better here at very low error rates. We do get to perform better than
Stefan Krastanov: okay. So we have 10 more minutes left.
Stefan Krastanov: and first i'll open up again for questions, and then i'll just briefly flash through a couple of other things that might be of interest in the future.
Stefan Krastanov: This is me opening a few questions. So
okay.
yeah.
Stefan Krastanov: I don't know. I don't have intuition about it.
Stefan Krastanov: I I actually I have intuition about it now, if you expect not to, because it's like such a waste. But I have no rigorous back me for that intuition. I you really don't know.
Stefan Krastanov: So
Stefan Krastanov: just folks online, if you cannot hear us. Well, I don't know the quality of this microphone, please. Right sort of mention, if it's not very clear what the Q. A. In the room is.
Stefan Krastanov: My question was gonna be like.
Stefan Krastanov: So now, logicals in in that degenerate who from the logicals
Stefan Krastanov: we'll be also like this in my table, right like it not; for, like whatever like the code and the logicals need to be together like.
Stefan Krastanov: Yes, yes, sorry, for if you are given a call
Stefan Krastanov: from that call you it's a linear it's a fairly straightforward in your logical operation to the use.
Stefan Krastanov: Will the logical operations look like that's the case both in the quantum and in the classical case, if you have the art check matrix, 1 1 0,
Stefan Krastanov: 0, 1 1.
Stefan Krastanov: This is the price chain matrix for the the for tricky. But for the 3 bits repetition called
Stefan Krastanov: basically you need you can out of that out of that. It's there's a linear algebra operation that lets you find what the logical operation is. So one is spread to the other.
Stefan Krastanov: What's that? What's your wrestling?
Stefan Krastanov: Yeah, I mean, in the sense of like when you wrote the code about
Stefan Krastanov: it, didn't it was just logical, Some text and of the table, but it like it never specifically said that this is related to like house for
Stefan Krastanov: reporting them. Work like that you have the
Stefan Krastanov: that's what I,
Stefan Krastanov: and so we want to do it for the
Stefan Krastanov: sure.
Stefan Krastanov: So there is a bunch of library functions here that have certain means, like the destabilizer. Part of the the blow is something that permits you to extract the
Stefan Krastanov: these objects, the mad behind this and these procedures, and where these names come from will be discussed during the class.
Stefan Krastanov: but if we just run it we do get
Stefan Krastanov: sounds straight for you about Your operation starts with the calls, the short call the the blow representing the short call. It gives you the 2 poly operations corresponding to the X and the Z. Logical.
sure
Stefan Krastanov: here
Stefan Krastanov: and there's only these this way of doing it.
Stefan Krastanov: What do you mean? I mean, could you have multiple operations that would give you the you or not?
Stefan Krastanov: I mean, there is a very straightforward example.
Stefan Krastanov: and pick one of the things that Don't commute with the logical operation they call the cold thing, that the the point was that it exists in degenerate courts, one of those 2
Stefan Krastanov: normally data operations that's not triggering the the parity checks, and it's not. It's commuting with the logical operations.
Stefan Krastanov: Well just multiply a logical operation by that. It's still the same logical operation even told the the the.
Stefan Krastanov: you know pattern. The letters will be different. The poly operator will be different. The physical poly operator is different. The logical
Stefan Krastanov: operation is still the same.
Stefan Krastanov: I I see their questions in the chat
Stefan Krastanov: always feel free to just voice them. I will read right now. If not
Stefan Krastanov: so, the question is, how will Steve Scope perform with the list stringent requirement? Using this in short scope Steve's called will perform the same. The basically it's in scope, Steve. This, the same call is not degenerate, so we already check
Stefan Krastanov: everything that we need to check for the steam call it's just that there are some calls that
have correction operations that they're not necessarily the same as the area that you can.
Stefan Krastanov: and for the same call there are no such. The January operations.
Stefan Krastanov: if I remember correctly, is this performance the same
Stefan Krastanov: between the 2 codes
Stefan Krastanov: I don't know. Let's try to pull them. Maybe I got them bones.
Stefan Krastanov: I forward it on the top.
Stefan Krastanov: I
Stefan Krastanov: i'll give you a notebook and your access to this, and you can plug in one over the other. I would be surprised if they are perfectly the same.
Stefan Krastanov: I don't do it. I I think this thing called cross around 0 Point 6. This one seems to be crossing around 0 Point 6. This one seems to be crossing around 0 point 0 4. But
both schools are extremely useful in interesting, and so on. For political reasons. They were the first ones that they discovered. It was a big deal that this is only possible.
Stefan Krastanov: They are terrible calls for any practical purposes.
Stefan Krastanov: Okay, anything else.
Don Towsley: Stefan. I have a question. How do they work? If you have other kinds of errors like maybe you have rotation errors or
Stefan Krastanov: yeah, some that's something that hopefully will cover in plus. But
Stefan Krastanov: most of the time the hope is that
Stefan Krastanov: your projection measurement
Stefan Krastanov: forces the rotation into being one of the other errors.
Stefan Krastanov: So because the the way your
Stefan Krastanov: you're performing the measurements
Stefan Krastanov: is to be measuring the Z basis or in the X basis. You're basically forcing your State even likely rotated state to be projected onto a mixture of of
Stefan Krastanov: no error or the error, even if there is a slight rotation. So here in there.
Stefan Krastanov: hopefully, your goal is to make them into this type of classical chance of some of of a complete Z air.
Stefan Krastanov: There is some caveats here about some issues with coherent errors, and there are some techniques to to to make what I said actually happen. But that's the overall idea.
Don Towsley: Thank you.
Stefan Krastanov: Projection forces them into either no rotation or a complete rotation.
Stefan Krastanov: I guess that's also more of a feature of quantum mechanics. So we might need to discuss this a little bit more in a class.
Stefan Krastanov: Okay. So I guess last thing I want to mention I mentioned, and so we won't scratch time to go over. It
Stefan Krastanov: is that all of this covers only
Stefan Krastanov: air correction in memory, or after transmission it doesn't cover the fact that the operations you use to perform air creation are themselves those themselves imperfect
Stefan Krastanov: on
Stefan Krastanov: on my classical computer. Usually your transistors are good enough that you don't need to accurate the transistor itself. You just integrate the memory rare, correct after transmission over over something.
Stefan Krastanov: if anything
Stefan Krastanov: in the fifties. It was a big question whether there's any chance that classical computation will ever work
Stefan Krastanov: because of this exact problem. There are people like your respective science scientists that we're saying, you'll never be able to build a scalable classical computer, because
Stefan Krastanov: noise just grows too fast. The classical computer just assumes that you have these perfect operations
Stefan Krastanov: on 9 one, and there is literally she stole some of those ideas, has a nice paper proving that you can build
Stefan Krastanov: resilient computational machine out of unreliable components. But again, that's actually measured for a couple of years. And then the transistors became so good that you didn't eat air correction running for the computation itself, integration was necessary only for the transmission or run storing memory.
Stefan Krastanov: So in the the name of the paper was really pretty back. Then they found the side of the vocabulary. It so. It was something about building resilient tomatoes south of well out of in perfect so similar what they were it it. It sounded very steam punk.
Stefan Krastanov: And so
Stefan Krastanov: obviously, since the
Stefan Krastanov: I don't know 85. When people started talking about potentially something like quantum computation.
Stefan Krastanov: good people keep being saying, you will never have function computers for exactly the same reason.
Stefan Krastanov: Very similar arguments theoretically exist. But, on the other hand, engineeringly, we're definitely, very far away from having
in the it's not as resilient as classical transistors.
Stefan Krastanov: so unlike our classical counterparts. We need to worry a lot about
Stefan Krastanov: not just your collection in memory, but what we call full tolerance, tolerance to faulty air correction procedures where the gates we're using for their creation itself.
Stefan Krastanov: my half ears.
Stefan Krastanov: and that's a whole
Stefan Krastanov: topic that we will be discussing as well, and there are some quick simulations of that towards the bottom of
Stefan Krastanov: this.
Stefan Krastanov: Here, where
Stefan Krastanov: the measurement of the of one of the chicks looks like this. This is the actual multiple circuit you need to implement.
Stefan Krastanov: The measurement of all the chicks looks like this. So you have to implement that circuit. You can not just say, I'm checking for communication. You need to run this on your front and computer.
Stefan Krastanov: And then, if you do that.
Stefan Krastanov: I don't have plots. But basically they're currently called this particular.
It's in feasible.
Okay? And with that we're all fine.
Stefan Krastanov: and i'll be around to a little bit more for questions, and so on. I'll leave the zoom room open for a few minutes. If you guys want to discuss between China or if you want to talk with us.
Stefan Krastanov: Well.
Stefan Krastanov: yeah.
Stefan Krastanov: yes.
Stefan Krastanov: you guys help forward back tomorrow.
Stefan Krastanov: I reacted.
Stefan Krastanov: That's right.
You all get
Stefan Krastanov: okay.
Stefan Krastanov: you know.
Stefan Krastanov: So it's it's.
Stefan Krastanov: Yeah.
Stefan Krastanov: Okay.
Stefan Krastanov: So
Stefan Krastanov: So this one.
Stefan Krastanov: Yeah.
Stefan Krastanov: Okay.
One.
Stefan Krastanov: The phone.
Stefan Krastanov: I:
Okay.