 And the last thing we were seeing we were looking at designing t error correcting bch codes. So this is what we saw in the last class. So I am just rephrasing it differently, in the last class I said you are going to look at block length being okay, am I having some real difficulty here okay. So I was saying n is going to be 2 power m minus 1, you have to select some m okay depending on what n you want you would select some m and then you would design so that the minimum distance is guaranteed to be 2t plus 1, I said equal to 2t plus 1 what can you actually guarantee greater than or equal to 2t plus 1 and they said in most cases of interest you would get the equals to 2t plus 1 and what did we say k is going to be again we had a bound which was greater than or equal to and as I said in many cases it is going to be equal but I will simply say greater than or equal to here n minus mt right. So I argued why from the parity check matrix you should get this okay. So and what was our parity check matrix I want to remind you once again of what it was square important okay so alpha, alpha squared all the way to alpha power n minus 1 what is alpha now okay so in this whole thing alpha belonging to f2 m f2 power m is a primitive element okay so all these things are all these things we saw so on the previous class and the next second row was 1 alpha squared alpha squared squared so on till alpha squared raise to the power n minus 1 you went all the way down to d minus 1 rows so on till alpha power d minus 1 raise to the power n minus 1 okay so I am going to keep a copy of this because I will need it sometime okay. So that is my parity check matrix okay so towards the end of last class I pointed out a couple of problems with this okay the first problem is not knowing k exactly right that was a bit of a problem but we have a good bound and maybe we are happy with it. The second problem was the only way we know how to encode and decode is using the binary parity check matrix which is not going to be very easy to implement when your blocking becomes very large okay so those two are significant problems that we still haven't tackled so if you remember a little while back a few lectures back I was saying we will solve all those problems we will solve first the problem of designing a parity check matrix with a specified minimum distance and then we will solve the problem of encoding and decoding efficiently okay so both all those things this the all those things can actually be solved using these BCH codes okay so it is not that they cannot be solved but we have to look at it little bit differently okay so this is the construction which is good enough because we are able to guarantee the minimum distance but we have to understand the code better we have to understand the code words better in order to be able to simplify encoding and decoding further okay so so the first process in understanding is so look try and prove a few properties for this code okay so some properties the first property which I think is very clear and which I have assumed without proof even in the discussion without even bringing it up with you is first thing is BCH codes are linear okay so again by just by definition this is true right when you one doesn't have to worry too much about it right and I only said all set of all vectors which satisfy HV transpose equals 0 if V1 satisfies V2 satisfies V1 plus V2 will also satisfy the decouple so it was very obvious that doesn't really require proof but it still looks good to write down that property okay BCH codes are linear the second property which is really the distinguishing property which gives you all the simplifications you need is the fact that BCH codes are cyclic okay so it's a slightly non-trivial property what do I mean by being cyclic if I have okay V0 V1 Vn-1 belongs to a BCH code okay then if this belongs to BCH code then let's say Vn-1 V0 V1 so on till Vn-2 which is actually what a right shift by right circular shift by one position also belongs to the BCH code okay so that's that's that's something that we that we can easily prove once again just based on the condition so what do I have to show to prove a statement like this yeah so I have to show that if the vector on the top V0 to Vn-1 satisfies HV transpose equals 0 then the circularly shifted version will also satisfy the same set of equations okay so how do you go about proving that it's very easy let's look at the ith row of H okay ith row of H is going to tell you V0 times 1 plus B1 times alpha power i plus V2 times alpha power i squared plus so on till Vn-1 times alpha power i raised to the power n minus 1 is 0 okay so what I'm going to do is I'm going to multiply this equation by alpha power i okay this entire equation you multiply by alpha power i okay so so you get the shift so you notice why I'm doing that so you get that shift very nicely so let me write that down with the shift V0 times alpha power i plus V1 times alpha power i squared plus so on till Vn-2 times alpha power i to the power n minus 1 okay I'm going to get equal to 0 here and then I would get a term Vn-1 times alpha power i whole thing raised to the power n okay so now there you see it becomes alpha power n okay what is alpha power n it's 1 okay right alpha is a primitive element it's got order 2 power m minus 1 okay n is 2 power m minus 1 so alpha power n becomes 1 so that will kind of switch back here so you would get Vn-1 plus this so you see readily if V0 through Vn-1 satisfies a particular parity check the shifted version will also satisfy the exact same parity check okay this happened because of various reasons okay so if you look at these equations closely it happened because each row was successive powers of alpha power i and also because n was chosen such that n minus 1 see alpha power n becomes 1 so n was chosen exactly to be the right value if you choose any lower value for n this will not rotate back okay so this happens very nicely because of that reason okay so I've shown this okay so I've shown cyclic property okay okay is that clear okay so now a few questions just to make sure the cyclic property sinks in okay if I now shift V0 through Vn-1 by say some arbitrary number of positions to the right two or twice thrice four times will it again belong to the same code word yeah I mean you can simply repeat the same property suppose I shift V0 through Vn-1 to the left by one position circularly shift will you still get it to belong to the code word yeah why was any left shift like shift is the same as a right circular shift n minus that many times okay so just by showing the simple property what I've actually shown is an arbitrary circular shift of a code word will still be a code okay so that follows just by this simple derivation okay just by this one fact all of those things okay such codes are said to be cyclic codes code which satisfies that property is said to be a cyclic code and therefore what I've shown here is BCH codes are cyclic okay so this is very very powerful okay so this seems like a very simple result but this is very very powerful and this is at the root of all the simplifications that are possible for the encoding at least so the decoding well again one can say this is the real reason but all the parity check matrix structure itself is enough for the decode okay any questions about the cyclic property okay so let's see let's let's take one example here to illustrate I'm going to pick t equals 1 n equals 7 okay okay so what's my parity check matrix first I have to come up with an alpha right I'm going to take alpha belonging to F8 being primitive okay right that's what I need to take then what's going to be my parity check matrix 1 alpha alpha squared alpha power 4 right what else what is alpha power 8 alpha belongs to F8 what is the order of alpha it's primitive alpha power 7 is 1 okay remember that's okay so alpha power 7 is 1 and maybe maybe I'll take alpha power 3 to be 1 plus alpha okay maybe I got it from that primitive polynomial okay then what is what do you get here alpha power 8 what would that be alpha really okay so alpha power 6 I'm sorry okay oh so I'm sorry I'm sorry I'm getting I'm getting confused here apologies for that okay so it's alpha power 5 so I need I need power 3 also I'm sorry I know why I'm writing all this it should be alpha power 3 alpha power 4 alpha power 5 I'm sorry for this alpha power 6 I don't have to write alpha power 7 okay so that's what I meant okay I was jumping ahead I don't have to write the second row okay so actually the second row also should be written no 1 alpha squared alpha power 4 okay so maybe I'll write the second row is always going to the second row already that's what happens when you see far into the future okay so what is the second row alpha squared alpha power 4 alpha power 6 alpha power 8 which is again alpha then you would get what alpha power 10 which is alpha power 3 okay alpha power 12 which is alpha power 5 okay but what do we know I don't have to write the second row okay so okay I don't have to write the second row because second row for the binary case is going to be linearly independent okay only for the binary case remember if I said non-binary or anything then things will change okay so I've said binary so second row doesn't have to be written okay so this need not be expanded okay and if you expand the first row what will you get okay so you have to figure out what the what the vector notation is right okay so let's do it I think it's a good exercise to do this okay let's do that find out the vector notation and then actually replace each of these columns each of these entries by the column vector and see what the binary version is for this paradigm okay so let's convert to binary here okay so if you want to think of the table right alpha power 3 is I said it's going to be 1 plus alpha and alpha for 4 becomes what 1 1 0 alpha power 5 is 1 1 1 1 what's alpha power 6 1 0 1 okay so that's my vector notation now if I replace this so I'll I'll write it as hb okay so just to say it's a binary parity check matrix okay I had I had one first so I guess I say 0 0 1 okay and then alpha which is 0 1 0 then alpha squared 1 0 0 okay then alpha power 3 0 1 1 then alpha power 4 1 1 0 alpha power 5 which is 1 1 1 then alpha power 6 which is 1 0 1 okay this is my binary parity check matrix okay okay so now here you can easily identify this code this is actually the 743 Hamming code okay 743 Hamming code but you notice these non-zero vectors have been arranged in a specific order right you have 1 2 4 and then you have 3 then you have 6 then you have 7 then you have 5 okay previously we were trying to arrange it just like 1 2 3 4 5 6 right 7 that's how we were trying to arrange but this specific order gives you an advantage what is it what is the advantage we came from bch codes and somehow we got this specific order so what does this mean this code is actually cyclic right cyclic or cyclic government whatever you want to call it okay so this becomes a cyclic code okay that is quite surprising right so what does this mean when you arrange the columns of the parity check matrix of the Hamming code in this order then if you list all the code words any cyclic shift of a code word is another code word what's the question not by looking at this parity check matrix how am I deciding it's a cyclic code because it's a bch code yeah I came from bch codes this 743 Hamming code I know it's a bch code so the effort is cyclic not saying just be looking at this parity checkmate it's a little bit more difficult than yes number of code words okay in the total number of code words is divisible by n factorial for what is n n is block length what is total number of code words I don't understand number of code words of the Hamming code is 16 16 is not divisible by 7 factorial what's the question oh no no it can you can have repetitions right it's a little bit more tricky than that okay so yeah so he's thinking the way he's thinking is he's saying you have a particular code word and you have n cyclic shifts of it not all n will be distinct first of all okay when will all n be distinct under what conditions on the original n bit vector will all cyclic shifts be distinct try to derive a condition it's a very interesting condition to derive okay so for instance if it's periodic if n is 10 and you have a period 2 for your sequence right only 2 will be distinct after that it won't be distinct okay so so what can you say so but period 2 is important but if the period is 3 what will happen okay when you have it you don't know okay so there is a nice condition that you can come up with all these things are very interesting problems to work on okay but anyway for us let's just accept that this is cyclic just because we came from the bch code okay so you can try to come up with all the 16 code words yes yeah it has to be well actually the second row is pointing out in this in this hb the second row is a cyclic shift of the first row right well shift to the shift one place to the left right but the third row is not okay cyclic shift to the right yeah that's true that's true yeah actually we will show eventually that that is also possible you can always have one row which when cyclically shifted will give you only set of linearly independent things all these things are nice it's good that you're foreseeing all these things okay so we'll probably prove all these things as we go along maybe quickly go through okay so if you're interested you should read some more detail about these things lots of interesting facts facts about cyclic codes which I'll probably skip completely in this class okay there's lots of interesting questions these things are connected connected in a very deep way to sequences from LSSRs and all that very nice very nice connections are there okay all right so let's come back to what is it that I was saying so this is a nice example you can do other examples more complicated examples if you want let me do let me do yeah so I think I think if you just do one more example you will probably see even even for n equals 15 you can do this you'll again get the hamming code 15 11 3 hamming code 40 equals 1 and you can try all these nice examples we'll get you some interesting information okay so that's uh that's an example to illustrate that okay so okay okay so that's one thing the other thing other property that I want to point out is well it's not really a property it's an interpretation of the bch code okay so it's useful to interpret interpret code words as polynomials okay so I'm not really motivated as to why you want to do it but it's it's good to it's good to look at code words as polynomials okay so particularly in the cyclic context it makes a lot of sense to do that but even otherwise if you look at code words of the bch codes are actually polynomials so far we've been looking at code words as vectors right if you look at them but if you look at them as polynomials suddenly you'll see there'll be a lots of there'll be lots of simplification to the way to understand them okay you'll understand the code words much better if you think of them as polynomials as opposed to just vectors okay so far we've been thinking of them as vectors which are which are being generated by some generator matrix or which satisfy some parity check matrix right if you start thinking of them as polynomials you'll see there's a very nice succinct wonderful description of what code words of the bch codes can be okay so let's let's try to do that so what am I saying if I have a code word C which is c0 c1 c2 so on till cn minus 1 belonging to a bch code let's say t error correcting bch code okay once again okay t error correcting bch code okay so so momentize give you give you these definitions you should immediately be able to construct the parity check matrix right n is going to be of some 2 power m minus 1 all that information I'm just masking it I don't want to repeat keep repeating that hopefully you can you can interpolate it I'm going to think of this code word as a polynomial I'm going to think of it as some c of x which is c0 plus c1 x plus c2 x squared plus so on till cn minus 1 x power n minus 1 okay so right now this x has no meaning you might say what's the big deal in thinking of it as a polynomial okay I was perfectly happy thinking of it as a vector this x is just some variable what am I doing with this x okay now if you look at each row of the parity check matrix and the condition that the vector satisfies you will see in terms of the polynomial it has a wonderfully simple interpretation okay so look at row i row i of h is telling you c0 plus c1 times alpha power i plus c2 times alpha power i squared plus so on till cn minus 1 times alpha power i raised to the power n minus 1 equals 0 okay so you can see immediately what's the connection between polynomial and the vector okay alpha power i is the root of the polynomial c of x okay so in terms of the polynomial instead of writing out this long row 1 alpha power i alpha power 2i at least at this point we can happily say c of alpha power i equals 0 right at least in terms of notation we have simplified instead of writing one major big expression as a parity check we can simply say c of x as a polynomial is a code word if and only if c of alpha power i is 0 for i equals 1 2 till d minus 1 okay so that's the that's the restatement of the parity check condition okay so this is an important result c of x belongs to the bch code okay again t are correcting bch code if and only if c of alpha power i equals 0 for i equals 1 2 till d minus 1 okay remember c of x is a polynomial of degree what polynomial of degree less than or equal to n minus 1 okay and what else can I say about this polynomial about the coefficients of this polynomial they all have to be binary okay binary coefficients okay both these things were implied in the way I defined the way I converted from vector to polynomial okay just by that conversion I will get only polynomials of degree less than or equal to n minus 1 and I will definitely have only binary coefficients okay so so this set of polynomials polynomials of degree less than or equal to 1 with n minus 1 with binary coefficients we've already seen this before in a slightly different way right where did we see such set of polynomials when we actually constricted fields okay we were looking at polynomials similar polynomials add a notation did I have a notation for this what what was my notation for this maybe I didn't have a notation for this okay so but for polynomials with binary coefficients I might have had a notation maybe I didn't have a notation f2x right f2x was my notation but I want to additionally have degree less than or equal to n minus 1 okay so keep that in mind okay so that's the that's the first thing I wanted to tell you okay so let's let's try to rephrase this a little bit differently okay so now I know alpha power i has to be a root of c of x okay so now now I will use some knowledge of polynomial division okay so if you remember I don't know if I did this formally in this class but if you have two polynomials a of x and b of x I can divide a of x by b of x and get a quotient and a reminder I think I did this right when I did finite field construction I can do this I did this but this is slightly different from that okay so what I'm going to say is I'll rephrase this I'll say c of x belongs to the bch code if and only if okay so it's because c of alpha is 0 I can say x minus alpha power i should what should divide c of x for i equals 1 2 b minus 1 can I say that okay remember again c of x should should should come from here it's it cannot have non-binary coefficients okay so it's very important you cannot have non-binary coefficients should have only binary coefficients and it should have x minus alpha power i as a factor okay so now the next step is if you notice x minus alpha and x minus alpha squared do not really have any common factors they're all linear polynomials okay so if x minus alpha divides and x minus alpha square divides okay you can conclude what x minus alpha times x minus alpha square will have to divide the same polynomial okay they don't have anything in common okay it's like saying two divides the number and three divides the number which means six will have to divide that number there's no choice okay so from there you can further simplify okay c of x belongs to the bch code if and only if x minus alpha times x minus alpha squared so on till x minus alpha power what okay I'll say 2t okay d minus 1 or 2t divides c of x okay okay is that clear okay but this is a curious division even the previous division was curious somebody must have asked me this question okay on the right I have a polynomial with binary coefficients on the left I have a polynomial with coefficients from where f2 power m okay of course if you multiply and simplify there is no reason why the left hand side should have only binary coefficients it'll have alpha and all the all those things will be there okay this is the polynomial with coefficients from f2 power m can I do this division how will I do this yeah exactly because I know binary numbers 0 and 1 already belong to f2 power m so I can imagine all my coefficients coming from f2 power m and dividing I can always do it okay I'll get a reminder I'll get the quotient everything will do a quote fine okay so this division is a little bit more confusing than your regular division but it can be done okay so let me take this example of the 743 Hamming code let's look at some code words let's illustrate this division and we'll see how it works okay that's the next thing I'm going to do okay the example is the 743 Hamming code okay so if you remember the parity check matrix okay let me reproduce this to the best of my memory 1 0 0 what did I have next 0 1 1 1 1 0 1 1 1 and 1 0 1 okay so it's easy for us to produce code words from this right once I have this I will take I will take what I'll take this to be my message part and I'll take this to be my parity part okay so once I do that it's very easy for me to come up with code words if I give you an arbitrary message you can easily come up with the code words right the I part should correspond to well this is not really the I this is I kind of but it's okay we'll just keep it it's not a big deal right you can easily compute the parity part corresponding to that suppose I say my code message is 0 0 1 1 what are the parities what's this parity the first parity here 0 okay what's the next parity so I can see a lot of people struggling with this this is one of the easiest computations you can do in this course okay see how do I get this first bit here how do I get that bit suppose I call it p2 okay so p0 p1 p2 how do I get this p2 it's actually the message dot product with what 0 1 1 1 right do you see that so that's a quick way of doing it okay you don't have to do a lot of computation so you just put the message there take a dot product with that so all you have to do is take a dot product we'll quickly get the answer okay so that's a very easy computation to do okay so likewise what should this be what will be p1 for p1 I'll use the second row okay what is that 1 okay what about p p0 0 okay do you agree okay is that clear okay so what is this is my some arbitrary code word I know it's a code word okay now I'm going to convert this to c of x what is c of x now there's no alpha okay x plus x power 5 plus x power 6 do you agree okay already you see the advantage of the polynomial right you just write three terms as opposed to writing a whole bunch of zeros it's a very sparse way of writing a large vector okay x plus x power 5 plus x power 6 okay so what am I saying okay let me go back and copy and paste my nice little table I had for a fade okay all right so that's my table okay I want you to try this division I think it's an interesting division to try what do I know first of all I know c of okay first let's evaluate c of alpha okay just to check that that works out what's c of alpha I know c of alpha has to be 0 right c of alpha and c of alpha square have to be 0 right this is t equals 1 which means d equals 3 2 t is 4 2 okay alpha and alpha square have to be roots of c of x try to evaluate c of alpha what do you get alpha plus alpha power 5 plus alpha power 6 that would be okay it works out to 0 right do you agree okay do this computation and the next thing is c of alpha squared what is this alpha squared plus alpha power 10 which is alpha power 3 and alpha power 12 which is alpha power 5 this also should evaluate to 0 okay so we have checked that okay okay so from what else did I conclude I said x plus alpha times x plus alpha square has to divide c of x first let's compute this what is this x squared plus what's the coefficient of x alpha plus alpha squared times x plus alpha power 3 okay so maybe you want to simplify this you get x squared plus what alpha power 4 x plus alpha power 3 okay are you wondering about minus and plus yeah minus and plus is okay okay so it's all characteristic 2 remember f f 8 is also a characteristic 2 feel so minus alpha something same as plus alpha okay so minus and plus are the same in characteristic 2 so no need to worry about that okay all right okay so you have to divide c of x by this polynomial I think it's a good exercise please try it convince yourself that you get zero reminder okay so how would you divide it you would put x bar 6 plus x bar 5 plus x here then you would put x squared plus alpha power 4 x plus alpha power 3 here and then you would divide okay so here you would get x power 4 okay just just go about doing the division the exact same way you would do regular long division you'll see the finally the reminder will be 0 okay it has to be 0 of course if it's not 0 then so many other things are wrong yes it has to be 0 okay is that clear okay so it works out in this case and it would work out in every other case as well okay but in this case I want to point out one more thing okay okay so maybe you okay if you're trying to do the division do it later when you have time yes you can do the division later come to this but one more thing I want to point out c of alpha is 0 will immediately imply c of alpha square is also 0 why yeah see squaring will be a right do you see that if you have any polynomial with binary coefficients if c of alpha is 0 c of alpha square will also be 0 c of alpha power 4 will also be 0 okay so if you keep on squaring a root you will keep getting other roots just because the coefficients are binary the coefficients are not binary you can't do that coefficients of c of x are binary so if I keep squaring the roots I'll keep getting other roots okay so that is something so I don't even really have to check for alpha square okay it's enough if I check for alpha you know once c of alpha is 0 alpha square has to be 0 you can try alpha power 4 even that will have to be 0 okay there is no other way of getting around that okay so you have to have all those things becoming 0 okay so I can give you more examples but this is the this is what I meant by the third property the advantage of viewing it not the advantage the equivalence of viewing code words as polynomials and what advantage that it could give presumably okay okay so now let's go back and look at this look at this other property once again okay so let me go back to this property I said if you have a t error correcting bch code x plus alpha times x plus alpha square so until x plus alpha part 2t divides c of x okay c of x is in a bch code t error correcting okay so this is what I've illustrated also this is a general result it's easily okay so another way of viewing this is so I always said c of x is a code word if this is satisfied but what's interesting is the inverse inverse problem right can I come up with code words very quickly okay if if I have to do that what should I do I have to come up with multiples of this polynomial okay so this polynomial here okay so the way you suppose I call this f of x okay if this polynomial if I call it f of x any c of x is a multiple of f of x what about the opposite of this is the converse is true is it if if I have a multiple of f of x do I have a code word of the bch code can I say the opposite yeah there's a problem there okay but the opposite is not true any multiple of f of x is not a code word because a multiple may not have binary coefficients that's the problem to say the reverse I need this additional complexity of having binary coefficients which is not just guaranteed by being a multiple okay what do I mean by saying multiple of this f of x I can multiply f of x by any polynomial with coefficients from f 2 power m okay I'll I'll still get a multiple there's no problem okay but that may not be a but may not have binary coefficients in fact f of x itself may not be a code word okay so going back here requires additional conditions okay why because need you need binary coefficients okay so that's important okay it's an important important point for instance f of x itself as we saw on the previous example what was f of x in the previous example it had non-binary coefficients so that itself will not be a code word okay so you need two conditions to generate code words of a bch code first condition is it needs to be a multiple of x plus alpha through x plus alpha power 2t that should be there on top of that it should have binary coefficients okay so one might ask come in why will you have binary coefficient it looks like an ugly polynomial right x plus alpha x plus alpha but 2t there's so many alphas will you will you ever have a binary coefficients for any multiple of this is the first question that you might ask okay so we have to first solve that question and of course we know it has right the previous example I showed you a lot of lot of code words for the Hamming code how many code words do we have 16 code words okay so there are a lot of code words it's possible they do exist and that will take us to studying polynomials with binary coefficients which have alpha as a root okay so that's where the definition of minimal polynomials and all these things come in okay so that's the next the next thing notion of minimal polynomial okay so you see the need for such a such a definition okay I'm not just happy about any polynomial which has alpha as a root okay if you only want alpha as a root for a polynomial all I have to do is take multiples of x plus alpha any multiple of x plus alpha will have a well have alpha as a root that's not the only thing I want I want alpha as a root on top of that I want binary coefficients okay so that's where that's what motivates this definition it's got it's got a lot of deeper meaning in field theory as well this notion of minimal polynomials but we'll see it just in this context okay if you have alpha belonging to f2 power m okay minimal polynomial of alpha alpha is the least I'm sorry oh well no I think I'll I'll keep it as a general okay so since he's saying alpha is primitive I'll say beta okay some arbitrary element of the finite field f2 power m minimal polynomial of beta okay it could be primitive it could be non-primitive minimal polynomial beta is the least degree polynomial least degree binary polynomial okay what do we mean by binary polynomial polynomial with binary coefficients with alpha as a root with beta as a root okay so that's the definition for a minimal polynomial for an element of a finite field you see the relevance of this okay you'll see this will nicely tie up with coming up with code words of the bch code and this will solve this is instrumental in solving the problem of encoding of bch codes okay definition a definition of this form okay the first question you should ask is I've said it's the polynomial of least degree first of all is there any polynomial with binary coefficients which will have beta as a root that's the first question you should ask if there is no polynomial then of course there cannot be a polynomial of least degree okay but there's always some polynomial okay suppose if I take n equals 2 power m minus 1 what do I know about the multiplicative order of beta okay suppose I say if beta is 0 then there is no real problem suppose I have beta belonging to f2 m 2 power m star okay then okay beta the order is what order of beta divides what divides n which is 2 power n minus 1 m minus 1 right so which means what beta to the power n will be what has to be 1 okay right n is a multiple of the order okay so I can write n as order times some other integer so beta power order of beta it will become 1 okay so that implies beta is a root of what x power n plus 1 and this guy is a binary polynomial okay this is f2x okay so I definitely know for every element of the finite field there is at least one polynomial with binary coefficient which has beta as the root that element as the root so now I'm justified in saying what is the smallest degree polynomial which has beta as the root okay yeah I'll come to it this is not just saying yeah for for cfx yeah so so of course the minimal polynomial will have a degree much less than n in most cases one can show actually the maximum possible degree for the minimal polynomial is m okay so so it's actually log of this it's a very small degree okay so we'll show all those properties okay so we'll quickly look at this I think I'm going a little slower than I thought I would so I'm going to rush through so in the next few lectures I want to stop here for this lecture and the next few lectures I'm going to rush through minimal polynomials okay so this is actually not so critical I can actually I was actually not even planning to do it in this class but then I thought I should do it at least introduce the term okay so in the next lecture I will pretty much finish minimal polynomial I'll go through very fast if you really want to understand a little bit more deeply I'll encourage you to read read elsewhere read read some textbooks that you can find and learn a little bit more about minimal polynomials and what they are okay so there's lots of deep connections okay so we'll stop here for today