 In the beginning of our discussion of coding theory, we made the identification that if you take a in-bit sequence of zeros and ones, that can be naturally identified as a vector in z2n. Because you have a first number, a second number, all the way up to the nth number. Now, for the sake of convenience right now, I'm gonna call the first one zero, then the second one one, and the last one be n minus one. Now, these vectors of z2n in a very natural way can be identified with polynomials in the polynomial ring z2 adjoint x. So the polynomial ring whose coefficients come from z2. And this is then to explain why we identified the indices in the following way. The vector zero one, a one, excuse me, a zero, a one, a two, all the way up to a n minus one. That can be identified with the polynomial whose constant coefficient is a naught, whose linear coefficient is a one, whose quadratic coefficient's a two, and then finally whose leading coefficient is a n minus one. We can identify a vector within coordinates with a polynomial whose degree is at most n minus one. And so commonplace in linear algebra is to consider this set, the set of polynomials where the degree is bounded above by some fixed number say n. So we're gonna borrow that notation and this is very common in linear algebra such as math 2270 at SUU. Take the set p sub n and we're gonna make that be the set of all polynomials whose degree is at most n. And in this situation with coding theory, we'll assume the coefficients are coming from z2. So because of that, it's a very common thing to prove in linear algebra that the set of polynomials whose degree is at most n minus one is isomorphic to the vector space z2n and be clear this is an isomorphism of vector spaces. And it's just this identification, that's what we're talking about right here. This identification will preserve the addition structure that is the way we add vectors is exactly how we add polynomials with respect to this identification. When we add like terms of polynomials, that's just what it means to add component-wise with vectors and then scalar multiplication also means the same thing. When you scale a vector, whether it's z2n or honestly fn for any field, when you scale a vector, use times each of the coordinates by that constant. Well, with polynomials, you think of scalar multiplication as just multiplying by a constant, you distribute that constant and you'll times each of the coefficients by that same constant. So again, under this identification, the operations of addition and scalar multiplication are identical. So this is an isomorphism of vector spaces. So instead of writing a vector like this, we could write it like a polynomial and both of those are ways to represent binary code words. But what's the advantage of thinking about it now as a polynomial? I mean, after all, the notation of a vector is much more compact. Why would we want to add some indeterminate? Well, the basic reason is that we can identify polynomials inside of a ring. So like pn is a subset of the ring z2x. And since z2x is a ring, I mean, it's actually a highly structured ring. This would be a Euclidean domain, for example. But this polynomial ring has multiplication because it's a ring. So we had advantages of considering addition of vectors, scaling of vectors, which with z2, that doesn't mean anything. But for other coefficients, you could have some benefit there. We've even talked about cyclic codes where group actions can come into play. The more algebraic structure we can put onto our codes, it seems to strengthen the codes. Could we add an addition to addition multiplication? Well, if we think of them as polynomials, there is a multiplicative structure going on there. So let me show you how one can build a code using polynomial multiplication. So imagine you have an m bit message, which we can identify then with a polynomial in the set p sub m minus one. And then suppose we also have a polynomial g of x whose degree is n minus m in that situation. Now, the degree of m is at most m minus one in that situation. These are polynomials f of x and g of x that belong to z2x. I can multiply them together. I can identify a map, a map which will send f of x to the product g of x times f of x. So not skill and multiplication, but polynomial multiplication. So I can define a map which is multiplication by g. Now, if you think of the domain and code domain here, we take polynomials whose degrees at most m minus one. If we times that by the polynomial g of x, that'll give us a polynomial whose degrees at most n minus one. And so multiplication by g gives us a map that sends an m bit polynomial into an n bit polynomial. Thus, multiplication by this polynomial g gives us an encoding map for these polynomials. So multiplication, we can encode the matrix, we can encode matrices by polynomial multiplication. We did that previously with matrices, but we can do with a polynomial which polynomial multiplication might seem simpler than of course the matrix multiplication we've done before. And so this process of identifying your messages and code words with polynomials and encoding them by polynomial multiplication, if a linear code is encoded using these polynomials, then we refer to this as a polynomial code. Let me give you an example of such a thing. Consider the polynomial g of x which equals one plus x cubed, okay? We're gonna show that this polynomial g can be used to create a six three polynomial code. So we take a three bit message. So typically our vectors would look something like, oh, you have something here, a naught, a one, a two. We can identify that with the polynomial a naught plus a one x plus a two x squared. And as such, when it comes to this encoding process, it's often important to look at the standard basis for z two three in that situation. So that would be like the vector one zero zero, zero one zero and zero zero one. But with this polynomial identification, we can associate to each of these polynomials now the constant one, the variable x and the variable x squared. And so when it comes to encoding because we have a linear map because after all multiplication by a polynomial is linear, polynomial multiplication will distribute over addition. And it would also be compatible with skill of multiplication. Multiplication by a polynomial is a linear map here. It only suffices to say what happens to a basis. So if you take one times g, you're gonna get g of x one plus x cubed. If you take that, if you multiply that by x, you're gonna get x plus x to the fourth. And if you multiply g by x squared, you're gonna get x squared plus x to the fifth, like so. So using the standard basis one x x squared and one x x squared x cubed x to the fourth x to the which this is the standard basis right here of P two. And this is the standard basis of P five, like so. Then this identification right here, one goes to g, x goes to x g and x squared goes to x squared g. Notice what happens here. We're gonna take this vector one zero zero. This is gonna be identified with one zero zero one zero zero. This vector here, which is one zero, excuse me, zero one zero will be identified with zero one zero zero one zero. And then the last one we could identify with zero zero one. I'm putting this back into the vector coordinates. This will be identified with zero zero one zero zero one. So while we can use the polynomials, I do wanna show you what the associated linear code would look like with vectors and matrices in the usual sense. This actually produces the matrix you see right here. One zero zero zero one zero zero one. It's just the identity matrix. Then you see the identity matrix again. This is the matrix we've seen before. Actually, in our very previous video, we call this g one. And this actually produced a cyclic code. It wasn't a really great cyclic code, but nonetheless, it was a cyclic code. And it turns out that we will see in the next video that these polynomial codes are very, very natural, can be very naturally used to produce cyclic codes. It has to do with, of course, ideals inside of these polynomial rings. But like I said, we're gonna talk about that in the next video.