We consider a ring \(R_{u^3} = \mathbb{F}_2+u\mathbb{F}_2+u^2\mathbb{F}_2+u^3\mathbb{F}_2, u^4=0\). We discuss the structure of self-dual codes, Type I codes and Type II codes over the ring \(R_{u^3}\) in terms of the structure of their Torsion and Residue codes. We construct Type I and Type II optimal codes over the ring \(R_{u^3}\) for different lengths.
There are several researchers working on self-dual codes from the long period of time. Mallows and Sloane [12] discuss the bound for self-dual codes over the field which we can use to differentiate the Type of the code. Conway et al. [3] discuss the binary self-dual code for different length using the bound to talk about the optimality of self-dual codes upto length \(32\). We can further look at [15] for the study of self-dual codes. Latter on scope of self-dual codes have been extended to finite rings. We can refer to series of papers [1, 2, 5, 8, 9, 11, 16, 17] for more detailed description of self-dual codes.
Construction of self-dual codes have been discussed in the following series of papers [7, 10, 13, 18, 21, 20]. Gaborit [6] consider the ring \(\mathbb{Z}_4\) and \(\mathbb{F}_q+u\mathbb{F}_q\) and discuss the mass formula for self-dual codes over these rings. He also discuss the Residue and Torsion code and give a mass formula for quaternary Type II codes, doubly even binary codes and proved the equivalence of self-dual codes with the characterization of self-dual codes over these rings. Dougherty et al. [4] consider the commutative Frobenius ring \(R_{u}={\mathbb F}_2+u{\mathbb F}_2\), where \(u^2\) = \(0\) and discuss some theoretical concept on self-dual codes over the ring \(R_u\) and give the classification of Type I and Type II codes for different lengths.
We consider a Frobenius ring \(R_{u^3}=\mathbb{F}_2+u\mathbb{F}_2+u^2\mathbb{F}_2+u^3\mathbb{F}_2, u^4=0\) and use some theoretical concept from [19] to discuss the self-dual codes of different length and give some optimal codes over the ring. Our main focus in this paper is to discuss the self-dual codes over \(R_{u^3}\). We also characterize the structure of self-dual, Type I and Type II codes over the ring \(R_{u^3}\) with generator matrix in terms of the structure of their Torsion and Residue codes.
We define an ordinary inner product \(\langle \cdot,\cdot \rangle\) on \(R_{u^3}^n\) by
\[\langle x,y \rangle = \sum\limits_{i=0}^n x_{i}y_{i},\] where \(x=(x_{1},x_{2},\ldots, x_{n})\) and \(y=(y_{1},y_{2},\ldots, y_{n})\) are in \(R_{u^3}^n\). The dual code \(C^\perp\) of \(C\) is the code
\[C^\perp=\{x \in R_{u^3}^n \ \mid \ \langle x,y \rangle=0, \forall y \in C\}.\]
We say that \(C\) is self-orthogonal if \(C\subseteq C^\perp\) and self-dual if \(C=C^\perp\). Note that the length of binary self-dual codes is always even, but self-dual codes over \(R_{u^3}\) can have odd length.
Definition 2.1. A linear code \(C\) over the ring \(R_{u^3}\) of length \(n\) is an \(R_{u^3}\)-submodule of \(R_{u^3}^n\).
Definition 2.2. Let \(\phi : (\mathbb{F}_2+u\mathbb{F}_2+u^2\mathbb{F}_2+u^3\mathbb{F}_2)^n \rightarrow \mathbb{F}_2 ^{4n}\) be the map given by \[\phi(a_1+ub_1+u^2c_1+u^3d_1)=(a_1+b_1+c_1+d_1,c_1+d_1,b_1+d_1,d_1).\]
It is easy to see that \(\phi\) is a linear map and takes length \(n\) binary linear code over \(\mathbb{F}_2+u\mathbb{F}_2+u^2\mathbb{F}_2+u^3\mathbb{F}_2\) to a binary linear code of length \(4n\).
Definition 2.3. \(~\) For any element \(a_1+ub_1+u^2c_1+u^3d_1 \in R_{u^3}\), we define the Lee weight-\(w_L\) as \(w_{L}(a_1+ub_1+u^2c_1+u^3d_1)=w_{H}(a_1+b_1+c_1+d_1,c_1+d_1,b_1+d_1,d_1)\), where \(w_{H}\) denotes the Hamming weight for binary codes.
Proposition 2.4. If \(C\) is a linear code over \(R_{u^3}\) of length n, size \(2^k\) and minimum Lee distance d, then \(\phi(C)\) is a binary \([4n,k,d]-\)linear code.
Proposition 2.5. If \(C\) is a self-dual linear code over \(R_{u^3}\) of length \(n\), then \(\phi(C)\) is a self-dual binary linear code of length \(4n\).
In the ring \(R_{u^3}\), we have four elements \((1,1+u,1+u^2,1+u+u^2+u^3)\) of Lee weight \(1\), six elements \((u,u^2,u+u^2,u+u^3,u^2+u^3,u+u^2+u^3)\) of Lee weight \(2\), four elements \((1+u^3,1+u+u^3,1+u^2+u^3,1+u+u^2)\) of Lee weight \(3\), and one element \(u^3\) of weight \(4\).
The paper is organized as follows. In Section \(2\), we discuss self-dual codes over \(R_{u^3}\) and give the form of the generator matrix with which we discuss Torsion and Residue of the code and use them to discuss few results on the self-dual codes over \(R_{u^3}\). In Section 3, we construct self-dual codes for different lengths over \(R_{u^3}\) and characterize Type I and Type II codes.
Definition 3.1. Let \(R_{u^3}:={\mathbb F}_2+u{\mathbb F}_2+u^2{\mathbb F}_2+u^3{\mathbb F}_2\) and \(R_u={\mathbb F}_2+u{\mathbb F}_2\). A self-dual code over \(R_{u^3}\) is said to be Type II if the Lee weight of every codeword is a multiple of 4 and Type I otherwise.
Definition 3.2. Let \(C\) be a linear code over \(R_{u^3}\). We define the Residue code \(C_{(1)}\) and the Torsion code \(C_{(2)}\) of \(C\) as follows: \[C_{(1)}=\{x\in (R_{u})^n \mid \exists y\in (R_{u})^n \mid x+u^2y\in C\},\] and \[C_{(2)}= \{x\in (R_{u})^n \mid u^2x\in C\}.\]
We denote by \((C^\perp)_1\) and \((C^\perp)_2\) the Residue and Torsion of the dual code \(C^\perp\) respectively. It is easy to see that \(|C|= |C_{(1)}||C_{(2)}|\).
Definition 3.3. We denote the residue of \(C_{(1)}\) as \(Res(C_{(1)})\) and the torsion of \(C_{(2)}\) as \(Tor(C_{(2)})\) and define as: \[Res(C_{(1)})=\{x\in {\mathbb F}_2^n \mid \exists y\in {\mathbb F}_2^n \mid x+uy\in C_{(1)}\},\] and \[Tor(C_{(2)})= \{x\in {\mathbb F}_2^n \mid ux\in C_{(2)}\}.\]
Lemma 3.4. If \(C\) is a linear code over \(R_{u^3}\), then
(1) \((C^\perp)_1 \subseteq C_{(2)}^\perp\) and
(2) \((C^\perp)_2=C_{(1)}^\perp\).
Proof. (1) Let \(x\in (C^\perp)_1\), there exists \(y\in R_u^n\) such that \(x+u^2y\in C^\perp\). For \(z\in C_{(2)}, u^2z\in C\). Then \(u^2z\cdot (x+u^2y)=0\Rightarrow u^2(z\cdot x)=0\). Thus \(x\in C_{(2)}^\perp\). Hence \((C^\perp)_1\subseteq C_{(2)}^\perp\).
(2) Let \(z\in C_{(1)}^\perp\) and \(x+u^2y\in C\). Then \(x\in C_{(1)}\) and \(x\cdot z=0\). Thus \(u^2z\cdot (x+u^2y)=u^2(z\cdot x)=0\). Therefore \(u^2z\in C^\perp\) and \(z\in (C^\perp)_2\). So \(C_{(1)}^\perp\subseteq (C^\perp)_2\). Now let \(z\in (C^\perp)_2\), then \(u^2z\in C^\perp\). For each \(x+u^2y\in C\), \(x\in C_{(1)}\) and \(u^2z\cdot (x+u^2y)=0\Rightarrow u^2(z\cdot x)=0\Rightarrow z\in C_{(1)}^\perp\). Thus \((C^\perp)_2\subseteq C_{(1)}^\perp\). Hence \((C^\perp)_2= C_{(1)}^\perp\). ◻
Lemma 3.5. If \(C\) is a self-orthogonal linear code over \(R_{u^3}\) and \(C_{(1)}^{\perp} = C_{(2)},\) then \(C\) is a self-dual code.
Proof. Since \(C\) is a self-orthogonal code, \(C \subseteq C^{\perp}.\) By Lemma 3.4, we have \(|C^{\perp}| = |(C^{\perp})_1||(C^{\perp})_2| \leq |C_{(2)}^{\perp}||C_{(1)}^{\perp}|\). Therefore, \(|C^{\perp}| \leq |C_{(2)}^{\perp}||C_{(1)}^{\perp}| = |C_{(1)}||C_{(2)}| =|C|\). Thus \(C = C^{\perp}\). ◻
Theorem 3.6. Let \(C\) be a linear code over \(R_{u^3}\), then \(C\) is self-dual if and only if
(1) \(C_{(1)}\) is self-orthogonal even code,
(2) \(x\cdot t+y\cdot s=0\) for \(x+u^2y, s+u^2t \in C\), \(x, t\in R_u^n\) and
(3) \(C_{(2)}=C_{(1)}^\perp\).
Proof. Let \(C\) be a self-dual code over \(R_{u^3}\).
(1) Let \(x,s\in C_{(1)}\). Then, there exist \(y\) and \(t\) in \((R_u)^n\) such that \(x+u^2y, s+u^2t \in C\). Since \(C\) is self-dual, \((x+u^2y)\cdot (s+u^2t)=0\). This implies that \(x\cdot s=0\). Hence \(C_{(1)}\subseteq C_{(1)}^\perp\). As the residue code \(C_{(1)}\) is self-orthogonal, it contains all even weight vectors. Hence, \(C_{(1)}\) is even.
(2) Let \(x+u^2y, s+u^2t \in C\). Since \(C\) is self-dual, \((x+u^2y)\cdot (s+u^2t)=0\). This gives \(x\cdot t+y\cdot s=0\).
(3) Let \(x\in C_{(2)}\), then \(u^2x\in C\). For \(s\in C_{(1)}\), there exists \(t\in R_u^n\) such that \(s+u^2t\in C\). Since \(C\) is self-dual, \(u^2x\cdot (s+u^2t)=0\) \(\Rightarrow u^2(x\cdot s)=0\) \(\Rightarrow x\in C_{(1)}^\perp\). Thus \(C_{(2)}\subseteq C_{(1)}^\perp\). Let \(x\in C_{(1)}^\perp\) and \(s+u^2t\in C\). Then \(s\in C_{(1)}\) and \(u^2x\cdot (s+u^2t)= u^2(x\cdot s)=0 \Rightarrow u^2x\in C^{\perp}=C \Rightarrow x\in C_{(2)}\). Thus \(C_{(1)}^\perp\subseteq C_{(2)}\). Hence \(C_{(1)}^\perp = C_{(2)}\).
Conversely, suppose Conditions 1-3 hold. Let \(x+u^2y, s+u^2t \in C\). From Conditions (1) and (2), \((x+u^2y)\cdot (s+u^2t)=0\). Hence \(C\) is self-orthogonal. From Lemma 3.5, \(C\) is self-dual. ◻
The following corollaries follow from the above theorem.
Corollary 3.7. If \(C\) is a self-orthogonal code over \(R_{u}\), then \(C+u^2C^{\perp}\) is a self-dual code over \(R_{u^3}\).
Corollary 3.8. If \(C\) is a self-orthogonal linear code over \(R_{u^3}\), then \(\text{Res}(C_{(1)})\) is a self-orthogonal even binary code.
Proof. If \(C\) is self-orthogonal then \(C_{(1)}\) is self-orthogonal even code over \(R_u\). Hence, \(\text{Res}(C_{(1)})\) is a self-orthogonal even binary code. ◻
Let \(C\) be a linear code which has a generator matrix \(G\) [14] after a suitable permutation of coordinates can be written in the form: \[\label{eq1} G=\begin{pmatrix} I_{k_1}&A_{12}&A_{13}&A_{14}&A_{15}\\ 0&uI_{k_2}&uA_{23}&uA_{24}&uA_{25}\\ 0&0&u^2I_{k_3}&u^2A_{34}&u^2A_{35}\\ 0&0&0&u^3I_{k_4}&u^3A_{45} \end{pmatrix}, \tag{1}\] where \(A_{ij}\), \(1\leq i\leq 4\) and \(2\leq j\leq 5\) are matrices over \({\mathbb R}_{u^3}\). We use a representation \(A_{1j}=A_{1j}^{(1)}+uA_{1j}^{(2)}+u^2A_{1j}^{(3)}+u^3A_{1j}^{(4)}\) and \(uA_{2j}=u(A_{2j}^{(1)}+uA_{2j}^{(2)}+u^2A_{2j}^{(3)}+u^3A_{2j}^{(4)})\), where \(A_{1j}^{(i)}\) and \(A_{2j}^{(i)}\), for \(i=1,2,3,4\) are matrices over \({\mathbb F}_2\). A generator matrix of \(C_{(1)}\) is given by \[G_{1} = \begin{pmatrix} I_{k_1}&A_{12}^{(1)}+uA_{12}^{(2)}&A_{13}^{(1)}+uA_{13}^{(2)}&A_{14}^{(1)}+uA_{14}^{(2)}&A_{15}^{(1)}+uA_{15}^{(2)}\\ 0&uI_{k_2}&uA_{23}^{(1)}&uA_{24}^{(1)}&uA_{25}^{(1)} \end{pmatrix}, \tag{2}\] and a generator matrix of \(C_{(2)}\) is given by \[G_{2} = \begin{pmatrix} I_{k_1}&A_{12}^{(1)}+uA_{12}^{(2)}&A_{13}^{(1)}+uA_{13}^{(2)}&A_{14}^{(1)}+uA_{14}^{(2)}&A_{15}^{(1)}+uA_{15}^{(2)}\\ 0&uI_{k_2}&uA_{23}^{(1)}&uA_{24}^{(1)}&uA_{25}^{(1)}\\ 0&0&I_{k_3}&A_{34}^{(1)}+uA_{34}^{(2)}&A_{35}^{(1)}+uA_{35}^{(2)}\\ 0&0&0&uI_{k_4}&uA_{45}^{(1)} \end{pmatrix}. \tag{3}\]
Theorem 3.9. Let \(C\) be a linear code over \(R_{u^3}\) which is permutation-equivalent to a code with a generator matrix \(G\) of the form given in Eq. (1). Then \(C\) is self-dual iff
(1) \(C_{(1)}\) is self-orthogonal even code,
(2) \(C_{(2)}=C_{(1)}^\perp\).
Proof. From Theorem 3.6, if \(C\) is a self-dual code, then \(C_{(1)}\) is self-orthogonal. Also Res \((C_{(1)})\) is self-orthogonal. Thus,
\[\begin{aligned} &\begin{pmatrix} I_{k_1}&A_{12}^{(1)}+uA_{12}^{(2)}&A_{13}^{(1)}+uA_{13}^{(2)}&A_{14}^{(1)}+uA_{14}^{(2)}&A_{15}^{(1)}+uA_{15}^{(2)} \end{pmatrix}\\&\times {\begin{pmatrix} I_{k_1}&A_{12}^{(1)}+uA_{12}^{(2)}&A_{13}^{(1)}+uA_{13}^{(2)}&A_{14}^{(1)}+uA_{14}^{(2)}&A_{15}^{(1)}+uA_{15}^{(2)} \end{pmatrix}}^T = 0. \end{aligned}\]
Also for the generator matrix \(G\), and for \(x, t\in R_u^n\) \((x+u^2y)\cdot (s+u^2t)=x\cdot s+u^2(x\cdot t+y\cdot s)\Rightarrow x\cdot t+y\cdot s=0\). Second part of the theorem follows from Lemma 3.4 and Theorem 3.6. ◻
Lemma 3.10. If \(C\) is a Type II code over \(R_{u^3}\), then the residue code \(C_{(1)}\) contains the all u-vector \(\bf{u}\).
Proof. Let \(x \in C_{(2)}\), then \(u^2x \in C\). Since \(C\) is a Type II code, \(x\) contains even number of units (\(1\) and \(1+u\)). Therefore, the all u-vector \(\bf{u}\) is orthogonal to \(x\), i.e., \(x \in C_{(2)}^{\perp} = C_{(1)}\). Hence, \(C_{(1)}\) contains the all \(u\)-vector \(\bf{u}\). ◻
If \(C\) is a code of length \(n\) over \(R_{u^3}\) and \(x=(x_1,x_2,\ldots,x_n)\) and \(y=(y_1,y_2,\ldots,y_n)\) are two vectors of \(C\), we denote by \(n_{x,y}(a,b)\) the number of occurrences of the couples \((a,b)\) and \((b,a)\) in \(((x_1,y_1),(x_2,y_2),\ldots,(x_n,y_n))\), where \(a\) and \(b\) are elements of \(R_{u^3}\). By abuse of notation, we simply denote \(n_{x,y}(a,b)\) by \(n(a,b).\)
Lemma 3.11. If \(C\) is a self-dual code over \(R_{u^3}\) and if \(x,y\in C\) such that \(4\mid w_L(x)\) and \(4\mid w_L(y)\) then \(4\mid w_L(x+y)\) and \(4\mid w_L(\alpha x)\),where \(\alpha\in R_{u^3}\).
Proof. Let \(x=x_1+u^2x_2\) and \(y=y_1+u^2y_2\) be codewords of \(C\), where \(x_i,y_i\in (R_u)^n\). We follow the idea for proving these results from [1] and [4] and write a \(16\) by \(16\) table (which we are not writing here, as it is very long table) to visualize the structure of \(w_L(x+y)\) and \(w_L(\alpha x)\). Now from the definition of Lee weight we have
\(w_L(x+y)=w_L(x)+w_L(y)-2A ~\)(mod \(4\)) and \(w_L(\alpha x)=w_L(\alpha)\cdot w_L(x)\equiv 0~\) (mod \(4\)), where
\[\begin{aligned} A=&n(u^3,1)+n(u^3,1+u)+n(u^3,1+u^2)+n(u^3,1+u^3)+n(u^3,1+u+u^2)\\ &+n(u^3,1+u+u^3)+n(u^3,1+u^2+u^3)+n(u^3,1+u+u^2+u^3)+n(1,1)\\ &+n(1,u)x+n(1,u^2)+n(1,u+u^2+u^3)+n(1,1+u+u^2)+n(1,1+u+u^3)\\ &+n(1,1+u^2+u^3)+n(u,u^2)+n(u,1+u)+n(u,u+u^2)+n(u,u^2+u^3)\\ &+n(u,u+u^2+u^3)+n(u,1+u^3)+n(u,1+u+u^3)+n(u^2,1+u^2)\\ &+n(u^2,u+u^2)+n(u^2,u+u^3)+n(u^2,u+u^2+u^3)+n(u^2,1+u^3)\\ &+n(u^2,1+u^2+u^3)+n(1+u,1+u)+n(1+u,u+u^2)+n(1+u,u^2+u^3)\\ &+n(1+u,1+u^3)+n(1+u,1+u+^3)+n(1+u,1+u^2+u^3)+n(1+u^2,1+u^2)\\ &+n(1+u^2,u+u^2)+n(1+u^2,u+u^3)+n(1+u^2,1+u^3)+n(1+u^2,1+u+u^2)\\ &+n(1+u^2,1+u+u^3)+n(u+u^2,u+u^3)+n(u+u^2,u^2+u^3)\\ &+n(u+u^2,1+u+u^3)+n(u+u^2,1+u^2+u^3)+n(u+u^3,u^2+u^3)\\ &+n(u+u^3,u+u^2+u^3)+n(u+u^3,1+u+u^2)+n(u+u^3,1+u^2+u^3)\\ &+n(u+u^3,1+u+u^2+u^3)+n(u^2+u^3,u+u^2+u^3)+n(u^2+u^3,1+u+u^2)\\ &+n(u^2+u^3,1+u+u^3)+n(u^2+u^3,1+u+u^2+u^3)+n(u+u^2+u^3,1+u^3)\\ &+n(u+u^2+u^3,1+u+u^2)+n(u+u^2+u^3,1+u+u^2+u^3)+n(1+u^3,1+u^3)\\ &+n(1+u^3,1+u+u^2+u^3)+n(1+u+u^2,1+u+u^2)+n(1+u+u^3,1+u+u^3)\\ &+n(1+u+u^3,1+u+u^2+u^3)+n(1+u^2+u^3,1+u^2+u^3)\\ &+n(1+u^2+u^3,1+u+u^2+u^3)+n(1+u+u^2+u^3,1+u+u^2+u^3). \end{aligned}\]
If \(C\) is self-dual, we can see that \(A\equiv 0 ~\)(mod \(2\)). Thus, \(w_L(x+y)\equiv w_L(x)+w_L(y)\equiv 0\) (mod \(4\)). Hence, \(4\mid w_L(x+y)\) and \(4\mid w_L(\alpha x)\). ◻
Theorem 3.12. Let \(C\) be a linear code of even length over \(R_{u^3}\) which is permutation-equivalent to a code with a generator matrix \(G\) of the form given in Eq. (1). Then \(C\) is Type II if and only if
(1) The Residue code \(C_{(1)}\) is even and contains the all \(u\)-vector \(\bf{u}\).
(2) \(C_{(2)}=C_{(1)}^\perp\).
(3) \(w_L\equiv 0\) (mod \(4\)) for the first \(k_1+k_2\) rows of \(G\).
Proof. If C is Type II, then the Lee weights of every codeword is a multiple of 4. So \(w_L\equiv 0\) (mod 4) for the first \(k_1+k_2\) rows of \(G\). Conditions 1,2 and 3 follow from Theorem 3.9 and Lemma 3.10. Conversely, suppose the conditions 1-3 hold, then the code \(C\) is self-dual code (from Theorem 3.9). Since \(\bf{u} \in C_{(1)} = C_{(2)}^{\perp}\), a vector \(x \in C_{(2)}\) contains even number of units (\(1\) and \(1+u\)). Thus, \(w_L(u^2x)\equiv 0\) (mod 4) and \(w_L\equiv 0\) (mod 4) for the generator matrix \(G\). Hence, from Lemma 3.11, the code \(C\) is a Type II code. ◻
Proposition 3.13. Let \(C\) be a self-orthogonal code of even length over \(R_{u}\). If \(C\) contains the all \(u\)-vector and weights of all codewords of \(C\) are multiple of 4, then \(C+u^2C^{\perp}\) is a Type II code over \(R_{u^3}\).
Proof. From Corollary 3.7, \(C+u^2C^{\perp}\) is self-dual. Since \(C\) contains the all \(u\)-vector, a vector \(y \in C^{\perp}\) contains even number of units (\(1\) and \(1+u\)). Thus, \(w_L(u^2y)\equiv 0\) (mod 4). Also, for \(x+u^2y \in C+u^2C^{\perp}\), \(w_L(x+u^2y)\equiv w_L(x)+w_L(u^2y)\equiv 0\) (mod 4). Hence, \(C+u^2C^{\perp}\) is a Type II code. ◻
Corollary 3.14. If \(C\) is a Type II code over \(R_u\), then \(C+u^2C\) is a Type II code over \(R_{u^3}\).
We discuss few examples of self-dual codes that are Type I and Type II for lengths \(1\) to \(6\). We use results discussed in section 2 to construct self-dual codes of different length.
Type I Code of length \(1\)
Let \(C_{1,1}\) = \(\langle(u^2+u^3)\rangle\). \(\phi(C_{1,1})\) is a Type I code over the ring \(R_{u,u^2}\), and its binary parameters is \([4,2,2]^*\).
Let \(C_{2,1}\) = \(\langle(1,1)\rangle\). \(\phi(C_{2,1})\) is a Type I code over the ring \(R_{u,u^2}\) with the binary parameters \([8,4,2]^*\).
We take \(C_{2,2}\) = \(\langle(1,1+u^3)\rangle\). \(\phi(C_{2,2})\) is a Type II code over the ring \(R_{u,u^2}\) with its binary parameters \([8,4,4]^*\).
We take \(C_{2,3}\) = \(\langle(1+u^2+u^3,1+u^2)\rangle\). \(\phi(C_{2,3})\) is a Type II code over the ring \(R_{u,u^2}\) with its binary parameters \([8,4,4]^*\).
We take \(C_{3,1}\) = \(\langle(0,u^3,u^2),(1,1+u+u^3,u)\rangle\). \(\phi(C_{3,1})\) is a Type I code over the ring \(R_{u,u^2}\) and its binary parameters is \([12,6,4]^*\).
We take \(C_{4,1}\) = \(\langle(1+u+u^3,u^3,u,1+u^3),(1+u,1+u^2+u^3,1,1+u+u^2+u^3)\rangle\). \(\phi(C_{4,1})\) is a Type I code over the ring \(R_{u,u^2}\) with its binary parameters \([16,8,4]^*\).
Let \(C_{4,2}\) = \(\langle(1+u,1+u+u^3,0,0),(1+u,1+u+u^3,1,1+u^3)\rangle\). \(\phi(C_{4,2})\) is a Type II code over the ring \(R_{u,u^2}\) and its binary parameters is \([16,8,4]^*\).
We take \(C_{5,1}\) = \(\langle(1,1+u^2+u^3,0,0,0),(u^2+u^3,u^2+u^3,u^3,u^2,u^3),(1+u^2,1+u^3,u^2,u^3,u^2+u^3),(1+u^3,1+u^2,0,u^2,u^2)\rangle\). \(\phi(C_{5,1})\) is a Type I code over the ring \(R_{u,u^2}\) with its binary parameters \([20,10,4]^*\).
We take \(C_{6,1}\) = \(\langle(1,0,0,1+u^3,u^2,u^2),(0,1,0,u^2,1+u+u^3,u+u^3),(0,0,1,\\ u^2,u+u^3,1+u+u^3)\rangle\). \(\phi(C_{6,1})\) is a Type II code over the ring \(R_{u,u^2}\) with its binary parameters \([24,12,4]\).
We take \(C_{6,1}\) = \(\langle(1,0,0,1+u^2+u^3,u^3,u^2+u^3),(0,1,0,u^3,1+u^2+u^3,u^2),(0,0,1,u^2+u^3,u^2,1+u^3)\rangle\). \(\phi(C_{6,2})\) is a Type I code over the ring \(R_{u,u^2}\) with its binary parameters \([24,12,4]\).