# Symplectic ACD codes over a non-commutative non-unitary ring

Sarra Manseri, Patrick Solé

► To cite this version:

Sarra Manseri, Patrick Solé. Symplectic ACD codes over a non-commutative non-unitary ring. computational and applied mathematics, 2025, 44 (140), pp.1-19. 10.1007/s40314-025-03098-x. hal-04912144

HAL Id: hal-04912144

https://hal.science/hal-04912144v1

Submitted on 25 Jan 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Symplectic ACD codes over a non-commutative non-unitary ring

Sarra Manseri<fnref n="1" /> · Patrick Solé<fnref n="2" />

Received: 9 June 2024 / Revised: 4 January 2025 / Accepted: 8 January 2025
© The Author(s) 2025

## Abstract

We introduce a symplectic inner product on vectors over a non-unitary non commutative ring of order 4. Linear and additive codes over that ring are explored from the standpoint of self-duality and complementarity with their duals.

**Keywords** Nonunitary ring · Symplectic self-dual codes · LCD codes · ACD codes

**Mathematics Subject Classification** Primary 94B; Secondary 13A99

## 1 Introduction

Most of the literature on codes over rings is in the context of codes over unital rings, that is to say rings with a unity for the second law (Shi et al. 2017). Codes over non-unital rings started to be considered in this decade (Alahmadi et al. 2022, 2023a), with a special emphasis on duality studies. In that context self-dual codes are replaced by quasi self-dual codes, a special class of self-orthogonal codes (Alahmadi et al. 2022; Dougherty and Sahinkaya 2023; Alahmadi et al. 2023b). Codes that intersect trivially their dual are called LCD or ACD depending on their linearity or mere additivity over the alphabet ring. ACD codes were introduced over finite fields in Shi et al. (2023) and over non-unitary rings in Shi et al. (2022).

On the other hand, symplectic self orthogonal, linear complementary dual beyond symplectic self-dual codes over finite fields have received a sustained attention from researchers in recent times (Xu and Du 2021; Jin and Xing 2011; Lv et al. 2020; Xu and Du 2022; Zhu et al. 2023). Xu and Du (2021) has given some methods to construct symplectic LCD and symplectic LCD MDS (symplectic maximum distance separable) codes over finite field. Also, Zhu et al. (2023) used Plotkin sum construction to obtain symplectic self orthogonal and LCD with explicit and good parameters.

<footnote>Patrick Solé
patrich.sole@telecom-paris.fr
Sarra Manseri
sarramanseri@gmail.com</footnote>

<footnote n="1">1 Central China Normal University, Wuhan 430079, China</footnote>

<footnote n="2">2 I2M (CNRS, University of Aix-Marseille), 13009 Marseilles, France</footnote>
In the present paper, we replace the standard inner product that was used in all of the above duality studies by the symplectic inner product (Li and Zhu 2024; Xu and Du 2021). We define and study self-dual, LCD codes, ACD codes for this inner product over the ring E in the notation of Alahmadi et al. (2022), a non-unitary, non-commutative ring of order 4. See Sect. 3 for an explicit definition. In particular we characterize free symplectic LCD codes as a function of a binary symplectic LCD code. We derive a characterization of symplectic LCD E-codes by their generator matrices. We give a characterization of symplectic ACD codes as a function of their residue and torsion codes. We characterize left symplectic self-dual codes. General bounds on the minimum symplectic weight of a code are given.

The material is structured as follows. The next section contains the main definitions, notions, and notations needed for the rest of the paper. Section 3 lays the foundation for the study of linear symplectic codes. Section 4 studies symplectic LCD codes. Section 5 introduces and studies ACD codes. Section 6 focusses on symplectic self-dual codes. Section 7 concludes the article.

## 2 Background material

To begin with, we need to recall some basic definitions. Denote by $\mathbb{F}_2 = \{0, 1\}$ the finite field with two elements. Let $n$ be a nonnegative integer. A linear $[n, k]$-code over $\mathbb{F}_2$ is a $k$-dimensional subspace of $\mathbb{F}_2^n$. The vector $\mathbf{u} = (\mathbf{x}|\mathbf{y})$, (resp. $\mathbf{v} = (\mathbf{z}|\mathbf{t})$) is the juxtaposition of the two vectors $\mathbf{x}, \mathbf{y}$ (resp. $\mathbf{z}, \mathbf{t}$), respectively. The **symplectic inner product** of $\mathbf{u}$ and $\mathbf{v}$ is defined by $\langle \mathbf{u}, \mathbf{v} \rangle_s = \mathbf{u}\Omega\mathbf{v}^T = \langle \mathbf{x}, \mathbf{t} \rangle + \langle \mathbf{y}, \mathbf{z} \rangle$, where $\Omega = \begin{bmatrix} \mathbf{0}_n & \mathbf{I}_n \\ \mathbf{I}_n & \mathbf{0}_n \end{bmatrix}$, with $\mathbf{0}_n$ is the zero matrix, $\mathbf{I}_n$ is the identity matrix of order $n$, $\mathbf{v}^T$ denotes the transposed vector of $\mathbf{v}$ and $\langle \cdot, \cdot \rangle$ is the Euclidean inner product.

Any $[n, k]$ binary code $\mathbf{C}$ is a subspace of $\mathbb{F}_2^n$ of length $n$ and dimension $k$. Define the **(Euclidean) dual code** $\mathbf{C}^\perp$ of $\mathbf{C}$ by $\mathbf{C}^\perp = \{\mathbf{u} \in \mathbb{F}_2^n | \langle \mathbf{u}, \mathbf{v} \rangle = 0, \forall \mathbf{v} \in \mathbf{C}\}$. The **symplectic dual** $\mathbf{D}^{\perp s}$ of $[2n, k']$ binary code of length $2n$ and dimension $k'$ is defined as $\mathbf{D}^{\perp s} = \{\mathbf{u} \in \mathbb{F}_2^{2n} | \langle \mathbf{u}, \mathbf{v} \rangle_s = 0, \text{ for all } \mathbf{v} \in \mathbf{D}\}$.

A linear code $\mathbf{C}$ over $\mathbb{F}_2$ is **(Euclidean) self orthogonal** (respectively, **symplectic self orthogonal**) if $\mathbf{C} \subseteq \mathbf{C}^\perp$ (respectively, $\mathbf{C} \subseteq \mathbf{C}^{\perp s}$) and **(Euclidean) self-dual** (respectively, **symplectic self-dual**) if $\mathbf{C} = \mathbf{C}^\perp$ (respectively, $\mathbf{C} = \mathbf{C}^{\perp s}$). Moreover, $\mathbf{C}$ is called **Euclidean-LCD** or **(Euclidean) linear with complementary dual** (respectively, **symplectic-LCD** or **(symplectic linear with complementary dual)**) if $\mathbf{C} \cap \mathbf{C}^\perp = \{\mathbf{0}\}$ (respectively, $\mathbf{C} \cap \mathbf{C}^{\perp s} = \{\mathbf{0}\}$).

The **(Hamming) weight** $\omega_H(\mathbf{c})$ of $\mathbf{c} \in \mathbf{C}$ is the number of nonzero components in $\mathbf{c}$. The **symplectic weight** $\omega_S(\mathbf{c}')$ of $\mathbf{c}' \in \mathbf{D}$ is $\omega_S(\mathbf{c}') = \omega_S(\langle \mathbf{x}|\mathbf{y} \rangle) = |\{i : \omega_H(\langle \mathbf{x}_i|\mathbf{y}_i \rangle) \neq 0 \text{ for all } i = 1 \cdots n\}|$, accordingly.

The **minimum Hamming distance** and the **minimum symplectic distance** of $\mathbf{C}$ are denoted by $d_H(\mathbf{C})$ and $d_S(\mathbf{C})$, respectively, and are defined as

$$d_H(\mathbf{C}) = \min\{\omega_H(\mathbf{c})|0 \neq \mathbf{c} \in \mathbf{C}\}, \\ d_S(\mathbf{C}) = \min\{\omega_S(\mathbf{c})|0 \neq \mathbf{c} \in \mathbf{C}\}.$$

In Li and Zhu (2024), there is a relation between the minimum (Hamming) distance and the minimum symplectic distance of an $[2n, k]$-code $\mathbf{C}$ over $\mathbb{F}_2$, given as follows.

$$\left\lfloor \frac{d_H(\mathbf{C})}{2} \right\rfloor \le d_S(\mathbf{C}) \le \min \left\{ d_H(\mathbf{C}), \left\lfloor \frac{2m - k + 2}{2} \right\rfloor \right\}. \quad (1)$$
### 3 Codes over non-unital non-commutative ring of order four

We start this section by recalling some basic concepts and summarize several facts and terminologies for codes over the considered ring as stated in Alahmadi et al. (2022, 2023a), Shi et al. (2022) and Dougherty and Sahinkaya (2023) which are essential for the study of symplectic codes presented in our research.

Let $\mathbf{E}$ be a ring defined as: $\mathbf{E} = \{a, b \mid 2a = 2b = 0, ab = a, ba = b, a^2 = a, b^2 = b\}$. Observe that $\mathbf{E}$ is a local ring with unique maximal ideal denoted by $\mathfrak{m}_E = \{0, c\}$ where $c = a + b$. Its addition table is expressed in Table 1. Thus, it is a non-commutative and non-unital ring. Its multiplication table is given in Table 2.

A c-adic decomposition of an arbitrary element $\mathbf{e}$ of $\mathbf{E}$ as $\mathbf{e} = \mathbf{f}\mathbf{a} + \mathbf{f}'\mathbf{c}$ where $\mathbf{f}, \mathbf{f}' \in \mathbb{F}_2$. Define a natural action of $\mathbb{F}_2$ over $\mathbf{E}$ as $\mathbf{e}0 = 0\mathbf{e} = 0$ and $\mathbf{e}1 = 1\mathbf{e} = \mathbf{e}$, for any $\mathbf{e} \in \mathbf{E}$ (Note that this action is distributive).

For additional details on the properties of the ring $\mathbf{E}$, we recommend the reader to check (Alahmadi et al. 2023a; Dougherty and Sahinkaya 2023).

A linear E-code or E-code of length $n$ is a left E-submodule of $\mathbf{E}^n$.

The (Euclidean) inner product of vectors $\mathbf{u} = (u_1, u_2, \dots, u_n)$ and $\mathbf{v} = (v_1, v_2, \dots, v_n)$ of $\mathbf{E}^n$ is defined by $\langle \mathbf{u}, \mathbf{v} \rangle = \sum_{i=1}^{n} u_i v_i$.

For any pair of vectors $\mathbf{x} = (\mathbf{u}|\mathbf{u}')$, $\mathbf{y} = (\mathbf{v}|\mathbf{v}')$ of $\mathbf{E}^{2n}$ where $\mathbf{u}, \mathbf{u}', \mathbf{v}$ and $\mathbf{v}'$ in $\mathbf{E}^n$, the symplectic inner product of $\mathbf{x}$ and $\mathbf{y}$ has the definition $\langle \mathbf{x}, \mathbf{y} \rangle_s = \langle \mathbf{u}, \mathbf{v}' \rangle + \langle \mathbf{v}, \mathbf{u}' \rangle$.

The left symplectic dual $\mathbf{C}^{\perp s_L}$ of a linear code $\mathbf{C}$ of $\mathbf{E}^{2n}$ is a left module defined as

$$ \mathbf{C}^{\perp s_L} = \{ \mathbf{y} \in \mathbf{E}^{2n} \mid \langle \mathbf{y}, \mathbf{x} \rangle_s = 0, \forall \mathbf{x} \in \mathbf{C} \}. $$

The right symplectic dual $\mathbf{C}^{\perp s_R}$ of a linear code $\mathbf{C}$ of $\mathbf{E}^{2n}$ is a right module defined by

$$ \mathbf{C}^{\perp s_R} = \{ \mathbf{y} \in \mathbf{E}^{2n} \mid \langle \mathbf{x}, \mathbf{y} \rangle_s = 0, \forall \mathbf{x} \in \mathbf{C} \}. $$

By using similar terminology as in Alahmadi et al. (2023a), an E-code $\mathbf{C}$ is said to be **symplectic self orthogonal** if for any $\mathbf{u}, \mathbf{v} \in \mathbf{C}$, $\langle \mathbf{u}, \mathbf{v} \rangle_s = 0$. Moreover, any symplectic self orthogonal code $\mathbf{C}$ meets $\mathbf{C} \subseteq \mathbf{C}^{\perp s_L} \cap \mathbf{C}^{\perp s_R}$.

An E-code $\mathbf{C}$ of length $2n$ is left symplectic nice (respectively, right symplectic nice) if $|\mathbf{C}||\mathbf{C}^{\perp s_L}| = 4^{2n}$ (respectively, $|\mathbf{C}||\mathbf{C}^{\perp s_R}| = 4^{2n}$).

<table><caption>**Table 1** Addition table</caption><tr><td>+</td><td>0</td><td>a</td><td>b</td><td>c</td></tr><tr><td>0</td><td>0</td><td>a</td><td>b</td><td>c</td></tr><tr><td>a</td><td>a</td><td>0</td><td>c</td><td>b</td></tr><tr><td>b</td><td>b</td><td>c</td><td>0</td><td>a</td></tr><tr><td>c</td><td>c</td><td>b</td><td>a</td><td>0</td></tr></table>

<table><caption>**Table 2** Multiplication table</caption><tr><td>×</td><td>0</td><td>a</td><td>b</td><td>c</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>a</td><td>0</td><td>a</td><td>a</td><td>0</td></tr><tr><td>b</td><td>0</td><td>b</td><td>b</td><td>0</td></tr><tr><td>c</td><td>0</td><td>c</td><td>c</td><td>0</td></tr></table>
If $\mathbf{C}$ is symplectic self orthogonal with cardinality $4^n$, then we say $\mathbf{C}$ is **symplectic quasi self-dual** or **symplectic-QSD**. Thus, $\mathbf{C}$ is called **left symplectic self-dual** (respectively, **right symplectic self-dual** if it verifies $\mathbf{C} = \mathbf{C}^{\perp s_L}$ (respectively, $\mathbf{C} = \mathbf{C}^{\perp s_R}$).

An additive code $\mathbf{C}$ of length $2n$ over $\mathbf{E}$ or (additive $\mathbf{E}$-code) is defined to be an additive subgroup of $\mathbf{E}^{2n}$. Such a code has the minimum symplectic distance $d_S$ and its parameters are in the form $(2n, |\mathbf{C}|, d_S)$.

A $\mathbf{E}$-code is **left symplectic-LCD** (resp. **right symplectic-LCD**) if it is left symplectic nice and $\mathbf{C} \cap \mathbf{C}^{\perp s_L} = \{0\}$ (resp. right symplectic nice and $\mathbf{C} \cap \mathbf{C}^{\perp s_R} = \{0\}$).

Two linear codes over $\mathbf{E}$ are said to be **permutation-equivalent** if there exists a permutation of coordinates that maps one to the other. Furthermore, if such codes are symplectic self orthogonal over $\mathbf{E}$, we say that they are **symplectic-equivalent**.

For any linear $\mathbf{E}$-code $\mathbf{C}$ of length $n$, we canonically associate with this $\mathbf{C}$ two binary linear codes as follows:

$$ \mathrm{res}(\mathbf{C}) = \{\alpha_{\mathbf{E}}(\mathbf{u}) \mid \mathbf{u} \in \mathbf{C}\} \text{ and } \mathrm{tor}(\mathbf{C}) = \{\mathbf{v} \in \mathbb{F}_2^n \mid c\mathbf{v} \in \mathbf{C}\} $$

where $\alpha_{\mathbf{E}}$ is the map of reduction modulo $m_{\mathbf{E}} = \{0, c\}$. It is defined by $\alpha_{\mathbf{E}} : \mathbf{E} \to \mathbf{E}/m_{\mathbf{E}} \simeq \mathbb{F}_2$, such that $\alpha_{\mathbf{E}}(\mathbf{0}) = \alpha_{\mathbf{E}}(\mathbf{c}) = \mathbf{0}, \alpha_{\mathbf{E}}(\mathbf{a}) = \alpha_{\mathbf{E}}(\mathbf{b}) = \mathbf{1}$. This mapping is extended in a natural way from $\mathbf{E}$ to $\mathbb{F}^n$.

As presented in Deb et al. (2022), these two binary codes satisfy $\mathrm{res}(\mathbf{C}) \subseteq \mathrm{tor}(\mathbf{C})$. Denote by $k_1$ the dimension of $\mathrm{res}(\mathbf{C})$, and by $k_1 + k_2$ the dimension of $\mathrm{tor}(\mathbf{C})$. Then, the first isomorphism theorem yields

$$ |\mathbf{C}| = |\mathrm{res}(\mathbf{C})| |\mathrm{tor}(\mathbf{C})| = 4^{k_1} \times 2^{k_2}. $$

The $\mathbf{E}$-code $\mathbf{C}$ is then said to be of **type** $(k_1, k_2)$. If $k_2 = 0$, then $\mathbf{C}$ is **free** as an $\mathbf{E}$ module, which is equivalent to $\mathrm{res}(\mathbf{C}) = \mathrm{tor}(\mathbf{C})$.

We now state a method to construct symplectic-QSD codes over $\mathbf{E}$ from $\mathbb{F}_2$-codes.

**Theorem 1** Let $\mathbf{S}$ be a binary linear code of length $2n$. If $\mathbf{S}$ is symplectic self orthogonal. Then, let $\mathbf{C}$ be the code constructed as

$$ \mathbf{C} = a\mathbf{S} + c\mathbf{S}^{\perp s} $$

$\mathbf{C}$ is $\mathbf{E}$-code. Further, $\mathbf{C}$ is symplectic-QSD with $\mathrm{res}(\mathbf{C}) = \mathbf{S}$ and $\mathrm{tor}(\mathbf{C}) = \mathbf{S}^{\perp s}$.

**Proof** First we have to prove that $\mathbf{C}$ is an $\mathbf{E}$-code. By the linearity of $\mathbf{S}$, we observe that $\mathbf{C}$ is closed under addition. Therefore, $a \mathbf{C} \subseteq a \mathbf{S} \subseteq \mathbf{C}$. By using the hypothesis that $\mathbf{S}$ is self orthogonal of $\mathbf{S}$, we obtain $c \mathbf{C} \subseteq c \mathbf{S} \subseteq c \mathbf{S}^{\perp s} \subseteq \mathbf{C}$, and $b \mathbf{C} \subseteq b \mathbf{S} \subseteq a \mathbf{S} + \mathbf{S} \subseteq a \mathbf{S} + \mathbf{S} \subseteq c \mathbf{S}^{\perp s} \subseteq \mathbf{C}$. As consequence of this, $\mathbf{C}$ is $\mathbf{E}$-code. Therefore, assume that $\mathbf{c} = a \mathbf{s}_1 + c \mathbf{s}'_1, \mathbf{c}' = a \mathbf{s}_2 + c \mathbf{s}'_2$ are two arbitrary codewords of $\mathbf{C}$ where $\mathbf{s}_1, \mathbf{s}_2 \in \mathbf{S}$, $(\mathbf{s}'_1, \mathbf{s}'_2) \in \mathbf{S}^{\perp s}$. Note that

$$ \begin{aligned} \langle \mathbf{c}, \mathbf{c}' \rangle_s &= \langle a \mathbf{s}_1, c \mathbf{s}'_1, a \mathbf{s}_2 + c \mathbf{s}'_2 \rangle_s \\ &= a \langle \mathbf{s}_1, \mathbf{s}_2 \rangle_s + c \langle \mathbf{s}_2, \mathbf{s}'_1 \rangle_s = 0. \end{aligned} $$

The latest equality holds because $\mathbf{S}$ is binary symplectic self-orthogonal.

Hence, $\mathbf{C}$ is symplectic self-orthogonal over $\mathbf{E}$.

Since, $\mathbf{C} = a\mathbf{S} + c\mathbf{S}^{\perp s}$, then $|\mathbf{C}| = |\mathbf{S}| |\mathbf{S}^{\perp s}| = 2^{2n} = 4^n$.

As consequence, $\mathbf{C}$ is symplectic-QSD over $\mathbf{E}$. Additionally, the residue and torsion codes can be derived directly by applying their definitions. □

When a linear code $\mathbf{C}$ is symplectic self-orthogonal over $\mathbf{E}$, we obtain the next two results.
**Lemma 1** Let $\mathbf{C}$ be a $\mathbf{E}$-code. If $\mathbf{C}$ is symplectic self-orthogonal, then the following statements hold

(i) $\mathrm{res}(\mathbf{C})$ is a binary symplectic self-orthogonal.

(ii) $\mathrm{tor}(\mathbf{C}) \subseteq \mathrm{res}(\mathbf{C})^{\perp s}$. Equality holds if $|\mathbf{C}| = 4^n$.

*Proof* To prove statement (i). Let $\mathbf{r}, \mathbf{r}' \in \mathrm{res}(\mathbf{C})$. From Lemma 3, $a\mathbf{r}, a\mathbf{r}' \in \mathbf{C}$. Using the fact that $\mathbf{C}$ is symplectic self-orthogonal, we obtain $0 = \langle a\mathbf{r}, a\mathbf{r}' \rangle_s = a\langle \mathbf{r}, \mathbf{r}' \rangle_s$. Thus, $\langle \mathbf{r}, \mathbf{r}' \rangle_s = 0$. As a consequence, $\mathrm{res}(\mathbf{C}) \subseteq \mathrm{res}(\mathbf{C})^{\perp s}$.

Now we prove statement (ii). Suppose $\mathbf{t} \in \mathrm{tor}(\mathbf{C})$ and $\mathbf{r} \in \mathrm{res}(\mathbf{C})$. From $c \mathrm{tor}(\mathbf{C}) \subseteq \mathbf{C}$, if $a\mathbf{r} + c\mathbf{t}' \in \mathbf{C}$ where $\mathbf{t}'$ is a binary vector, then by using the symplectic self-orthogonality of $\mathbf{C}$, we get $0 = \langle c\mathbf{t}, a\mathbf{r} + c\mathbf{t}' \rangle_s = c\langle \mathbf{t}, \mathbf{r} \rangle_s$. This implies that $\langle \mathbf{t}, \mathbf{r} \rangle_s = 0$. In addition to $\mathbf{r} \in \mathrm{tor}(\mathbf{C})$, we obtain $\mathbf{t} \in \mathrm{res}(\mathbf{C})^{\perp s}$. Hence, $\mathrm{tor}(\mathbf{C}) \subseteq \mathrm{res}(\mathbf{C})^{\perp s}$. Furthermore, $|\mathbf{C}| = 4^n$ equivalent to $k_1+(k_1+k_2) = 2n$. This implies that $\mathrm{tor}(\mathbf{C})$ and $\mathrm{res}(\mathbf{C})^{\perp s}$ have same dimension. Consequently, the statement (ii) is proved. □

**Lemma 2** Assume $\mathbf{C}$ is a symplectic-QSD code over $\mathbf{E}$ of length $2n$ and $\mathbf{t} = a\mathbf{t}_1 + c\mathbf{t}_2$ where $\mathbf{t}_1, \mathbf{t}_2$ are two binary vectors of length $2n$. If $\mathbf{t} \in \mathbf{C}$, then $\mathbf{t}_1 \in \mathrm{res}(\mathbf{C})$ and $\mathbf{t}_2 \in \mathrm{tor}(\mathbf{C})$. Particularly, $a \mathrm{res}(\mathbf{C}) \subseteq \mathbf{C}$.

*Proof* We have $\mathbf{t}_1 = \alpha_{\mathbf{E}}(\mathbf{t}) \in \mathrm{res}(\mathbf{C})$. Since $\mathrm{res}(\mathbf{C}) \subseteq \mathrm{tor}(\mathbf{C})$, every $\mathbf{r} \in \mathrm{res}(\mathbf{C})$ satisfies $a\mathbf{r} \in \mathbf{C}$. From the symplectic orthogonality of $\mathbf{C}$, we obtain

$$0 = \langle \mathbf{t}, a\mathbf{r} \rangle_s = \langle a\mathbf{t}_1 + c\mathbf{t}_2, a\mathbf{r} \rangle_s = a\langle \mathbf{t}_1, \mathbf{r} \rangle_s + c\langle \mathbf{t}_2, \mathbf{r} \rangle_s$$

By Lemma 1, we observe $\langle \mathbf{t}_1, \mathbf{r} \rangle_s = 0$. Then, $\langle \mathbf{t}_2, \mathbf{r} \rangle_s = 0$, $\forall \mathbf{r} \in \mathrm{res}(\mathbf{C})$. Moreover $\mathbf{C}$ is symplectic-QSD, we get $\mathbf{t}_2 \in \mathrm{res}(\mathbf{C})^{\perp s} = \mathrm{tor}(\mathbf{C})$. Furthermore, $c\mathbf{r} \in \mathbf{C}$ and $a\mathbf{t}_1 = a\mathbf{t}_1 + c\mathbf{t}_2 + c\mathbf{t}_2 \in \mathbf{C}$. Hence, $a \mathrm{res}(\mathbf{C}) \subseteq \mathbf{C}$. □

Recall the results of Alahmadi et al. (2023a) on a linear $\mathbf{E}$-code, which gave the relation between any $\mathbf{E}$-code and its residue and torsion codes. The next lemma follows by removing the condition of the symplectic QSD from the previous lemma. The proof is omitted.

**Lemma 3** (Alahmadi et al. 2023a, Lemma 1) If $\mathbf{C}$ is a $\mathbf{E}$-code of length $n$, then $a \mathrm{res}(\mathbf{C}) \subseteq \mathbf{C}$.
We are now in a position to state and prove the next result.

**Theorem 2** (Alahmadi et al. 2023a, Theorem 7) If $\mathbf{C}$ is a $\mathbf{E}$-code of length $n$, then $\mathbf{C} = a \mathrm{res}(\mathbf{C}) \oplus c \mathrm{tor}(\mathbf{C})$.

Using Lemma 1 and Theorem 2, we provide a necessary and sufficient for a linear code over $\mathbf{E}$ to be a symplectic self-orthogonal. As stated in next lemma.

**Lemma 4** Let $\mathbf{C}$ be a $\mathbf{E}$-code. Then $\mathbf{C}$ is symplectic self-orthogonal if and only if $\mathrm{res}(\mathbf{C}) \subseteq \mathrm{tor}(\mathbf{C})^{\perp s}$.

*Proof* Since $\mathbf{C}$ is symplectic self-orthogonal, by Lemma 1, the statement follows.

Let $\mathbf{c}, \mathbf{d}$ be two codewords of $\mathbf{C}$, then from Theorem 2, $\mathbf{c} = a\mathbf{c}_1 + c\mathbf{c}_2$ and $\mathbf{d} = a\mathbf{d}_1 + c\mathbf{d}_2$ where $\mathbf{c}_1, \mathbf{d}_1 \in \mathrm{res}(\mathbf{C})$ and $\mathbf{c}_2, \mathbf{d}_2 \in \mathrm{tor}(\mathbf{C})$. Note that

$$\langle \mathbf{c}, \mathbf{d} \rangle_s = \langle a\mathbf{c}_1 + c\mathbf{c}_2, a\mathbf{d}_1 + c\mathbf{d}_2 \rangle_s = a\langle \mathbf{c}_1, \mathbf{d}_1 \rangle_s + c\langle \mathbf{d}_1, \mathbf{c}_2 \rangle_s$$

Using $\mathrm{res}(\mathbf{C}) \subseteq \mathrm{tor}(\mathbf{C})$ and the hypothesis, we observe that $\mathrm{res}(\mathbf{C}) \subseteq \mathrm{tor}(\mathbf{C})^{\perp s} \subseteq \mathrm{res}(\mathbf{C})^{\perp s}$, implying that $\langle \mathbf{c}_1, \mathbf{d}_1 \rangle_s = 0$ and $\langle \mathbf{d}_1, \mathbf{c}_2 \rangle_s = 0$. Thus $\langle \mathbf{c}, \mathbf{d} \rangle_s = 0$. The converse follows. □
Following Alahmadi et al. (2023b, Corollary 2) for some symplectic self-orthogonal E-codes, the symplectic-QSD codes over E can be obtained as stated in the next corollary.

**Corollary 1** Let $\mathbf{C}$ be a linear code of length $2n$ over $\mathbf{E}$ of generator matrix $G = [aI_n|L]$, where $L$ is a square matrix of size $n$ and entries from $\mathbf{E}$. If $\mathbf{C}$ is symplectic self-orthogonal over $\mathbf{E}$. Then,

$\mathbf{C}$ is symplectic-QSD if and only if it is free and of type $(n, 0)$.

*Proof* Suppose $\mathbf{C}$ is symplectic-QSD of generator matrix in the form of $G$, then $|\mathbf{C}| = 2^{2n}$. By using the same argument used to prove Alahmadi et al. (2023b, Theorem 6), we get $L = aD$ where $D$ is a binary matrix of size $n$. By Alahmadi et al. (2023b, Theorem 6), $\mathbf{C}$ is a free code of type $(n, 0)$.

Conversely, since $\mathbf{C}$ is of type $(n, 0)$, we have $|\mathbf{C}| = 2^{2n}$. This, together with the symplectic self-orthogonality of $\mathbf{C}$, yields that $\text{res}(\mathbf{C})$ is a binary symplectic self-orthogonal and $\text{tor}(\mathbf{C}) = \text{res}(\mathbf{C})^{\perp s}$ (using Lemma 1). Hence, by Theorems 1 and 2, $\mathbf{C}$ is a symplectic-QSD code over $\mathbf{E}$. $\square$

# 4 Symplectic duality

First, we prove that the left symplectic, and the right symplectic dual codes of a E-code are not equal generally. Also, a nonzero E-code cannot be always right symplectic nice. Thus, there is no non-trivial right symplectic-LCD code over E. This is stated in the next remark.

**Remark 1** (1) Let $\mathbf{C}_{\text{rep}} = \{00, aa, bb, cc\}$ be the repetition code of length 2 over $\mathbf{E}$. Then, $\mathbf{C}_{\text{rep}}^{\perp s_L} = \mathbf{C}_{\text{rep}}$ and $\mathbf{C}_{\text{rep}}^{\perp s_R} = \mathbf{C}_{\text{rep}} \cup \{c0, 0c, ab, ba\}$.

We have $\mathbf{C}$ is linear code over $\mathbf{E}$, also $\mathbf{C}_{\text{rep}}^{\perp s_R}$ and $\mathbf{C}_{\text{rep}}^{\perp s_L}$ are not equal. Therefore, $|\mathbf{C}_{\text{rep}}||\mathbf{C}_{\text{rep}}^{\perp s_R}| = 4^{2n}$ does not always apply in general, since $|\mathbf{C}_{\text{rep}}||\mathbf{C}_{\text{rep}}^{\perp s_R}| = 4^3$.

(2) Let $\mathbf{C}$ be an nonzero E-code. From the linearity of $\mathbf{E}$, any $\mathbf{y} \in \mathbf{C}$, $\mathbf{cy} \in \mathbf{C}$. For any $\mathbf{x} \in \mathbf{C}$, we observe that $\langle \mathbf{x}, \mathbf{cy} \rangle_s = 0$. This implies that $\mathbf{cy} \in \mathbf{C}^{\perp s_R}$. Consequently, $\mathbf{C} \cap \mathbf{C}^{\perp s_R} \neq \{0\}$. Hence, there is no non-trivial right symplectic-LCD code over $\mathbf{E}$.

From the previous remark, the right symplectic-LCD codes over $\mathbf{E}$ will not be considered in the rest of the paper. Hereinafter, we consider the left symplectic-LCD codes and write symplectic-LCD codes, hence the left symplectic dual only. Following Shi et al. (2022), we have obtained the following results.

**Lemma 5** Let $\mathbf{C}$ be a free E-code of generator matrix $G$. Denote $\mathbf{C}^{\perp L}$ its left (Euclidean) dual. Then

(1) $\mathbf{C} = \langle aG_2 \rangle_{\mathbf{E}}$, where $G_2$ is a binary matrix.

(2) $\mathbf{C}^{\perp L} = \langle aH_2 \rangle_{\mathbf{E}}$ for some binary parity check matrix $H_2$.

(3) $\mathbf{C}^{\perp s_L} = \langle aH_2\Omega \rangle_{\mathbf{E}}$.

*Proof* The proof of statements (1) and (2) can be found in Shi et al. (2022, Lemma 1). Now, we prove the statement (3). Since $\mathbf{C} = \langle aG_2 \rangle_{\mathbf{E}}$, for some binary matrix $G_2$. Let $H_2$ be a parity check matrix related to $G_2$. Using proposition 2.1 of Li and Zhu (2024), one can say $H_2\Omega$ is a generator matrix of the symplectic dual of the binary code of generator matrix $G_2$. Then,

$$ (aH_2\Omega)\Omega(aG_2)^T = aH_2\Omega G_2^T = 0. $$
Hence, $\langle aH_2\Omega\rangle_E \subseteq C^{\perp s_L}$.

Suppose $G_2$ is of the standard form $[I_k|B]$ where $I_k$ is the identity matrix and $B$ is binary

matrix. Let $\mathbf{y} \in C^{\perp s_L}$. Assume $aG_2 = \begin{bmatrix} ag_1 \\ ag_2 \\ \vdots \\ ag_k \end{bmatrix}$, where $g_1, \dots, g_k$ are the rows of $G_2$.

Therefore, $\langle \mathbf{y}, a\mathbf{g}_i \rangle_s = 0, \forall 0 \le i \le k$. For each $0 \le i \le k$, $a\mathbf{y}_{i1} + a\mathbf{y}_{i2} + \dots + a\mathbf{y}_{ik} = a(\mathbf{y}_{i1} + \mathbf{y}_{i2} + \dots + \mathbf{y}_{ik} = 0$ for some $0 \le t \le k$. From Table 2, note $(\mathbf{y}_{i1} + \mathbf{y}_{i2} + \dots + \mathbf{y}_{ik} = 0$. This fact, together with Table 2 and from the standard form of $G_2$, yields the followings $k$ equations.

$$ 
\begin{aligned}
\mathbf{y}_{n+1} + 0 + 0 + \dots + 0 + \mathbf{y}_{k+i_1} + \dots + \mathbf{y}_{i_1} &= 0, \\
0 + \mathbf{y}_{n+2} + 0 + \dots + 0 + \mathbf{y}_{k+i_2} + \dots + \mathbf{y}_{i_2} &= 0, \\
\vdots \\
0 + 0 + \dots + 0 + \mathbf{y}_k + \mathbf{y}_{k+i_k} + \dots + \mathbf{y}_{i_k} &= 0,
\end{aligned}
$$

For each $0 \le t \le k$, the indices $k+i_t, \dots, i_t$ of $\mathbf{y}$ correspond to the nonzero positions of $ag_t$. Since we have at most $2n-k$ free variables in the $k$ equations above, so there are $4^{2n-k}$ solutions of $\mathbf{y}$, this implies that $|C^{\perp s_L}| \le 4^{2n-k}$. Since $|\langle aH_2\Omega\rangle_E| = 4^{2n-k}$ and $\langle aH_2\Omega\rangle_E \subseteq C^{\perp s_L}$, we get $C^{\perp s_L} = \langle aH_2\Omega\rangle_E$. $\square$

**Proposition 1** Let $\mathbf{C}$ be a linear code over $\mathbb{E}$ of length $2n$. Then it is free if and only if it is left symplectic nice.

*Proof* Since $\mathbf{C}$ is $\mathbb{E}$-code, then

$$ |\mathbf{C}| |C^{\perp s_L}| = 4^{k_1} \times 2^{k_2} \times 4^{2n-k_1} = 4^{2n} \times 2^{k_2} $$

Therefore, $\mathbf{C}$ is free if and only if it is left symplectic nice. $\square$

As a consequence of Proposition 1, we observe the next result.

**Corollary 2** If $\mathbf{C}$ is symplectic-LCD $\mathbb{E}$-code, then it is free.

*Proof* From the definition of symplectic-LCD $\mathbb{E}$-code, we have $\mathbf{C}$ is left symplectic nice. According to Proposition 1, we conclude that $\mathbf{C}$ is free. $\square$

Note that in the Corollary above, there is no symplectic-LCD $\mathbb{E}$-code that is not free. In the following results, we present a method for constructing symplectic-LCD $\mathbb{E}$-codes by using binary symplectic-LCD codes.

**Proposition 2** Let $\mathbf{D}$ be a binary symplectic-LCD $[2n, k]$-code of generator matrix $G_2$. Then the $\mathbb{E}$-span of $aG_2$, the code $\langle aG_2\rangle_E$ is a symplectic-LCD $\mathbb{E}$-code.

*Proof* Suppose $\mathbf{C} = \langle aG_2\rangle_E$ and $H_2$ be a binary parity check matrix for $\mathbf{D}$. According to (3) of Lemma 5,

$$ C^{\perp s_L} = \langle aH_2\Omega\rangle_E. $$

Hence, $|\mathbf{C}| |C^{\perp s_L}| = 4^k \times 4^{2n-k} = 4^{2n}$. This shows that $\mathbf{C}$ is left symplectic nice. Now, we prove $C \cap C^{\perp s_L} = \{0\}$. Suppose $\mathbf{0} \neq \mathbf{z} \in C \cap C^{\perp s_L}$. Then, we have the next two possibilities:
**Case 1:** Assume $\mathbf{z}$ is not the product of a binary vector with $c$, then

$\mathbf{z} = \sum \gamma_i a \mathbf{g}_i$, where and $a \mathbf{g}_i$ is a row of $aG_2$ for some distinct $i$ and $\gamma_i \in \mathbf{E}$.

Again,

$\mathbf{z} = \sum \lambda_j a \mathbf{g}_j$, where $a \mathbf{g}_j$ is a row of $aH_2\Omega$ for some distinct $j$ and $\lambda_j \in \mathbf{E}$.

Since $c = a + b$, suppose $\gamma_i$'s and $\lambda_j$'s are $a$ or $b$. Furthermore, we have $aa = a$, $ab = a$ and $az = z \neq 0$. Then

$a\mathbf{z} = \sum a \mathbf{g}_{i_t}$, where and $a \mathbf{g}_{i_t}$ is a row of $G_2$ for some distinct $i_t$.

Also,

$a\mathbf{z} = \sum a \mathbf{g}_{j_t}$, where $\mathbf{g}_{j_t}$ is a row of $H_2\Omega$ for some distinct $j_t$.

Therefore, $\mathbf{0} = \sum a \mathbf{g}_{i_t} - \sum a \mathbf{g}_{j_t} = a(\sum \mathbf{g}_{i_t} - \sum \mathbf{g}_{j_t})$. Hence, $\sum \mathbf{g}_{i_t} - \sum \mathbf{g}_{j_t} = 0$. 
Implying that, $\sum \mathbf{g}_{i_t} = \sum \mathbf{g}_{j_t} \in \mathbf{D} \cap \mathbf{D}^{\perp s}$, which is in conflict with $\mathbf{D}$ being a symplectic-LCD $\mathbb{F}_2$-code.

**Case 2:** Assume $\mathbf{x} = c\mathbf{u}$, where $\mathbf{u}$ is a nonzero binary vector. By consideration of the generator matrix $aG_2$ with $G_2$ in standard form, we see $\mathbf{u}$ can be expressed as a linear combination of some rows of $G_2$. This implies that, $\mathbf{v} \in \mathbf{D}$. Similarly, we have $\mathbf{u} \in \mathbf{D}^{\perp s}$. Hence $\mathbf{u} \in \mathbf{D} \cap \mathbf{D}^{\perp s}$, which is in conflict with $\mathbf{D}$ being symplectic-LCD $\mathbb{F}_2$-code.

In both cases, we obtained a contradiction. Consequently, $C \cap C^{\perp s_L} = \{0\}$. Hence, $C$ is a symplectic-LCD E-code. □

Now we consider an example of symplectic-LCD E-code constructed by using the method characterized in Proposition 2.

**Example 1** Let $\mathbf{D}$ be a binary [8, 4]-code of generator matrix $G_2$ where,

$$G_2 = \begin{pmatrix} 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\ 0 & 1 & 1 & 1 & 0 & 1 & 0 & 0 \end{pmatrix}$$

From Xu and Du (2021, Example 4), $\mathbf{D}$ is a symplectic-LCD $\mathbb{F}_2$-code. Hence, the E-code $C$, where $C = \langle aG_2 \rangle_E$ is a symplectic-LCD over E by Proposition 2.

To prove that $C$ is a symplectic-LCD code over E, we have to check all the conditions of a code to be symplectic-LCD over E. We have the parity check matrix of $\mathbf{D}$ is

$$H_2 = \begin{pmatrix} 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 \\ 1 & 0 & 1 & 1 & 0 & 1 & 0 & 0 \\ 0 & 1 & 1 & 1 & 0 & 0 & 1 & 0 \\ 0 & 1 & 1 & 1 & 0 & 0 & 0 & 1 \end{pmatrix}$$

From (3) of Lemma 5, $C^{\perp s_L} = \langle aH_2\Omega \rangle_E$. Since, $|C| = |C| = 4^4$, then $|C||C^{\perp s_L}| = 4^8$. So, $C$ is a left symplectic nice. Remaining to prove $C \cap C^{\perp s_L} = \{0\}$. It is easy to check that the matrix $(aG_2)\Omega(aG_2)^T$ is nonsingular. Hence, $C \cap C^{\perp s_L} = \{0\}$. Consequently, $C$ is a symplectic-LCD code over E.

Now, we state and prove the converse assertion of Proposition 2.
**Proposition 3** A free symplectic-LCD E-code C is spanned by the matrix $aG_2$, with $G_2$ is a generator matrix for a binary symplectic-LCD code.

*Proof* Using Lemma 5, C is generated by the rows of $aG_2$ where $G_2$ is a generator matrix of a binary code denoted by D. Again by Lemma 5, $C^{\perp s_L} = \langle aH_2\Omega \rangle_S$ where $H_2$ is a parity check matrix related to $G_2$. Since C is symplectic-LCD, we have $C \cap C^{\perp s_L} = \{0\}$. Now we prove D is a symplectic-LCD $\mathbb{F}_2$-code. Assume $0 \neq v \in D \cap D^{\perp s_L}$, since v is nonzero vector, then $0 \neq av \in C \cap C^{\perp s_L}$, which contradicts to C is symplectic-LCD. So, D is a symplectic-LCD $\mathbb{F}_2$-code. □

**Corollary 3** If C is a symplectic-LCD E-code, then its residue and torsion codes are binary symplectic-LCD codes.

*Proof* Since C is symplectic-LCD, according to Corollary 2, C is free. From Proposition 2, C is generated by the rows of $aG_2$ over E, with $G_2$ is generator matrix of a binary symplectic-LCD code. From the freeness of C, we have $\text{res}(C) = \text{tor}(C)$ and $G_2$ is going to be a generator matrix for both. □

From a characterisation of an symplectic-LCD code over a finite field presented in Xu and Du (2021), we state a necessary and sufficient condition for a E-code to be symplectic-LCD. Therefore,

**Proposition 4** Let C be an E-code with additive generator matrix G of the form 1 given in Shi et al. (2022, Corollary 1), where

$$G = \begin{bmatrix} aI_{k_1} & aX & aY \\ bI_{k_1} & bX & bY \\ \mathbf{0} & cI_{k_2} & cZ \end{bmatrix}$$

Where $I_t$ is the identity matrix and X, Y, Z are binary matrices. Let $G_2 = [I_{k_1} \ X \ Y]$. Then, C is symplectic-LCD over E if and only if $k_2 = 0$ and $\det(G_2\Omega G_2^T) \neq 0$.

*Proof* Since C is a symplectic-LCD code over E, it is free by Corollary 2, i.e, $k_2 = 0$. If $\det(G_2\Omega G_2^T) = 0$, let D be a binary linear code of generator matrix $G_2$, by Theorem 1, Alahmadi et al. (2023b, Theorem 1), D is not symplectic-LCD code, so $D \cap D^{\perp s_L} = \{0\}$. Therefore, let $0 \neq v \in D \cap D^{\perp s_L}$, then $av \in C \cap C^{\perp s_L}$ which contradicts with C is a symplectic-LCD E-code. Hence, $\det(G_2\Omega G_2^T) \neq 0$.

Conversely, if $\det(G_2\Omega G_2^T) \neq 0$, then, according to Xu and Du (2021, Theorem 1), $G_2$ generates a binary symplectic-LCD code. This together with $k_2 = 0$, then by Proposition 2, C is a symplectic-LCD code over E. □

# 5 Symplectic-ACD codes over the ring E

This section define right and left symplectic-ACD codes over E. It also characterize the symplectic-ACD codes over E.

An additive E-code C of length $2n$ is a free $\mathbb{F}_2$-module having $2^l$ elements, where $0 \le l \le 2n$. Such a code is said to be **right symplectic nice** (resp. **left symplectic nice**) if it verifies $(|C||C^{\perp s_R}| = 4^{2n})$ (resp. $|C||C^{\perp s_L}| = 4^{2n}$). Furthermore, C is called **right symplectic-ACD** (resp. **left symplectic-ACD**) if it is a right symplectic nice (resp. left symplectic nice) and $C \cap C^{\perp s_R} = \{0\}$ (resp. $C \cap C^{\perp s_L} = \{0\}$).
**Theorem 3** If $\mathbf{C}$ is an additive E-code of length $2n$, then its left symplectic dual is free, but its right symplectic dual is not free.

**Proof** First, we prove that $\mathbf{C}^{\perp L_S}$ is an E-code. Assume $\mathbf{d} + \mathbf{d}' \in \mathbf{C}^{\perp L_S}$ and $\mathbf{c} \in \mathbf{C}$. From the definition of left symplectic dual, we obtain

$$ \langle \mathbf{d} + \mathbf{d}', \mathbf{c} \rangle_s = \langle \mathbf{d}, \mathbf{c} \rangle_s + \langle \mathbf{d}', \mathbf{c} \rangle_s = 0. $$

Then, $\mathbf{d} + \mathbf{d}' \in \mathbf{C}^{\perp L_S}$. Therefore, let $e \in \mathbf{E}$. From a c-adic decomposition of $e$, we have $e = a\mathbf{e}_1 + c\mathbf{e}_2$ where $\mathbf{e}_1, \mathbf{e}_2$ are binary vectors. Then, for any $\mathbf{d} \in \mathbf{C}^{\perp L_S}$ and $\mathbf{c} \in \mathbf{C}$, since $\langle a\mathbf{d}, \mathbf{c} \rangle_s = \langle b\mathbf{d}, \mathbf{c} \rangle_s = \langle \mathbf{d}, \mathbf{c} \rangle_s = 0$, we have $a\mathbf{d}, b\mathbf{d} \in \mathbf{C}^{\perp L_S}$. So

$$ \langle a\mathbf{d}, \mathbf{c} \rangle_s = \langle (a\mathbf{e}_1 + c\mathbf{e}_2)\mathbf{d}, \mathbf{c} \rangle_s = \langle a\mathbf{e}_1\mathbf{d}, \mathbf{c} \rangle_s + \langle c\mathbf{e}_2\mathbf{d}, \mathbf{c} \rangle_s = 0 $$

Then $\mathbf{e}\mathbf{d} \in \mathbf{C}^{\perp L_S}$. We conclude that $\mathbf{C}^{\perp L_S}$ is linear code over $\mathbf{E}$. By the same technique, we can prove that $\mathbf{C}^{\perp R_S}$ is a linear code over $\mathbf{E}$.

Next, we show that $\mathbf{C}^{\perp L_S}$ is free and that $\mathbf{C}^{\perp R_S}$ is not free.

(i) Since $\mathbf{C}^{\perp L_S}$ is E-code. Assume $\mathbf{z} = c\mathbf{v} \in \mathbf{C}^{\perp L_S}$, where $\mathbf{v} \in \mathbb{F}_2^{2n}$. By Table 2, every $\mathbf{y} \in \mathbf{C}$, $\langle \mathbf{z}, \mathbf{y} \rangle_s = \langle c\mathbf{v}, \mathbf{y} \rangle_s = ct = 0$. Hence, $t$ is even. Let $\mathbf{x} = a\mathbf{w}$. From Table 2, $\langle \mathbf{x}, \mathbf{y} \rangle_s = \langle a\mathbf{w}, \mathbf{y} \rangle_s = at = 0$. So, $\mathbf{x} \in \mathbf{C}^{\perp L_S}$. By Shi et al. (2022, Lemma 2), we conclude that $\mathbf{C}^{\perp L_S}$ is a free E-code.

(ii) Suppose $\mathbf{C}^{\perp R_S}$ is free, then it has an additive generator matrix $A = \begin{bmatrix} aI_{k_1} & aX & aY \\ bI_{k_1} & bX & bY \end{bmatrix}$. Observe that $c$ is a right zero divisor, we get $\langle cI_{2n} \rangle_{\mathbb{F}_2} \subseteq \mathbf{C}^{\perp R_S}$. Since $\mathbf{C}^{\perp R_S}$ is free E-code, by (Lemma 2, Shi et al. 2022), we have $\langle aI_{2n} \rangle_{\mathbb{F}_2} \subseteq \mathbf{C}^{\perp R_S}$ and $\langle bI_{2n} \rangle_{\mathbb{F}_2} \subseteq \mathbf{C}^{\perp R_S}$. These imply that $|\mathbf{C}^{\perp R_S}| = 4^n \times 4^n = 4^{2n}$. Also, $|\mathbf{C}^{\perp R_S}| \le 4^{2n}$ because $\mathbf{C}^{\perp R_S} \subseteq \mathbf{E}^{2n}$. Consequently, $|\mathbf{C}^{\perp R_S}| = 4^{2n}$. $\mathbf{C}^{\perp R_S} = \mathbf{E}^{2n}$. So, $\mathbf{C} = \{0\}$, that is not possible. So $\mathbf{C}^{\perp R_S}$ is not free.

□

**Theorem 4** Let $\mathbf{C}$ be an E-code. Then, $(\mathbf{C}^{\perp s_L})^{\perp s_L} = \mathbf{C}$ if and only if $\mathbf{C}$ is left symplectic nice.

**Proof** Since $(\mathbf{C}^{\perp s_L})^{\perp s_L} = \mathbf{C}$. By Theorem 3, $\mathbf{C}^{\perp s_L}$ is free also from Proposition 1, we have $\mathbf{C}^{\perp s_L}$ is left symplectic nice. So, $|\mathbf{C}||(\mathbf{C}^{\perp s_L})^{\perp s_L}| = 4^{2n}$. Hence, $|\mathbf{C}||\mathbf{C}^{\perp s_L}| = 4^{2n}$. Implying that $\mathbf{C}$ is left symplectic nice.

For converse inclusion, assume $\mathbf{C}$ is left symplectic nice. From Proposition 1, we have both codes $\mathbf{C}$ and $\mathbf{C}^{\perp s_L}$ are free. By Lemma 5, for any $\mathbf{c} \in \mathbf{C}$ and $\mathbf{d} \in \mathbf{C}^{\perp s_L}$, we have $\mathbf{c} = a\mathbf{x}$ and $\mathbf{d} = a\mathbf{y}$ for some binary vectors $\mathbf{x}$ and $\mathbf{y}$. Therefore,

$$ \langle \mathbf{d}, \mathbf{c} \rangle_s = \langle a\mathbf{y}, a\mathbf{x} \rangle_s = a\langle \mathbf{y}, \mathbf{x} \rangle_s. $$

Hence, $\mathbf{c} \in (\mathbf{C}^{\perp s_L})^{\perp s_L}$. This shows $\mathbf{C} \subseteq (\mathbf{C}^{\perp s_L})^{\perp s_L}$. Since $\mathbf{C}$ and its left symplectic dual are both left symplectic nice, we obtain $|\mathbf{C}||(\mathbf{C}^{\perp s_L})^{\perp s_L}| = |\mathbf{C}^{\perp s_L}||(\mathbf{C}^{\perp s_L})^{\perp s_L}|$, then $|\mathbf{C}| = |(\mathbf{C}^{\perp s_L})^{\perp s_L}|$. We conclude that $(\mathbf{C}^{\perp s_L})^{\perp s_L} = \mathbf{C}$. □

**Proposition 5** If $\mathbf{C}$ is left symplectic-ACD additive E-code of length $2n$ with $2^l$ codewords, then $l$ is even.

**Proof** Since $\mathbf{C}$ additive E-code, by Theorem 3, $\mathbf{C}^{\perp s_L}$ is free linear code over $\mathbf{E}$. So, $|\mathbf{C}^{\perp s_L}| = 4^{k_1}$. Since $\mathbf{C}$ is left symplectic-ACD additive code, we have $|\mathbf{C}||\mathbf{C}^{\perp s_L}| = 4^{2n}$, this implies to $|\mathbf{C}| = 2^{4n-2k_1}$. This shows that $l = 4n - 2k_1$, which is even. □
**Remark 2** Let $\mathbf{C}$ be an additive E-code of length $2n$ with additive generator matrix $G = [aI_{2n}]$. Then $H_R = c\Omega$ it going to be an additive generator matrix of $C^{\perp s_R}$. Clearly, the parameters of both $\mathbf{C}$ and $C^{\perp s_R}$ are $(2n, 2^{2n}, 1)$. Further, $|C||C^{\perp s_R}| = 2^{2n} \times 2^{2n} = 4^{2n}$. Also $\mathbf{C} \cap C^{\perp s_R} = \{0\}$. Hence, $\mathbf{C}$ is a right symplectic-ACD additive E-code. Consequently, for any integer $l$, a right symplectic-ACD additive E-code with $2^l$ codewords can be constructed.

In the following results we give a method to construct some additive E codes that are left symplectic-ACD.

**Lemma 6** Let $\mathbf{C}$ be an additive E-code of length $2n$. Let $\mathbf{C} \cap C^{\perp s_L} = \{0\}$ and $\mathbf{C} \cap C^{\perp s_L} = \{0\}$, also $|\mathbf{C}||C^{\perp s_L}| < 4^{2n}$. For any $\mathbf{0} \neq \mathbf{w} = \mathbf{z} + \mathbf{ct} \in \mathbf{C} + \mathbf{cC}$, if $\mathbf{w} \in C^{\perp s_L}$, then $\mathbf{z} \neq \mathbf{0}$ and $\mathbf{ct} \neq \mathbf{0}$, as well as $\mathbf{z}$ is a product of a binary vector by $\mathbf{c}$ and $\mathbf{z} \in \mathbf{C} \setminus \mathbf{C}$.

*Proof* $\mathbf{0} \neq \mathbf{w} = \mathbf{z} + \mathbf{ct} \in \mathbf{C} + \mathbf{cC}$, with $\mathbf{z}, \mathbf{t} \in \mathbf{C}$. Suppose $\mathbf{w} \in C^{\perp s_L}$, then four cases occur:

1. If $\mathbf{z} = \mathbf{0}$ and $\mathbf{ct} = \mathbf{0}$ then $\mathbf{w} = \mathbf{0}$, which leads to contradiction since $\mathbf{w}$ is nonzero codeword. Then, we omit this case.

2. If $\mathbf{z} = \mathbf{0}$ and $\mathbf{ct} \neq \mathbf{0}$ then $\mathbf{w} = \mathbf{ct} \in C^{\perp s_L}$, this is not possible since $\mathbf{cC} \cap C^{\perp s_L} = \{0\}$. So, we omit this case also.

3. If $\mathbf{z} \neq \mathbf{0}$ and $\mathbf{ct} = \mathbf{0}$ then $\mathbf{w} = \mathbf{z}$, which is not possible since $\mathbf{C} \cap C^{\perp s_L} = \{0\}$. Therefore, this case is not possible.

4. If $\mathbf{z} \neq \mathbf{0}$ and $\mathbf{ct} \neq \mathbf{0}$, then $\mathbf{w} = \mathbf{z} + \mathbf{ct}$. Assume $\mathbf{z}$ is not equal to a product of a binary vector by $\mathbf{c}$, note that $\mathbf{cw} \neq \mathbf{0}$. By Theorem 3, $C^{\perp s_L}$ is free E-code and since $\mathbf{w} \in C^{\perp s_L}$, we have $\mathbf{cw} = \mathbf{cz} \in C^{\perp s_L}$. Since $\mathbf{cC} \cap C^{\perp s_L} = \{0\}$, $\mathbf{cz} = \mathbf{0}$, this creates a contradiction. So $\mathbf{x} = \mathbf{cv}$ where $\mathbf{v}$ is a binary vector. Furthermore, If $\mathbf{z} \in \mathbf{C} \cap \mathbf{C}$, we get $\mathbf{w} \in \mathbf{cC}$. Since $\mathbf{cC} \cap C^{\perp s_L} = \{0\}$, then $\mathbf{w} = \mathbf{0}$, this is a contradiction with the fact that $\mathbf{w}$ is a nonzero codeword. Then, we conclude that $\mathbf{z} \in \mathbf{C} \setminus \mathbf{C}$.

□

Now, we give a construction of left symplectic-ACD codes from some additive E-codes as follows.

**Proposition 6** Suppose $\mathbf{C}$ to be an additive E-code of length $2n$ which verifies: $\mathbf{C} \cap C^{\perp s_L} = \{0\}$, $\mathbf{cC} \cap C^{\perp s_L} = \{0\}$ and $|\mathbf{C}||C^{\perp s_L}| < 4^{2n}$. Then, we can extend $\mathbf{C}$ to a left symplectic-ACD code by the addition of some codewords of $\mathbf{cC}$.

*Proof* (1) First, we have prove $\mathbf{cC} \not\subseteq \mathbf{C}$. Let consider an E-code $\mathbf{U}$ as

$$ \mathbf{U} = (\mathbf{C})_{\mathbf{E}} = \mathbf{aC} + \mathbf{cC} = \{\mathbf{a}\mathbf{z} + \mathbf{ct}|\mathbf{z}, \mathbf{t} \in \mathbf{C} \setminus \mathbf{C}\} $$

where both vectors $\mathbf{z}$ and $\mathbf{t}$ are not product of binary vectors by $\mathbf{c}$. Using the fact that $\mathbf{c}$ is right zero divisor, we note that $\mathbf{A}$ is a free E-code. By Theorem 3, $C^{\perp s_L}$ is free E-code. Therefore, $U^{\perp s_L} = C^{\perp s_L}$. From Proposition 1, $|U||U^{\perp s_L}| = 4^{2n}$. Now, we assume $\mathbf{cC} \subseteq \mathbf{C}$. Consider a map $g: \mathbf{C} \to \mathbf{U}$ as

$$ g(\mathbf{0}) = \mathbf{0}, g(\mathbf{w}) = \mathbf{aw} \text{ and } g(\mathbf{cw}) = \mathbf{cw}, \text{ for every } \mathbf{w} \in \mathbf{C} \setminus \mathbf{C}. $$

Assume, $g(\mathbf{w} + \mathbf{w}') = g(\mathbf{w}) + g(\mathbf{w}')$, for any $\mathbf{w}, \mathbf{w}' \in \mathbf{C}$. Clearly, $g$ is a surjective $\mathbb{F}_2$-linear map. As consequence, $|\mathbf{C}| \geq |C^{\perp s_L}|$. This yields to,

$$ |\mathbf{C}||C^{\perp s_L}| \geq |\mathbf{U}||U^{\perp s_L}| = 4^{2n}. $$

This is not possible. Consequently, $\mathbf{cC} \not\subseteq \mathbf{C}$.
(2) Our strategy to prove the statement is to show the existence of $ct \in cC\C$, such that, for any $z \in C$, $z + ct \notin C^{\perp s_L}$. Using proof by contradiction. Suppose, $\exists z \in C$ such that $z + ct \in C^{\perp s_L}$. By Lemma 6, $z$ is a product of a binary vector by $c$ also $z \in C\cC$. For $ct_1, ct_2 \in cC\C$ and $ct_1 \neq ct_2$, thus there exists $z_1, z_2 C$, such that $z_1 + ct_1, z_2 + ct_2 \in C^{\perp s_L}$. We have $z_1 \neq z_2$, otherwise if $z_1 = z_2$, one can obtain $(z_1 + ct_1) + (z_2 + ct_2) = c(t_1 + t_2) \in C^{\perp s_L}$, this yields to a contradiction. Hence, we must have $z_1 \neq z_2$. Consider a map $h: U \to C$ with two following cases:

(a) For any $t \in C\cC$, if $ct \in cC\C$, we define $h$ as

$$h(0) = 0, h(at) = t \text{ and } h(ct) = t$$

where $z$ is the aforementioned vector such that $z + ct \in C^{\perp s_L}$.

(b) For any $t \in C\cC$, if $ct \in C$, we define $g$ as

$$h(0) = 0, h(at) = t \text{ and } h(ct) = ct$$

In both cases, assume that $g(w+w') = g(w) + g(w')$, for any $w, w' \in C$. Also we see $h$ is injective $\mathbb{F}_2$-linear map. As consequence, $|C||C^{\perp s_L}| \ge |U||U^{\perp s_L}| = 4^{2n}$. This contradicts the hypothesis. Hence, there exists $ct \in cC\C$ such that, for any $z \in C$, $z + ct \notin C^{\perp s_L}$.

From above two steps, by adding $ct$ to $C$, we get $U$. It is easy to see that $U \cap U^{\perp s_L} = \{0\}$. If $U$ is left symplectic nice, then $U$ is a left symplectic-ACD additive $E$-code. Otherwise, repeat steps (1) and (2) for $U$. □

Next, we will extend the definitions of residue and torsion codes of an $E$-code to an additive $E$-code. Obviously, these codes are binary linear codes. Assume $\dim \text{res}(C) = l_1$ and $\dim \text{tor}(C) = l_2$.

Let $C$ be an $E$-code of generator matrix $G$ as given in Shi et al. (2022, Corollary 1). Then, $\dim(\text{res}(C)) = k_1 = l_1$ and $\dim(\text{tor}(C)) = l_1 + k_2 = l_2$, with where $k_2$ is the $\mathbb{F}_2$-dimension of the set of elements of $C$ which are scalar multiples of $c \in E$ and that can not be generated by the first two blocks of the matrix $G$.

**Theorem 5** If $C$ is an additive $E$-code of length $2n$. Then, $C^{\perp s_L} = \langle \text{res}(C)^{\perp s} \rangle_E$ and $|C^{\perp s_L}| = 4^{2n-\dim(\text{res}(C))} = 4^{2n-l_1}$.

**Proof** Let $w \in C$, then there is $z \in \text{res}(C)$, such that $aw = az$. Let $z' \in \text{res}(C)^{\perp s_L}$, we see that

$$\langle az', w \rangle_s = \langle az', aw \rangle_s = \langle az', az \rangle_s = a \langle z', z \rangle_s = 0 \quad \text{and} \quad \langle bz', w \rangle_s = \langle bz', aw \rangle_s = \langle bz', az \rangle_s = b \langle z', z \rangle_s = 0.$$

This imply that $az', bz \in C^{\perp s_L}$. So, $\langle \text{res}(C)^{\perp s} \rangle_E \subseteq C^{\perp s_L}$.

For converse inclusion. It is easy to prove $\langle \text{res}(C)^{\perp s} \rangle_E = \langle \text{res}(C) \rangle_E^{\perp s_L}$. Therefore, let $z \in \text{res}(C)$, there exists $az + cz' \in C$, where $\alpha_E(az + cz') = z$. Since $c$ is a right zero divisor, for every $w \in C^{\perp s_L}$, we have

$$\langle w, az \rangle_s = \langle w, az + cz' \rangle_s = 0 \quad \text{and} \quad \langle w, bz \rangle_s = \langle w, az \rangle_s = 0.$$

Hence, $w \in \langle \text{res}(C) \rangle_E^{\perp s_L}$. This shows $C^{\perp s_L} \subseteq \langle \text{res}(C)^{\perp s} \rangle_E$.

Consequently, $C^{\perp s_L} = \langle \text{res}(C)^{\perp s} \rangle_E$. Moreover, $|C^{\perp s_L}| = 4^{2n-\dim(\text{res}(C))} = 4^{2n-l_1}$. □

In upcoming results, we establish a sufficient condition for an additive $E$-code to be a left symplectic-ACD.
**Proposition 7** An additive E-code of length $2n$ is left symplectic-ACD if the following conditions hold:

(1) $\mathrm{res}(\mathbf{C})$ is a binary symplectic-LCD code.

(2) $c \mathrm{tor}(\mathbf{C}) \cap \mathbf{C}^{\perp s_L} = \{0\}$

(3) $2^{l_1} \times 2^{l_2} \times 4^{2n-l_1} = 4^{2n}$ (i.e; $l_1 = l_2$).

*Proof* Obviously, $|\mathbf{C}| = |\mathrm{res}(\mathbf{C})||\mathrm{tor}(\mathbf{C})| = 2^{l_1} \times 2^{l_2}$. By Theorem 5, $|\mathbf{C}^{\perp s_L}| = 4^{2n-l_1}$. Hence, $\mathbf{C}$ is left symplectic nice. Let $\mathbf{0} \neq \mathbf{w} = (\mathbf{w}_1, \mathbf{w}_2, \dots, \mathbf{w}_{2n}) \in \mathbf{C} \cap \mathbf{C}^{\perp s_L}$. Since $c \mathrm{tor}(\mathbf{C}) \cap \mathbf{C}^{\perp s_L} = \{\mathbf{0}\}$, $\mathbf{w}$ is not product of a binary vector by $c$. This implies that $\alpha_E(\mathbf{w})$ is a nonzero binary vector. Also, for any $\mathbf{w}' = (\mathbf{w}'_1, \mathbf{w}'_2, \dots, \mathbf{w}'_n) \in \mathbf{C}$, $\langle \mathbf{w}, \mathbf{w}' \rangle_s = 0$. Since $\alpha_E$ is a ring homomorphism, we obtain

$$ \langle \alpha_E(\mathbf{w}), \alpha_E(\mathbf{w}') \rangle_s = \alpha_E(\langle \mathbf{w}, \mathbf{w}' \rangle_s) = \alpha_E(\mathbf{0}) = 0. $$

As results, $\alpha_E(\mathbf{w}) \in \mathrm{res}(\mathbf{C}) \cap \mathrm{res}(\mathbf{C})^{\perp s_L}$, this is not possible. Hence, $\mathbf{w} = \mathbf{0}$. So $\mathbf{C}$ is left symplectic-ACD additive E-code. $\square$

Now, we will show that the converse of Corollary 3 is also true.

**Corollary 4** Let $\mathbf{C}$ be a free E-code of length $2n$. Then $\mathbf{C}$ is symplectic-LCD if $\mathrm{res}(\mathbf{C})$ is a symplectic-LCD $\mathbb{F}_2$-code.

*Proof* Since $\mathrm{res}(\mathbf{C})$ is a symplectic-LCD $\mathbb{F}_2$-code, to show $\mathbf{C}$ is an symplectic-LCD code, it suffices to check the conditions (2) and (3) of Proposition 7. From the freeness of $\mathbf{C}$, we have $\mathrm{tor}(\mathbf{C}) = \mathrm{res}(\mathbf{C})$, so $k_1 = k_2$. By Theorem 5, we have

$$ \begin{aligned} c \mathrm{tor}(\mathbf{C}) \cap \mathbf{C}^{\perp s_L} &= c \mathrm{res}(\mathbf{C}) \cap \langle \mathrm{res}(\mathbf{C})^{\perp s} \rangle_{\mathbf{E}} \\ &= c(\mathrm{res}(\mathbf{C}) \cap \mathrm{res}(\mathbf{C})^{\perp s}) \\ &= \{\mathbf{0}\} \quad (\text{since } \mathrm{res}(\mathbf{C}) \text{ is a binary symplectic-LCD code.}) \end{aligned} $$

Also, $l_1 = l_2$, since $\mathrm{tor}(\mathbf{C}) = \mathrm{res}(\mathbf{C})$. Hence, $\mathbf{C}$ is left symplectic-ACD code, implying that $\mathbf{C}$ is a symplectic-LCD E-code. $\square$

**Lemma 7** Let $\mathbf{C}$ be an additive E-code of length $2n$. Then $\mathrm{res}(\mathbf{C}^{\perp L_s}) = \mathrm{tor}(\mathbf{C}^{\perp L_s}) = \mathrm{res}(\mathbf{C})^{\perp s}$.

*Proof* We have $\mathbf{C}^{\perp L_s}$ is free E-code by Theorem 3. So, $\mathrm{res}(\mathbf{C}^{\perp L_s}) = \mathrm{tor}(\mathbf{C}^{\perp L_s})$. Therefore, for any $\mathbf{w} = az + ct \in \mathbf{C}^{\perp L_s}$ and $\mathbf{w}' = az' + ct' \in \mathbf{C}$ with $z, z', t, t' \in \mathbb{F}_2^{2n}$, by the definition of $\alpha_E$, we have $\alpha_E(\mathbf{w}) = z \in \mathrm{res}(\mathbf{C}^{\perp s})$ and $\alpha_E(\mathbf{w}') = z' \in \mathrm{res}(\mathbf{C})$. Using the ring morphism $\alpha_E$ and $\langle \mathbf{w}, \mathbf{w}' \rangle_s = 0$, we obtain

$$ 0 = \alpha_E(\langle \mathbf{w}, \mathbf{w}' \rangle_s) = \langle \alpha_E(\mathbf{w}), \alpha_E(\mathbf{w}') \rangle_s = \langle z, z' \rangle_s $$

This implies that, $z \in \mathrm{res}(\mathbf{C})^{\perp s}$. So $\mathrm{res}(\mathbf{C}^{\perp L_s}) \subseteq \mathrm{res}(\mathbf{C})^{\perp s}$. Further, by Theorem 5 $|\mathbf{C}^{\perp L_s}| = 4^{2n-l_1}$. Also, from the freeness of $\mathbf{C}^{\perp s}$, we have $|\mathrm{res}(\mathbf{C}^{\perp L_s})| = 2^{2n-l_1}$. Thus, $|\mathrm{res}(\mathbf{C})^{\perp s}| = 2^{2n-l_1}$. Then, the cardinality of these codes is the same. Hence, $\mathrm{res}(\mathbf{C}^{\perp L_s}) = \mathrm{res}(\mathbf{C})^{\perp s}$. $\square$

**Corollary 5** If $\mathbf{C}$ is a E-code of length $2n$, then $\mathbf{C}^{\perp L_s} = a \mathrm{res}(\mathbf{C})^{\perp s} \oplus c \mathrm{res}(\mathbf{C})^{\perp s}$.

*Proof* From Theorem 2 and Lemma 7, the result follows immediately. $\square$

**Corollary 6** Let $\mathbf{C}$ be an E-code of length $2n$. Then, $\mathrm{tor}(\mathbf{C})^{\perp s} \subseteq \mathrm{tor}(\mathbf{C}^{\perp L_s})$. Particularly, if $\mathbf{C}$ is free, this equality holds.
**Proof** Since $\mathbf{C}$ and $\mathbf{C}^{\perp_S}$ are linear codes, $\mathrm{res}(\mathbf{C}) \subseteq \mathrm{tor}(\mathbf{C})$ and $\mathrm{res}(\mathbf{C}^{\perp_S}) \subseteq \mathrm{tor}(\mathbf{C}^{\perp_S})$. Furthermore, $\mathrm{tor}(\mathbf{C})^{\perp_S} \subseteq \mathrm{res}(\mathbf{C})^{\perp_S}$. Applying Lemma 7, $\mathrm{tor}(\mathbf{C})^{\perp_S} \subseteq \mathrm{res}(\mathbf{C}^{\perp_S})$. Hence, $\mathrm{tor}(\mathbf{C})^{\perp_S} \subseteq \mathrm{tor}(\mathbf{C}^{\perp_{LS}})$.

We have $\mathbf{C}^{\perp_{LS}}$ is free by Theorem 3. Then, $\mathrm{res}(\mathbf{C}^{\perp_{LS}}) = \mathrm{tor}(\mathbf{C}^{\perp_{LS}})$. Since $\mathbf{C}$ is free, then $\mathrm{res}(\mathbf{C}) = \mathrm{tor}(\mathbf{C})$. Thus, $\mathrm{res}(\mathbf{C})^{\perp_S} = \mathrm{tor}(\mathbf{C})^{\perp_S}$. By Lemma 7, $\mathrm{res}(\mathbf{C})^{\perp_S} = \mathrm{tor}(\mathbf{C}^{\perp_{LS}})$. Consequently, $\mathrm{tor}(\mathbf{C}^{\perp_{LS}}) = \mathrm{tor}(\mathbf{C})^{\perp_S}$. $\square$

Now, we show that the converse statement of Proposition 7 is true.

**Proposition 8** Let $\mathbf{C}$ be a left symplectic-ACD additive E-code of length $2n$ satisfies $\mathbf{C} \cap \mathbf{C}^{\perp_{LS}} = \{0\}$. Then its residue code is a binary symplectic-LCD code and $2^{l_1+l_2} \times 4^{2n-l_1} = 4^{2n}$ (i.e; $l_1 = l_2$), thus $\mathrm{c} \mathrm{tor}(\mathbf{C}) \cap \mathbf{C}^{\perp_{LS}} = \{0\}$.

**Proof** Since $\mathbf{C}$ is an additive E-code, then by Lemma 7, $\mathrm{res}(\mathbf{C})^{\perp_S} = \mathrm{res}(\mathbf{C}^{\perp_{LS}})$. Now, let $\mathbf{r} \in \mathrm{res}(\mathbf{C}) \cap \mathrm{res}(\mathbf{C})^{\perp_S} = \mathrm{res}(\mathbf{C}) \cap \mathrm{res}(\mathbf{C}^{\perp_{LS}})$, then there are $\mathbf{a}\mathbf{r} + \mathbf{c}\mathbf{t} \in \mathbf{C}$ and $\mathbf{a}\mathbf{r} + \mathbf{c}\mathbf{t}' \in \mathbf{C}^{\perp_{LS}}$ such that, $\alpha_{\mathbf{E}}(\mathbf{a}\mathbf{r} + \mathbf{c}\mathbf{t}) = \alpha_{\mathbf{E}}(\mathbf{a}\mathbf{r} + \mathbf{c}\mathbf{t}') = \mathbf{r}$. By linearity of $\mathbf{C}^{\perp_{LS}}$, we have $\mathbf{c}\mathbf{r} = \mathbf{c}(\mathbf{a}\mathbf{r} + \mathbf{c}\mathbf{t}') \in \mathrm{res}(\mathbf{C}^{\perp_{LS}})$. Moreover, $\mathbf{c}\mathbf{r} = \mathbf{c}(\mathbf{a}\mathbf{r} + \mathbf{c}\mathbf{t}) \in \mathbf{C}$. These imply that $\mathbf{c}\mathbf{r} \in \mathbf{c}\mathbf{C} \cap \mathbf{C}^{\perp_{LS}} = \{0\}$. So $\mathbf{r} = \mathbf{0}$. Consequently, $\mathrm{res}(\mathbf{C}$ is a binary symplectic-LCD code. Next, since $|\mathbf{C}| = |\mathrm{res}(\mathbf{C})||\mathrm{tor}(\mathbf{C})| = 2^{l_1+l_2}$ also $|\mathbf{C}^{\perp_{LS}}| = 4^{2n-l_1}$ and $\mathbf{C}$ is a left symplectic-ACD, this shows $2^{l_1+l_2} \times 4^{2n-l_1} = 4^{2n}$, and, therefore, that $l_1 = l_2$. It remains to prove $\mathbf{c}\mathrm{tor}(\mathbf{C}) \cap \mathbf{C}^{\perp_{LS}} = \{0\}$. Let $\mathbf{w} \in \mathbf{c}\mathrm{tor}(\mathbf{C}) \cap \mathbf{C}^{\perp_{LS}}$, then $\mathbf{w} = \mathbf{c}\mathbf{t}$ with $\mathbf{t} \in \mathrm{tor}(\mathbf{C})$. From the definition of a torsion code, $\mathbf{w} \in \mathbf{C}$. Thus, $\mathbf{w} \in \mathbf{C} \cap \mathbf{C}^{\perp_{LS}} = \{0\}$, so $\mathbf{w} = \mathbf{0}$. Hence $\mathbf{c}\mathrm{tor}(\mathbf{C}) \cap \mathbf{C}^{\perp_{LS}} = \{0\}$. $\square$

To conclude this section, we give the next example to illustrate Propositions 6 and 7.

**Example 2** Let $\mathbf{C}$ be an additive E-code of length 4 and additive generator matrix $G$, where

$$G = \begin{pmatrix} a & 0 & b & b \\ 0 & a & 0 & b \end{pmatrix}$$

Let $(y_1, y_2, y_3, y_4) \in \mathbf{C}^{\perp_{SL}}$, then we have $\langle(y_1, y_2, y_3, y_4), (a, 0, b, b)\rangle_s = 0$ and $\langle(y_1, y_2, y_3, y_4), (0, a, 0, b)\rangle_s = 0$. Thus, $\mathbf{C}^{\perp_{SL}} = \{(y_1, y_2, y_1 + y_2, y_2) | y_1, y_2 \in \mathbf{E}\}$. It is clearly to see $\mathbf{C} \cap \mathbf{C}^{\perp_{SL}} = \{0\}$, $\mathbf{c}\mathbf{C} \cap \mathbf{C}^{\perp_{SL}} = \{0\}$ and $|\mathbf{C}||\mathbf{C}^{\perp_{SL}}| = 4 \times 4^2 = 4^3 < 4^4$. Hence, by Proposition 6, we can add to $G$ the vectors $(c, 0, c, c) = c(a, 0, b, b)$ and $(0, c, 0, c) = c(0, a, 0, b)$, we get an additive E-code $\mathbf{D}$ with an additive generator matrix $G_{\mathbf{D}}$, where

$$G_{\mathbf{D}} = \begin{pmatrix} a & 0 & b & b \\ 0 & a & 0 & b \\ c & 0 & c & c \\ 0 & c & 0 & c \end{pmatrix}$$

Additionally, $\mathbf{D}$ is left symplectic-ACD.

To prove $\mathbf{D}$ is left symplectic-ACD, it suffices to check three conditions of Proposition 7. We have a generator matrix for both $\mathrm{res}(\mathbf{D})$ and $\mathrm{tor}(\mathbf{D})$ is equal to $G_1 = \begin{pmatrix} 1 & 0 & 1 & 1 \\ 0 & 1 & 0 & 1 \end{pmatrix}$. Thus, $\mathrm{res}(\mathbf{D})$ is a binary symplectic-LCD code, since

$$G_1 \Omega G_1^T = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$$

is nonsingular. Further, any element $(x, y, z, t) \in \mathrm{res}(\mathbf{D})^{\perp_S}$, it satisfies

$$\langle(x, y, z, t), (1, 0, 1, 1)\rangle_s = 0 \text{ and } \langle(x, y, z, t), (0, 1, 0, 1)\rangle_s = 0.$$
These imply $x + y + z = 0$ and $y + t = 0$. Thus, $z = y + x$ and $t = y$.

Hence, $\text{res}(\mathbf{D})^{\perp s}$ has a binary generator matrix $\begin{pmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 1 & 1 \end{pmatrix}$. Then, by Theorem 5, we get

$$ \mathbf{D}^{\perp L_S} = \langle \text{res}(\mathbf{D})^{\perp S} \rangle_{\mathbf{E}} = \left\langle \begin{pmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 1 & 1 \end{pmatrix} \right\rangle_{\mathbf{E}}. $$

It is easy to see that, $c \operatorname{tor}(\mathbf{D}) \cap \mathbf{D}^{\perp s_L} = \{\mathbf{0}\}$ and $l_1 = l_2 = 2$. Hence, by Proposition 7, $\mathbf{D}$ is a left symplectic-ACD code over $\mathbf{E}$.

**Example 3** Let $\mathbf{C}$ be the additive $\mathbf{E}$-code of length 6 with additive generator matrix $\mathbf{G}$ where

$$ G = \begin{pmatrix} 0 & 0 & 0 & a & b & 0 \\ 0 & 0 & 0 & 0 & a & b \\ a & b & 0 & 0 & 0 & 0 \\ 0 & a & b & 0 & 0 & 0 \\ 0 & c & c & c & c & c \end{pmatrix} $$

By Theorem 5, $\mathbf{C}^{\perp s_L}$ is $\mathbf{E}$-span of the matrix $\begin{pmatrix} 1 & 1 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 1 & 1 \end{pmatrix}$. Also, $|\mathbf{C}| = 2^5$ and $|\mathbf{C}^{\perp s_L}| = 2^4$. Thus,

$$ |\mathbf{C}| |\mathbf{C}^{\perp s_L}| = 2^{11} < 4^6. $$

Therefore, it is easy to see that, $\mathbf{C} \cap \mathbf{C}^{\perp s_L} = \{\mathbf{0}\}$ and $c\mathbf{C} \cap \mathbf{C}^{\perp s_L} = \{\mathbf{0}\}$.

Then, we can add $c(a, b, 0, 0, 0, 0) = (c, c, 0, 0, 0, 0)$, $c(0, a, b, 0, 0, 0) = (0, c, c, 0, 0, 0)$ and $c(0, 0, 0, 0, a, b) = (0, 0, 0, 0, c, c)$ in $\mathbf{G}$ to get the additive $\mathbf{E}$-code $\mathbf{D}$ with additive generator matrix $G_{\mathbf{D}}$, where

$$ G_{\mathbf{D}} = \begin{pmatrix} 0 & 0 & 0 & a & b & 0 \\ 0 & 0 & 0 & 0 & a & b \\ a & b & 0 & 0 & 0 & 0 \\ 0 & a & b & 0 & 0 & 0 \\ 0 & c & c & c & c & c \\ c & c & 0 & 0 & 0 & 0 \\ 0 & c & c & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & c & c \end{pmatrix} $$

Hence, by Proposition 6, $\mathbf{D}$ is left symplectic-ACD.

In order to prove $\mathbf{D}$ is a left symplectic-ACD code, we verify all conditions of Proposition 7. Note that, $\text{res}(\mathbf{D})$ and $\operatorname{tor}(\mathbf{D})$ have generator matrices $G_{\text{res}(\mathbf{D})}$ and $G_{\operatorname{tor}(\mathbf{D})}$, respectively

$$ G_{\text{res}(\mathbf{D})} = \begin{pmatrix} 0 & 0 & 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 \\ 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 1 & 0 & 0 & 0 \end{pmatrix} $$

$$ G_{\operatorname{tor}(\mathbf{D})} = \begin{pmatrix} 0 & 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 \end{pmatrix} $$

Clearly, $l_1 = l_2 = 4$. Also, $\text{res}(\mathbf{D})$ is a binary symplectic-LCD code since

$$ G_{\text{res}(\mathbf{D})} \Omega G_{\text{res}(\mathbf{D})}^{T} = \begin{pmatrix} 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 \end{pmatrix} $$
is invertible. According to Theorem 5, $D^{\perp s_L} = \langle \mathrm{res}(D)^{\perp s} \rangle_E$. Therefore, it is easy to prove, $c \mathrm{tor}(D) \cap D^{\perp s_L} = \{0\}$.

Hence, by Proposition 7, $D$ is a left symplectic-ACD code over $E$.

# 6 Symplectic self-dual codes

In this section, we characterize the left symplectic self-dual $E$-codes and provide some necessary results for the classification of left symplectic self-dual codes. At the end we give some results on the minimum symplectic distance of an arbitrary non-zero $E$-code.

**Theorem 6** Let $C$ be an $E$-code of length $2n$. Then,

$C$ is left symplectic self-dual code if and only if $C$ is free and its residue code is a binary symplectic self-dual code.

*Proof* To prove this result, we use Theorem 2 and Corollary 5. Note that, $C = C^{\perp s_L}$ if and only if $\mathrm{res}(C) = \mathrm{res}(C)^{\perp s} = \mathrm{tor}(C)$. Hence, the result holds. □

The following simple examples illustrated Theorem 6.

**Example 4** Let $C$ be the linear code over $E$ of length 4 and generator matrix $G$, where

$$G = \begin{pmatrix} a & 0 & 0 & a \\ 0 & a & a & a \end{pmatrix}.$$

Clearly, $C$ is free and $\mathrm{res}(C)$ has a generator matrix $G_2 = \begin{pmatrix} 1 & 0 & 0 & 1 \\ 0 & 1 & 1 & 1 \end{pmatrix}$.

Thus, by Xu and Du (2022, Theorem 1), $\mathrm{res}(C)$ is a binary symplectic self-dual code as $G_2 \Omega G_2^T$ is the zero matrix and $\mathrm{dim} \ \mathrm{res}(C)^{\perp s} = 4 - \mathrm{dim} \ \mathrm{res}(C) = 4 - 2 = 2 = \mathrm{dim} \ \mathrm{res}(C)$. Hence, by Theorem 6, $C$ is left symplectic self-dual.

On the other hand, to show $C$ is a really left symplectic self-dual $E$-code, we need to prove that $C = C^{\perp s_L}$. From the freeness of $C$ and part (3) of Lemma 5, $C^{\perp s_L} = \langle aH_2\Omega \rangle_E$ where $H_2 = \begin{pmatrix} 0 & 1 & 1 & 0 \\ 1 & 1 & 0 & 1 \end{pmatrix}$ is a binary parity check matrix related to $G_2$. Thus, $H_2\Omega = G_2$. So, $aH_2\Omega = G$. This yields, $C^{\perp s_L} = C$. Hence, $C$ is a left symplectic self-dual $E$-code.

**Example 5** Let $C$ be the $E$-code of length 2 defined by

$$C = \{00, a0, b0, c0, 0c, cc, bc, ac\}$$

Then, $\mathrm{res}(C) = \{00, 10\}$ and $\mathrm{tor}(C) = \mathbb{F}_2^2$. Thus, $C^{\perp s_L} = \{00, ao, b0, c0\}$. It is easy to see, $C \neq C^{\perp s_L}$. Hence, $C$ is not a left symplectic self-dual code over $E$. However, $\mathrm{res}(C)$ is a binary symplectic self-dual code.

**Example 6** Let $C$ be a linear code over $E$ of type $(1, 0)$ defined by.

$$C = \langle (a \ 0 \ a \ a) \rangle_E$$

Therefore, $\mathrm{res}(C)$ has generator matrix $(1 \ 0 \ 1 \ 1)$. Thus, $\mathrm{res}(C)$ is a binary [4, 1]-code. Since, $\mathrm{dim} \ \mathrm{res}(C)^{\perp s} = 4 - \mathrm{dim} \ \mathrm{res}(C) = 3 \neq \mathrm{dim} \ \mathrm{res}(C)$, then $\mathrm{res}(C)$ is not symplectic self-dual. Next, we check whether $C$ is left symplectic self-dual over $E$.

By Lemma 5, $C^{\perp s_L} = \langle aD \rangle_E$ where, $D = \begin{pmatrix} 0 & 0 & 0 & 1 \\ 1 & 0 & 1 & 0 \\ 0 & 1 & 1 & 0 \end{pmatrix}$. Therefore, $|C^{\perp s_L}| = 4^3 \neq 4 = |C|$. This shows, $C \neq C^{\perp s_L}$. Hence, $C$ is not left symplectic self-dual over $E$. However, $C$ is free.
A permutation-equivalence between two E-codes is illustrate in the following theorem.

**Theorem 7** Let $D$ and $D'$ are two free codes over $E$. Then $D$ and $D'$ are permutation-equivalent if and only if $\text{res}(D)$ and $\text{res}(D')$ are permutation equivalent.

*Proof* Since $D$ and $D'$ are permutation equivalent, there exists a permutation matrix $\mathcal{P}$ where $D' = D\mathcal{P}$. Thus, $\alpha_E(D') = \alpha_E(D\mathcal{P}) = \alpha_E(D)\mathcal{P}$. As consequence, $\text{res}(D')$ and $\text{res}(D)$ are permutation equivalent.

It remains to prove the opposite. Since $\text{res}(D)$ and $\text{res}(D')$ are permutation equivalent, there exists a permutation matrix $\mathcal{P}$ such that $\text{res}(D') = \text{res}(D)\mathcal{P}$. From the freeness of $D$ and $D'$, $\text{tor}(D') = \text{res}(D')$, $\text{tor}(D) = \text{res}(D)$. According to the definition of these E-codes,

$$D' = a \text{res}(D') \oplus c \text{res}(D') = a \text{res}(D)\mathcal{P} \oplus c \text{res}(D)\mathcal{P} = (a \text{res}(D) \oplus c \text{res}(D))\mathcal{P}.$$

This shows $D'$ and $D$ are permutation-equivalent E-codes.

□

It is interesting to note that the condition of freeness of codes over $E$ in Theorem 7 is necessary for it to hold, the next example proves this.

**Example 7** The E-codes $D'$ and $D$ with generator matrices $G_{D'}$ and $G_D$, respectively

$$G_{D'} = \begin{pmatrix} a & a & 0 & 0 \\ 0 & 0 & c & 0 \end{pmatrix} \qquad G_D = \begin{pmatrix} a & a & c & 0 \\ 0 & 0 & 0 & c \end{pmatrix}$$

We have, $\text{res}(D') = \text{res}(D) = \{(0, 0, 0, 0), (1, 1, 0, 0)\}$, this implies that these binary codes are permutation equivalent. However the E-codes $D'$ and $D$ are not permutation equivalent. Observe that $D'$ and $D$ are of type (1, 1) which imply that they are not free codes.

Since every left symplectic self-dual E-code is necessarily free code, the next corollary establish a symplectic equivalence between two left symplectic self-dual E-codes.

**Corollary 7** Let $D'$ and $D$ be left symplectic self-dual E-codes. Then, $D'$ and $D$ are symplectic-equivalent if and only if $\text{res}(D')$ and $\text{res}(D)$ are symplectic-equivalent.

*Proof* As $D'$ and $D$ are symplectic-equivalent codes over $E$, there exists a permutation matrix $\mathcal{P}$ such that $D' = D\mathcal{P}$. Thus $\alpha_E(D') = \alpha_E(D)\mathcal{P}$. Also, $\text{res}(D')$ and $\text{res}(D)$ are binary symplectic self-orthogonal codes, because of symplectic self-orthogonality of $D'$ and $D$ and Lemma 1. Hence, $\text{res}(D')$ and $\text{res}(D)$ are symplectic-equivalent.

For the inverse statement. Suppose $D'$ and $D$ are left symplectic self-dual E-codes. By Theorem 6, $D'$ and $D$ are free codes and $\text{res}(D')$ and $\text{res}(D)$ are binary symplectic self-dual codes. Therefore, by Theorem 2, $D' = a \text{res}(D') \oplus c \text{res}(D')$ and $D = a \text{res}(D) \oplus c \text{res}(D)$. From the symplectic-equivalence of residue codes of $\text{res}(D')$ and $\text{res}(D)$, there exists a permutation matrix $\mathcal{P}$ such that $\text{res}(D') = \text{res}(D)\mathcal{P}$. So, $D' = a \text{res}(D)\mathcal{P} \oplus c \text{res}(D)\mathcal{P} = a \text{res}(D) \oplus c \text{res}(D)\mathcal{P} = D\mathcal{P}$. This with the symplectic self-orthogonality of $D'$ and $D$, we conclude, $D'$ and $D$ are symplectic-equivalent codes over $E$. □

We conclude our study over the non-commutative ring $E$ with an interesting parameter of a linear code, known by the minimum symplectic distance. The result can be stated as follows.

**Theorem 8** If $C$ is a nonzero E-code of length $2n$, then $d_S(C) = d_S(\text{tor}(C))$. Where $d_S(C)$ (resp. $d_S(\text{tor}(C))$) denotes the minimum symplectic distance of $C$ (resp. the minimum symplectic distance of $\text{tor}(C)$).
**Proof** Assume $d_S(\text{tor}(\mathbf{C})) = d_t$. So there exists $\mathbf{x} \in \text{tor}(\mathbf{C})$ such that $\omega_S(\mathbf{x}) = d_t$. Since $\text{tor}(\mathbf{C}) \subseteq \mathbf{C}$, $\omega_S(\text{cx}) = \omega_S(\mathbf{x}) = d_t$. Hence, $d_S(\mathbf{C}) \le d_t$.

Let $\mathbf{t} \in \mathbf{C}$, such that $d_S(\mathbf{C}) = \omega_S(\mathbf{t})$. According to Theorem 2, $\mathbf{t} = \mathbf{at}_1 + \mathbf{ct}_2$ where $\mathbf{t}_1 \in \text{res}(\mathbf{C})$ and $\mathbf{t}_2 \in \text{tor}(\mathbf{C})$. From the hypothesis C is nonzero code, the following cases arise:

* If $\mathbf{t}_1 = 0, \mathbf{t}_2 \neq 0$, then $\omega_S(\mathbf{t}) = \omega_S(c\mathbf{t}_2) = \omega_S(\mathbf{t}_2)$.

* If $\mathbf{t}_1 \neq 0, \mathbf{t}_2 = 0$, then $\omega_S(\mathbf{t}) = \omega_S(a\mathbf{t}_1) = \omega_S(\mathbf{t}_1)$.

* If $\mathbf{t}_1 \neq 0, \mathbf{t}_2 \neq 0$, then $\omega_S(\mathbf{t}) \ge \omega_S(a\mathbf{t}) = \omega_S(a\mathbf{t}_1) = \omega_S(\mathbf{t}_1)$.

Due to $\text{res}(\mathbf{C}) \subseteq \text{tor}(\mathbf{C})$, we see $\mathbf{t}_1 \in \text{tor}(\mathbf{C})$. From preceding cases, $\omega_S(\mathbf{t}) \ge d_t$. Hence $d_S(\mathbf{C}) \ge d_t$. Consequently, this equality holds. □

Using relation (1), Theorem 8 and Alahmadi et al. (2023a, Theorem 20), we obtain the following lemma:

**Lemma 8** If C a nonzero linear code E, then

$$ \left\lfloor \frac{d_H(\mathbf{C})}{2} \right\rfloor \le d_S(\mathbf{C}) \le \min\{d_H(\mathbf{C}), \left\lfloor \frac{2m - k_1 + k_2 + 2}{2} \right\rfloor\}. $$

**Proof** Since $\text{tor}(\mathbf{C})$ is binary linear code of dimension $k_1 + k_2$. By applying (1), we get the following inequality:

$$ \left\lfloor \frac{d_H(\text{tor}(\mathbf{C}))}{2} \right\rfloor \le d_S(\text{tor}(\mathbf{C})) \le \min\{d_H(\text{tor}(\mathbf{C})), \left\lfloor \frac{2m - k_1 + k_2 + 2}{2} \right\rfloor\}. $$

From Alahmadi et al. (2023a, Theorem 20) and Theorem 8, we have $d_H(\mathbf{C}) = d_H(\text{tor}(\mathbf{C}))$ and $d_S(\mathbf{C}) = d_S(\text{tor}(\mathbf{C}))$. Hence, the result follows. □

# 7 Conclusion

In this paper, the symplectic QSD, LCD and ACD codes over the non-unital, non-commutative local ring E of order four are introduced. Moreover, we have determined the connection between free symplectic-LCD E-codes and binary symplectic-LCD codes. The symplectic-LCD codes were also characterized corresponding to their generator matrices. Further, we have derived different conditions for the existence of symplectic-ACD codes over E. Also, such codes are characterized as a function of their residue and torsion codes. Finally, left symplectic self-dual codes are well presented. Bounds on the minimum symplectic distance of a linear code over E were determined. For future work, it will be an interesting idea to construct a family of left symplectic-ACD codes over E with long lengths and large minimum distances. For instance, combinatorial matrices arising from low class association schemes could be used to that end, along the lines of Alahmadi et al. (2023b). Thus, there is strong possibility to extend this study to a non-commutative non-unitary ring of odd characteristic.

**Funding** Open access funding provided by Télécom Paris.

**Data Availability** Every data produced for this paper is available upon request from the authors.

# Declarations

**Conflict of interest** The authors declare no conflict of interest.
**Open Access** This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

## References

Alahmadi A, Altassan A, Basaffar W, Shoaib H, Bonnecaze A, Solé P (2022) Type IV codes over a non-unital ring. J Algebra Appl 21(7):2250142

Alahmadi A, Melaibari A, Solé P (2023a) Duality of codes over non-unital rings of order four. IEEE Access 11:53120–53133

Alahmadi A, Melaibari A, Solé P (2023b) Quasi self-dual codes over non-unital rings from three-class association schemes. AIMS Math 8(10):22731–22757

Deb S, Kikani I, Gupta MK (2022) On the classification of codes over non-unital ring of order 4. arXiv preprint arXiv:2208.08710

Dougherty ST, Sahinkaya S (2023) Quasi-self-dual codes over a non-unital ring of order 4. Algebra Coding Theory 785:79

Jin L, Xing C (2011) Quantum Gilbert–Varshamov bound through symplectic self-orthogonal codes. In: IEEE International Symposium on Information Theory. 455–458

Li Y, Zhu S (2024) On symplectic hulls of linear codes and related applications. J Appl Math Comput 70(3):2603–2622

Lv J, Li R, Wang J (2020) An explicit construction of quantum stabilizer codes from quasi-cyclic codes. IEEE Commun Lett 24(5):1067–1071

Shi M, Alahmadi A, Solé P (2017) Codes and rings: theory and practice. Academic Press, Boca Raton

Shi M, Li S, Kim JK, Solé P (2022) LCD and ACD codes over a noncommutative non-unital ring with four elements. Cryptography Commun 1–14. https://link.springer.com/article/10.1007/s12095-021-00545-4

Shi M, Liu N, Kim JL, Solé P (2023) Additive complementary dual codes over $F_4$. Des Codes Cryptogr 91(1):273–284

Xu HQ, Du W (2021) Constructions of symplectic LCD MDS codes. Bull Malays Math Sci Soc 44:3377–3390

Xu H, Du W (2022) On some binary symplectic self-orthogonal codes. Appl Algebra Eng Commun Comput 33(3):321–337

Zhu S, Li Y, Li S (2023) Symplectic self-orthogonal and LCD codes from the Plotkin sum construction. arXiv e-prints

**Publisher's Note** Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.