 Alright, so we've been looking at BCH codes, I should tell you what the expansion is, B stands for both, C stands for two three, H stands for one, okay, so what is the main idea in BCH code? The main idea is you define a paradigm check matrix, okay, so you define a paradigm check matrix of a GF2 param, so what's the crucial idea, what advantage it gives you is in GF2 param you have several elements for which you can take powers and get some non-trivial things essentially that is the code idea, right, you have alpha which is a primitive element of other n and then you can look at its square, its cube, it's up to some d minus one, for some non-trivial d you can do that and still you'll get distinct nice elements, in binary and all you have more such motion, you know, you need some motion like that to help you and that's what this does, this does, okay, so once you have those elements you can put it together in like the form I had for you, so what is the idea here, so you have to find an element beta in GF2 param, or the beta, that's how it's greater than or equal to n and then you define a paradigm check matrix in this form, okay, so if you want d is the desired distance, so I've designed minimum distance, so somebody calls you, I want a minimum distance of d and what do you do? First rule, you put one beta, beta squared, all the way to beta power minus one and the second rule, you put one beta squared, beta squared squared, all the way to beta squared, power one minus one, all the way to, all the way down to what, b minus one, okay, so that's the program, okay, and that gives you a paradigm check matrix, okay, so the only problem here is, now you're not going to allow your code words, okay, so one way of getting a binary code, so, okay, so let me rephrase what the question was, okay, so you define a paradigm check matrix over some GF2 param, but then you ultimately want a binary code because you're going to be dealing with bits all the time and you want to send bits or the seed bits or something in a communication application, you want bits, okay, so then the question is, how do you go to bits from GF2 param, okay, sorry, yeah, so there are various ways of doing it, but the first step, is to define this idea of a subfield subcode, there's also another way of doing it, that this, the first method that we'll see is the subfield subcode idea that gives you the notion of binary BCS codes, okay, so the binary BCS codes, you let the code be the set of all C and GF2 and sub-stack, which times C transpose will be, okay, remember which has elements over, over, GF2 param, okay, the only reason why this multiplication makes sense, why does fetch time C transpose makes sense, makes sense because GF2 is, is what, is the proper subfield of GF2 param, okay, so if GF2 is not a subfield, then you have no business asking for C from GF2M, okay, because it was a proper subfield of GF2 param, the multiplication makes sense and you can ask this question, but then, there may not be any code word in C, you know, how do you know that there is a, there's going to be a code word from only binary elements, which will satisfy this equation, okay, so of course there's one binary vector which will definitely satisfy this equation, what is that, okay, so you know, how is it as that, how do you know that there's anything more, okay, so you have to worry about that, so in other words, you have to find out the dimension of this code, of this binary code, okay, so the non-binary code, if I say, if I define a non-binary code with this, not necessarily binary code, okay, if I say, my code words can be from GF2 param, finding the dimension is easy, what would you do for finding the dimension, what would I do, I have to find the rank of this matrix, right, so what is the rank of this matrix, D minus 1, right, so if D is small enough, so on this point, in cases, it's going to be D minus 1, okay, so rank is D minus 1, I showed you how any D minus 1 column is linearly independent, so it's just like any D minus 1 column, that's going to be linearly independent, so rank is going to be D minus 1, it cannot be D, right, why can't the rank be D, only D minus 1 rows, so it cannot be greater than D minus 1, so rank is equal to D minus 1, that is going to easily see, that's for GF2 param, okay, so sum N minus k and from N minus k, you can find k very easily, but if you say, if you insist that the code words have to be binary, you cannot use rank output, that works only for the GF2 param, okay, so now you need more arguments, okay, so you have to somehow convert some equations to binary, okay, so I'm going to first tell you one direct way of doing it, but it won't give you very nice answers, and then we will use a smarter method, which will give you very good answers, okay, so what is the direct way of doing it, you look at the total digit matrix here, okay, so when I say h term C transpose is 0, what does it mean, the first row, let's move a fellow, okay, suppose I say C is C1, C2, or maybe C0, C1, okay, so it's a little better if I do that, I will go to C and minus 1, okay, the first row tells me what, C0 times 1 plus C1 times beta plus C2 times beta square, I will go to Cm minus 1 times beta power n minus 1 should be equal to 0, okay, so there's a subtle point here which I want to emphasize, you have to imagine C1, since you are multiplying by beta, C1 is actually a bit, so now you have to imagine that all these C0, C1, C1's are all belong to Gf2 power n, and even the multiplication makes sense, okay, so that is okay, Gf2 power n has a 0 and a 1, and you know it's a proper set P, you have to put a proper set P, that's it, what about this one, is that the binary one, okay, so you have to interpret that as the Gf2 power n1, okay, so remember that, that's a subtle point there which you should keep in mind, okay, so if you don't do that, it will not make sense, okay, so the reason is I'm going to add this to some beta, okay, only way you can add to beta is if you think of that also as a Gf2 power n element, okay, so that is one equation, okay, the first way gives you one equation in Gf2 power n, okay, you can now convert this into multiple binary equations, okay, so how do I do that, okay, I have to use the vector representation for the elements of Gf2 power n, okay, what do I know, I know that Gf2 power n has this representation, right, a 0 plus a 1 alpha plus, so on to a m minus 1 alpha power m minus 1 and a i's are binary, okay, I know this representation, okay, so what it means is every element here can be written as a m22 over Gf2, okay, not Gf2 power n, so each element has a representation as m length vector which is binary, okay, so now I can replace each of those elements with its m length binary equivalent and I will get m equations which are binary, okay, so how do I do that? Suppose I say, okay, suppose, so for one that is very clear, what is the m bit binary representation of 1, 1 fellow to l0, so beta I know it is not clear what it will be, so let me say for beta power i, the m bit representation is o 0 i plus over m i alpha plus 1 to a m minus 1 i alpha power m minus 1, okay, so let's, we can always find these bits and each of these things are belongs to Gf2, right, so I can do this, okay, so let this be so, okay, so now we will use this representation inside that equation, okay, then what happens, okay, so is that clear? So the first thing, C0 will be 0.11, let's keep it as itself, so C1 would be beta power 1, so that would be o 0 1 plus a 11 be alpha plus 1 to alpha power m minus 1, okay, then we have C2 times, is that clear? Is that okay? 1 plus 1 alpha, Cn minus 1 times, is that okay, equals what? 0, okay, so now I can group all the powers of alpha and I will get what? C0 plus what? C1 is 0 of 1 plus C2 is 0 of 2 plus 1 alpha, Cn minus 1 is 0 of 1 minus 1 plus C1 over m of 1 plus C2 over m of 2 plus 1 alpha, right, I'm just regrouping, I'm writing it column wise, right, so we get C1 just, I'll write one more expression just for completeness, it's going to be a 1 of 2, it's not a 1 of 2, it's a 2 of 1, sorry, is that okay? Times alpha squared plus 1 to, the last one we'll do up, C1 a m minus 1 1 plus 1, Cn minus 1 a m minus 1 minus 1, alpha power m minus 1 to be equal to 0, okay? Right, so what do we have left? So on the right hand side you have 0, on the left hand side you have some other elements from GS2 power m, so what should happen? Each of these factors which multiply 1 alpha, alpha squared and all should be 0, so from this one equation I will be getting m equations which are all binary now, okay, so remember each of these things are binary, okay? So let me write this once again, I had this one equation, I had this one equation which was C0 plus C2 times 1, C1 times beta plus C2 times beta squared plus 1 alpha, Cn minus 1 times beta power m minus 1 equals 0, okay, so this is over GS2 power m, I had this one equation. Now what I'm going to do is replace each element of GS2 power m by its equivalent m bit binary representation but in a column, okay, so I'll put it in a column, okay? Okay, so if I do that 1 plus 1, 1 followed by 0, what is the beta? A0 1, A1 1, An minus 1, what is it for beta squared? A0 2, A1 2, An minus 1, what is it for beta squared and minus 1? A0 n minus 1, A1 n minus 1, An minus 1, right? Now what can I do? I can write C transpose which is C0 C1 Cn minus 1 and that should be equal to how many 0s? Remember for 0 also I have to put this column with the equivalent and that is m0s, okay? So these are n equations over GS, okay? So that one equation over GS2 power m is equivalent to m different equations over GS2, okay? So that's a very straightforward result, okay? So now what I did for the first row I can do for the, for each of the other rows, right? So one more row where instead of 1 beta, beta squared and all I have 1 beta squared, beta squared, square, square, so on, okay? So now each of those elements are again elements of GS2 power m and once again replace each of them by m with equivalent so I'll get m other equations over GS2, okay? So what I can do is in my big parity check matrix here over GS2 power m, I can replace each element by its m with equal. If I do that what kind of parity check matrix do I get? I get a binary parity check matrix for a binary code and that is what we are looking for, okay? So the only problem here was it was a parity check matrix over GS2 power m but you want your code words to do binary so you can't use any of your rank ideas, okay? So what I'm going to do I'm going to go from GS2 power m parity check matrix to a GS2 parity check matrix. How do I do that? I replace each element here by its m with equivalent column weights, okay? And finally after I do all the replacement I still have the new matrix times c transpose to be equal to 0, okay? Now I can use my linear algebra ideas, find the rank of the binary matrix, okay? And that will be equal to n minus m and that gives me the diagonal. So that can be very nicely carried out of it, okay? So the general algorithm for any subfields of code is that, okay? So you look at the basic matrix over a higher field, replace each element by its m with equivalent and find the rank in binary. Okay, any questions? What d minus 1? You can put one after the other, everything together. No, this is one parity check matrix, one power. No, no, no, no. Okay, so I think I will make myself clear. So you replace this row by m equations. You replace this also with another m equations. So each of these you replace by m equations. So you get d minus 1 times m equations, okay? So after you do the replacement, the big matrix, binary matrix will have m times d minus 1 rows and n columns. Okay, you don't know if all of them are linearly independent though. So you have to do elimination, yes. Yeah, I will come to it. I will come to it. So she is making a point that all these rows may not be linearly independent, that's true. So you will see, you can quickly rule out some linear dependence. We will come to it later, but for now, the general method is that. So the linear dependence comes because of the specific structure of this matrix. If you had a more general matrix, you may not get it. This sort of thing. Here, okay, so I will make some comments on that part. Okay, so the question was, is there a better structure for this parity check matrix directly? We will come to it soon enough. Okay, so the method I described is definitely not the best method for this specific matrix. For this specific matrix, there are much smarter methods. Like I said, we will come to the smarter method next. So now I am trying to give you a method which is generic. For any arbitrary matrix over gf2 param, the method I am telling you will work. There's no problem. Okay, so don't worry about the beta, beta square and all that. So that is for a specific case. For this case, we have a simplifying method. We have a very simple method, much simpler method than this. We will come to that soon enough. At that point, you will get the answer to your question. Sorry, beta square is just useless. It's an additional condition. It's not really needed. Okay, so when we go to beta part 3, we will get good minimum distance. That's correct. But is this clear? Okay, this is the method for generally doing the subfield subcode idea. How do you find the dimension of the subfield subcode? Replace each element column wise and then find the rank of code. Okay, so that's good. Okay, so that's one method. But then, let's try to be a little bit smart. Okay? Let's try to be a little bit smart and see if we can come up with a more smart way of finding the dimension of the code. Okay, so is there a better method to find the dimension of the code? And that's what I'm going to describe here. Dimension of binary DC codes. What is this? What is the simple way to view it? And that suddenly will give you a different picture. So what I'm going to do is I will take a code word. And then this is a binary code word belonging to, let's say, this bch code. Okay, so for notation wise, I'm always going to fix this as my bch code. Okay, so this will be my bch code. And this will be my parabitchek matrix. I'm not going to repeat it every time. That's the way you see it. So this is my parabitchek matrix always. And that is my bch code. This is the definition of a bch code. Okay, so for this bch code, what we can do is view this code word as a polynomial. Remember, this is gf2n, belongs to gf2n. We view it as a polynomial. I will do the group as a polynomial. We will complete, okay, some x2 each side. One cn minus one x power n minus one. We view it as a polynomial which belongs to gf2a4, belongs to gf2x. So we can view it like that. It doesn't matter. It doesn't change anything. It makes no big difference. But now, look at the i-throw as a parabitchek matrix. What does it tell you? It tells you c0.1 plus c1 times beta power i. c2 times beta power i square. 400 cn minus one times beta power i. What should the power n minus one be? Zero. Okay. So now, you see any connection between this and the polynomial notation. i-throw basically tells you that any code word of my binary dcf4 has a root. What is that root? Beta power i. So basically, this tells you that beta power i is the root of cfx. Okay, remember once again, let me emphasize. cfx has binary coefficients. Beta power i is an element of gf2 power n. So what can I say immediately? All the conjugates of beta power i are also roots of the same cfx. Okay, so this one row of heads gives you as many roots as the conjugates of beta power n. Okay, for my binary code word cfx. Okay, right? So this beta power i being a root of cfx is very powerful. Okay, this root is in gf2 power n. And cfx is a binary polynomial. Okay, so you use all your notions of conjugates and you get very, very, very interesting results. So what it means is x plus beta power i provides cfx. Right? That we know. This only says beta power i is a root of cfx. But since cfx also has binary coefficients, you know that n beta power i affects. What is n beta power i affects? Minimum number of beta also divides. Okay, so that's because cfx has binary coefficients. Okay, and this guy has roots equal to the conjugacy class. I mean, the secure dynamic process of beta power i. So you have both beta power i and beta power 2 i. Okay, so you have all those. Yes. No, they have nothing to do with the group process. Yeah, not in the regressions. For one, they are not all of the same size. The word cyclotomic is very important. That's it. Okay. The partition. Okay, is that clear? Okay, so now our dch code is much clearer. Okay, so cfx belongs to the binary dch code. This is quite interesting. Cfx belongs to the binary dch code. Okay, one of the parameters for it. Lenten, design distance db. Okay, and then beta belonging to gfcode. Okay, so this belongs to the binary dch code. This one only is, what happens? Okay, what are all the factors of cfx? Okay, and beta power i of x divides cfx for what? i equals 1 to b minus 1. Okay, so remember, this one only is, why is it true the other way? The other way is obvious. Okay, so each of the mbeta of i of x divides cfx. Really all the beta power i of x, beta power i of x. So clearly h times c transpose will also be z. Okay, so this is just an only 4th way, it's true. Okay, so all the code words are multiples of mbeta i of x. Okay, so now from here you can conclude. Okay, so this, from this condition you can conclude. Okay, so lcn, for lcn, least common factor for what? mbeta power i of x for mbeta power i of x. That's true, what? That's true, right? Okay, so remember this is, this and only s. Okay, this and only s, the lcn of all these things divides cfx. You will get a code word of the binary dch code. Okay, so now I can write my binary dch code as following. So multiples of, multiples of what? Okay, so let me denote this polynomial of gfx, here lcn. All multiples of gfx would be, would be what? That's going to be equal to n minus 1. Okay, is that correct? Okay, remember gfx is a binary polynomial. Whatever been, been binary coefficients, right? That's correct, that's the important thing. This particular step between, from here to here is what? Here this gate has coefficients from gf2 power n. This gate has coefficients from gf2. Okay, and cfx also has coefficients from gf2. So you are in very, very familiar territory. Okay, when is the code word? Then when you have a code word of the binary dch code, then the minimal polynomials of beta power 1, beta power 2, all the way to beta power b minus 1 divides cfx, right? All these days are binary polynomials. So I can immediately conclude that the binary dch code itself basically contains the multiples of, multiples of the lcn. Okay, not all each of those things, but lcn is what we need. Okay, the reason is some of these two things might be the same. Okay, so then you can't just multiply them to take the lcn. Okay, is that clear? So this polynomial has a special name. It's called the generator polynomial for the dch code. Okay, so this guy is called the generator polynomial. Okay, so let me write this down in some more detail. I am going to say it's gfx. Okay, so suppose I say a degree of gfx equals some, I don't know, some, okay, so let's, let's say you compute this product, this lcn. You can do that, right? So a bunch of polynomials you can find the lcn. Okay, in fact, these polynomials lcn are very, very easy to find. I will work the lcn at all these things. The one that they're all irreducible, the only thing is they could be equal. Okay, so you just look at the distinct polynomials in these things and multiply them together, you get the lcn. It's very easy. There's no way one can divide the other, right? They're all irreducible. Okay, so you only have to look at the number of distinct polynomials here and multiply them together, you get that lcn. Okay, so the degree is very easy to find. Suppose degree is l, okay, right? Remember, this is a binary polynomial, degree is l. And I want mfx times gfx to have degree less than or equal to n minus 1. So what should mfx be? Any binary polynomial of degree n minus, yeah, l minus 1, right? And these n minus belong to gf2, okay? So I can take any binary polynomial of degree less than or equal to n minus l minus 1 and then multiply with this degree l, gfx. What will I get? I will get a code word of my binary BCH code. Okay, so how many code words are there in my binary BCH code? 2 power n minus l. 2 power n minus l. Okay, so the number of code words equals 2 power n minus l. So that means dimension is n minus degree of gfx. Okay, so from here we conclude that the dimension of binary BCH code is n minus degree f. Okay, so I guess that's an internal and an end result. So let me write it down separately. So gfx equals lc mf, mv bar of x, mv plus power of x, mv bar power b minus 1 of x. And then, dimension equals m minus degree of gfx. Alright, so k is the typical dimension of the dimension. So usually it will also say that the degree of the generator polynomial is n minus k. Okay, so that's also a common way of thinking about it. Okay, so for the specific case of the BC-Hedge parity check matrix, finding the dimension is quite easy. Okay, at least coming up with an algorithm of finding the dimension is not very hard. Right? So you know all the zeros, so to speak. Okay, so since this beta, beta square, beta dot b minus 1 are zeros of every code word, they're also called the zeros of the code. Okay, so this is all just jargon. So if you want more jargon, so beta, beta square, 400 beta dot b minus 1 is called zeros of each code word. Okay, so the reason is they are zeros at groups of every code word in the code, so they're also called the zeros of the code itself. Okay, so you take, so once you know the zeros of the code, you find the minimal polynomials of the zeros, take their lc m, you get the generator polynomial. Once you get the generator polynomial, it's very, very easy to find the code words. They're all multiples of the generator polynomial, but we should be less than or equal to l minus 1. So with your simple count, you see dimension becomes equal to n minus, if we have 3. Okay, so for the specific case of the dch code's quadratic check matrix, finding the subfield subfield dimension is quite easy. You can do it. But in general, it's not the same, right? So if you have a more general quadratic check matrix, you have to actually find the rank and all that, but it's also easy, not very hard. It's not so elegant and nice. Okay, so having the code, having the code being equal to multiples of a single polynomial is a very powerful and elegant idea. And the fact that every code word, every code word is characterized by roots. Every code word is characterized by roots is also a very elegant and powerful idea. Okay, so these are all quite important and nice. And it's very useful as we go along. Okay, so that's, that's it. So let's see some examples. Okay, so what I'm going to do is pick one equal to 15. And I'll take beta in gf16 being primitive. If I do that, what's the order of beta? Equals n, right? So it's equal to 15, so I can pick it. I can now define dch codes of length, sustain with beta as my basic primitive. Okay, so suppose I want d to be equal to 3. Okay, so 3 is some, one other correcting code, right? So I'll pick d equals 3. And what are the zeros? Beta, beta squared, right? So what is the gender of the polynomial? It's the LCM of the minimal polynomial of beta and the minimal polynomial of beta squared. Okay, beta and beta squared are actually conjugates, right? So they will have the same minimal polynomial. And what is the minimal polynomial? And that depends on what I pick it to be. So let's say I pick it to be x bar 4 plus x plus 1. It is equal to, like I said, LCM of minimal polynomial of beta and minimal polynomial of beta squared. Both of them are equal to this. Okay, so to get a d equals 3 code with n equals 15, we can simply take all multiples of 1 plus x plus x bar 4 at degree less than or equal to 14. Okay, take all possible polynomials and that will give you a degree, I mean, it will give you a code with n equals 15. What is k? See, degree of gfx is 4. So what is k? It has become 12. 11. 11, right? I don't know if that was subtraction or something like that. So it's n minus degree of gfx because gfx is 4, so it's 15 minus 4. So 15, 11, 3, what does this code remind you of? It's the Hamming code. It's equivalent to the Hamming code. Okay, so if you write down the Karibichik matrix for it, you're supposed to write down the Karibichik matrix for it. What do I get? Okay, it seems like there are two rows, right? The first row is 1 beta, beta squared is 42, beta squared is 14. But remember, the second row is completely dependent on the first row, right? So if I have cfx satisfying the first row, beta is the root of cfx, automatically that is guaranteed. Beta squared is also a root, so the second equation is also satisfied. The second equation is written, then I don't even have to write it, okay? So only the first equation is there. Now if I replay each of these by the column vector of length 4, what will I get? I get the Hamming code, right? So how do you define the Karibichik matrix for the Hamming code? You take all 4 bit vectors, now they're non-zero, put them next to each other. How many of them are there? 15 of them. And here also you will get 15 distinct non-zero 4 bit vectors. It's just to become in a different order, depending on how you do it. It won't be in the 0, 1, 1, 2, 3, 4 order. Okay, so it's equivalent to the, equivalent to the 15, 11, 3 Hamming code. Yeah, it's the same as that. All right? So what about b plus 5? We're going to have 2 vectors first, beta, beta squared, beta bar 3, beta bar 4, right? The 4 zeros. And where is dfx? It's going to be the LCM of the minimum polynomial of 3, 4. The 3 of them have the same minimal polynomial. What are the 3? Beta, beta squared and beta bar 4. They have the same minimal polynomial and that is say x bar 4 plus x plus 1. And then you have beta bar 3, which will have x bar 4 plus x bar 3 plus x bar 4 plus x bar 1. Okay? Which is the way you construct. Okay? So here we have x bar 4 plus x bar 1 times x bar 4 plus x bar 2 plus x bar 4 plus x bar 3. That's the LCM. So what is k? 7. Right? So if you do the parity check matrix here, you will get the first row. The second row I don't have to write. I'm going to write same as the second row. Only the third row has to be written. Beta bar 3, beta bar 3 squared, beta bar 3, that's 14. But I'm going to write the fourth row as well. Fourth row is already implied by the first or the second row. Okay? So it's enough. This is the parity check matrix 4. That's 15, 7, 5. So one more thing I have to say here. So here I can say 15, 7. I don't know the minimum distance is equal to 5. I can only say it's greater than or equal to 5. I don't know if it's equal to 5. I know it cannot be less than 5. It's greater than or equal to 5. In this case it turns out the minimum distance is equal to 5. That's a very quick way to prove it. How will I prove it? I have to produce a wait-side codeword. Okay? How do I produce a wait-side codeword? I'll try to do it. That one codeword is already here. What is that one codeword? GFX itself is one codeword. Okay? I think a codeword has also 12 moments. So we're all multiples of GFX. So if you see the codeword corresponding to GFX will have wait-side. Okay? I think that's true. You can multiply this out and check it if you like. Okay? So you see the codeword corresponding to this will have wait-side. So you can erase this here when I equal to and say that the minimum distance itself will be equal to 5 because I know that there's a codeword at wait-side. Is that okay? So this is 4B equals 5. Is that clear? Any questions? Something disturbing you? No? Okay, yes. Yeah. D equals A in the constriction. Yeah, yeah, yeah. So there you have D to be... So like I said, she's making a point that you don't have to go to D equals 3. Suppose I just say D equals 2. I'll get the same matrix and the minimum distance is 3. So in that case you're saying that the minimum distance the bound is only greater than 2. Better than I equal to 2 and in that case it's 3. So there are examples that you can do. Is that okay? Is it clear? So this is where we proceed. So let's proceed further and let's look at D equals 7. What happens here? D equals A, beta, beta square, beta power 3, beta power 4, beta power 5, beta power 6. Okay, and now what is G of X? Okay, so if we look at LCM of the... this thing. So it's going to be X power 4 plus X plus 1, which is basically the minimum polynomial of beta of X. Times X power 4 plus X power 3 plus X square plus X plus 1, which is the minimum polynomial of beta power 3 of X. And then you have what? X square plus X plus 1, which is the minimum polynomial of beta power 5. So the big news is what? 10. So we have K equals 5. Okay? So once again we have a 15 5. Today we're going to equal the 7 4. In fact I believe the minimum distance is equal to 7 here. But we need some moving. Okay, so we have to prove it. We're going to come up with a polynomial with a code word of 8 7 4. Okay? Is that okay? So the next thing would be say D equals 9 or so, but you won't get anything interesting here. So if you go to D equals 9, what happens first? You look at the zeroes, you have beta all the way through, beta power 8. Okay? And then if you look at G of X, we'll have M beta of X, which is deeply 4, times M beta power 3 of X, which is degree 4 again. Then M beta power 5 of X, which is degree 2. And then we'll have M beta power 7 of X, which is again degree 4. So the degree becomes 4 K. Okay? So K becomes 1. Okay? So in fact, what you'll get here is, if you multiply all this out, what will you get? Let me see. Who knows this? So multiply all this out, what will I get? It's going to be X power 13 plus X power 13 plus X power 12 all the way to 1. Why is that? Well, we'll do the same as X power 15 plus 1 divided by X plus 1. Right? You know X power 15 plus 1 is equal to X plus 1 times this. So this is going to be X power 13 plus, X power 13 plus 1 to X power 1 plus 1. So what is this code? It's the 15-1-15 repetition code. Okay? So that's why we start. Okay? So you get the repetition code, fine? Okay? So that is all that we get for M equals 15 with this beta. Okay? Couple of other things So in a way, this Hamming code is like it's like the how do I say it? It's like the mother code. Okay? The D equals 5 code is contained in the Hamming code. Am I right? The D equals 5 code is contained in the D equals 3 code. Is that correct? Right? Any code word of the D equals 5 code also satisfies the first one. So it should belong to the D equals 3 code. So the D equals 3 code is like the mother code. Okay? It contains every other subsequent higher minimum distance dph code. Okay? So it goes off in that way. So it's like for instance, D equals 7 code is contained in the D equals 5 code so it's also contained in the D equals 3 code. So you keep getting subcodes of larger and larger minimum distance as you go longer and longer and that's another point to keep in mind. So another way to prove that is you see that the gfx for D equals 3 will divide the gfx D equals 5. So if it's a multiple of gfx for D equals 5 it's also a multiple of gfx for D. So that's another way to check them. All right. So let's do one more example. Let me pick some posey and let's say n equals slightly larger. So let's say let's pick 63. That's an interesting number. So why am I picking n equals 63? Well it's 64 minus 1 and I can find the element of order at 63 very easily. So let me pick outside and gf64 which is primitive. So this also will play the role of my beta and the constriction. So suppose we're going to do D equals 1 and then D equals 3. Again you can look at the same kind of argument. The 0's is going to be where beta, beta squared okay and then gfx is going to be simply equal to the minimum number of beta fx. Okay. So I think I'm going back and forth with my alpha beta cell. Let me just let me just look at beta here. I'm getting confused. Okay. So gfx is n beta fx. What will be the degree of gfx? It's going to be 6. How do you check that it's 6? You have to do the the atomic concept modular 63 under multiplication by 2. Okay. So you start with 1 you go to 2 you go to 4 you go to 8 you go to 16 you go to 42 and you start there. Okay. So that gives you 6. So remember you can find the degree of minimal polynomials without explicitly knowing what the polynomial is. Okay. That's just by finding the secret under preset length. Okay. So that's 6 here. So from there you get K to be equal okay. So in this case I'll say you will get the Hamming code. The Hamming code will then equal 63 with exactly minimum distance 3 in some other other you will have to get it there's no problem there. If you go to be equal style likewise the 0's will be okay and gfx is going to be you can compute the degree of this guy that will also be 6. Okay. You can show degree of this is 6. This is also degree 6. Okay. So in general there seems to be a theme that is developing here. Okay. So it looks like so let me tell you what the theme is. Suppose you define p to be d minus 1 by 2. Okay. So I have d minus 1 0. It looks like I can do d minus 1 by 2. Okay. And then k will be okay. Let me put a question mark here. K is going to be n minus what the degree of gfx is going to be 3 times n what is this n? Right. That same m and then k is going to be n minus d. Okay. Right. But we cannot claim that very easily. Okay. So there is a problem there and you know you have to figure out the length of this epitomic question. Okay. So it may or may not be equal to m. The only thing we can say is degree of gfx is less than or equal to n. So k will be greater than or equal to n minus n. So we can say that we can bound it very easily with no problem but you cannot be sure that it will be equal. Okay. So what I want you to do is try this exercise now. Okay. What is the smallest value of d for n equals 63 for which this will be a strict inequality. Okay. So let me see we will do a few more computations. What is the smallest value of d? We had equal to d here. Right. So this is equal to n minus or I remember d equals 3 is d equals 1. Okay. 6 and 2 1. Right. This is equal to n minus 6 and 2 2. Okay. Right. Okay. I want to see what happens for d equals 7. So d equals 7 is d equals 3. I think you will get still k will be 3 times 6. Okay. Right. If you find the A7 equals a side what is side? So 10 20 40 80 is what? 80 is 17 24 68 is side. Okay. So this also is 6. What about d equals 9? I have to check for 7. Right. Am I right? 7 how do you get? 14 28 28, 56, is it right? 56 and then 12 we did this last time, no? 39, 35, right? This is also 6. So, here again K will be 63 minus 4 times 6, that's okay. So, let's do B equals 7, 10 equals 5. What do I have to check now? 9, right? 9. So, 9 will be not so much 18, 36, that's it. So, when you go to B equals 11, you will get K to be 63 minus 4 times 6 minus 3. So, K will become strictly greater than the bound that you... So, these are general results that you can prove. You look at this thing. In fact, there is a way to find that 9 will be the first problem case. What happened so far? Why was 9 a problem case? Think about it. 9 divided 63, okay? So, that means 9 can belong to some other smaller field. Once you go to some other smaller field, there is a problem. So, you can determine this. So, you can show that this will always happen. Yeah, 7 could have caused the problem. 7 happened to be a good case. 7 was not a problem crossing device. The reason is 7 does not quite belong to a field. See, 7 divides 63, but it is not... Am I right or am I wrong? I think I am wrong. So, the other way around, okay? So, 9 causes a problem, but there is a good reason for that, okay? So, you can prove this in general. In general, this will happen. Okay? For any n... So, the first few Bs will always get n minus mp, okay? That will always be the k. Definitely, there will be a point where it will be larger. That is where the first non-trivial psychophonic course goes, okay? So, this is a useful exercise. You can try it. But for some n, for instance, if you pick 1 equals to 1.7, okay? All of them will be n minus mp. Why is that? Okay, all the cytotomy course, it will have length 7. Because 127 is a prime number, okay? Nothing can divide it. Okay? 7 is also prime. So, there is no problem. Same thing happens with 32, for instance. 31 and side, they are not prime. So, there is no way anything like that. Okay? So, that is all it takes. Okay? So, n equals 127 will always have 8 equals n minus mp. It is 70, okay? This is it. So, these are some simple computations you can do to find the degree. So, one of the points I want to make here is, if you only want to find k, you do not have to do any financial elaboration. Yeah, the only thing you should know is this cytotomy course is size computation. This is not really a finite field doctor. It is simple numeric interpretation. You do that, you can find it. Okay? So, okay, so that is one point. The other point is, so even though h has, you have all these 1s and 1s beta, beta squared, all the way to beta for b minus 1, okay? All the d minus 1 rows are not fully independent. Okay? Only about p equals d minus 1 by 2 rows are usually independent. Okay? The usually is because there can be some weird things. But that will not happen in most cases. So, in most cases, you will have d minus 1 by 2 rows being really independent. What will those be? They will be the odd powers. Okay? It will be beta, beta power 3, beta power 5, beta power 7. All those things will usually be there. Only if you go to very small fields, you will have some trouble. Like when you go to very large p's, you will have some trouble with that. But usually, these rows will be nearly independent. Yes? Yeah, this is probably true. Oh, yeah, odd powers also d minus 1 by 2 is true, except there won't be the odd number of 1s. It could be something else. Okay? So, this is usually true. d minus 1 by 2 rows are being there. Okay? So, usually what happens is when people write down paradigm check matrix for dynamic DC. So, they won't even write the even parts. Because they know the even powers are just implied by the odd powers. They will only write the odd powers. Okay? So, it's very common to just drop the odd, even power 0s and only mention the odd power 0s for the binary DC. Okay? So, the next thing we're going to see is decoding. Okay? So, that's at the heart of it. And before that, I'll give you some examples. And then we'll try to do decoding. Okay? Some more examples next week. And then I'll tell it to you. So, I'll start here.