 So, this is the. So, what happens is that if you look at phase flips in the Fourier basis in this bit flip. So, V 1 on V naught, V naught will give you beta 1 and V 1 on beta 1 will give you beta, because it changes the time as a one month. So, that is the reason. So, you have flip flips and you have phase flips and in general a quantum flip can be either bit flip or a phase flip or flip. So, if you look in the classical case you can capture the error by one bit or another whether it has flipped off. In the quantum flip you can capture a quantum flip by two bits of information whether it is a bit flip or whether there is a case. So, that is the reason why intuitively why quantum error correction involves twice the number of bits. If you have want to design a quantum code with n bits then you have to look at two n bits classical code that is the intuitively. So, in the beginning of the talk I said that designing quantum codes of length n is essentially designing classical codes of length 2 n. The intuitive reason for this why this is true is the following. In the classical case if you want to capture an error you just need one bit of information whether the bit has flipped off. So, that is what in this quantum setting you need to know whether there is a bit flip or a phase flip or code. So, you need two bits of information that is why you need twice the length. So, it is a very very high level. So, question. So, I am trying to send you a vector and complex vector. And what you are saying there seems to be a complex vector will get transformed. By one of these. Right, but why will it not get to be slightly related? Ok, so the why so that is a good question actually. So, the point is it is true that any there can be any uniquely operator that could be uptight on that. But the whole point is it is sufficient to correct only you. So, when you design code you just need to design for the error. The reason for this is that if you look at all these operators we will use that set there are four of them right. They span the operator states that is the recent one. Any quantum operation there is there is something called a general quantum operation. It is called the business terminologies generalized measurement. So, such a thing. So, a bit can undergo such a transformation. It may not be just a unit transformation it can also be a kind of a system. The channel might just measure. So, all those things can be handled if you can handle it. How will measure be handled? It is a bit complicated right. So, if you are interested I can explain. So, behavior question is that it will actually go into a higher dimension also. So, one way of thinking about quantum errors are like this. But you have a system and there is an environment which you do not know. Now the quantum error can be thought of as a combined unitary operation on the environment and your state and your laboratory. But you have only access to the laboratory part. So, you have to do something called like tracing partial tracing. So, any quantum operation is essentially you there is a theorem which says. So, when you prepare a let us say an electron in one of these funny things. It can leak some information to the environment which is not accessible to the operation. So, that is the reason for errors. And all of this can be captured by handling only this kind of operation. So, what happens is that. These two operators do not commute right. So, they do not commute. If they commute then. Then the two end argument is more valid. So, how do you say you are going to do more. So, that is what you mean by that they define the space over transformation. Yeah. So, if they commute they would not because you can simultaneously diagonalize it. So, you cannot have all the operators. So, that is why I said this is just a high level reason for thinking about it. You have to handle one more thing which is that simplecy condition which is which I did which we have not reached. So, for us we can forget about quantum mechanics and we can just worry about only this kind of. So, this is a standard technique which one does in the Navigating code. 0 and 1 So, the number of points in your sample space is 2 power n. So, now if you want to capture that you need a vector space of dimension 2 power n. Because remember the dimension of the vector space is the number of points in your sample space. So, the way you capture n period system and independent period space for reading and vectors was this huge space. So, this is a space of 2 power n dimensions. And what is the basis that we are going to capture? It is k of x where x now is a bit value n bit value. And you can extend this these operators these operators are called while operators because you are going to capture it. So, you may apply it on x plus a now these are n bit vectors and you add by length of the vector. You can also define d v like this d v applies SPS because you can see think of these as order vectors. But how is what minus 1 in f 2? No. So, this is a complex vector. The net of x is a. So, the. It is an f 2 to the n. f 2 is only the index. So, f 2 is the index of the basis. The index of the basis. But this is a real. This is a real complex. So, this is complex 2 raise to n minus 1 dimension 6. 2 raise to n. 1 minus 1. Not minus not minus. Minus 0. No, why 0 0. 0 0 also is there. 0 0. 0 raise to n dimension complex. So, if you have a system of size n. Physically if you have a sample space of size n. The corresponding quantum object is a vector space of dimension n. So, 0 complex number multiply by a vector should get a 0 of this space. So, what is the 0 of this space? 0. No, these are the basis elements. These are the basis elements. So, they are 1 0 by definition. That is also a 1 of the basis elements. These are just the basis. So, now remember that here because minus 1 square is 1. This multiplication and addition is all over the exponent. So, how do we capture how many positions that has happened? It is using this hamming weight. The hamming weight of x is the set of all positions. The number of positions where x i is not specified. You can define hamming distance between x and y. And the number of positions where x i and y i are defined. These are, once you have the hamming weight, you can define hamming distance. See, one thing I want to say is that I keep using minus. Even though I am talking about x to n. The reason why I do this result is that 2 to minus and plus is the same. But all these results can be extended to any other unit. So, that is why I keep to using minus. So, now look at the classical channel. Sender sends x and the channel adds an energy. So, the receiver things that the Sender sends x. Now, if you want to know how many positions are not connected. So, the number of positions where ever has occurred is just the hamming weight now. So, if you look at this e vector. If e i is 0, that means that that bit has not been connected. If e i is 1, that means that that bit has not been connected. So, essentially the hamming weight captures how many errors has occurred in this particular time. See, the channel might add a different e on a different setting. So, the channel might add a different e. E is not fixed. If we knew what the e is, then we can always fix it. So, the channel might progressively choose some e at a certain time. And some at a certain time. So, x and e and all the vectors. X and e are all vectors in f to power x. Physical model for this, I mean in the classical thing, correction of one bit does not have any effect on the other. No, no, no, channel can conditionally fix it. It is up to the channel to decide how to say adversely. It might be a channel which will always correct the fifth bit. The 40 second bit is not such thing. It can have its own logic. This model is for. So far, I have talked about class. So, it does not allow this. So, the model right now. The e is something that the channel does. So, we do not know. As a sender, we see that. So, the e may be measure x and then decide. No, it might do the hard way. So, now I want to talk about point of errors. See, now point this. If I look at this while operator u and v. Now, if the peak of a as a 1, a 2, a 3, a b 1, b 2, a 3. Then, if a i is not 0, that means that the i x bit has been fixed. If b i is not 0, then that means that the phase of the i x bit has been fixed. So, when I want to count how many errors have occurred. I have to count the number of increases i where either of these is not 0. If one of them is not 0, then that means that that bit has been correct. Either by a bit slip or by a bit slip or by a bit slip. So, this is the right notion of hamming weight in this model. It is called the joint weight. The sense that because it measures which are positioned a i and b i. One of them is not. The quantum model, you can very simplify. You can simplify this quantum model as follows. The sender sends an arbitrary vector in that huge space. And the channel applies this operator u a v v on. The u a v v is not known to sender. It might differ on different angles of sending. And the number of errors is coming here. So, you see the quantum systems are bigger. So, the number of errors that happen in this transmission is essentially the joint weight, joint hamming weight of weights. So, the analog is exactly the same. So, what is classical, what is the code? It is just a subset of the code. And the distance is the minimum of the distance given anywhere between the code. It is not that. So, this subset is called a subset of code words. And the distance measures how would they code this? This is a standard theorem. If you have a distance of the code as d, then you can detect how to define the system. Again, the code is very simple. So, I will show this diagram. Imagine these black dots as code words. And if you correct this code by an error, which is of hamming weight less than d, then you will remain in the circuit. So, you will not detail its value score. So, all you need to check is whether the received word is a valid code word. Of course, this might not be the most effective word. And the other interesting thing is that, if the distance is middle enough because it is n p plus 1, then you can correct p a. Again, the code is not open. Take the code words and draw balls of the radius, hamming the radius p. Because the distance of this, any two code words is at least 1 meter long. None of these spheres is the same. So, there is no code word in the intersection of these. So, all you do is you do nearest neighbor decode. So, you have received this error in your code to find the nearest neighbor and just answer this. This is the first step. Now, I want to do essentially something like this. Now, remember that in quantum information, we should be talking about subspace. So, an n length code is nothing but a subspace of this. So, a classical code was a subset of f 2 power n. Now, an n length code is like this. So, now, this requires some quantum. If you have two states, p 1 and p 2, you can distinguish them physically. You can delete their auto. So, what? This is coming from the quantum. So, that means that what you want, if you take a valid code word, which is a vector, and you apply one of these errors, it should go to a vector which is orthogonal to the code word. So, this is the condition for distance. So, you can work with something slightly weaker, but I will just leave this as it is. So, once you define distance this way, then you can do exactly the same theorem, which you have for that. If you have a code of distance 3 minus 1 of distance v, then you can delete up to d minus 1 errors, and you can correct up to d minus 1. So, this theorem is, the quantum setting is called n left of theorem, but essentially the same theorem which you have provided to define the notions correctly, can you? If you look at arbitrary codes, just arbitrary substance, they are not two codes in the sense that, although they have good detection algorithm, they have a correction algorithm. They are very useful. So, you have to go over all the codes. So, that is not very nice. In the classical case, often what we talk about is, what is called as linear force. You do not take some sense. So, like this, can you go back? So, in that, orthogonality is nice. So, if it is not orthogonal, would it sort of go inside for a single basis or what happens? So, the point is that. There is some discreteness about this. So, if you look at this, if you look at this. Now, if you measure this, you will get 0 or 1 half problem. Same business. This happened to be orthogonal. Now, if you take this ket of 0. That is not orthogonal. So, if you, one simple way of thinking about it is, suppose you measure both of them. Then, if you measure ket of 0, you will always get 0. If you measure this, you might get 0. So, already you can see that they are not fully distinguishable. No, I agree. So, one thing is that, if this way we get side. If it is not orthogonal, what is it to see? Then, what is it? It lies within it. No, it can be yet an average. So, that is also not right. So, what is the relation between the relation metric and the Hamming distance? No, Hamming distance is defined only on this. Because we are not. See, the point is, ultimately I want to get rid of all this complex distance. I just want to get into high end. So, I can completely forget about all these Hermitian operators. But, how many do you have some? Yeah, you have any less product. So, that is the standard. It is not difficult. You need to set up the right. It is essentially the same proof. Now, that Hamming sphere and all means something different. So, as I said, general codes are complex. So, we look at. So, what are linear codes? They are subsets of f2 power n. So, now, classical. So, they are subspaces. So, one good thing about linear code is that you can very quickly present what are linear codes? By giving just the k basis n. You do not have to give all the 2 power k. You have a very efficient encoding algorithm. And you have an efficient error detection algorithm. So, of course, the integral in error correction is hard. But, the error detection is because these are linear subsets. It is described by a set of linear equations. So, you can just check whether the received word satisfies the linear equation. And that is very easy. That is called a constant. So, error detection is efficient. So, in this literature, you talk about n k d codes. N k d codes n has the length of the code k is the number of the dimension as a subspace of f2 power n. So, how do you interpret this? You can encode k bits using n The actual message is k bits. But, because you want to be resilient against error, you have to use n bits. So, the rate of the code is defined to be this fraction k by n which is always harder than n. So, if you choose n to be k to be n, that means that you really cannot do it here. So, the challenge is to come up with large rate and large distance codes. And you can convince yourself that both of them simultaneously cannot be involved. You should try to increase the rate the distance goes down. And you should try to increase the distance that the rate goes down. And you have to play with the case of the function. Depending on the time. This is like that. The distance was a base limit and the difference. You said the distance is a particular velocity of the distance. It is counted the number of zeroes. No, that is the hamming bit. So, distance was if you have x and y. The distance of those... So, what is the consequence? x and y will be about two and a single code. So, you take two different code words. Look at the distance between them. And minimize over all possible distinct codes. That is the distance of all. So, it is a function of the specific code. It is a function of the specific code. So, mm all distinct pairs of codes. Find the distance and find the number. In the case of linear code it is same as you look at all non-zero vectors. And look at the weight. The weight and the distance. In the case of linear code. So, we have large distances. That means that you can correct up to let us say d minus 1 by 2. So, the larger the distance, the better from the error correction. The more spread out the code like this. But then the point is that then the weight goes up. You have to be careful. The weight goes up. Weight is the... So, if the dimension of the bit is k, of the bit is k. That essentially means that you can encode k actual bits in n bits. So, that means that although you are sending n bits. You are only sending k bits of the body. That extra bit is only for error correction. So, of these n bits only k bits are useful in body. So, that is why it is for the k by n. So, that is actually the very careful solution. So, that is the related to the redundancy. See, it is redundancy. So, that is the n minus k by n. And minus k would be the redundant bit by n. But usually it is not like that. The redundancy is kind of distributed on the board itself. So, now the right motion for quantum linear... So, the linear codes are nice codes. At least up to error correction. So, what is the corresponding object in the quantum setting where there are all these stabilized codes? Okay. Why linear codes are so nice? Why do you want to go to a different world? I mean, the old set of linear and tactical linear. It is not there. Where are we going there? So, that can handle only classical error. Now, if you want to handle quantum error, you have to decide quantum... Why do I want to handle quantum errors? If you do not... If you do not want to... I mean, if you cannot handle... Let me put it there. If you cannot handle quantum errors, then forget about building quantum errors. Stop it. So, it is a proposition that you cannot take. That is the reason why you want quantum error. Without that, there could be some justification for moving the quantum stabilizer points. But we can get 1.5 times rate and... No, no. That is not true. Because in the quantum world, the kind of errors you have is much more. So, in fact, quantum codes have to be known. Let's see here. So, it is not that you can do better classical computation by using quantum. Well, quantum can be overloaded in many ways. Quantum can mean that you go down to the level where your subjects are not as well. So, that is already there. But what happens is in normal classical quantum mechanics, people try to avoid the quantum errors. They are not nice. But the point is, if you have computers designed with quantum mechanics in mind, then you can solve problems which are currently not possible. For example, you can factor a beam number. Provided you will take quantum. But the point is, if you want to build a general purpose question, do you better think this? I am sending quantum freedom. What am I going to send? You are sending one super problem. So, you will think of a very physical problem. Physically, for example, you generate a problem. Some source. So, you have to send a laser. So, you have to send n qubits. You send n laser pulses. Do I send n laser pulses or do I send 2 laser pulses? No, no, no. But each of these laser pulses can be in one of these. They can be up and down in this case. In this case, 4 laser pulses. So, if you are sending n n electrons, they can be in a superposition of up and down states. So, you are sending n n. I mean, real world, you cannot send n n. Some people ask me that am I So, that is why it is essential. So, that is the reason why. So, that is if you want to have a number and you want to read someone's name, then you better. So, how do you define this? So, this you define by talking about the ingredients of this. So, you take a subset of the white of it, while operator remember all the errors, take a subset of them and look at all the vectors which are stride towards this operator, which means that if you apply this operator, the vector remains. So, we can assume the set of some data, some science system. So, this is the interesting part. Every operator in S should come, if it does not tell the spaces, so this. So, what we want to construct is such a code. Why do we want to construct this code? Because they are the right generalization of the Indian code. So, we want to understand when those white of vectors come. So, you can see easily that the big commutes with this operator is, you can see if and only if this forms. So, a times those the right of big cancel c is it. This is a heading P into M. So, you think of this as the inner product of A n, this as the inner product of B n and there is a minor side here. Of course, in F2 it does not work. So, if you want to talk about commutations, this is a form that is important. And this is variable symbolically. So, this is a form which is active. So, what you can define. So, let me just think about what it says. Forget about now, you will create this. Just worry about F2. Think of vectors in the space. Now, we are working here. We define an inner product of B n. So, this is what I meant when I said that it is essentially classical code. So, if you are constructing a stabilizer code, what you want to come up with is a space S of F2 power n plus 2 power n. So, this is what I meant when I said that it is essentially classical code. So, if you are constructing a stabilizer code, what you want to come up with is a space S of F2 power n plus 2 power n plus 2 power n. But you also need this. So, this is the only extra thing that you need to come up with. So, let me summarize again with a diagram. So, you want to design an n state water method. How can you design it? You just design a classical linear code with 2 n bits and n minus k values. Except that you should make sure that the S that you construct is a stabilizer code. So, this is the only extra thing that you should come up with. So, you need 2 n bits and n minus k value. So, that is the only extra thing that you should come up with. So, the only extra thing that you should come up with is a постав데. So, I will give the name of the power stage. This is a bracket. So, So, the iso tropic condition comes because we need this . So, can that be stated as a condition of the classical code itself . Yeah, it is a conditional class. Remember, these are all operations on capital program. So, it is an inner product in class. So, yeah. So, yeah. So, this is a completely classical. So, I wasted out of the doubt. So, now, error correction property. So, when you want to talk about error correction property of S, what you should look for in the center of it is the set of all vectors in commutative. And it is essentially that this distance of the code is the weight of S bar. So, in the classical case, if you saw that if you have linear code, its weight will give you an error correction property, the distance of it. Here, you should look at something larger than that code, which is S bar. Remember that S commutes with itself, elements of S commutes with that code. So, S bar contains it. So, this should be as close to S as possible. No, no. We just want the distance of this to be large. So, whatever is the distance of this, this is also a classical code. No, this is the perfect, but S except with the member of S bar. Yeah, S is a subset of S bar because S commutes with itself. So, S bar is potentially larger. So, how it will turn out is that S will be of dimension n minus k for something. And S bar will be of dimension n minus n plus k. So, you have to look at the weight of this. So, let me give you an example. This is the classical CSS construction, which you start with your classical codes. And if you take S to be this, and you can show that it is, this will give you a code which is quantum code of length n, k1 minus k1, k1 to the dimension of c1, k2 to the dimension. And the minimum of the distance. So, this, one good thing about this construction is that if the codes that you are talking about, c2 and c1 are efficiently decoded, then the quantum code is also efficient. This is, so let me try to interpret this for you. You use seven quills to encode one quill. And you can direct up to one. So, how you do it is you use the having code. So, classical codes can give you one. The other way to think about this is that you take an extension of a quantity, and then think of a plus. So, this omega is a cube root of n. So, you, you set the number of vectors and then try to build a f4 code on n, and then hope that it will work. An example of this is a 512 code. So, it uses 5 qubits to encode one qubit and it can direct up to whatever. This is the best you can do, smallest code which can correct one. In the classical case, it is a repetition code, 313. Bottom case, it is 513. See, if I take 10 qubits, I start to play. Classical, I think we will talk about this cyclic codes, which are codes which, where you take the cyclic shift of a code one, you can capture this cyclic shift by putting on here. You think of this as a, then cyclic shift of a particular model. So, you can just, well, give it cyclic code, can be seen as a multiple of, multiple of gx. So, you can find a factor of x power n times n. How do we capture one of the cyclic codes? Essentially, the same thing, but now it has a second key of the a part and the b part. So, it becomes a condition of polynomial, a x times n x power n y and so on. So, this is like such a function. Can you write down it? Now, let me quickly go over the results. So, we are going to assume that length n divides 2 power 3 plus 1 or something. So, why it is not to make this assumption? Then, the thing is that my dynamism theorem, we can show that any polynomial f of x power n minus 1 will essentially be f of x power 3 power 3, which is f of x to the power 2. Dynamism theorem can prove this to be nice or the intermediate. So, the isographic condition then becomes a x times d x power 2 power 3 minus d x times c x power 2 power 3. This is a significant thing. So, the, for example, our results are following. Let us quickly go over this. If n divides 2 power 3 plus 1, then there are no f 4 linear cyclic codes. Remember, one way of constructing quantum codes is to look at f 4 and perfect codes over time. So, you cannot do it with a cyclic case. If n divides 2 power 3 plus 1, it is not possible. Now, such impossibility theorem in general are shown through some e-quad days, but this proof is essentially using value of n. So, essentially it uses the fact how to study the structure of these polynomials, how they factorize and all these things. It does not use any of these points. So, that is a very special condition. It is a structure. It has got to do with how this polynomial x power n minus 1 splits. So, this is not impossible. If t is n divides 2 power 3 plus 1, if n divides 2 power t plus 1, where t is an even number, then we do have linear codes and it is completely characterized as follows. The isotropic set that we are talking about are multiples of something which looks like this g x, g x is a polynomial over f 2 and h x omega is a polynomial over f 4. g x is a factor of this, which contains this and h x is a factor of the remaining. Instead of explaining this, let me look at the left hand. So, look at the polynomial x power 5 minus 1. Over f 2, it splits like this. It becomes x minus 1 times this polynomial. Over f 4, if this factor splits into 2 parts. Now, I choose g x to be x minus 1 and h x to be from the remaining. So, this have to conjugate factor. They have to conjugate in the sense that if I apply this providence. So, from these 2 factors, I should pick one and not pick them. So, this is any linear code should be left. So, I just came to the illustration while the exam board is on. The exam board is one of the test papers. How do we avoid the limitations of n divided by 2 minus 1? We look at codes which are not over f 4, but over f k. For example, 9, you see 9 is 2 power 3 plus 1. So, the 3 is odd. So, you cannot construct f 4 in a code. But, you manage to construct a 9, 3, 3 code. The theory is similar, but you have to work with higher expectations. Another important idea is that all these codes have efficient behavior. So, in this family, if you construct a code whether linear or not, they have efficient behavior. Quantum, quantum algorithms. So, they actually come from this bus, bus stands and putting algorithms for cycles. What is this? I cannot go into the details of this. So, I will just write this as an example. There are some non-stabilization codes also coming in one step. So, for that, we need to extend cycles in non-stabilization code. I just want to state this. Now, one thing I told you about is that I deal only with integers which are non-stabilization. How many such integers are there? So, I want to know. It turns out that if I restrict my attention to n and then I can show that a constant fraction of n will be equal to what is the sense that it will divide. The main idea of this is to use some non-quadratic bus. Some idea of how time surface will be cut in n. So, the proof is not very easy. So, it is just that I want to see that this limitation is not such a serious function. Divine n-length quantum code is essentially designed to run linear codes. So, this is one message that challenges lately what happened last week. Last thing that I want to say is that all that I said essentially generalizes over this is x3 or x5 or whatever. So, what I described is the joint-birth of my data sequence. In practice, at least I do not know of much application of non-linear codes. They are all linear codes like B-solving codes that we can see that they are linear codes or having code. Oh, yeah, that has a different theory. I am not that familiar with that. They are error correcting algorithms are different. They use something like that. Yeah, so these are things which actually can be, I think it can be developed. So, I am only worrying about block. All linear codes we can detect because it is just a check the syndrome. If it is non-zero that means that error has occurred. Yeah, so in quantum setting, it is easy to, so there is something called the phase finding algorithm. You can essentially use that to check whether error has occurred. So, in a stabilizer code, error detection is just as easy as. You need quantum algorithms, that is all. So, just two questions. So, one thing is that, so essentially that Frobenius comes from the analyzing Frobenius operating on the isotropic condition. Yeah, so that condition that. Yeah, so just applying the Frobenius and see what happens. That is essentially why we are following Frobenius. But Morphism, because these Frobenius Morphism's map these conjugate. To conjugate isotropic. That makes the isotropic convenience slightly easier to handle. So, that is well. And the second thing is that now in these cyclic codes, really came about because the implementation of the cyclic shape is easy in hardware. And so there is some physical motion why we consider cyclic code. So, is there the right shape or the left shape makes sense? I mean, what are the physical constraints of the quantum system or rather attribute features or bugs or whatever which may call different coding properties may become more easy and less easy. Yeah, so honestly I don't. But cyclic shift is not just if you have any electrons you just rename them. If you have any electrons coming like this just shift them. No, but that also means holding them and so on. Yeah, but the in the case of hardware and the normal buffer is very easy to implement the shift. You mean quantum work is our challenge. So, even the buffering is challenging. Yeah, because quantum memory are volatile. Correct. So, then in that case then the shift as a basis maybe you need more local I mean the mechanics of it may call for different activities in the program. Yeah, I don't really I can't So, the point is currently the situation is that quantum circuits are not the best we know is that 3 times 5 is a high problem. So, that is the kind of fact thing that we have done. So, I really don't know what is the solution for that. But I think in laser technology I have been talking to some in laser world some things are easy. But some things that we do in Fourier basically that is easy. I don't know the details. I really don't know. So, what is the what is the what is the main user. So, that is the fault problems. So, the error correcting itself is a quantum circuit which might be there. There are two areas. So, there are which essentially costs a good piece. So, I am not that familiar. Essentially what they say is that if you can bring the threshold of error below a constant some constant may be 1 by 1000. Then you can do piece of quantum. They use quantum errors like in books. In books. So, think condition that there is any benefit in the classical setting you can get better connection. I don't think so. I mean I don't think I don't think you can use quantum code as a as a quantum code. I don't think the kind of errors are this. No, but it is still a classical code. Right. See, for example, if you want to correct one error. The smallest classical code is a repetition. So, it won't be the smallest but any correction is easier. I don't think so. In the quantum setting you need at least 5 people. It is unlikely.