Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

Applicable Algebra in Engineering, Communication and Computing (2024) 35:393–406

https://doi.org/10.1007/s00200-022-00553-8

ORIGINAL PAPER

Construction of quasi self‑dual codes over a commutative


non‑unital ring of order 4

Jon‑Lark Kim1 · Young Gun Roe1

Received: 26 December 2021 / Accepted: 30 March 2022 / Published online: 19 May 2022
© The Author(s), under exclusive licence to Springer-Verlag GmbH Germany, part of Springer Nature 2022

Abstract
Let I be the commutative non-unital ring of order 4 defined by generators and
relations.

I = a, b ∣ 2a = 2b = 0, a2 = b, ab = 0 .
⟨ ⟩

Alahmadi et al. have classified QSD codes, Type IV codes (QSD codes with even
weights) and quasi-Type IV codes (QSD codes with even torsion code) over I up to
lengths n = 6, and suggested two building-up methods for constructing QSD codes.
In this paper, we construct more QSD codes, Type IV codes and quasi-Type IV
codes for lengths n = 7 and 8, and describe five new variants of the two building-up
construction methods. We find that when n = 8 there is at least one QSD code with
minimun distance 4, which attains the highest minimum distance so far, and we give
a generator matrix for the code. We also describe some QSD codes, Type IV codes
and quasi-Type IV codes with new weight distributions.

Keywords Building-up construction · Codes · Quasi-self-dual · Rings

Mathematics Subject Classification 94B05

1 Introduction

Coding theory over finite fields or in general, over finite commutative unital rings has
been widely studied due to their good algebraic structures. However, there are also
finite rings without units. Less attention has been made for such rings in the study of
coding theory. Recently, Alahmadi et al. [1, 2] showed that quasi self-dual codes over

* Young Gun Roe


ygroe@sogang.ac.kr
Jon‑Lark Kim
jlkim@sogang.ac.kr
1
Department of Mathematics, Sogang University, Seoul, Korea

13
Vol.:(0123456789)
394 J.-L. Kim, Y. G. Roe

a commutative non-unital ring I of order 4 share many properties with binary codes.
Moreover, according to [11], codes over I have applications in constructing DNA
codes.
Self-dual codes have been one of the most interesting research topics due to their
connections with t-designs, lattices, and quantum error-correcting codes. The build-
ing-up method [8–10] is a powerful tool for constructing self-dual codes over fields
and rings. It was initially used to build binary self-dual codes from a given binary
self-dual code of a smaller length by a simple recursion [7]. This method was suc-
cessfully adapted to generate quasi-self-dual (QSD) codes [1, 2] over the ring
I = a, b ∣ 2a = 2b = 0, a2 = b, ab = 0 .
⟨ ⟩
In this paper, we follow up the latest developments to construct more QSD codes
over I. QSD codes are defined to be self-orthogonal codes of length n and size 2n[1].
In the ring I, the notion of self-dual code needs to be modified since the usual relation
between size of the code and that of its dual does not hold [1]. We also pay attention
to Type IV codes which are QSD codes with all weights even. Type IV is originally a
name to describe a type of self-dual codes. Type IV self-dual codes have been studied
by several authors, and they are known to exist for some rings of order four [4]. We are
also interested in quasi-Type IV codes (QTIV) which are QSD codes with an even tor-
sion code. QTIV codes were introduced for a similar reason of introducing QSD codes
in replacement of self-dual codes [1]. Motivated by these reasons, we construct QSD,
Type IV, QTIV codes for lengths n = 7, 8, and devise five variants of the two building-
up constructions.
Our paper is organized as follows. In Sect. 2, we review some fundamental concepts
on coding theory and rings. In Sect. 3, we recall two building-up construction methods,
and describe five new variants of these two methods. In Sect. 4, we provide numerical
results obtained. Finally we conclude this article in Sect. 5.

2 Preliminaries

Here we briefly review some basic concepts of coding theory[6, 12] and rings that are
needed to follow the material in this paper.
The Hamming weight of x ∈ 𝔽2n is the number of nonzero components, and is
denoted{ by wt(x). If C is a binary linear} code, the dual of C is denoted by C⟂, where
C = u ∈ 𝔽2 ∣ u ⋅ w = 0 for all w ∈ C and ⋅ is the standard inner product. A code
⟂ n

C is self-orthogonal if C ⊆ C⟂. A code is called even if all its codewords have even
weight.
We shall study codes defined over the following ring I, classified as such in [5]. The
ring I is defined with two generators a, b by the relations

I = a, b ∣ 2a = 2b = 0, a2 = b, ab = 0 .
⟨ ⟩

Thus, I is a ring with characteristic 2, and consists of 4 elements {0, a, b, c} where


c = a + b. The addition and multiplication tables are as follows.

13
Construction of quasi self‑dual codes over a commutative… 395

+ 0 a b c × 0 a b c
0 0 a b c 0 0 0 0 0
a a 0 c b a 0 b 0 b
b b c 0 a b 0 0 0 0
c c b a 0 c 0 b 0 b

We note that the additive group of I is the Klein-4 group. From the multiplication
table, we see that the ring is commutative, and there is no identity. We denote the
map of reduction modulo J by 𝛼 ∶ I → I∕J ≃ 𝔽2 where J = {0, b}. Thus, we have
𝛼(0) = 𝛼(b) = 0, and 𝛼(a) = 𝛼(c) = 1. This map is extended naturally in a map from
I n to 𝔽2n. We occasionally use the following inner product notation for x ∈ 𝔽2n and
r ∈ I n.
n
∑ ∑
x⋅r = xi ri = ri
i=1 xi =1

A linear I-code C can be described by the I-span of the rows of a generator matrix.
There are two following codes, namely the residue code and the torsion code, asso-
ciated with that code:

tor(C) = x ∈ 𝔽2n ∣ bx ∈ C .
{ }
res(C) = {𝛼(y) ∣ y ∈ C},

It is known that res(C) ⊆ tor(C), and |C| = |res(C)||tor(C)| = 22k1 +k2, where k1 is the
dimension of the residue code, and k1 + k2 is the dimension of the torsion code [2].
We use MAGMA software system for programming [3], and the following
MAGMA notation is used when presenting numerical results.
� �
⟨0, 1⟩, … , ⟨i, Ai ⟩, … , ⟨n, An ⟩

denotes the weight distribution of a code, where Ai is the number of codewords of


weight i. Two I-codes are equivalent if one can be obtained from the other by a coor-
dinate permutation. We note that this definition is the same as in binary codes case.
The inner product on I n is defined as x ⋅ y = ni=1 xi yi [2]. The dual of an I-code C

is defined as

C⟂ = {u ∈ I n ∣ u ⋅ w = 0 ∀w ∈ C}.
An I-code C is self-orthogonal if x ⋅ y = 0, ∀x, y ∈ C . An I-code C of length n is
quasi-self-dual(QSD) if it is self-orthogonal and of size 2n. A QSD code over I that
has all weights even is called a Type IV code. A QSD code over I with an even tor-
sion code is called quasi-Type IV (QTIV). We note that every Type IV code is QTIV,
but not vice versa. We note that these definitions extend to other non-unital rings of
order 4 such as the ring E [11].

13
396 J.-L. Kim, Y. G. Roe

3 Construction methods

In this section, we review two kinds of construction methods for quasi-self-dual


codes over I introduced in [1], and another two building-up construction methods
introduced in [2], and show five new variants of these two building-up constructions.

Theorem 3.1 [1, multilevel construction] Suppose C1 is a self-orthogonal binary


code of length n, and C2 is a binary code of length n, where C1 ⊆ C2. Then the code
C = aC1 + bC2 is a self-orthogonal code. Its residue code is C1 and its torsion code
is C2. If ||C1 ||||C2 || = 2n, then C is QSD.

Theorem 3.2 [1] Let C be an I-linear code of length n and type (k1 , k2 ). Then, up to
a permutation of columns, there exists a generator matrix G of C which is given by
( )
aIk1 aX Y
G= ,
0 bIk2 bZ

where Ij is the identity matrix of order j, the matrix Y has entries in I, and X, Z are
binary matrices.

The following two theorems are about the two building-up constructions, Theo-
rem 3.3 being the first building-up construction method and Theorem 3.4 the second.

Theorem 3.3 [2] Suppose C0 is a QSD code of length n over I, with generating
set r1 , … , rk . Let x be any vector of odd Hamming weight in 𝔽2n. Let yi = x ⋅ ri for
1 ≤ i ≤ k . Then the I-span of the following k + 1 vectors is a QSD code C of length
n + 2.
(a, 0, ax), (y1 , y1 , r1 ), … , (yk , yk , rk )

Theorem 3.4 [2] Assume C0 is a QSD code of length n over I and G0 = ri is a


( )
k × n( generator )matrix for C0. Let x be a fixed vector in 𝔽2n. For 1 ≤ i ≤ k , let
yi = x ⋅ ri , x ⋅ ri be a vector of length 2. Then the following vectors generate a QSD
code C over I of length n + 2
(b, 0, bx), (0, b, bx), (y1 , r1 ), … , (yk , rk )

We notice that some variants of the two building-up constructions are possi-
ble. We identify five such variants, and they are summarized in Table 1, the first
two being the original building-up constructions. The five variants are obtained by
slightly changing the first vector(s) of the original two construction methods. We
state here as an example the third building-up construction that is a variant of the
first building-up construction. Proofs that the five variants provide valid construc-
tions are similar to those of the original ones [2], and thus omitted.

Theorem 3.5 Suppose C0 is a QSD code of length n over I, with generating set
r1 , … , rk . Let x be any vector of odd Hamming weight in 𝔽2n. Let yi = x ⋅ ri for

13
Construction of quasi self‑dual codes over a commutative… 397

Table 1  Summary of No. Variant of First vector(s)


building-up constructions
1 – (a, 0, ax)
2 – (b, 0, bx), (0, b, bx)
3 1 (a, b, ax)
4 2 (a, a, bx)
5 2 (a, c, bx)
6 1 (c, 0, ax)
7 1 (c, b, ax)

1 ≤ i ≤ k . Then the I-span of the following k + 1 vectors is a QSD code C of length


n + 2:
(a, b, ax), (y1 , y1 , r1 ), … , (yk , yk , rk ).

4 Numerical results

Classifications of QSD codes of lengths 1–6 were done in [1, 2], where the multi-
level construction and two building-up constructions together with the mass formula
were used. This implies that the two building-up constructions are not enough for
the classification of QSD codes. We distinguish results obtained from five variants
from the two building-up constructions.
Our new results are for n = 7, 8. Generator matrices for n = 7, 8 are given at
https://​github.​com/​young​roe/​genma.​git. We also give some sample results obtained
using some of the five variants of two building-up constructions.

• n=1
  There is only one code with generator matrix (b).
• n=2
  There are two Type IV codes with weight distribution ⟨0, 1⟩, ⟨2, 3⟩
� �
• n=3
  �There are four codes with �weight distributions �
  , ⟨1, 2⟩, ⟨2, 5⟩ ,

⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 1⟩, ⟨3, 4⟩ ⟨0, 1⟩,
 ⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 3⟩, ⟨3, 3⟩ (2 codes),
� �
  �and two QTIV codes � with weight distribution
 ⟨0, 1⟩, ⟨2, 5⟩, ⟨3, 2⟩ .
• n=4
 For
� k = 1, there are 14 codes with � weight distributions
  ⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 2⟩, ⟨3, 2⟩, ⟨4, 9⟩ � (2 codes),
  � (2 codes),

⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 5⟩, ⟨3, 7⟩, ⟨4, 2⟩
  (2
� codes),

⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 4⟩, ⟨3, 6⟩, ⟨4, 3⟩
 ⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 2⟩, ⟨3, 10⟩, ⟨4, 1⟩ ,

13
398 J.-L. Kim, Y. G. Roe

  �⟨0, 1⟩, ⟨1, 3⟩, ⟨2, 3⟩, ⟨3, 5⟩, ⟨4, 4⟩�,
� �
  �⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 6⟩, ⟨3, 2⟩,� ⟨4, 5⟩ ,
  �⟨0, 1⟩, ⟨1, 3⟩, ⟨2, 7⟩,� ⟨3, 5⟩ ,
  �⟨0, 1⟩, ⟨2, 6⟩, ⟨4, 9⟩ (2 codes,
� Type IV),
 ⟨0, 1⟩, ⟨2, 8⟩, ⟨3, 4⟩, ⟨4, 3⟩ (2 codes, QTIV)
 For
� k = 2, there are 10 codes � with weight distributions
  ⟨0, 1⟩, ⟨2, 2⟩, ⟨3, 8⟩, ⟨4, 5⟩� (3 codes),
  (4 codes),

⟨0, 1⟩, ⟨2, 4⟩, ⟨3, 4⟩, ⟨4, 7⟩
 ⟨0, 1⟩, ⟨2, 6⟩, ⟨4, 9⟩ (3 codes, Type IV)
� �
• n=5
  Results in the following table are from [2].

k d #QSD codes #Type IV #QTIV

1 1 20 0 0
1 2 4 0 4
2 1 26 0 0
2 2 36 0 26

In Tables 2, 3 and 4, we give sample results obtained using some of the five
variants. For Table 2, we have carried out building-up construction 3 and found
some QSD codes with new weight distribution that were not obtained previously
by either building-up construction 1 or 2. For Table 3, we have done building-up
construction 4 which is a variant of building-up construction 2 and found some
QSD codes with new weight distribution that were not obtained through building-
up construction 2, but each one of them was obtained previously by building-up
construction 1 or 3.

Table 2  Results for n = 5, No. Weight distribution # QSD codes


building-up construction 3
1∗∗ [⟨0, 1⟩,⟨1, 1⟩,⟨2, 4⟩,⟨3, 8⟩,⟨4, 11⟩,⟨5, 7⟩] 2
2 [⟨0, 1⟩,⟨1, 1⟩,⟨2, 6⟩,⟨3, 6⟩,⟨4, 9⟩,⟨5, 9⟩] 3
3 [⟨0, 1⟩,⟨1, 3⟩,⟨2, 6⟩,⟨3, 10⟩,⟨4, 9⟩,⟨5, 3⟩] 1
4 [⟨0, 1⟩,⟨1, 1⟩,⟨2, 2⟩,⟨3, 10⟩,⟨4, 13⟩,⟨5, 5⟩] 1
5 [⟨0, 1⟩,⟨1, 2⟩,⟨2, 8⟩,⟨3, 6⟩,⟨4, 15⟩,⟨5, 0⟩] 1
6∗∗ [⟨0, 1⟩,⟨1, 2⟩,⟨2, 6⟩,⟨3, 4⟩,⟨4, 9⟩,⟨5, 10⟩] 1
7∗∗ [⟨0, 1⟩,⟨1, 0⟩,⟨2, 4⟩,⟨3, 10⟩,⟨4, 11⟩,⟨5, 6⟩] 1
8 [⟨0, 1⟩,⟨1, 2⟩,⟨2, 4⟩,⟨3, 10⟩,⟨4, 3⟩,⟨5, 12⟩] 1
9∗∗ [⟨0, 1⟩,⟨1, 2⟩,⟨2, 2⟩,⟨3, 8⟩,⟨4, 13⟩,⟨5, 6⟩] 1
10∗∗ [⟨0, 1⟩,⟨1, 0⟩,⟨2, 6⟩,⟨3, 8⟩,⟨4, 9⟩,⟨5, 8⟩] 2
11∗∗ [⟨0, 1⟩,⟨1, 0⟩,⟨2, 8⟩,⟨3, 6⟩,⟨4, 7⟩,⟨5, 10⟩] 1
∗∗
Codes found by neither building-up construction 1 nor 2

13
Construction of quasi self‑dual codes over a commutative… 399

Table 3  Results for n = 5, No. Weight distribution # QSD codes


building-up construction 4
1 [⟨0, 1⟩,⟨1, 1⟩,⟨2, 6⟩,⟨3, 6⟩,⟨4, 9⟩,⟨5, 9⟩] 2
2∗ [⟨0, 1⟩,⟨1, 1⟩,⟨2, 4⟩,⟨3, 8⟩,⟨4, 11⟩,⟨5, 7⟩] 2
3 [⟨0, 1⟩,⟨1, 3⟩,⟨2, 6⟩,⟨3, 10⟩,⟨4, 9⟩,⟨5, 3⟩] 1
4 [⟨0, 1⟩,⟨1, 2⟩,⟨2, 8⟩,⟨3, 6⟩,⟨4, 15⟩,⟨5, 0⟩] 1
5∗ [⟨0, 1⟩,⟨1, 2⟩,⟨2, 6⟩,⟨3, 4⟩,⟨4, 9⟩,⟨5, 10⟩] 1
6∗ [⟨0, 1⟩,⟨1, 2⟩,⟨2, 2⟩,⟨3, 8⟩,⟨4, 13⟩,⟨5, 6⟩] 1
7∗ [⟨0, 1⟩,⟨1, 2⟩,⟨2, 4⟩,⟨3, 10⟩,⟨4, 3⟩,⟨5, 12⟩] 1
8∗ [⟨0, 1⟩,⟨1, 0⟩,⟨2, 8⟩,⟨3, 2⟩,⟨4, 15⟩,⟨5, 6⟩] 2
9∗ [⟨0, 1⟩,⟨1, 0⟩,⟨2, 6⟩,⟨3, 8⟩,⟨4, 9⟩,⟨5, 8⟩] 2

Codes not found by building-up construction 2

Table 4  Results for n = 5, No. Weight distribution # QSD codes


building-up construction 5
1 [⟨0, 1⟩,⟨1, 1⟩,⟨2, 6⟩,⟨3, 6⟩,⟨4, 9⟩,⟨5, 9⟩] 2
2∗ [⟨0, 1⟩,⟨1, 1⟩,⟨2, 2⟩,⟨3, 10⟩,⟨4, 13⟩,⟨5, 5⟩] 2
3 [⟨0, 1⟩,⟨1, 3⟩,⟨2, 6⟩,⟨3, 10⟩,⟨4, 9⟩,⟨5, 3⟩] 1
4 [⟨0, 1⟩,⟨1, 2⟩,⟨2, 8⟩,⟨3, 6⟩,⟨4, 15⟩,⟨5, 0⟩] 1
5∗∗ [⟨0, 1⟩,⟨1, 2⟩,⟨2, 4⟩,⟨3, 14⟩,⟨4, 11⟩,⟨5, 0⟩] 1
6∗ [⟨0, 1⟩,⟨1, 2⟩,⟨2, 6⟩,⟨3, 4⟩,⟨4, 9⟩,⟨5, 10⟩] 1
7∗∗ [⟨0, 1⟩,⟨1, 2⟩,⟨2, 2⟩,⟨3, 4⟩,⟨4, 21⟩,⟨5, 2⟩] 1
8∗ [⟨0, 1⟩,⟨1, 2⟩,⟨2, 4⟩,⟨3, 10⟩,⟨4, 3⟩,⟨5, 12⟩] 1
9 [⟨0, 1⟩,⟨1, 2⟩,⟨2, 4⟩,⟨3, 6⟩,⟨4, 11⟩,⟨5, 8⟩] 1
10∗ [⟨0, 1⟩,⟨1, 2⟩,⟨2, 2⟩,⟨3, 8⟩,⟨4, 13⟩,⟨5, 6⟩] 1
11∗∗ [⟨0, 1⟩,⟨1, 2⟩,⟨2, 2⟩,⟨3, 12⟩,⟨4, 5⟩,⟨5, 10⟩] 1
12∗ [⟨0, 1⟩,⟨1, 0⟩,⟨2, 8⟩,⟨3, 2⟩,⟨4, 15⟩,⟨5, 6⟩] 3
13∗ [⟨0, 1⟩,⟨1, 0⟩,⟨2, 6⟩,⟨3, 8⟩,⟨4, 9⟩,⟨5, 8⟩] 2
14∗ [⟨0, 1⟩,⟨1, 0⟩,⟨2, 4⟩,⟨3, 10⟩,⟨4, 11⟩,⟨5, 6⟩] 3
15∗ [⟨0, 1⟩,⟨1, 0⟩,⟨2, 6⟩,⟨3, 4⟩,⟨4, 17⟩,⟨5, 4⟩] 2

Codes not found by building-up construction 2
∗∗
Codes not found by any of building-up constructions 1 to 4

As for Table 4, we have done building-up construction 5 which is a variant


of building-up construction 2. In Table 4, those codes marked * are QSD codes
with new weight distribution that were not obtained by building-up construc-
tion 2, but they were obtained previously by building-up construction 1 or 3 or
4. Those codes marked ** are QSD codes with new weight distribution that were
not obtained previously by any of building-up constructions 1–4.

• n=6

13
400 J.-L. Kim, Y. G. Roe

  The following table is from [2].

k d #QSD codes #Type IV #QTIV

1 1 34 0 0
1 2 6 2 6
2 1 176 0 0
2 2 141 4 92
3 2 104 8 104

4.1 Length 7

For n = 7, we have obtained more QSD codes, Type IV codes, QTIV codes up to
equivalence, which is a new result (Table 5). We also include the explicit tables that
tell us the number of inequivalent QSD, Type IV, QTIV codes obtained for each
weight distribution for building-up constructions 1 and 2 (Tables 6 and 7). We give
a bound where the exact value is not found. For instance, 1–2 in the fourth entry in
Table 6 means that there are at least 1 and at most 2 codes. You can see the results
at a glance in Table 5. From the table, we notice that there is at least one QSD code
with minimum distance 3. A generator matrix for this code is given by

⎛a 0 a a 0 a 0⎞
⎜a a a 0 a 0 0⎟
G=⎜
0 0 a a a 0 a⎟
⎜ ⎟
⎝b b b b b b b⎠

We used Magma software system to obtain numerical results [3]. As for the Magma
programming for this length, we made use of the generators for inequivalent QSD
codes for n = 5 which we obtained by using building-up constructions 1 and 2.
These generators together with xs in 𝔽25 of odd Hamming weight created new genera-
tors for the building-up construction 1 for n = 7. Those generators together with xs
in 𝔽25 created new generators for the building-up construction 2 for n = 7.

Table 5  Results for n = 7 k d #QSD codes #Type IV #QTIV

0 1 ⩾1 ⩾0
1 1 ⩾ 25 ⩾0
1 2 ⩾3 not ⩾3
2 1 ⩾ 49 ⩾0
2 2 ⩾ 32 ⩾ 19
3 1 ⩾8 found ⩾0
3 2 ⩾ 10 ⩾5
3 3 ⩾1 ⩾0

13
Construction of quasi self‑dual codes over a commutative… 401

Table 6  Results for n = 7, building-up construction 1


k d Weight distribution # Codes # Ineq # Type # QTIV
codes IV

1 1 1 1 0 0
� �
⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 15⟩, ⟨3, 15⟩, ⟨4, 15⟩, ⟨5, 15⟩, ⟨6, 33⟩, ⟨7, 33⟩
1 1 10 1 0 0
� �
⟨0, 1⟩, ⟨1, 3⟩, ⟨2, 9⟩, ⟨3, 19⟩, ⟨4, 27⟩, ⟨5, 33⟩, ⟨6, 27⟩, ⟨7, 9⟩
1 1 5 1 0 0
� �
⟨0, 1⟩, ⟨1, 5⟩, ⟨2, 13⟩, ⟨3, 25⟩, ⟨4, 35⟩, ⟨5, 31⟩, ⟨6, 15⟩, ⟨7, 3⟩
2 1 36 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 3⟩, ⟨3, 11⟩, ⟨4, 23⟩, ⟨5, 39⟩, ⟨6, 37⟩, ⟨7, 13⟩
2 1 2 1 0 0
� �
⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 7⟩, ⟨3, 15⟩, ⟨4, 15⟩, ⟨5, 31⟩, ⟨6, 41⟩, ⟨7, 17⟩
2 1 26 1–8 0 0
� �
⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 9⟩, ⟨3, 9⟩, ⟨4, 27⟩, ⟨5, 27⟩, ⟨6, 27⟩, ⟨7, 27⟩
2 1 18 1–3 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 3⟩, ⟨3, 8⟩, ⟨4, 15⟩, ⟨5, 66⟩, ⟨6, 13⟩, ⟨7, 20⟩
2 1 32 1–8 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 3⟩, ⟨3, 8⟩, ⟨4, 23⟩, ⟨5, 42⟩, ⟨6, 37⟩, ⟨7, 12⟩
2 1 12 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 3⟩, ⟨3, 8⟩, ⟨4, 31⟩, ⟨5, 18⟩, ⟨6, 61⟩, ⟨7, 4⟩
2 1 7 1–4 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 3⟩, ⟨3, 12⟩, ⟨4, 31⟩, ⟨5, 26⟩, ⟨6, 29⟩, ⟨7, 24⟩
2 1 3 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 3⟩, ⟨3, 20⟩, ⟨4, 39⟩, ⟨5, 34⟩, ⟨6, 21⟩, ⟨7, 8⟩
2 1 3 1 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 8⟩, ⟨4, 23⟩, ⟨5, 34⟩, ⟨6, 33⟩, ⟨7, 20⟩
2 1 5 1–4 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 12⟩, ⟨4, 15⟩, ⟨5, 34⟩, ⟨6, 41⟩, ⟨7, 16⟩
2 1 20 1–4 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 12⟩, ⟨4, 23⟩, ⟨5, 26⟩, ⟨6, 33⟩, ⟨7, 24⟩
2 1 3 1 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 12⟩, ⟨4, 31⟩, ⟨5, 50⟩, ⟨6, 25⟩, ⟨7, 0⟩
2 1 9 1–3 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 16⟩, ⟨4, 15⟩, ⟨5, 42⟩, ⟨6, 9⟩, ⟨7, 36⟩
2 1 6 1–4 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 16⟩, ⟨4, 31⟩, ⟨5, 42⟩, ⟨6, 25⟩, ⟨7, 4⟩
2 1 5 1 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 24⟩, ⟨4, 15⟩, ⟨5, 58⟩, ⟨6, 9⟩, ⟨7, 12⟩
2 1 10 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 9⟩, ⟨3, 18⟩, ⟨4, 27⟩, ⟨5, 38⟩, ⟨6, 27⟩, ⟨7, 6⟩
2 1 10 1–3 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 11⟩, ⟨3, 12⟩, ⟨4, 39⟩, ⟨5, 18⟩, ⟨6, 45⟩, ⟨7, 0⟩
2 1 3 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 11⟩, ⟨3, 28⟩, ⟨4, 39⟩, ⟨5, 34⟩, ⟨6, 13⟩, ⟨7, 0⟩
2 1 3 1 0 0
� �
⟨0, 1⟩, ⟨1, 3⟩, ⟨2, 5⟩, ⟨3, 15⟩, ⟨4, 35⟩, ⟨5, 41⟩, ⟨6, 23⟩, ⟨7, 5⟩
2 1 3 1 0 0
� �
⟨0, 1⟩, ⟨1, 3⟩, ⟨2, 5⟩, ⟨3, 15⟩, ⟨4, 35⟩, ⟨5, 41⟩, ⟨6, 23⟩, ⟨7, 5⟩
2 1 29 2 0 0
� �
⟨0, 1⟩, ⟨1, 3⟩, ⟨2, 9⟩, ⟨3, 19⟩, ⟨4, 27⟩, ⟨5, 33⟩, ⟨6, 27⟩, ⟨7, 9⟩
2 1 10 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 9⟩, ⟨3, 16⟩, ⟨4, 19⟩, ⟨5, 28⟩, ⟨6, 3⟩, ⟨7, 48⟩
2 1 5 1 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 9⟩, ⟨3, 16⟩, ⟨4, 35⟩, ⟨5, 12⟩, ⟨6, 51⟩, ⟨7, 0⟩
2 1 5 1 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 9⟩, ⟨3, 20⟩, ⟨4, 27⟩, ⟨5, 28⟩, ⟨6, 27⟩, ⟨7, 12⟩
2 1 6 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 13⟩, ⟨3, 24⟩, ⟨4, 35⟩, ⟨5, 36⟩, ⟨6, 15⟩, ⟨7, 0⟩
2 2 8 1–6 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 5⟩, ⟨3, 12⟩, ⟨4, 19⟩, ⟨5, 40⟩, ⟨6, 39⟩, ⟨7, 12⟩
2 2 3 1 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 5⟩, ⟨3, 32⟩, ⟨4, 11⟩, ⟨5, 56⟩, ⟨6, 15⟩, ⟨7, 8⟩
2 2 15 1–11 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 7⟩, ⟨3, 14⟩, ⟨4, 23⟩, ⟨5, 28⟩, ⟨6, 33⟩, ⟨7, 22⟩
2 2 3 1–3 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 7⟩, ⟨3, 18⟩, ⟨4, 7⟩, ⟨5, 52⟩, ⟨6, 17⟩, ⟨7, 26⟩
2 2 24 4 0 4
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 9⟩, ⟨3, 0⟩, ⟨4, 35⟩, ⟨5, 24⟩, ⟨6, 51⟩, ⟨7, 8⟩
2 2 2 1 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 9⟩, ⟨3, 8⟩, ⟨4, 35⟩, ⟨5, 8⟩, ⟨6, 51⟩, ⟨7, 16⟩
2 2 3 1–3 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 9⟩, ⟨3, 12⟩, ⟨4, 19⟩, ⟨5, 32⟩, ⟨6, 35⟩, ⟨7, 20⟩
2 2 3 1 0 1
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 9⟩, ⟨3, 12⟩, ⟨4, 51⟩, ⟨5, 16⟩, ⟨6, 35⟩, ⟨7, 4⟩
2 2 3 1 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 9⟩, ⟨3, 12⟩, ⟨4, 51⟩, ⟨5, 16⟩, ⟨6, 35⟩, ⟨7, 4⟩
2 2 10 1–4 0 1–4
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 11⟩, ⟨3, 2⟩, ⟨4, 39⟩, ⟨5, 12⟩, ⟨6, 45⟩, ⟨7, 18⟩

13
402 J.-L. Kim, Y. G. Roe

Table 6  (continued)
k d Weight distribution # Codes # Ineq # Type # QTIV
codes IV

2 2 10 1–2 0 1–2
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 13⟩, ⟨3, 0⟩, ⟨4, 43⟩, ⟨5, 8⟩, ⟨6, 39⟩, ⟨7, 24⟩
2 2 3 1 0 1
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 13⟩, ⟨3, 8⟩, ⟨4, 43⟩, ⟨5, 24⟩, ⟨6, 39⟩, ⟨7, 0⟩
2 2 2 1–2 0 1–2
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 15⟩, ⟨3, 2⟩, ⟨4, 23⟩, ⟨5, 20⟩, ⟨6, 57⟩, ⟨7, 10⟩
2 2 10 1–2 0 1–2
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 15⟩, ⟨3, 6⟩, ⟨4, 47⟩, ⟨5, 20⟩, ⟨6, 33⟩, ⟨7, 6⟩
2 2 2 1–2 0 1–2
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 17⟩, ⟨3, 8⟩, ⟨4, 35⟩, ⟨5, 24⟩, ⟨6, 43⟩, ⟨7, 0⟩
3 1 8 1 0 0
� �
⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 0⟩, ⟨3, 4⟩, ⟨4, 13⟩, ⟨5, 69⟩, ⟨6, 18⟩, ⟨7, 22⟩
3 1 8 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 0⟩, ⟨3, 4⟩, ⟨4, 29⟩, ⟨5, 21⟩, ⟨6, 66⟩, ⟨7, 6⟩
3 1 4 1 0 0
� �
⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 3⟩, ⟨3, 3⟩, ⟨4, 39⟩, ⟨5, 39⟩, ⟨6, 21⟩, ⟨7, 21⟩
3 1 12 1 0 0
� �
⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 5⟩, ⟨3, 13⟩, ⟨4, 19⟩, ⟨5, 35⟩, ⟨6, 39⟩, ⟨7, 15⟩
3 1 31 2 0 0
� �
⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 9⟩, ⟨3, 9⟩, ⟨4, 27⟩, ⟨5, 27⟩, ⟨6, 27⟩, ⟨7, 27⟩
3 1 8 1 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 16⟩, ⟨4, 15⟩, ⟨5, 42⟩, ⟨6, 9⟩, ⟨7, 36⟩
3 1 8 1 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 11⟩, ⟨3, 12⟩, ⟨4, 39⟩, ⟨5, 18⟩, ⟨6, 45⟩, ⟨7, 0⟩
3 2 16 1–4 0 1–4
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 3⟩, ⟨3, 0⟩, ⟨4, 31⟩, ⟨5, 24⟩, ⟨6, 61⟩, ⟨7, 8⟩
3 2 4 1 0 1
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 3⟩, ⟨3, 6⟩, ⟨4, 47⟩, ⟨5, 12⟩, ⟨6, 45⟩, ⟨7, 14⟩
3 2 4 1 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 3⟩, ⟨3, 14⟩, ⟨4, 15⟩, ⟨5, 60⟩, ⟨6, 13⟩, ⟨7, 22⟩
3 2 12 1 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 5⟩, ⟨3, 16⟩, ⟨4, 11⟩, ⟨5, 56⟩, ⟨6, 15⟩, ⟨7, 24⟩
3 2 4 1 0 1
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 9⟩, ⟨3, 0⟩, ⟨4, 35⟩, ⟨5, 24⟩, ⟨6, 51⟩, ⟨7, 8⟩
3 2 4 1 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 9⟩, ⟨3, 8⟩, ⟨4, 51⟩, ⟨5, 24⟩, ⟨6, 35⟩, ⟨7, 0⟩
3 2 24 1–4 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 9⟩, ⟨3, 4⟩, ⟨4, 35⟩, ⟨5, 16⟩, ⟨6, 51⟩, ⟨7, 12⟩
3 2 16 1–2 0 1–2
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 11⟩, ⟨3, 2⟩, ⟨4, 39⟩, ⟨5, 12⟩, ⟨6, 45⟩, ⟨7, 18⟩
3 2 12 1 0 1
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 13⟩, ⟨3, 8⟩, ⟨4, 43⟩, ⟨5, 24⟩, ⟨6, 39⟩, ⟨7, 0⟩
3 3 16 1–3 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 0⟩, ⟨3, 7⟩, ⟨4, 21⟩, ⟨5, 42⟩, ⟨6, 42⟩, ⟨7, 15⟩

4.2 Length 8

For length 8 also we obtained new results. We were able to find the number of
codes for each weight distribution for building-up construction 1, but not the
number of inequivalent codes due to excessive program running time. Thus in
Table 8 we summarized the results where each weight distribution counts one
only for inequivalent QSD codes. We also include Table 9 that tell us in detail the
number of QSD, Type IV, QTIV codes obtained for each weight distribution for
building-up construction 1.
For Magma programming, we took advantage of the generators of inequivalent
QSD codes for n = 6 which we obtained through building-up constructions 1 and

13
Construction of quasi self‑dual codes over a commutative… 403

Table 7  Results for n = 7, building-up construction 2


k d Weight distribution # Codes # Ineq # Type # QTIV
codes IV

0 1 32 1 0 0
� �
⟨0, 1⟩, ⟨1, 7⟩, ⟨2, 21⟩, ⟨3, 35⟩, ⟨4, 35⟩, ⟨5, 21⟩, ⟨6, 7⟩, ⟨7, 1⟩
1 1 32 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 15⟩, ⟨3, 15⟩, ⟨4, 15⟩, ⟨5, 15⟩, ⟨6, 33⟩, ⟨7, 33⟩
1 1 48 1–6 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 11⟩, ⟨3, 20⟩, ⟨4, 15⟩, ⟨5, 10⟩, ⟨6, 37⟩, ⟨7, 32⟩
1 1 96 1–12 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 11⟩, ⟨3, 20⟩, ⟨4, 23⟩, ⟨5, 34⟩, ⟨6, 29⟩, ⟨7, 8⟩
1 1 8 1 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 11⟩, ⟨3, 40⟩, ⟨4, 15⟩, ⟨5, 50⟩, ⟨6, 5⟩, ⟨7, 4⟩
1 1 32 1–4 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 13⟩, ⟨3, 30⟩, ⟨4, 35⟩, ⟨5, 30⟩, ⟨6, 15⟩, ⟨7, 2⟩
1 1 8 1 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 15⟩, ⟨3, 20⟩, ⟨4, 55⟩, ⟨5, 10⟩, ⟨6, 25⟩, ⟨7, 0⟩
1 1 96 1–21 0 0
� �
⟨0, 1⟩, ⟨1, 3⟩, ⟨2, 9⟩, ⟨3, 19⟩, ⟨4, 27⟩, ⟨5, 33⟩, ⟨6, 27⟩, ⟨7, 9⟩
1 1 56 1–7 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 9⟩, ⟨3, 16⟩, ⟨4, 19⟩, ⟨5, 12⟩, ⟨6, 35⟩, ⟨7, 32⟩
1 1 24 1–3 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 9⟩, ⟨3, 16⟩, ⟨4, 19⟩, ⟨5, 60⟩, ⟨6, 3⟩, ⟨7, 16⟩
1 1 63 1–8 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 9⟩, ⟨3, 16⟩, ⟨4, 27⟩, ⟨5, 36⟩, ⟨6, 27⟩, ⟨7, 8⟩
1 1 16 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 9⟩, ⟨3, 16⟩, ⟨4, 35⟩, ⟨5, 12⟩, ⟨6, 51⟩, ⟨7, 0⟩
1 1 15 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 9⟩, ⟨3, 28⟩, ⟨4, 43⟩, ⟨5, 28⟩, ⟨6, 11⟩, ⟨7, 4⟩
1 1 16 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 11⟩, ⟨3, 26⟩, ⟨4, 39⟩, ⟨5, 32⟩, ⟨6, 13⟩, ⟨7, 2⟩
1 1 16 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 13⟩, ⟨3, 24⟩, ⟨4, 35⟩, ⟨5, 36⟩, ⟨6, 15⟩, ⟨7, 0⟩
1 1 64 1–4 0 0
� �
⟨0, 1⟩, ⟨1, 5⟩, ⟨2, 13⟩, ⟨3, 25⟩, ⟨4, 35⟩, ⟨5, 31⟩, ⟨6, 15⟩, ⟨7, 3⟩
1 1 16 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 6⟩, ⟨2, 15⟩, ⟨3, 20⟩, ⟨4, 15⟩, ⟨5, 6⟩, ⟨6, 1⟩, ⟨7, 64⟩
1 1 8 1 0 0
� �
⟨0, 1⟩, ⟨1, 6⟩, ⟨2, 15⟩, ⟨3, 20⟩, ⟨4, 15⟩, ⟨5, 6⟩, ⟨6, 65⟩, ⟨7, 0⟩
1 1 25 1–3 0 0
� �
⟨0, 1⟩, ⟨1, 6⟩, ⟨2, 15⟩, ⟨3, 20⟩, ⟨4, 15⟩, ⟨5, 22⟩, ⟨6, 33⟩, ⟨7, 16⟩
1 1 15 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 6⟩, ⟨2, 15⟩, ⟨3, 20⟩, ⟨4, 31⟩, ⟨5, 38⟩, ⟨6, 17⟩, ⟨7, 0⟩
1 1 8 1 0 0
� �
⟨0, 1⟩, ⟨1, 6⟩, ⟨2, 15⟩, ⟨3, 24⟩, ⟨4, 31⟩, ⟨5, 30⟩, ⟨6, 17⟩, ⟨7, 4⟩
1 1 10 1–3 0 0
� �
⟨0, 1⟩, ⟨1, 6⟩, ⟨2, 19⟩, ⟨3, 36⟩, ⟨4, 39⟩, ⟨5, 22⟩, ⟨6, 5⟩, ⟨7, 0⟩
1 2 16 1–2 0 1–2
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 21⟩, ⟨3, 0⟩, ⟨4, 35⟩, ⟨5, 0⟩, ⟨6, 39⟩, ⟨7, 32⟩
1 2 32 1–4 0 1–4
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 21⟩, ⟨3, 0⟩, ⟨4, 43⟩, ⟨5, 24⟩, ⟨6, 31⟩, ⟨7, 8⟩
1 2 16 1–2 0 1–2
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 23⟩, ⟨3, 10⟩, ⟨4, 55⟩, ⟨5, 20⟩, ⟨6, 17⟩, ⟨7, 2⟩
2 1 33 1-5 0 0
� �
⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 3⟩, ⟨3, 11⟩, ⟨4, 23⟩, ⟨5, 39⟩, ⟨6, 37⟩, ⟨7, 13⟩
2 1 15 1 0 0
� �
⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 7⟩, ⟨3, 15⟩, ⟨4, 15⟩, ⟨5, 31⟩, ⟨6, 41⟩, ⟨7, 17⟩
2 1 48 1–11 0 0
� �
⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 9⟩, ⟨3, 9⟩, ⟨4, 27⟩, ⟨5, 27⟩, ⟨6, 27⟩, ⟨7, 27⟩
2 1 9 1–3 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 3⟩, ⟨3, 8⟩, ⟨4, 15⟩, ⟨5, 66⟩, ⟨6, 13⟩, ⟨7, 20⟩
2 1 7 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 3⟩, ⟨3, 8⟩, ⟨4, 31⟩, ⟨5, 18⟩, ⟨6, 61⟩, ⟨7, 4⟩
2 1 4 1 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 3⟩, ⟨3, 12⟩, ⟨4, 31⟩, ⟨5, 26⟩, ⟨6, 29⟩, ⟨7, 24⟩
2 1 4 1 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 3⟩, ⟨3, 20⟩, ⟨4, 39⟩, ⟨5, 34⟩, ⟨6, 21⟩, ⟨7, 8⟩
2 1 4 1 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 8⟩, ⟨4, 23⟩, ⟨5, 34⟩, ⟨6, 33⟩, ⟨7, 20⟩
2 1 8 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 12⟩, ⟨4, 15⟩, ⟨5, 34⟩, ⟨6, 41⟩, ⟨7, 16⟩
2 1 16 1–4 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 12⟩, ⟨4, 23⟩, ⟨5, 26⟩, ⟨6, 33⟩, ⟨7, 24⟩
2 1 9 1–3 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 12⟩, ⟨4, 31⟩, ⟨5, 50⟩, ⟨6, 25⟩, ⟨7, 0⟩
2 1 23 1–4 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 14⟩, ⟨4, 23⟩, ⟨5, 28⟩, ⟨6, 33⟩, ⟨7, 22⟩
2 1 4 1 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 16⟩, ⟨4, 15⟩, ⟨5, 42⟩, ⟨6, 9⟩, ⟨7, 36⟩

13
404 J.-L. Kim, Y. G. Roe

Table 7  (continued)
k d Weight distribution # Codes # Ineq # Type # QTIV
codes IV

2 1 7 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 16⟩, ⟨4, 31⟩, ⟨5, 42⟩, ⟨6, 25⟩, ⟨7, 4⟩
2 1 3 1 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 7⟩, ⟨3, 24⟩, ⟨4, 15⟩, ⟨5, 58⟩, ⟨6, 9⟩, ⟨7, 12⟩
2 1 8 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 9⟩, ⟨3, 18⟩, ⟨4, 27⟩, ⟨5, 38⟩, ⟨6, 27⟩, ⟨7, 6⟩
2 1 8 1–5 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 11⟩, ⟨3, 12⟩, ⟨4, 39⟩, ⟨5, 18⟩, ⟨6, 45⟩, ⟨7, 0⟩
2 1 5 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 11⟩, ⟨3, 28⟩, ⟨4, 39⟩, ⟨5, 34⟩, ⟨6, 13⟩, ⟨7, 0⟩
2 1 8 1 0 0
� �
⟨0, 1⟩, ⟨1, 3⟩, ⟨2, 5⟩, ⟨3, 15⟩, ⟨4, 35⟩, ⟨5, 41⟩, ⟨6, 23⟩, ⟨7, 5⟩
2 1 24 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 3⟩, ⟨2, 9⟩, ⟨3, 19⟩, ⟨4, 27⟩, ⟨5, 33⟩, ⟨6, 27⟩, ⟨7, 9⟩
2 1 4 1 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 9⟩, ⟨3, 16⟩, ⟨4, 35⟩, ⟨5, 12⟩, ⟨6, 51⟩, ⟨7, 0⟩
2 1 4 1 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 9⟩, ⟨3, 16⟩, ⟨4, 19⟩, ⟨5, 28⟩, ⟨6, 3⟩, ⟨7, 48⟩
2 1 4 1 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 9⟩, ⟨3, 120⟩, ⟨4, 27⟩, ⟨5, 28⟩, ⟨6, 27⟩, ⟨7, 12⟩
2 1 3 1 0 0
� �
⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 13⟩, ⟨3, 24⟩, ⟨4, 35⟩, ⟨5, 36⟩, ⟨6, 15⟩, ⟨7, 0⟩
2 2 17 1–5 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 5⟩, ⟨3, 12⟩, ⟨4, 19⟩, ⟨5, 40⟩, ⟨6, 39⟩, ⟨7, 12⟩
2 2 5 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 5⟩, ⟨3, 32⟩, ⟨4, 11⟩, ⟨5, 56⟩, ⟨6, 15⟩, ⟨7, 8⟩
2 2 8 1–2 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 7⟩, ⟨3, 18⟩, ⟨4, 7⟩, ⟨5, 52⟩, ⟨6, 17⟩, ⟨7, 26⟩
2 2 17 1–5 0 1–5
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 9⟩, ⟨3, 0⟩, ⟨4, 35⟩, ⟨5, 24⟩, ⟨6, 51⟩, ⟨7, 8⟩
2 2 8 1 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 9⟩, ⟨3, 8⟩, ⟨4, 35⟩, ⟨5, 8⟩, ⟨6, 51⟩, ⟨7, 16⟩
2 2 17 1–3 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 9⟩, ⟨3, 12⟩, ⟨4, 19⟩, ⟨5, 32⟩, ⟨6, 35⟩, ⟨7, 20⟩
2 2 4 1 0 0
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 9⟩, ⟨3, 12⟩, ⟨4, 51⟩, ⟨5, 16⟩, ⟨6, 35⟩, ⟨7, 4⟩
2 2 4 1 0 1
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 9⟩, ⟨3, 12⟩, ⟨4, 51⟩, ⟨5, 16⟩, ⟨6, 35⟩, ⟨7, 4⟩
2 2 7 1-2 0 1–2
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 11⟩, ⟨3, 2⟩, ⟨4, 39⟩, ⟨5, 12⟩, ⟨6, 45⟩, ⟨7, 18⟩
2 2 8 1–2 0 1–2
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 13⟩, ⟨3, 0⟩, ⟨4, 43⟩, ⟨5, 8⟩, ⟨6, 39⟩, ⟨7, 24⟩
2 2 3 1 0 1
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 13⟩, ⟨3, 8⟩, ⟨4, 43⟩, ⟨5, 24⟩, ⟨6, 39⟩, ⟨7, 0⟩
2 2 8 1 0 1
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 15⟩, ⟨3, 2⟩, ⟨4, 23⟩, ⟨5, 20⟩, ⟨6, 57⟩, ⟨7, 10⟩
2 2 8 1–2 0 1–2
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 15⟩, ⟨3, 6⟩, ⟨4, 47⟩, ⟨5, 20⟩, ⟨6, 33⟩, ⟨7, 6⟩
2 2 8 1 0 1
� �
⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 17⟩, ⟨3, 8⟩, ⟨4, 35⟩, ⟨5, 24⟩, ⟨6, 43⟩, ⟨7, 0⟩

Table 8  Results for n = 8 k d #QSD codes #Type IV #QTIV

2 1 ⩾5 ⩾0 ⩾0
2 2 ⩾3 ⩾2 ⩾2
3 1 ⩾4 ⩾0 ⩾0
3 2 ⩾5 ⩾3 ⩾3
4 2 ⩾2 ⩾2 ⩾2
4 4 ⩾1 ⩾1 ⩾1

13
Construction of quasi self‑dual codes over a commutative… 405

Table 9  Results for n = 8, building-up construction 1


k d Weight distribution # Codes # Type IV # QTIV

2 1 ⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 4⟩, ⟨3, 14⟩, ⟨4, 34⟩, ⟨5, 62⟩, ⟨6, 76⟩, ⟨7, 50⟩, ⟨8, 13⟩ 60 0 0
� �

2 1 ⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 8⟩, ⟨3, 22⟩, ⟨4, 30⟩, ⟨5, 46⟩, ⟨6, 72⟩, ⟨7, 58⟩, ⟨8, 17⟩ 6 0 0
� �

2 1 ⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 10⟩, ⟨3, 18⟩, ⟨4, 36⟩, ⟨5, 54⟩, ⟨6, 54⟩, ⟨7, 54⟩, ⟨8, 27⟩ 46 0 0
� �

2 1 ⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 8⟩, ⟨3, 20⟩, ⟨4, 50⟩, ⟨5, 76⟩, ⟨6, 64⟩, ⟨7, 28⟩, ⟨8, 5⟩ 4 0 0
� �

2 1 ⟨0, 1⟩, ⟨1, 4⟩, ⟨2, 12⟩, ⟨3, 28⟩, ⟨4, 46⟩, ⟨5, 60⟩, ⟨6, 60⟩, ⟨7, 36⟩, ⟨8, 9⟩ 16 0 0
� �

2 2 ⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 8⟩, ⟨3, 16⟩, ⟨4, 18⟩, ⟨5, 32⟩, ⟨6, 64⟩, ⟨7, 80⟩, ⟨8, 37⟩ 28 0 0
� �

2 2 ⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 12⟩, ⟨3, 0⟩, ⟨4, 54⟩, ⟨5, 0⟩, ⟨6, 108⟩, ⟨7, 0⟩, ⟨8, 81⟩ 40 40 40
� �

2 2 ⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 18⟩, ⟨3, 0⟩, ⟨4, 60⟩, ⟨5, 0⟩, ⟨6, 78⟩, ⟨7, 0⟩, ⟨8, 99⟩ 24 24 24
� �

3 1 ⟨0, 1⟩, ⟨1, 1⟩, ⟨2, 0⟩, ⟨3, 7⟩, ⟨4, 28⟩, ⟨5, 63⟩, ⟨6, 84⟩, ⟨7, 57⟩, ⟨8, 15⟩ 72 0 0
� �

3 1 ⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 4⟩, ⟨3, 6⟩, ⟨4, 42⟩, ⟨5, 78⟩, ⟨6, 60⟩, ⟨7, 42⟩, ⟨8, 21⟩ 8 0 0
� �

3 1 ⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 6⟩, ⟨3, 18⟩, ⟨4, 32⟩, ⟨5, 54⟩, ⟨6, 74⟩, ⟨7, 54⟩, ⟨8, 15⟩ 20 0 0
� �

3 1 ⟨0, 1⟩, ⟨1, 2⟩, ⟨2, 10⟩, ⟨3, 18⟩, ⟨4, 36⟩, ⟨5, 54⟩, ⟨6, 54⟩, ⟨7, 54⟩, ⟨8, 27⟩ 51 0 0
� �

3 2 ⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 4⟩, ⟨3, 0⟩, ⟨4, 46⟩, ⟨5, 0⟩, ⟨6, 148⟩, ⟨7, 0⟩, ⟨8, 57⟩ 62 62 62
� �

3 2 ⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 4⟩, ⟨3, 12⟩, ⟨4, 18⟩, ⟨5, 40⟩, ⟨6, 76⟩, ⟨7, 76⟩, ⟨8, 29⟩ 25 0 0
� �

3 2 ⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 6⟩, ⟨3, 8⟩, ⟨4, 24⟩, ⟨5, 48⟩, ⟨6, 58⟩, ⟨7, 72⟩, ⟨8, 39⟩ 108 0 0
� �

3 2 ⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 8⟩, ⟨3, 0⟩, ⟨4, 50⟩, ⟨5, 0⟩, ⟨6, 128⟩, ⟨7, 0⟩, ⟨8, 69⟩ 22 22 22
� �

3 2 ⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 12⟩, ⟨3, 0⟩, ⟨4, 54⟩, ⟨5, 0⟩, ⟨6, 108⟩, ⟨7, 0⟩, ⟨8, 81⟩ 105 105 105
� �

4 2 ⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 6⟩, ⟨3, 0⟩, ⟨4, 48⟩, ⟨5, 0⟩, ⟨6, 138⟩, ⟨7, 0⟩, ⟨8, 63⟩ 32 32 32
� �

4 2 ⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 12⟩, ⟨3, 0⟩, ⟨4, 54⟩, ⟨5, 0⟩, ⟨6, 108⟩, ⟨7, 0⟩, ⟨8, 81⟩ 40 40 40
� �

4 4 ⟨0, 1⟩, ⟨1, 0⟩, ⟨2, 0⟩, ⟨3, 0⟩, ⟨4, 42⟩, ⟨5, 0⟩, ⟨6, 168⟩, ⟨7, 0⟩, ⟨8, 45⟩ 24 24 24
� �

2. These generators together with xs in 𝔽26 of odd Hamming weight created new
generators for the building-up construction 1 for n = 8. From Table 8, we notice
that there is at least one QSD code with minimum distance 4. A generator matrix
for this code is given by

⎛a 0 a a 0 a 0 0⎞
⎜a a a 0 a 0 0 0⎟
G = ⎜0 0 a a a 0 a 0⎟
⎜a a a a a a a a⎟
⎜ ⎟
⎝b b b b b b b b⎠

5 Conclusion

In this paper, we have constructed many QSD, Type IV, and QTIV codes for
lengths n = 7 and 8 over the commutative non-unital ring I of order 4 by the build-
ing-up construction methods. We have described five variants of the two original

13
406 J.-L. Kim, Y. G. Roe

building-up construction methods, and have given sample results obtained using
some of these variants. We remark that some of our codes over I give different
weight distributions from self-dual codes over finite fields since they do not satisfy
the Gleason’s theorem [6] which gives the constraints on the weight distribution of
self-dual codes over finite fields. We expect that our various constructions can give a
very close classification of all QSD codes for n = 7, 8. Considering the time it took
to run MAGMA programs, more computing power would be required to get further
results.

Acknowledgements This research (JLK) is supported by the National Research Foundation of Korea
(NRF) grant funded by the Korea government (NRF-2019R1A2C1088676).

References
1. Alahmadi, A., Altassan, A., Basaffar, W., Bonnecaze, A., Shoaib, H., Solé, P.: Quasi Type IV codes
over a non-unital ring. Appl. Algebra Eng. Commun. Comput. 32, 217–228 (2021)
2. Alahmadi, A., Alkathiry, A., Altassan, A., Bonnecaze, A., Shoaib, H., Solé, P.: The build-up con-
struction of quasi self-dual codes over a commutative non-unital ring (2020) https://​hal-​lirmm.​ccsd.​
cnrs.​fr/​I2M-​2014-/​hal-​02977​595v1
3. Bosma, W., Cannon, J., Playoust, C.: The Magma algebra system. I. The user language. J. Symb.
Comput. 24, 235–265 (1997)
4. Dougherty, S., Gaborit, P., Harada, M., Munemasa, A., Solé, P.: Type IV self-dual codes over rings.
IEEE Trans. Inf. Theory 45(7), 2345–2360 (1999)
5. Fine, B.: Classification of finite rings of order p2. Math. Mag. 66(4), 248–252 (1993)
6. Huffman, W., Pless, V.: Fundamentals of Error Correcting Codes. Cambridge University Press,
Cambridge (2003)
7. Kim, J.-L.: New extremal self-dual codes of lengths 36, 38, and 58. IEEE Trans. Inf. Theory 47(1),
386–393 (2001)
8. Kim, J.-L., Lee, Y.: Euclidean and Hermitian self-dual MDS codes over large finite fields. J. Comb.
Theory Ser. A 105, 79–95 (2004)
9. Kim, J.-L., Lee, Y.: An efficient construction of self-dual codes. Bull. Korean Math. Soc. 52(3),
915–923 (2015)
10. Kim, J.-L., Lee, Y.: Construction of MDS self-dual codes over Galois rings. Des. Codes Cryptogr.
45(2), 247–258 (2007)
11. Kim, J.-L., Ohk, D.: DNA codes over two noncommutative rings of order four. J. Appl. Math. Com-
put. (2021) https://​doi.​org/​10.​1007/​s12190-​021-​01598-7, arXiv:​2102.​06981
12. Pless, V.: Introduction to the Theory of Error-Correcting Codes. John Wiley & Sons Inc, New York
(1998)

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

13

You might also like