 So recall that the set p sub n is defined to be the set of all polynomials whose degree is at most n and in this particular situation for coding theory, we're viewing this as by binary polynomials. So our coefficients are only 0 and 1 and arithmetic here, of course, is in that finite field z2. Now this set does have a lot of algebraic structure. p sub n is in fact a vector space. It's an n plus 1 vector space so we can identify it with the vector space z2 to the n plus 1. It has n plus 1 dimension there. But because it is a subset of a ring z2 adjoin x, we are able to use the multiplicative structure of polynomials in our coding theory. In particular, we can encode matrices by multiplying by some fixed matrix, but there is a very important defect here. p sub n is not a multiplicative, it's not a multiplicative close set. So it's not, it's a subset of z2x, but it's not a sub ring. If we've used z2x as a infinite dimensional z2 vector space, then yes, pn is a subspace, a finite dimensional subspace. So there is some algebraic structure there, but it doesn't, pn does not have the full algebraic benefit of being inside of a ring because it itself is not a sub ring. So it turns out that the fault doesn't live on pn. The fault we're actually going to place on z2x here. Actually, we're going to replace it with a different ring. That is, we can identify pn or more specifically pn minus 1 with a different polynomial ring and go from there. It's not exactly a polynomial ring. It's actually the quotient of a polynomial ring. So I want us to think of the following as a vector space. We can identify this the vector space p sub n minus one with the vector space z2 join x mod out by the ideal x to the n minus one. So let's look at this thing on the right for a moment. This is the quotient ring of the polynomial ring where we mod out by this principal ideal generated by the polynomial x to the n minus one. Basically, what we're saying is we want to identify x minus one with zero going forward for which that's the same thing as x to the n equals one. So we're turning our indeterminate symbol x actually into a unit, a unit of finite order, and that order is specifically going to be n. All right. The significance of this, of course, is that if you ever get a power of x that's larger than n like to n plus one, this is the same thing as x to the n times x to the first. So this would just become x. Essentially, by modding out the polynomial x to the n minus one, we're saying that we can reduce the exponent of our indeterminate x by we reduce it modulo n so we can reduce the powers like so. And therefore, if we have two polynomials, let's say something like one plus x and we're going to then times this by one plus x plus x to the fourth. And let's say that we reduce the exponents mod five here. Well, when we multiply this thing out here, because both of these polynomials, right, both these polynomials would live inside of P four, live inside of P four, which, of course, four is the same thing as five minus one. Be aware there. If you multiply out these polynomials, we end up with one plus x plus x to the fourth, that's the first one. Then we're going to get x plus x squared plus x to the fifth. But x to the fifth, because of the reduction here, since x to the fifth minus one is now considered equal to zero in the quotient, we get x to the fifth is equal to one. So we can make that substitution in combined like terms. The ones cancel, the x's cancel, and we're then left with x squared plus x to the fourth, which is a polynomial that lives inside of P four. So if we reduce the exponents of the x's mod n, then it turns out that P in minus one is, in fact, turned into a ring and we it's exactly this ring right here. These things are isomorphic as vector spaces. But then we can give we can give the multiplication of that quotient ring onto P n minus one and therefore it makes a ring. And so then there's the hope that, hey, if we can make our code into a ring, then maybe we can benefit from the ring structure. After all, group codes are cool. So maybe a ring code. What's going on there? Now, be aware that this ring, this quotient ring of a polynomial is something that we've already considered in the past. In particular, in our lecture series math 42 20, which is the seek, excuse me, is the prequel to the current lecture series. We did introduce the idea of a group ring. So remember what a group ring was. If you have any ring whatsoever and you have any group whatsoever, could be finite, infinite, typically with the group, we do believe it to be multiplicatively defined. Then that is the operations, like multiplication, we then can create the so-called group ring, the group ring RG. For what is the group ring? You make a ring out of the group for which when you look at this thing RG, this actually is an R module. That is this RG with respect to addition, you take the group elements to be a basis and you look at all possible R linear combinations of those group elements. So you have formal addition of the group elements with R coefficients. But then you define multiplication to follow from the distributive property. So if you have a combination of group elements, you can distribute the coefficients come from rings. You multiply those together. The group elements come from a multiplicative group. You multiply those things together. And so you can form this so-called ring, the group ring. So every group and ring can be combined to make a ring. Now, this polynomial quotient ring Z2X mod out X to the minus one. This is just a group ring. This is isomorphic as a ring to the group ring, whose coefficients come from Z2 and whose group is then the cyclic group of order N. Because after all, this right here is the fundamental relationship of the group Z5, that is, you reduce everything mod 5. That's what you do. And so if you allow the modules to vary, this this quotient polynomial ring is just a group ring. It's in fact a cyclic group ring. And so what we can do is we can identify the generator of this cyclic group. Some people might give it a different symbol like T. Personally, I just call it X. We just know we're going to reduce it now. But the idea is, so there's no confusion with this original X. We might introduce a new symbol where X is an indeterminate. There's no algebraic relations on it. But T has the relationship that T to the N is equal to one, like so. It's that notational choice isn't one I bother with too much. You just need to know, are you in the polynomial ring? Are you in the group ring? Because in the group ring, there's reduction in the polynomial ring. There wouldn't be, but use a different symbol if it's hard to keep track of these things. So as a ring, PN minus one is this. We're basically making PN minus one. We're identifying it with this group ring Z to ZN, which again, the first thing right here, this is the ring of coefficients, in which case we have a field here. So this makes it into a vector space. And then this group is then the symbols, the variables that we have. But these variables do have algebraic relations on them because of the group structure. Now, in this situation, in these in these cyclic codes we're building right here, this is actually why we call them cyclic codes, because cyclic codes come from cyclic groups, cyclic group rings, certain certain subspaces of that. They're going to be ideals. We're going to see that in a second. But we're going to take ideals of this group ring and we make codes. And there's this one to one correspondence with the cyclic codes compared to the ideals of this group, this cyclic group ring. And in fact, in general, when people do algebraic coding theory, they look at ideals over group rings. And that is the basis of where coding theory takes place in the present day here. So PN minus one, we can as vector spaces, these two things are the same thing. So we're basically saying, I'm going to give PN minus one the structure of a group ring and then let's see if that helps us out at all. Now, we're going to keep things simple. The groups that we play around with these group rings are only going to be cyclic groups, but as you expand to other abelian groups, it may be even non abelian groups, you can get much more exotic codes, but that's going to take us beyond the scope of our discussion. Our discussion wants to lead to the idea of a VCH code. So the thing to remember about this group ring Z2, ZN, our coefficients are binary zero one and when we see a variable such as T or X, whatever we reduce its exponent mod N, so T to the N is equal to one. OK, now let's see why group rings is the right tool to use if you want to build a cyclic code here, because if you have a polynomial F of T and this belongs in this, this belongs, of course, to our group ring Z2, ZN. If you times it by T, since this is now a ring, it's closed under multiplication that also belongs there. Now, look at F of T here. If we give it an expansion here, it's coefficients a zero plus a one T plus a two T squared all the way up to a N T to the N minus one. If you times that by T, what's going to happen is that you're going to get a T times a naught, you're going to get an a one T squared. You're going to get an a two T cubed now all the way up. Eventually, you're going to have this a N minus two times T to the N minus one now, right? That's because you had an a N minus two times T to the N minus two. But then we times that by T exponentially, that raises the power by one. We get this. But of course, what about this last term from F of T? If you times this thing by T, you're going to end up with an a N minus one times T to the Nth, T to the N is now equal to one. This is the constant term, so it actually comes up front right here. So I want you to know what happened. The first entry then became the second entry. The second entry then becomes the third entry. The third entry becomes the fourth all the way to the end. The second to last becomes the last term. But then the last term becomes the first term. Notice right here that if you take if you take T times F of T, this is going to be a cyclic permutation of its coefficients. Ah, so notice that when you look at this group ring, this group ring is going to be closed under cyclic shifting because it's just multiplication by T. But in particular, the polynomial code Z2ZN is a cyclic code. And so if we look at appropriate subcodes, they're going to be cyclic codes as well. And this leads to, of course, the main result we want to do. Why did we introduce group rings into the study of polynomial codes? It's the following. If we have a linear code C that and as such, it'll be a subset. It'll be some subspace of Z2N. That linear code is cyclic. That is the cyclic permutation of a code word is still a code word. The linear code is cyclic if it's closed under the ZN permutation action. C will be cyclic if and only if C can be identified with a ideal of the ring Z2, the group ring Z2ZN under, of course, the usual in-bit code word identification. Right. So the thing is Z2N, we can identify that with P to the N minus one as a vector space and we can identify that with Z2ZN. And so if you give Z2N the multiplication structure of a group ring, then your code was cyclic if and only if it's an ideal. All right, so let's start off with that identification. So we're not going to use Z2N. We're going to use this thing right here. OK, so suppose that C is a subset of Z2ZN. The group ring. Let's first suppose that it is a cyclic code. So it's invariant under cyclic permutations. So that means that if you have F of T inside of your code, then any cyclic permutation, particularly the cyclic permutation of F of T will also belong to C. But as we saw a moment ago, the cyclic shift of F of T is just T times F of T. So if F of T is inside the code, then T times F of T is inside the code by induction, we just keep on taking cyclic shifts. T to the K times F of T will be inside the code. OK, now, since also by assumption it's a linear code, this is a subspace. It's going to be closed under addition. If we take things like this, we can take any linear combinations of things like F to the T to the K times F of T, where K could be any natural number. So that is we can take any linear combination of these things. So in particular, we get F H of T times F of T, where H of T is an arbitrary polynomial, because an arbitrary polynomial looks like a linear combination of powers of T. And so if you take a linear combination of powers of T that you're also divisible by F of T, you can factor it out. In general, we can get the product H of T times F of T like so. And so this is true for any, any polynomial in the group ring. As such, this shows that C is an ideal because if you take a polynomial in the code and you take any polynomial in the group ring and multiply it together, their product lives inside of the code. So this shows that the code is itself an ideal because it is cyclic. All right. Now, conversely, suppose that we know the code is in fact an ideal of this cyclic group ring, take an arbitrary element inside of that code. Well, since it's an ideal, you can take any polynomial times F of T and that'll belong to T. In particular, you can take T times F of T. But like we said earlier, T times F of T is the cyclic shift of F of T, which then shows that C is closed under cyclic permutation that makes it a cyclic code. So the ideals of the cyclic group ring are in one to one correspondence with the possible cyclic codes. So if we want a cyclic code, we look at the ideals of a cyclic group ring with binary coefficients, and this is a beautiful place to end this video here because it shows the connection between group rings and codes. And in fact, if one wants to then make even more powerful codes than the BCH codes, we're going to be making later on in the next lecture that comes down to understanding how ideals in group rings work.