# The covering radius of group codes

Minjia Shi, Lu Wang, Mathieu Dutour Sikirić, Patrick Solé

► To cite this version:

Minjia Shi, Lu Wang, Mathieu Dutour Sikirić, Patrick Solé. The covering radius of group codes. IEEE Transactions on Information Theory, 2026, 10.1109/TIT.2026.3665880. hal-05511358

HAL Id: hal-05511358

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

Submitted on 15 Feb 2026

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 CC BY 4.0 - Attribution - International License
# The covering radius of group codes

Minjia Shi, Member, IEEE, Lu Wang, Mathieu Dutour Sikirić, and Patrick Solé

**Abstract**—Group codes form an important class of spherical codes, consisting of a single orbit under a subgroup of the orthogonal group. They have been studied by (Mittelholzer-Lahtonen, 1996) in the case of Coxeter groups for their packing radius. We study them here for the same groups, with respect to their covering radius. An exact algorithm to determine their covering radii is derived, based on geometric ideas, and applied to tabulate their values in dimensions up to 8. The values of the covering radii are compared to the sphere covering bound, and to the bounds in (Fazekas-Levenshtein, 1995) and (Boyvalenkov-Stoyanova, 2021) on the covering radius of spherical designs with given strength. For many sizes of codes, our codes are reasonably sparse sphere coverings, and the only known in these dimensions.

**Index Terms**—Spherical codes, spherical designs, group codes, Coxeter groups, covering radii.

## I. INTRODUCTION

A spherical code $\mathcal{X} = \{x_1, x_2, \dots, x_M\}$, is any finite set of points on the unit sphere $S(n)$ of $\mathbb{R}^n$ [9]. The covering radius $R$ of $\mathcal{X}$ is the supremum over the set of distances from points on the sphere to the code. Concretely,

$$R = \sup\{d(\mathbf{x}, \mathcal{X}) \mid \mathbf{x} \in S(n)\},$$

where $d(\mathbf{x}, \mathcal{X}) = \min\{d(\mathbf{x}, \mathbf{y}) \mid \mathbf{y} \in \mathcal{X}\}$ and $d(\mathbf{x}, \mathbf{y}) = \|\mathbf{x} - \mathbf{y}\|$ denotes the Euclidean distance. The covering radius is an important parameter in source coding with $\mathcal{X}$, since it measures the largest possible distortion. For a given size $M$, the sphere-covering bound provides a natural lower bound on $R$, derived from comparing the area of the unit sphere to the total area of spherical caps centered at the $x_i$'s. The source code designer strives to minimize $R$ in order to reduce the distortion [4]. The

This research (M. Shi) is supported by National Natural Science Foundation of China (12471490).

Minjia Shi is with the Key Laboratory of Intelligent Computing Signal Processing, Ministry of Education, School of Mathematical Sciences, Anhui University, Hefei 230601, China (email: smjwcl.good@163.com).

Lu Wang is with the Key Laboratory of Intelligent Computing Signal Processing, Ministry of Education, School of Mathematical Sciences, Anhui University, Hefei 230601, China (email: wanglu5666@163.com).

Mathieu Dutour Sikirić is with MSM Programming Ltd., Zagreb, Croatia (email: mathieu.dutour@gmail.com).

Patrick Solé is with I2M (Aix Marseille Univ, CNRS), Marseilles, France (email: sole@enst.fr).

best sphere coverings minimizing $R$ for $M=4, \dots, 130$ and $n=3$ are recorded in [12]. The covering radii of Butson Hadamard codes and attached spherical codes were studied in [17]. In this paper, we study group codes of size $M$ in dimension $n$, aiming to extend the sphere-covering tables of [12] for $4 \le n \le 6$ and various $M$'s. Group codes were optimized for their packing properties in [15]. We consider them here for their covering properties and proceed with the definition. Let $\mathcal{G} = \text{Symm}(\mathcal{X})$ be the symmetry group of the spherical code $\mathcal{X}$, and let $\mathbf{x}$ be an arbitrary fixed codeword in $\mathcal{X}$, the orbit of $\mathbf{x}$ under the action of $\mathcal{G}$ is defined as

$$\mathbf{x}\mathcal{G} = \{\mathbf{x}T : T \in \mathcal{G}\},$$

which is of course a subset of $\mathcal{X}$. As a special class of spherical codes, codes consisting of one single orbit are called group codes. They were introduced by Slepian [21], and studied in many further works [9], [14], [15].

Spherical designs are special kinds of spherical codes, of interest in approximation of functions and algebraic combinatorics. A spherical code $\mathcal{X}$ is a design of strength $t$ if every complex polynomial of degree at most $t$ has the same average over $\mathcal{X}$, and over the unit sphere [7]. Spherical designs with small covering radius were constructed in [23]. Upper bounds on the covering radii of spherical $t$-designs, expressed as functions of both the parameter $t$ and the ambient space dimension $n$, have been established in [10], [22]. Lower bounds can be found in [2]. In the present paper, we study the covering radius of group codes, in particular when the group acting is a Coxeter group [5], [11]. Based on the strength of the spherical design, and the structure of the Coxeter group, we derive upper bounds on the covering radius of a group code generated by an irreducible reflection group. Using the program in Matlab [25], for a fixed $n$ and a fixed size $M$, we compute the value of the sphere-covering bound, based on the formulas for the area of the sphere and the cap in [9]. A lower bound on the covering radius $R$ of a group code generated by $B_n$ follows directly from its structure. According to [2], a lower bound for covering radius can be deduced for some special group codes which are antipodal 3-designs and we compare it with the classical sphere-covering bound. If a code is low dimensional, its covering radius can be computed exactly by geometric methods based on Delaunay diagrams [16]. Leveraging our derived
bounds, we compile covering radii tables for specific codes and use these bounds to check our programming results. From all this data, we believe that our Coxeter group codes are reasonably sparse coverings of the sphere. For dimensions 4, 5, 6, they are, as far as we know, the only ones with explicit covering radius.

The material is organized as follows. Section II recalls the geometric framework needed for the exact computation algorithm mentioned before. Section III and Section IV provide some basic definitions of group codes and irreducible reflection groups. Section V gives upper bounds on covering radii of group codes generated by irreducible reflection groups, by using the theory of spherical designs. Section VI presents certain lower bounds for covering radii by using the sphere-covering bound, spherical designs, and the structural properties of some specific group codes. Several tables for covering radii and minimum distances of group codes are given in Section VII which satisfy the bounds in Section V and Section VI. Section VIII concludes the paper and suggests some open problems.

## II. POLYTOPE

A polytope is defined as the convex hull of a finite number of points $v_1, v_2, \dots, v_M$:

$$P = \left\{ v \in \mathbb{R}^n \mid v = \sum_{i=1}^{M} \lambda_i v_i, \lambda_i \ge 0 \text{ and } \sum_{i=1}^{M} \lambda_i = 1 \right\}.$$

It can be also expressed as the following set of solutions

$$P = \{x \in \mathbb{R}^n | f^i(x) \ge b_i \text{ with } f^i \text{ linear for } i = 1, \dots, M'\}$$

under the condition that $P$ is bounded.

A vertex of a polytope $P$ is a point $v \in P$ that cannot be expressed as a strict convex combination $v = \lambda v_1 + (1-\lambda)v_2$ for any distinct points $v_1, v_2 \in P$ and $0 < \lambda < 1$.

A facet of a polytope is an inequality $f(x) - b \ge 0$ which cannot be expressed as

$$f(x) - b = \lambda(f^i(x) - b_i) + (1-\lambda)(f^j(x) - b_j),$$

where $f^i(x) - b_i \ge 0$ and $f^j(x) - b_j \ge 0$ are distinct inequalities from the polytope representation.

The orbit of facets is defined as the orbit of facets under the induced action of the group defining the group code.

A convex cone is a subset of a real vector space that is closed under linear combinations with positive

coefficients. A face of a convex cone $C$ is a subset $F$ of $C$ such that $F$ is also a convex cone, and for any pair of vectors $x, y$ in $C$ with $x + y$ in $F$, both $x$ and $y$ must be in $F$. A ray is the set of nonnegative multiples of a nonzero vector, and it is called an extreme ray if it is a face of the convex cone. A polyhedral cone is a cone defined by a finite number of linear inequalities $f_i(x) \ge 0$, where each $f_i$ is a linear functional. The vertices of the polyhedral cone correspond to extreme ray.

Define the inner product by $\langle x, y \rangle := x^T y$. Then we can reduce a polytope to a polyhedral cone by the following process:

(1) If $v \in \mathbb{R}^n$ is a vertex, then map it to $v' = (1, v) \in \mathbb{R}^{n+1}$.

(2) If $f(x) = \langle a, x \rangle \ge b$, then map it to $a' = (-b, a)$.

(3) The inequality $f(x) \ge b$ is rewritten as $\langle v', a' \rangle \ge 0$.

The duality of description for polytopes is the equivalence between the two problems:

(1) Given the vertices of $P$, find the facets.

(2) Given the facets of $P$, find the vertices.

These two problems can be expressed identically as: Find extreme rays of the cone $\langle a_i, x \rangle \ge 0$ with $i = 1, \dots, M$. The algorithms we apply in Section VII are based on this equivalent representation. For a general reference on linear programming we refer to [3].

## III. FINITE REFLECTION GROUP

A finite reflection group $\mathcal{G}$ is a finite group generated by reflections in the $n$-dimensional Euclidean space [11]. A reflection $S_r$ is an orthogonal transformation of the form

$$S_r : x \mapsto x - 2r \langle r, x \rangle,$$

where $r$ is a fixed vector in $S(n)$ and $\langle r, x \rangle$ denotes the usual inner product. Such a normal vector $r$ and its negation $-r$ are called roots for $\mathcal{G}$. The set $\Delta$ of all roots of $\mathcal{G}$ is called the root system of the finite reflection group. A finite reflection group $\mathcal{G}$ is generated by all the reflections $S_r$ where $r \in \Delta$. As $r$ and $-r$ determine the same reflection, we choose $t \in \mathbb{R}^n$ such that $t \cdot r \ne 0$ to divide the root system into two parts in the manner $\Delta_t^+ = \{r \in \Delta : t \cdot r > 0\}$ and $\Delta_t^- = \{r \in \Delta : t \cdot r < 0\}$. A root base ($t$-base) $\Pi$ for $\Delta$ is a minimal subset of $\Delta_t^+$ such that each positive root of $\Delta_t^+$ is a linear combination of elements of $\Pi$ with all coefficients nonnegative. The elements of $\Pi$ are called
simple roots, and the corresponding reflections are called simple reflections which form the set of the generators for $\mathcal{G}$. The fundamental domain for $\mathcal{G}$ associated with the root base $\Pi$ is given by

$$F_{\Pi} = \{x \in V_{\Delta} : x \cdot r > 0, \forall r \in \Pi\},$$

where $V_{\Delta}$ is the linear space spanned by the root system $\Delta$. The closure of the fundamental domain can be given by using the dual basis $\{\lambda_1, \dots, \lambda_n\}$ of the basis $\{r_1, \dots, r_n\}$, that is

$$\overline{F}_{\Pi} = \{x \in V_{\Delta} : x = \sum_{i=1}^{n} x_i \lambda_i, x_i \ge 0, \forall i\},$$

where $\lambda_i \cdot r_j = \delta_{ij}$.

## IV. IRREDUCIBLE REFLECTION GROUPS

In this section we show how, in the study of the covering radius of group codes of Coxeter groups, we can restrict ourselves to irreducible groups. First, we recall some well-known facts on the presentation of Coxeter groups [13].

### A. Coxeter graphs

The Coxeter graph of a finite reflection group is a weighted graph $\Gamma$ which is a very useful tool to describe its presentation by generators and relations. In the notation of the previous section, we have $(S_r S_{r'})^{m(r,r')} = 1$, where $r, r' \in \Pi$ and $m(r, r')$ denotes the order of $S_r S_{r'}$. Besides, the order $m(r, r')$ is determined by $r \cdot r' / \|r\| \cdot \|r'\| = \cos(\pi/m(r, r'))$. Moreover, the presentation of $\mathcal{G}$ is uniquely determined by the Coxeter graph defined as follows: the vertices of $\Gamma$ correspond to simple roots in $\Pi$, and if a pair of vertices $r$ and $r'$ are not joined by an edge, then $m(r, r') = 2$. When $m(r, r') \ge 3$, $r$ and $r'$ are joined by an edge and label 3 is usually omitted. According to [15], if $x \in \overline{F}_{\Pi}$, the stabilizer which is denoted by $\text{stab}(x)$ is generated by those simple reflections $S_r$ with $r \in \Pi$ such that $S_r x = x$.

The Coxeter graph $\Gamma_p$ corresponding to $\text{stab}(x)$ is a subgraph of the Coxeter graph of $\mathcal{G}$ and the vertex set is given by $\Pi_p = \{r \in \Pi : S_r x = x\}$. Suppose that the Coxeter graph $\Gamma_p$ decomposes into irreducible Coxeter graphs $\Gamma_i$ ($i = 1, \dots, l$), then the size of the group code $C$ is given by

$$|C| = \frac{|\mathcal{G}|}{|\text{stab}(x)|} = \frac{|\mathcal{G}|}{\prod_{i=1}^{l} |\mathcal{G}_{\Gamma_i}|}.$$

On the one hand, a group is said to be irreducible on vector space $V$ if it contains no invariant subspace except the null space and itself. On the other hand, an irreducible finite reflection group corresponds to a connected Coxeter graph and all irreducible finite reflection groups were classified in [11]. Let $e_i$ ($i = 1, \dots, n$) be the standard basis vectors of $\mathbb{R}^n$. In Table I (cf. [15, Table I, Table II]), root bases of the irreducible reflection groups we considered are listed. The matrix representations for the generators of these groups can be derived by the definition of $S_r$.

Let $W$ be an irreducible reflection group acting on an $n$-dimensional Euclidean space. Let $c$ denote a Coxeter element and $h$ the Coxeter number of $W$, with definitions as in [13]. The eigenvalues of $c$ are $e^{2\pi im_j/h}$ for $j = 1, 2, \dots, n$, where each $m_j$ is an integer satisfying $1 \le m_j \le h-1$. The exponents of $W$ are the integers $m_1, m_2, \dots, m_n$, usually arranged in increasing order. For all irreducible reflection groups, these exponents are tabulated in [5, Table 2].

### B. Reduction to irreducible groups

We define the scalar of a spherical code $A = xM_m$ to be

$$\text{scal}(A) = \min_{\mathbf{y} \in S(m)} \max_{g \in M_m} \langle \mathbf{x}g / \|\mathbf{x}\|, \mathbf{y} \rangle,$$

with the convention that $\text{scal}(A) = 0$ if $x = 0$. The covering radius is then given by $R(A) = \sqrt{2-2\text{scal}(A)}$ when $\|x\| = 1$. For all finite matrix groups, we have the following result.

**Theorem 1:** Let $C$ be a code generated by the group $M_m \times N_n$. The initial vector $x_0 = (x_1, \dots, x_m|y_1, \dots, y_n)$ satisfies $\|x_0\| = 1$. Assume that $M_m$ and $N_n$ are finite non-trivial irreducible matrix groups of ranks $m$ and $n$, respectively. Define $A = xM_m$ and $B = yN_n$. Then the scalar of the code $C$ is given by

$$\text{scal}(C) = \min(\|x\| \text{scal}(A), \|y\| \text{scal}(B)).$$

**Proof.** Let $(x^1, 0)$ and $(0, y^1)$ be unit vectors such that $x^1$ is at maximum distance from $xM_m$ and $y^1$ is at maximum distance from $yN_n$. We claim that the family of unit vectors

$$v(\lambda) = (\lambda x^1, \sqrt{1 - \lambda^2 y^1}), \lambda \in [0, 1],$$

contains a vector that achieves the maximum distance from $C$. If $(x_0^1, y_0^1) \in S(m+n)$ is at maximum distance from $C$, then obviously $x_0^1$ and $y_0^1$ are at maximum distances from $xM_m$ and $yN_n$ among all vectors of
<table><caption>TABLE I: Root bases of irreducible reflection groups</caption><thead><tr><th>Group</th><th>Graph</th><th>|G|</th><th>Root base Π</th></tr></thead><tbody><tr><td>A<sub>n</sub></td><td>A<sub>n</sub></td><td>(n + 1)!</td><td>r<sub>i</sub> = e<sub>i+1</sub> - e<sub>i</sub>, 1 ≤ i ≤ n.</td></tr><tr><td>B<sub>n</sub></td><td>B<sub>n</sub></td><td>2<sup>n</sup> · n!</td><td>r<sub>1</sub> = e<sub>1</sub>, r<sub>i</sub> = e<sub>i</sub> - e<sub>i-1</sub>, 2 ≤ i ≤ n.</td></tr><tr><td>D<sub>n</sub></td><td>D<sub>n</sub></td><td>2<sup>n-1</sup> · n!</td><td>r<sub>1</sub> = e<sub>1</sub> + e<sub>2</sub>, r<sub>i</sub> = e<sub>i</sub> - e<sub>i-1</sub>, 2 ≤ i ≤ n.</td></tr><tr><td>F<sub>4</sub></td><td>F<sub>4</sub></td><td>2<sup>7</sup> · 3<sup>2</sup></td><td>r<sub>1</sub> = -1/2 (Σ<sup>4</sup><sub>i=1</sub> e<sub>i</sub>), r<sub>2</sub> = e<sub>1</sub>, r<sub>j</sub> = e<sub>j-1</sub> - e<sub>j-2</sub>, 3 ≤ j ≤ 4.</td></tr><tr><td>I<sub>4</sub></td><td>I<sub>4</sub></td><td>2<sup>6</sup> · 3<sup>2</sup> · 5<sup>2</sup></td><td>r<sub>1</sub> = β(2α + 1, 1, -2α, 0), r<sub>2</sub> = β(-2α - 1, 1, 2α, 0),<br>r<sub>3</sub> = β(2α, -2α - 1, 1, 0), r<sub>4</sub> = β(-2α, 0, -2α - 1, 1)<br>where α = cos(π/5), β = cos(2π/5).</td></tr><tr><td>E<sub>6</sub></td><td>E<sub>6</sub></td><td>2<sup>7</sup> · 3<sup>4</sup> · 5</td><td>r<sub>1</sub> = 1/2 (Σ<sup>3</sup><sub>i=1</sub> e<sub>i</sub> - Σ<sup>8</sup><sub>j=4</sub> e<sub>j</sub>), r<sub>k</sub> = e<sub>k</sub> - e<sub>k-1</sub>, 2 ≤ k ≤ 6.</td></tr><tr><td>E<sub>7</sub></td><td>E<sub>7</sub></td><td>2<sup>10</sup> · 3<sup>4</sup> · 5 · 7</td><td>r<sub>1</sub> = 1/2 (Σ<sup>3</sup><sub>i=1</sub> e<sub>i</sub> - Σ<sup>8</sup><sub>j=4</sub> e<sub>j</sub>), r<sub>k</sub> = e<sub>k</sub> - e<sub>k-1</sub>, 2 ≤ k ≤ 7.</td></tr><tr><td>E<sub>8</sub></td><td>E<sub>8</sub></td><td>2<sup>14</sup> · 3<sup>5</sup> · 5<sup>2</sup> · 7</td><td>r<sub>1</sub> = 1/2 (Σ<sup>3</sup><sub>i=1</sub> e<sub>i</sub> - Σ<sup>8</sup><sub>j=4</sub> e<sub>j</sub>), r<sub>k</sub> = e<sub>k</sub> - e<sub>k-1</sub>, 2 ≤ k ≤ 8.</td></tr></tbody></table>

norms $||x_0^1||$ and $||y_0^1||$, respectively. On the other hand, $x_0^1$ (respectively $y_0^1$) can be replaced by any vector of the same norm and at the same maximum distance from $xM_m$ (respectively $yN_n$), producing all other vectors at the maximum distance from C.

Without loss of generality, assume that $\langle x, x^1 \rangle = ||x||_{\text{scal}}(A)$ and $\langle y, y^1 \rangle = ||y||_{\text{scal}}(B)$. The scalar of C is obtained by minimizing the inner product with $x_0$ over the unit sphere:

$$ 
\begin{aligned}
\mathrm{scal}(C) &= \min_{\lambda \in [0,1]} \langle (x, y), (\lambda x^1, \sqrt{1-\lambda^2} y^1) \rangle \\
&= \min_{\lambda \in [0,1]} g(\lambda),
\end{aligned}
$$

where $g(\lambda) = \lambda ||x||_{\text{scal}}(A) + \sqrt{1-\lambda^2} ||y||_{\text{scal}}(B)$. Since $M_m$ and $N_n$ are finite non-trivial irreducible matrix groups, their orbits are spherical 2-designs. Then [10, Table 1, bound 2] implies $||x||_{\text{scal}}(A) \ge 0$ and $||y||_{\text{scal}}(B) \ge 0$. Observe that

$$ g'(\lambda) = ||x||_{\text{scal}}(A) - \frac{||y||_{\text{scal}}(B)\lambda}{\sqrt{1 - \lambda^2}}. $$

Denote

$$ a = ||x||_{\text{scal}}(A), \quad b = ||y||_{\text{scal}}(B). $$

If $a = 0$ or $b = 0$, then $g$ is monotonic, so the minimum is attained at an endpoint. If $a > 0$ and $b > 0$, setting $g'(\lambda) = 0$ yields the unique critical point

$$ \lambda_0 = \frac{a}{\sqrt{a^2 + b^2}} \in (0, 1). $$

Hence $g$ increases on $[0, \lambda_0]$ and decreases on $[\lambda_0, 1]$. Consequently, the minimum of $g$ on $[0, 1]$ is attained at one of the endpoints. Evaluating at the endpoints:

$$ g(0) = ||y||_{\text{scal}}(B), \quad g(1) = ||x||_{\text{scal}}(A). $$

$$ \text{Hence } \mathrm{scal}(C) = \min(\|x\|_{\text{scal}}(A), \|y\|_{\text{scal}}(B)). \quad \blacksquare $$

In the subsequent sections, our focus lies exclusively in spherical codes generated by irreducible reflection groups.

## V. SPHERICAL DESIGNS

Define $\text{Harm}(\mathbb{R}^n) := \{f \in \mathbb{R}[x_1, x_2, \dots, x_n] | \Delta f = 0\}$, where $\Delta := \sum_{i=1}^n \frac{\partial^2}{\partial x_i^2}$ is the Laplacian operator. Let $\text{Hom}_l(\mathbb{R}^n)$ be the subspace of $\mathbb{R}[x_1, x_2, \dots, x_n]$ spanned by all the homogeneous polynomials of degree $l$. Define $\text{Harm}_l(\mathbb{R}^n) := \text{Harm}(\mathbb{R}^n) \cap \text{Hom}_l(\mathbb{R}^n)$.

**Definition 1:** Let $\mathcal{X}$ be a non-empty finite subset of $S(n)$. $\mathcal{X}$ is a spherical t-design if $\sum_{u \in \mathcal{X}} \varphi(u) = 0$ for any $\varphi \in \text{Harm}_l(\mathbb{R}^n)$ with $1 \le l \le t$.

In [1], some special results about spherical designs are given. For reflection groups which are irreducible on $\mathbb{R}^n$, we have

**Theorem 2:** [1] Let $W$ be an irreducible real reflection group. Let $1 = m_1 \le m_2 \le m_3 \le \dots \le m_n$ be the exponents of $W$. Then the following assertions hold.

(1) For any $u \in S(n)$, $uW$ is a spherical $m_2$-design.

(2) For some $u \in S(n)$, $uW$ is a spherical $m_3$-design.

Based on the connection between spherical designs and covering radii established in [10], we can derive upper bounds on $R$ for irreducible reflection group codes. All covering radii are considered in the invariant subspaces of the groups.
**Theorem 3:** For any initial vector $\boldsymbol{x} \in S(n)$, codes generated by irreducible reflection groups have the following upper bounds:

<table><caption>**TABLE II:** Upper bounds on the covering radii for irreducible reflection groups</caption><thead><tr><th>Group W</th><th>A<sub>n</sub></th><th>I<sub>3</sub></th><th>B<sub>n</sub></th><th>D<sub>n</sub></th></tr></thead><tbody><tr><td>Upper bound on R</td><td>√(2 - 2/n)</td><td>√(2(1 - √15/5))</td><td>√(2 - 2/√n)</td><td>√(2 - 2/√n)</td></tr></tbody></table>

<table><thead><tr><th>Group W</th><th>F<sub>4</sub></th><th>I<sub>4</sub></th><th>E<sub>6</sub></th></tr></thead><tbody><tr><td>Upper bound on R</td><td>√(2 - √2)</td><td>√(2(1 - cos(π/7)))</td><td>√(2(1 - √(11+1)/10))</td></tr></tbody></table>

<table><thead><tr><th>Group W</th><th>E<sub>7</sub></th><th>E<sub>8</sub></th></tr></thead><tbody><tr><td>Upper bound on R</td><td>√(2(1 - √30/10))</td><td>√(2(1 - √(3+√15)/20))</td></tr></tbody></table>

**Proof.** According to [5, Table 2], a group code generated by $\mathcal{I}_4$ is a spherical 11-design in $\mathbb{R}^4$. As noted in [10], the Euclidean distance between points on the sphere is related to the inner product through the transformation $t(d) = 1 - d^2/2$. Let $t_i^{0,0}$ be the largest zero of the polynomial $Q_i(t) = \frac{P_i^{\alpha, \beta}(t)}{P_i^{\alpha, \beta}(1)}$, where $\alpha = \beta = \frac{n-3}{2}$ and $P_i^{\alpha, \beta}(t)$ is given by

$$P_i^{\alpha, \beta}(t) = \frac{\Gamma(\alpha + i + 1)}{i! \Gamma(\alpha + \beta + i + 1)} \times \sum_{m=0}^{i} \binom{i}{m} \frac{\Gamma(\alpha + \beta + i + m + 1)}{\Gamma(\alpha + m + 1)} \left(\frac{t-1}{2}\right)^m.$$

then we have $t_6^{0,0}(S(4)) = p_6^{\frac{1}{2}, \frac{1}{2}} = \cos(\frac{\pi}{7})$, where $p_i^{\alpha, \beta}$ is the largest zero of the Jacobi polynomial $P_i^{\alpha, \beta}(t)$. Therefore, an upper bound on the covering radius of the code generated by $\mathcal{I}_4$ is $\sqrt{2(1 - \cos(\frac{\pi}{7}))}$. The remaining upper bounds on $R$ for other irreducible reflection groups follow directly from [5, Table 2] and [10, Table 1]. ■

## VI. LOWER BOUNDS

The sphere-covering bound on the sphere says that

$$M |\mathrm{Cap}(n, \theta)| \geq |S(n)|,$$

where $M$ is the size of the code, $\theta$ is the covering angle, $\mathrm{Cap}(n, \theta)$ is a spherical cap of radius $R = 2 \sin \frac{\theta}{2}$ on the unit sphere $S(n)$, and $|S|$ is the area of a surface $S$. Since $\mathrm{Cap}(\boldsymbol{x}, \theta) = \{\boldsymbol{y} \in S(n) : \langle \boldsymbol{x}, \boldsymbol{y} \rangle \geq \cos \theta\}$ and $\theta$ is the covering angle, the area of the cap is $|\mathrm{Cap}(n, \theta)|$

which does not depend on $\boldsymbol{x}$. By using the formula about the area of the sphere and the cap in [9], we have

$$\frac{|\mathrm{Cap}(n, \theta)|}{|S(n)|} = \frac{k_{n-1}}{k_n} T_{n-2}(\theta),$$

where $k_n$ is the area of the sphere given by

$$k_n = \begin{cases} \frac{(2\pi)^{\frac{n}{2}}}{(n-2)!!}, & n \text{ is even,} \\ 2^{\frac{(2\pi)^{\frac{n-1}{2}}}{(n-2)!!}}, & n \text{ is odd,} \end{cases}$$

and $T_n(\theta)$ is a function defined by $T_n(\theta) = \int_0^\theta (\sin \beta)^n d\beta, 0 \le \theta \le \pi$.

And the bound is transformed to $\int_0^\theta (\sin \alpha)^{n-2} d\alpha \ge \frac{1}{M}$ after simplification.

For fixed $n$ and $M$, these lower bounds on covering radii can be computed numerically from the sphere-covering bound in Matlab [25]. These values are rounded down to four decimal places and compared with the radii obtained in Section VII.

For any group code generated by $\mathcal{B}_n$, all code-words are obtained by permuting coordinates and changing signs of the initial vector. Let $\boldsymbol{x} = [x_1, x_2, x_3, \dots, x_i, \dots, x_n]$ be the initial vector, where $|x_1| \ge |x_2| \ge \dots \ge |x_i| > 0$ and $x_{i+1} = x_{i+2} = \dots = x_n = 0$. Based on these hypotheses, we derive the following lower bound.

**Theorem 4:** With the preceding hypotheses on the initial vector, the covering radius of the code $\mathcal{C}$ generated by $\mathcal{B}_n$ is bounded below by $\sqrt{2 - 2\sqrt{\frac{i}{n}}}$.

**Proof.** Let $\boldsymbol{u} \in S(n)$ be an arbitrary vector such that $|u_1| = |u_2| = \dots = |u_n| = \frac{1}{\sqrt{n}}$. By choosing the signs of the $u_t$'s to be the same as that of the $x_t$'s for $t \le i$, we can write

$$\begin{aligned} R &\ge d(\boldsymbol{u}, \boldsymbol{x}) \\ &= \sqrt{\sum_{t=1}^{i} \left(\frac{\sqrt{n}}{n} - |x_t|\right)^2 + \sum_{t=i+1}^{n} \left(\frac{\sqrt{n}}{n}\right)^2} \\ &= \sqrt{2 - 2 \frac{\sqrt{n}}{n} \sum_{t=1}^{i} |x_t|}. \end{aligned}$$

By the Cauchy-Schwarz inequality, $\sum_{t=1}^{i} |x_t| \le \sqrt{i}$.

$$\text{Therefore, } R \ge \sqrt{2 - 2\sqrt{\frac{i}{n}}}. \quad \blacksquare$$

**Remark 1:** In some cases, this lower bound can be tighter than the sphere-covering bound. In Table VI,
<table><caption>TABLE III: Lower bounds on $R$ for codes generated by $\mathcal{B}_n$ of size $M$</caption><thead><tr><th>n</th><th>4</th><th>4</th><th>5</th><th>5</th><th>6</th><th>8</th></tr></thead><tbody><tr><td>M</td><td>16</td><td>24</td><td>32</td><td>40</td><td>64</td><td>128</td></tr><tr><td>lower bound in Cor.1</td><td>0.7654</td><td>0.5176</td><td>0.6325</td><td>0.4595</td><td>0.3382</td><td>0</td></tr><tr><td>sphere-covering bound</td><td>0.6732</td><td>0.5863</td><td>0.6507</td><td>0.6142</td><td>0.6346</td><td>0.6810</td></tr></tbody></table>

when the initial vector is $[0, 0, 0, 1]$, the covering radius of this code meets the lower bound in Theorem 4.

Another lower bound on $R$ for a group code generated by $\mathcal{B}_n$ follows directly from antipodal 3-design and [2, Theorem 5.6].

**Corollary 1:** If $M \le 2n^2$, then a lower bound on the covering radius of any code generated by $\mathcal{B}_n$ is $\sqrt{2(1 - \frac{1}{n}\sqrt{\frac{M}{2}})}$.

**Remark 2:** Lower bounds on the covering radii of codes generated by $\mathcal{B}_n$ ($n \ge 4$) with $2n < M \le 2n^2$ are presented in Table III. The case $M = 2n$ is omitted since the covering radius for such code is equal to $\sqrt{2 - 2/\sqrt{n}}$, as it is a tight 3-design and can meet the upper bound in Theorem 3. Furthermore, the bounds in Table III are rounded down to four decimal places.

## VII. ALGORITHM AND TABLES

### A. Algorithm

A polytope is defined by its facet inequalities which can be viewed as the minimal set of linear inequalities defining it. Define the covering distance for a code $C$ as a function $\phi(\mathbf{y}) = \langle \mathbf{y}, \mathbf{x}_i \rangle_{max}$ where $\mathbf{x}_i \in C$. Thus the covering radius can be obtained by finding the extreme rays of the code defined by the conditions $(1, v)$ for $v$ in the code $C$. Considering polyhedral cones given by linear inequalities, we see that this computation is a dual description computation.

The dual description problem in [3] is computationally challenging, with no general solution currently known. However, the polytopes considered here are highly symmetric. This fact can be exploited to provide computational savings. Our approach employs the adjacency decomposition method [6], which operates as follows. In short, we take one facet obtained by linear programming and compute the ones adjacent to it. The facets adjacent are then tested for equivalence with the ones known. The output is thus a list of orbit representatives of the facets. This method was extended in a series of papers [8], [18], [19] and the reference implementation, on

which the new developments are made is part of the polyhedral source code available at [20]. It is a C++ [24] code which can be run in serial or parallel and use advanced programming in order to achieve the best possible speed on a laptop or a supercomputer. Many aspects are important: the polyhedral code, the group theoretic algorithms, the computation of automorphism group of polytopes and so on.

Putting it all together, our computation proceeds in the following way:

(1) Compute codewords by the action of $\mathcal{G}$ on the initial vector $\mathbf{x}$.

(2) Reduce the polytope formed by the codewords to polyhedral cones by the process of Section II.

(3) Compute the orbit representatives of extreme rays of the cone.

(4) For each orbit representative of extreme ray, compute the corresponding maximum angle between a codeword and a vector on the sphere.

(5) Take the maximum $\theta$ of these angles over all orbit representatives.

(6) Output the covering radius $R = 2 \sin \frac{\theta}{2}$.

Even for non rational polytopes the computations were done in exact arithmetic. The computational limits of applicability of the algorithms are a little fuzzy. For the case considered, the runtime was quite low with less than 10 minutes on a laptop for all cases and a few seconds for most. An extension to dimension higher than 7 can be considered. However, further optimization is required to achieve the target speed, such as implementing group-aware input structures and exploiting the unique properties of Coxeter groups.

### B. Tables

For fixed length $n$ and size $M$, this section computes covering radii for the restricted initial-point problem introduced in [15]. Let $d_{min}$ denote the minimum Euclidean distance of the group code $C$. By [15, Corollary 2], both the optimal initial point $\mathbf{x}_0$ and $d_{min}$ are determined by the root base and a chosen set of passive roots $\Pi_p$. Covering radii for irreducible reflection
<table><caption>TABLE IV: Group codes generated from $\mathcal{A}_3$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>1</sub>, r<sub>2</sub></td><td>4</td><td>1.1547</td><td>1.0000</td><td><sup>8</sup>&frasl;<sub>3</sub></td><td>-<sup>√3</sup>&frasl;<sub>6</sub>[1, 1, 1, -3]*</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub></td><td>6</td><td>0.9194</td><td>0.8164</td><td>2</td><td>-<sup>1</sup>&frasl;<sub>2</sub>[1, 1, -1, -1]</td></tr><tr><td>r<sub>1</sub></td><td>12</td><td>0.9775</td><td>0.5773</td><td><sup>8</sup>&frasl;<sub>11</sub></td><td>-<sup>√11</sup>&frasl;<sub>22</sub>[3, 3, -1, -5]</td></tr><tr><td>r<sub>2</sub></td><td>12</td><td>0.7654</td><td>0.5773</td><td>1</td><td><sup>√2</sup>&frasl;<sub>2</sub>[-1, 0, 0, 1]</td></tr><tr><td>Ø</td><td>24</td><td>0.6714</td><td>0.4082</td><td><sup>2</sup>&frasl;<sub>5</sub></td><td>-<sup>√5</sup>&frasl;<sub>10</sub>[3, 1, -1, -3]</td></tr></tbody></table>

<table><caption>TABLE V: Group codes generated from $\mathcal{A}_4$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub></td><td>5</td><td>1.2247</td><td>1.0081</td><td><sup>5</sup>&frasl;<sub>2</sub></td><td><sup>√5</sup>&frasl;<sub>10</sub>[-1, -1, -1, -1, 4]*</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub></td><td>10</td><td>1.0879</td><td>0.7911</td><td><sup>5</sup>&frasl;<sub>3</sub></td><td><sup>√30</sup>&frasl;<sub>30</sub>[-2, -2, -2, 3, 3]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub></td><td>20</td><td>1.1180</td><td>0.6238</td><td><sup>5</sup>&frasl;<sub>8</sub></td><td><sup>√5</sup>&frasl;<sub>20</sub>[-3, -3, -3, 2, 7]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub></td><td>20</td><td>0.8420</td><td>0.6238</td><td>1</td><td><sup>√2</sup>&frasl;<sub>2</sub>[-1, 0, 0, 0, 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub></td><td>30</td><td>0.9649</td><td>0.5436</td><td><sup>5</sup>&frasl;<sub>7</sub></td><td><sup>√70</sup>&frasl;<sub>70</sub>[-4, -4, 1, 1, 6]</td></tr><tr><td>r<sub>1</sub></td><td>60</td><td>0.9854</td><td>0.4302</td><td><sup>5</sup>&frasl;<sub>17</sub></td><td><sup>√170</sup>&frasl;<sub>170</sub>[-6, -6, -1, 4, 9]</td></tr><tr><td>r<sub>3</sub></td><td>60</td><td>0.7920</td><td>0.4302</td><td><sup>5</sup>&frasl;<sub>13</sub></td><td><sup>√130</sup>&frasl;<sub>130</sub>[-8, -3, 2, 2, 7]</td></tr><tr><td>Ø</td><td>120</td><td>0.7654</td><td>0.3409</td><td><sup>1</sup>&frasl;<sub>5</sub></td><td><sup>√10</sup>&frasl;<sub>10</sub>[-2, -1, 0, 1, 2]</td></tr></tbody></table>

<table><caption>TABLE VI: Group codes generated from $\mathcal{B}_4$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub></td><td>8</td><td>1.0000</td><td>0.8547</td><td>2</td><td>[0, 0, 0, 1]*</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub></td><td>16</td><td>1.0000</td><td>0.6732</td><td>1</td><td><sup>1</sup>&frasl;<sub>2</sub>[1, 1, 1, 1]*</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub></td><td>24</td><td>0.7654</td><td>0.5863</td><td>1</td><td><sup>√2</sup>&frasl;<sub>2</sub>[0, 0, 1, 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub>, r<sub>4</sub></td><td>32</td><td>0.9194</td><td>0.5319</td><td><sup>2</sup>&frasl;<sub>3</sub></td><td><sup>√3</sup>&frasl;<sub>3</sub>[0, 1, 1, 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub></td><td>48</td><td>0.8114</td><td>0.4638</td><td><sup>2</sup>&frasl;<sub>5</sub></td><td><sup>√5</sup>&frasl;<sub>5</sub>[0, 0, 1, 2]</td></tr><tr><td>r<sub>3</sub>, r<sub>4</sub></td><td>64</td><td>0.9365</td><td>0.4210</td><td><sup>10-6√2</sup>&frasl;<sub>7</sub></td><td><sup>1/2</sup>√<span style="text-decoration: overline;">10-6√2</span><sup>2</sup>[1, 1 + √2, 1 + √2, 1 + √2]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub></td><td>64</td><td>0.6123</td><td>0.4210</td><td><sup>6-2√2</sup>&frasl;<sub>7</sub></td><td><sup>1/2</sup>√<span style="text-decoration: overline;">6-2√2</span><sup>2</sup>[1, 1, 1, 1 + √2]</td></tr><tr><td>r<sub>2</sub>, r<sub>4</sub></td><td>96</td><td>0.8327</td><td>0.3673</td><td><sup>2-√2</sup>&frasl;<sub>2</sub></td><td><sup>1/2</sup>√<span style="text-decoration: overline;">2-√2</span><sup>2</sup>[1, 1, 1 + √2, 1 + √2]</td></tr><tr><td>r<sub>1</sub>, r<sub>4</sub></td><td>96</td><td>0.8165</td><td>0.3673</td><td><sup>2</sup>&frasl;<sub>9</sub></td><td><sup>1/3</sup>[0, 1, 2, 2]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub></td><td>96</td><td>0.6058</td><td>0.3673</td><td><sup>1</sup>&frasl;<sub>3</sub></td><td><sup>√6</sup>&frasl;<sub>6</sub>[0, 1, 1, 2]</td></tr><tr><td>r<sub>4</sub></td><td>192</td><td>0.8523</td><td>0.2912</td><td><sup>22-10√2</sup>&frasl;<sub>71</sub></td><td><sup>1/2</sup>√<span style="text-decoration: overline;">22-10√2</span><sup>2</sup>[1, 1 + √2, 1 + 2√2, 1 + 2√2]</td></tr><tr><td>r<sub>1</sub></td><td>192</td><td>0.6296</td><td>0.2912</td><td><sup>1</sup>&frasl;<sub>7</sub></td><td><sup>√14</sup>&frasl;<sub>14</sub>[0, 1, 2, 3]</td></tr><tr><td>r<sub>3</sub></td><td>192</td><td>0.7314</td><td>0.2912</td><td><sup>2-√2</sup>&frasl;<sub>4</sub></td><td><sup>√2-√2</sup>&frasl;<sub>4</sub>[1, 1 + √2, 1 + √2, 1 + 2√2]</td></tr><tr><td>r<sub>2</sub></td><td>192</td><td>0.6207</td><td>0.2912</td><td><sup>14-6√2</sup>&frasl;<sub>31</sub></td><td><sup>1/2</sup>√<span style="text-decoration: overline;">14-6√2</span><sup>2</sup>[1, 1, 1 + √2, 1 + 2√2]</td></tr><tr><td>Ø</td><td>384</td><td>0.7083</td><td>0.2309</td><td><sup>8-3√2</sup>&frasl;<sub>46</sub></td><td><sup>1/2</sup>√<span style="text-decoration: overline;">8-3√2</span><sup>2</sup>[1, 1 + √2, 1 + 2√2, 1 + 3√2]</td></tr></tbody></table>

group codes with such optimal initial vectors and for dimensions $n \le 8$ are presented in Tables IV–XVII. For those derived from the groups $\mathcal{A}_n$, $\mathcal{E}_6$, and $\mathcal{E}_7$, the covering radii are computed within their irreducible invariant subspaces; these values are listed in Tables IV, V, XVI, and XVII. Moreover, the covering radii of the codes marked with * attain the bound stated in Theorem 3. The sphere-covering bound is denoted by SCB in the following tables. All covering radii are rounded to four decimal places. Isomorphic codes are omitted, as they share identical parameters $M$, $d_{\min}$, and $R$.

VIII. CONCLUSION AND OPEN PROBLEMS

In this paper, we have investigated the covering radius of group codes generated by reflection groups in $\mathbb{R}^n$. Such codes exhibit distinctive geometric and combinatorial structures. By using the geometric framework in [20], we have computed the covering radii for irreducible reflection group codes in Euclidean spaces of dimension $n \ge 4$. Obtained results were compared to upper and lower bounds on covering radii of spherical codes that we derived from results found in the literature.
<table><caption>TABLE VII: Group codes generated from $B_5$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub></td><td>10</td><td>1.0515</td><td>0.8850</td><td>2</td><td>[0, 0, 0, 0, 1]*</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>32</td><td>1.0515</td><td>0.6507</td><td><sup>4</sup>&frasl;<sub>5</sub></td><td><sup>√5</sup>&frasl;<sub>5</sub> [1, 1, 1, 1, 1]*</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>5</sub></td><td>40</td><td>0.8574</td><td>0.6142</td><td>1</td><td><sup>√2</sup>&frasl;<sub>2</sub> [0, 0, 0, 1, 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub></td><td>80</td><td>0.8944</td><td>0.5139</td><td><sup>2</sup>&frasl;<sub>5</sub></td><td><sup>√5</sup>&frasl;<sub>5</sub> [0, 0, 0, 1, 2]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>80</td><td>1.0000</td><td>0.5139</td><td><sup>1</sup>&frasl;<sub>2</sub></td><td><sup>1</sup>&frasl;<sub>2</sub> [0, 1, 1, 1, 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>80</td><td>0.9194</td><td>0.5139</td><td><sup>2</sup>&frasl;<sub>3</sub></td><td><sup>√3</sup>&frasl;<sub>3</sub> [0, 0, 1, 1, 1]</td></tr><tr><td>r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>160</td><td>1.0103</td><td>0.4307</td><td><sup>52-32√2</sup>&frasl;<sub>41</sub></td><td>√<sup>13-8√2</sup>&frasl;<sub>41</sub> [1, √2 + 1, √2 + 1, √2 + 1, √2 + 1]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub></td><td>160</td><td>0.6781</td><td>0.4307</td><td><sup>28-8√2</sup>&frasl;<sub>41</sub></td><td>√<sup>7-2√2</sup>&frasl;<sub>41</sub> [1, 1, 1, 1, √2 + 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub></td><td>240</td><td>0.7344</td><td>0.3886</td><td><sup>1</sup>&frasl;<sub>3</sub></td><td><sup>√6</sup>&frasl;<sub>6</sub> [0, 0, 1, 1, 2]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>5</sub></td><td>240</td><td>0.8165</td><td>0.3886</td><td><sup>2</sup>&frasl;<sub>9</sub></td><td><sup>1</sup>&frasl;<sub>3</sub> [0, 0, 1, 2, 2]</td></tr><tr><td>r<sub>1</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>320</td><td>0.9437</td><td>0.3613</td><td><sup>2</sup>&frasl;<sub>13</sub></td><td><sup>√13</sup>&frasl;<sub>13</sub> [0, 1, 2, 2, 2]</td></tr><tr><td>r<sub>2</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>320</td><td>0.9519</td><td>0.3613</td><td><sup>44-24√2</sup>&frasl;<sub>49</sub></td><td><sup>1</sup>&frasl;<sub>7</sub> √(11 - 6√2) [1, 1, √2 + 1, √2 + 1, √2 + 1]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>5</sub></td><td>320</td><td>0.8595</td><td>0.3613</td><td><sup>36-16√2</sup>&frasl;<sub>49</sub></td><td><sup>1</sup>&frasl;<sub>7</sub> √(9 - 4√2) [1, 1, √2 + 1, √2 + 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub>, r<sub>4</sub></td><td>320</td><td>0.6987</td><td>0.3613</td><td><sup>2</sup>&frasl;<sub>7</sub></td><td><sup>√7</sup>&frasl;<sub>7</sub> [0, 1, 1, 1, 2]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub></td><td>480</td><td>0.7521</td><td>0.3261</td><td><sup>1</sup>&frasl;<sub>7</sub></td><td><sup>√14</sup>&frasl;<sub>14</sub> [0, 0, 1, 2, 3]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub>, r<sub>5</sub></td><td>480</td><td>0.8574</td><td>0.3261</td><td><sup>1</sup>&frasl;<sub>5</sub></td><td><sup>√10</sup>&frasl;<sub>10</sub> [0, 1, 1, 2, 2]</td></tr><tr><td>r<sub>4</sub>, r<sub>5</sub></td><td>640</td><td>0.9621</td><td>0.3033</td><td><sup>124-56√2</sup>&frasl;<sub>569</sub></td><td>√<sup>31-14√2</sup>&frasl;<sub>569</sub> [1, √2 + 1, 2√2 + 1, 2√2 + 1, 2√2 + 1]</td></tr><tr><td>r<sub>3</sub>, r<sub>4</sub></td><td>640</td><td>0.8185</td><td>0.3033</td><td><sup>84-40√2</sup>&frasl;<sub>241</sub></td><td>√<sup>21-10√2</sup>&frasl;<sub>241</sub> [1, √2 + 1, √2 + 1, √2 + 1, 2√2 + 1]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub></td><td>640</td><td>0.6481</td><td>0.3033</td><td><sup>60-24√2</sup>&frasl;<sub>153</sub></td><td>√<sup>15-6√2</sup>&frasl;<sub>153</sub> [1, 1, 1, √2 + 1, 2√2 + 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>5</sub></td><td>960</td><td>0.8654</td><td>0.2739</td><td><sup>2</sup>&frasl;<sub>23</sub></td><td><sup>√23</sup>&frasl;<sub>23</sub> [0, 1, 2, 3, 3]</td></tr><tr><td>r<sub>3</sub>, r<sub>5</sub></td><td>960</td><td>0.9045</td><td>0.2739</td><td><sup>100-48√2</sup>&frasl;<sub>337</sub></td><td>√<sup>25-12√2</sup>&frasl;<sub>337</sub> [1, √2 + 1, √2 + 1, 2√2 + 1, 2√2 + 1]</td></tr><tr><td>r<sub>2</sub>, r<sub>5</sub></td><td>960</td><td>0.8623</td><td>0.2739</td><td><sup>92-40√2</sup>&frasl;<sub>329</sub></td><td>√<sup>23-10√2</sup>&frasl;<sub>329</sub> [1, 1, √2 + 1, 2√2 + 1, 2√2 + 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>4</sub></td><td>960</td><td>0.7654</td><td>0.2739</td><td><sup>1</sup>&frasl;<sub>9</sub></td><td><sup>√2</sup>&frasl;<sub>6</sub> [0, 1, 2, 2, 3]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub></td><td>960</td><td>0.6714</td><td>0.2739</td><td><sup>2</sup>&frasl;<sub>15</sub></td><td><sup>√15</sup>&frasl;<sub>15</sub> [0, 1, 1, 2, 3]</td></tr><tr><td>r<sub>2</sub>, r<sub>4</sub></td><td>960</td><td>0.7490</td><td>0.2739</td><td><sup>68-32√2</sup>&frasl;<sub>161</sub></td><td>√<sup>17-8√2</sup>&frasl;<sub>161</sub> [1, √2 + 1, √2 + 1, 2√2 + 1]</td></tr><tr><td>r<sub>5</sub></td><td>1920</td><td>0.8949</td><td>0.2301</td><td><sup>204-72√2</sup>&frasl;<sub>1953</sub></td><td>√<sup>51-18√2</sup>&frasl;<sub>1953</sub> [1, √2 + 1, 2√2 + 1, 3√2 + 1, 3√2 + 1]</td></tr><tr><td>r<sub>4</sub></td><td>1920</td><td>0.8280</td><td>0.2301</td><td><sup>164-64√2</sup>&frasl;<sub>1169</sub></td><td>√<sup>41-16√2</sup>&frasl;<sub>1169</sub> [1, √2 + 1, 2√2 + 1, 2√2 + 1, 3√2 + 1]</td></tr><tr><td>r<sub>1</sub></td><td>1920</td><td>0.7344</td><td>0.2301</td><td><sup>1</sup>&frasl;<sub>15</sub></td><td><sup>√30</sup>&frasl;<sub>30</sub> [0, 1, 2, 3, 4]</td></tr><tr><td>r<sub>3</sub></td><td>1920</td><td>0.7639</td><td>0.2301</td><td><sup>140-56√2</sup>&frasl;<sub>833</sub></td><td>√<sup>35-14√2</sup>&frasl;<sub>833</sub> [1, √2 + 1, √2 + 1, 2√2 + 1, 3√2 + 1]</td></tr><tr><td>r<sub>2</sub></td><td>1920</td><td>0.7188</td><td>0.2301</td><td><sup>132-48√2</sup>&frasl;<sub>801</sub></td><td>√<sup>33-12√2</sup>&frasl;<sub>801</sub> [1, 1, √2 + 1, 2√2 + 1, 3√2 + 1]</td></tr><tr><td>Ø</td><td>3840</td><td>0.7884</td><td>0.1934</td><td><sup>52-16√2</sup>&frasl;<sub>685</sub></td><td>√<sup>13-4√2</sup>&frasl;<sub>685</sub> [1, √2 + 1, 2√2 + 1, 3√2 + 1, 4√2 + 1]</td></tr></tbody></table>

It is a computational challenge to extend these results in dimensions larger than 6, or in the same dimensions but for larger codes. An adaptation of these methods for complex or quaternionic metric spaces seems feasible. From an engineering standpoint, special decoding methods based on geometric and group theoretic ideas are worth pursuing. Promising future directions include constructing optimal covering codes through unions of orbits of irreducible reflection groups and developing computational methods for determining their covering radii. More generally, the consideration of finite irreducible subgroups of $\mathbb{R}^n$ beyond reflection groups also presents a worthwhile avenue for exploration.

<table><caption>TABLE VIII: Group codes generated from $B_6$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>12</td><td>1.0879</td><td>0.9098</td><td>2</td><td>[0, 0, 0, 0, 1]*</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>64</td><td>1.0879</td><td>0.6346</td><td><sup>2</sup>&frasl;<sub>3</sub></td><td><sup>√6</sup>&frasl;<sub>6</sub> [1, 1, 1, 1, 1]*</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub></td><td>120</td><td>0.9511</td><td>0.5566</td><td><sup>2</sup>&frasl;<sub>5</sub></td><td><sup>√5</sup>&frasl;<sub>5</sub> [0, 0, 0, 1, 2]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>160</td><td>0.9194</td><td>0.5245</td><td><sup>2</sup>&frasl;<sub>3</sub></td><td><sup>√3</sup>&frasl;<sub>3</sub> [0, 0, 0, 1, 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>192</td><td>1.0515</td><td>0.5051</td><td><sup>2</sup>&frasl;<sub>5</sub></td><td><sup>√5</sup>&frasl;<sub>5</sub> [0, 1, 1, 1, 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>240</td><td>1.0000</td><td>0.4825</td><td><sup>1</sup>&frasl;<sub>2</sub></td><td><sup>1</sup>&frasl;<sub>2</sub> [0, 0, 1, 1, 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub></td><td>960</td><td>0.8311</td><td>0.3636</td><td><sup>1</sup>&frasl;<sub>7</sub></td><td><sup>√14</sup>&frasl;<sub>14</sub> [0, 0, 0, 1, 2, 3]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub>, r<sub>6</sub></td><td>1440</td><td>0.8574</td><td>0.3349</td><td><sup>1</sup>&frasl;<sub>5</sub></td><td><sup>√10</sup>&frasl;<sub>10</sub> [0, 0, 1, 1, 2, 2]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub></td><td>2880</td><td>0.7241</td><td>0.2911</td><td><sup>2</sup>&frasl;<sub>15</sub></td><td><sup>√15</sup>&frasl;<sub>15</sub> [0, 0, 1, 1, 2, 3]</td></tr><tr><td>r<sub>1</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>3840</td><td>0.8490</td><td>0.2747</td><td><sup>1</sup>&frasl;<sub>11</sub></td><td><sup>√22</sup>&frasl;<sub>22</sub> [0, 1, 2, 2, 2, 3]</td></tr></tbody></table>
<table><caption>TABLE IX: Group codes generated from $\mathcal{D}_4$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub></td><td>8</td><td>1.0000</td><td>0.8547</td><td>2</td><td>[0, 0, 0, 1]*</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub></td><td>8</td><td>1.0000</td><td>0.8547</td><td>2</td><td><sup>1</sup>&frasl;<sub>2</sub>[1, 1, 1, 1]*</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub></td><td>24</td><td>0.7654</td><td>0.5863</td><td>1</td><td><sup>&radic;2</sup>&frasl;<sub>2</sub>[0, 0, 1, 1]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub></td><td>32</td><td>0.9194</td><td>0.5319</td><td><sup>2</sup>&frasl;<sub>3</sub></td><td><sup>&radic;3</sup>&frasl;<sub>6</sub>[1, 1, 1, 3]</td></tr><tr><td>r<sub>3</sub>, r<sub>4</sub></td><td>32</td><td>0.9194</td><td>0.5319</td><td><sup>2</sup>&frasl;<sub>3</sub></td><td><sup>&radic;3</sup>&frasl;<sub>3</sub>[0, 1, 1, 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub></td><td>48</td><td>0.8114</td><td>0.4638</td><td><sup>2</sup>&frasl;<sub>5</sub></td><td><sup>&radic;5</sup>&frasl;<sub>5</sub>[0, 0, 1, 2]</td></tr><tr><td>r<sub>2</sub>, r<sub>4</sub></td><td>48</td><td>0.8114</td><td>0.4638</td><td><sup>2</sup>&frasl;<sub>5</sub></td><td><sup>&radic;5</sup>&frasl;<sub>10</sub>[1, 1, 3, 3]</td></tr><tr><td>r<sub>2</sub></td><td>96</td><td>0.8165</td><td>0.3673</td><td><sup>2</sup>&frasl;<sub>9</sub></td><td><sup>1</sup>&frasl;<sub>6</sub>[1, 1, 3, 5]</td></tr><tr><td>r<sub>4</sub></td><td>96</td><td>0.8165</td><td>0.3673</td><td><sup>2</sup>&frasl;<sub>9</sub></td><td><sup>1</sup>&frasl;<sub>3</sub>[0, 1, 2, 2]</td></tr><tr><td>r<sub>3</sub></td><td>96</td><td>0.6058</td><td>0.3673</td><td><sup>1</sup>&frasl;<sub>3</sub></td><td><sup>&radic;6</sup>&frasl;<sub>6</sub>[0, 1, 1, 2]</td></tr><tr><td>Ø</td><td>192</td><td>0.6296</td><td>0.2912</td><td><sup>1</sup>&frasl;<sub>7</sub></td><td><sup>&radic;14</sup>&frasl;<sub>14</sub>[0, 1, 2, 3]</td></tr></tbody></table>

<table><caption>TABLE X: Group codes generated from $\mathcal{D}_5$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub></td><td>10</td><td>1.0515</td><td>0.8850</td><td>2</td><td>[0, 0, 0, 0, 1]*</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>16</td><td>1.0515</td><td>0.7804</td><td><sup>8</sup>&frasl;<sub>5</sub></td><td><sup>&radic;5</sup>&frasl;<sub>5</sub>[1, 1, 1, 1, 1]*</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>5</sub></td><td>40</td><td>0.8574</td><td>0.6142</td><td>1</td><td><sup>&radic;2</sup>&frasl;<sub>2</sub>[0, 0, 0, 1, 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub></td><td>80</td><td>0.8944</td><td>0.5139</td><td><sup>2</sup>&frasl;<sub>5</sub></td><td><sup>&radic;5</sup>&frasl;<sub>5</sub>[0, 0, 0, 1, 2]</td></tr><tr><td>r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>80</td><td>1.0000</td><td>0.5139</td><td><sup>1</sup>&frasl;<sub>2</sub></td><td><sup>1</sup>&frasl;<sub>2</sub>[0, 1, 1, 1, 1]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub></td><td>80</td><td>0.8716</td><td>0.5139</td><td><sup>8</sup>&frasl;<sub>13</sub></td><td><sup>&radic;13</sup>&frasl;<sub>13</sub>[1, 1, 1, 1, 3]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>80</td><td>0.9194</td><td>0.5139</td><td><sup>2</sup>&frasl;<sub>3</sub></td><td><sup>&radic;3</sup>&frasl;<sub>3</sub>[0, 0, 1, 1, 1]</td></tr><tr><td>r<sub>2</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>160</td><td>0.9412</td><td>0.4307</td><td><sup>8</sup>&frasl;<sub>29</sub></td><td><sup>&radic;29</sup>&frasl;<sub>29</sub>[1, 1, 3, 3, 3]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>5</sub></td><td>160</td><td>0.8311</td><td>0.4307</td><td><sup>8</sup>&frasl;<sub>21</sub></td><td><sup>&radic;21</sup>&frasl;<sub>21</sub>[1, 1, 1, 3, 3]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>5</sub></td><td>240</td><td>0.8165</td><td>0.3886</td><td><sup>2</sup>&frasl;<sub>9</sub></td><td><sup>1</sup>&frasl;<sub>3</sub>[0, 0, 1, 2, 2]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub></td><td>240</td><td>0.7344</td><td>0.3886</td><td><sup>1</sup>&frasl;<sub>3</sub></td><td><sup>&radic;6</sup>&frasl;<sub>6</sub>[0, 0, 1, 1, 2]</td></tr><tr><td>r<sub>4</sub>, r<sub>5</sub></td><td>320</td><td>0.9437</td><td>0.3613</td><td><sup>2</sup>&frasl;<sub>13</sub></td><td><sup>&radic;13</sup>&frasl;<sub>13</sub>[0, 1, 2, 2, 2]</td></tr><tr><td>r<sub>3</sub>, r<sub>4</sub></td><td>320</td><td>0.6987</td><td>0.3613</td><td><sup>2</sup>&frasl;<sub>7</sub></td><td><sup>&radic;7</sup>&frasl;<sub>7</sub>[0, 1, 1, 1, 2]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub></td><td>320</td><td>0.8226</td><td>0.3613</td><td><sup>8</sup>&frasl;<sub>37</sub></td><td><sup>&radic;37</sup>&frasl;<sub>37</sub>[1, 1, 1, 3, 5]</td></tr><tr><td>r<sub>2</sub>, r<sub>5</sub></td><td>480</td><td>0.8483</td><td>0.3261</td><td><sup>8</sup>&frasl;<sub>61</sub></td><td><sup>&radic;61</sup>&frasl;<sub>61</sub>[1, 1, 3, 5, 5]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub></td><td>480</td><td>0.7521</td><td>0.3261</td><td><sup>1</sup>&frasl;<sub>7</sub></td><td><sup>&radic;14</sup>&frasl;<sub>14</sub>[0, 0, 1, 2, 3]</td></tr><tr><td>r<sub>2</sub>, r<sub>4</sub></td><td>480</td><td>0.7303</td><td>0.3261</td><td><sup>8</sup>&frasl;<sub>45</sub></td><td><sup>&radic;5</sup>&frasl;<sub>15</sub>[1, 1, 3, 3, 5]</td></tr><tr><td>r<sub>3</sub>, r<sub>5</sub></td><td>480</td><td>0.8574</td><td>0.3261</td><td><sup>1</sup>&frasl;<sub>5</sub></td><td><sup>&radic;10</sup>&frasl;<sub>10</sub>[0, 1, 1, 2, 2]</td></tr><tr><td>r<sub>5</sub></td><td>960</td><td>0.8654</td><td>0.2739</td><td><sup>2</sup>&frasl;<sub>23</sub></td><td><sup>&radic;23</sup>&frasl;<sub>23</sub>[0, 1, 2, 3, 3]</td></tr><tr><td>r<sub>2</sub></td><td>960</td><td>0.7381</td><td>0.2739</td><td><sup>8</sup>&frasl;<sub>85</sub></td><td><sup>&radic;85</sup>&frasl;<sub>85</sub>[1, 1, 3, 5, 7]</td></tr><tr><td>r<sub>4</sub></td><td>960</td><td>0.7654</td><td>0.2739</td><td><sup>1</sup>&frasl;<sub>9</sub></td><td><sup>&radic;2</sup>&frasl;<sub>6</sub>[0, 1, 2, 2, 3]</td></tr><tr><td>r<sub>3</sub></td><td>960</td><td>0.6714</td><td>0.2739</td><td><sup>2</sup>&frasl;<sub>15</sub></td><td><sup>&radic;15</sup>&frasl;<sub>15</sub>[0, 1, 1, 2, 3]</td></tr><tr><td>Ø</td><td>1920</td><td>0.7344</td><td>0.2301</td><td><sup>1</sup>&frasl;<sub>15</sub></td><td><sup>&radic;30</sup>&frasl;<sub>30</sub>[0, 1, 2, 3, 4]</td></tr></tbody></table>

<table><caption>TABLE XI: Group codes generated from $\mathcal{D}_6$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>32</td><td>1.0879</td><td>0.7348</td><td><sup>4</sup>&frasl;<sub>3</sub></td><td><sup>&radic;6</sup>&frasl;<sub>6</sub>[1, 1, 1, 1, 1, 1]*</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>6</sub></td><td>60</td><td>0.9194</td><td>0.6432</td><td>1</td><td><sup>&radic;2</sup>&frasl;<sub>2</sub>[0, 0, 0, 0, 1, 1]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>192</td><td>0.8165</td><td>0.5051</td><td><sup>2</sup>&frasl;<sub>9</sub></td><td><sup>1</sup>&frasl;<sub>3</sub>[1, 1, 1, 1, 1, 2]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>6</sub></td><td>480</td><td>0.9194</td><td>0.4187</td><td><sup>1</sup>&frasl;<sub>2</sub></td><td><sup>1</sup>&frasl;<sub>2</sub>[1, 1, 1, 1, 1, 2, 2]</td></tr></tbody></table>
<table><caption>TABLE XII: Group codes generated from $\mathcal{F}_4$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub></td><td>24</td><td>0.7654</td><td>0.5863</td><td>1</td><td><sup>√2</sup>⁄<sub>2</sub>[0, 0, 1, -1]*</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub></td><td>24</td><td>0.7654</td><td>0.5863</td><td>1</td><td>[0, 0, 0, 1]*</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub></td><td>96</td><td>0.6058</td><td>0.3673</td><td><sup>1</sup>⁄<sub>3</sub></td><td><sup>√6</sup>⁄<sub>6</sub>[0, 1, 1, -2]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub>, r<sub>4</sub></td><td>96</td><td>0.6058</td><td>0.3673</td><td><sup>1</sup>⁄<sub>3</sub></td><td><sup>√3</sup>⁄<sub>6</sub>[1, 1, 1, -3]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub></td><td>144</td><td>0.4229</td><td>0.3206</td><td><sup>2-√2</sup>⁄<sub>2</sub></td><td><sup>1</sup>⁄<sub>2</sub><span style="text-decoration:overline;">√<span style="text-decoration:overline;">2-√2</span></span>[0, 0, √2, -2 - √2]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub></td><td>192</td><td>0.6296</td><td>0.2912</td><td><sup>1</sup>⁄<sub>7</sub></td><td><sup>√14</sup>⁄<sub>14</sub>[0, 1, 2, -3]</td></tr><tr><td>r<sub>1</sub>, r<sub>4</sub></td><td>288</td><td>0.5412</td><td>0.2542</td><td><sup>3-2√2</sup>⁄<sub>2</sub></td><td><sup>1</sup>⁄<sub>2</sub><span style="text-decoration:overline;">√<span style="text-decoration:overline;">3-2√2</span></span>[1, 1 + √2, 1 + √2, -3 - 2√2]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub></td><td>288</td><td>0.5575</td><td>0.2542</td><td><sup>2-√2</sup>⁄<sub>4</sub></td><td><sup>1</sup>⁄<sub>4</sub><span style="text-decoration:overline;">√<span style="text-decoration:overline;">2-√2</span></span>[1, 1, 1 + √2, -3 - √2]</td></tr><tr><td>r<sub>2</sub></td><td>576</td><td>0.4646</td><td>0.2017</td><td><sup>8-3√2</sup>⁄<sub>46</sub></td><td><sup>1</sup>⁄<sub>2</sub><span style="text-decoration:overline;">√<span style="text-decoration:overline;">8-3√2</span></span>[0, √2, 2√2, -2 - 3√2]</td></tr><tr><td>0</td><td>1152</td><td>0.4607</td><td>0.1600</td><td><sup>14-9√2</sup>⁄<sub>34</sub></td><td><sup>1</sup>⁄<sub>2</sub><span style="text-decoration:overline;">√<span style="text-decoration:overline;">14-9√2</span></span>[1, 1 + √2, 1 + 2√2, -5 - 3√2]</td></tr></tbody></table>

<table><caption>TABLE XIII: Group codes generated from $\mathcal{I}_3$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>1</sub>, r<sub>2</sub></td><td>12</td><td>0.6409</td><td>0.5773</td><td><sup>10-2√5</sup>⁄<sub>5</sub></td><td><span style="text-decoration:overline;">√<span style="text-decoration:overline;">5-√5</span></span>[1, 0, 2 cos(π/5)]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub></td><td>20</td><td>0.6409</td><td>0.4472</td><td><sup>72-24√5</sup>⁄<sub>36</sub></td><td><sup>1</sup>⁄<sub>3</sub><span style="text-decoration:overline;">√<span style="text-decoration:overline;">18-6√5</span></span>[cos(π/5), cos(π/5), cos(π/5)]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub></td><td>30</td><td>0.5465</td><td>0.3651</td><td><sup>3-√5</sup>⁄<sub>2</sub></td><td><sup>1</sup>⁄<sub>4</sub><span style="text-decoration:overline;">√<span style="text-decoration:overline;">6-2√5</span></span>[1, 2 cos(π/5), 1 + 2 cos(π/5)]</td></tr><tr><td>r<sub>3</sub></td><td>60</td><td>0.5683</td><td>0.2581</td><td><sup>74-30√5</sup>⁄<sub>61</sub></td><td><span style="text-decoration:overline;">√<span style="text-decoration:overline;">37-15√5</span></span><span style="text-decoration:overline;">122</span>[2 cos(π/5) + 1, 4 cos(π/5), 4 cos(π/5) + 1]</td></tr><tr><td>r<sub>1</sub></td><td>60</td><td>0.4124</td><td>0.2581</td><td><sup>58-18√5</sup>⁄<sub>109</sub></td><td><span style="text-decoration:overline;">√<span style="text-decoration:overline;">29-9√5</span></span><span style="text-decoration:overline;">218</span>[2, 2 cos(π/5), 4 cos(π/5) + 1]</td></tr><tr><td>r<sub>2</sub></td><td>60</td><td>0.3883</td><td>0.2581</td><td><sup>44-16√5</sup>⁄<sub>41</sub></td><td><span style="text-decoration:overline;">√<span style="text-decoration:overline;">11-4√5</span></span><span style="text-decoration:overline;">41</span>[1 + 2 cos(π/5), 2 cos(π/5), 4 cos(π/5)]</td></tr><tr><td>0</td><td>120</td><td>0.4360</td><td>0.1825</td><td><sup>124-48√5</sup>⁄<sub>241</sub></td><td><span style="text-decoration:overline;">√<span style="text-decoration:overline;">31-12√5</span></span><span style="text-decoration:overline;">241</span>[2 cos(π/5) + 2, 4 cos(π/5), 6 cos(π/5) + 1]</td></tr></tbody></table>

<table><caption>TABLE XIV: Group codes generated from $\mathcal{I}_4$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub></td><td>120</td><td>0.3857</td><td>0.3409</td><td>-2cos(2π/5) + 1</td><td>[0, 0, 0, 1]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub></td><td>600</td><td>0.3857</td><td>0.1989</td><td>-3cos(2π/5) + 1</td><td><sup>√2</sup>⁄<sub>4</sub>[cos(2π/5), cos(2π/5), cos(2π/5), cos(2π/5) + 2]</td></tr><tr><td>r<sub>2</sub>, r<sub>4</sub></td><td>1200</td><td>0.3628</td><td>0.1578</td><td>-2cos(2π/5) + 2/3</td><td><sup>√3</sup>⁄<sub>6</sub>[1, -2, cos(2π/5) - 1, -cos(2π/5) - 2]</td></tr></tbody></table>
<table><caption>TABLE XV: Group codes generated from $\mathcal{E}_8$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub>, r<sub>7</sub></td><td>240</td><td>0.7654</td><td>0.6187</td><td>1</td><td><sup>√2</sup>&frasl;<sub>4</sub> [-1, -1, -1, -1, -1, -1, -1, 1]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub>, r<sub>7</sub>, r<sub>8</sub></td><td>2160</td><td>0.7654</td><td>0.4460</td><td><sup>1</sup>&frasl;<sub>4</sub></td><td><sup>1</sup>&frasl;<sub>4</sub> [-3, -1, -1, -1, -1, -1, -1, -1]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub>, r<sub>8</sub></td><td>6720</td><td>0.6058</td><td>0.3777</td><td><sup>1</sup>&frasl;<sub>3</sub></td><td><sup>√6</sup>&frasl;<sub>6</sub> [-1, -1, -1, -1, -1, -1, 0, 0]</td></tr></tbody></table>

<table><caption>TABLE XVI: Group codes generated from $\mathcal{E}_7$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>56</td><td>0.9194</td><td>0.7373</td><td><sup>4</sup>&frasl;<sub>3</sub></td><td><sup>√6</sup>&frasl;<sub>12</sub> [-1, -1, -1, -1, -1, -1, 3, -3]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub>, r<sub>7</sub></td><td>126</td><td>0.9194</td><td>0.6346</td><td>1</td><td><sup>√2</sup>&frasl;<sub>2</sub> [-1, 0, 0, 0, 0, 0, -1]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub>, r<sub>7</sub></td><td>576</td><td>0.8311</td><td>0.4840</td><td><sup>4</sup>&frasl;<sub>7</sub></td><td><sup>√6</sup>&frasl;<sub>18</sub> [-1, -1, -1, -1, -1, -1, -7]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>7</sub></td><td>756</td><td>0.7654</td><td>0.4615</td><td><sup>1</sup>&frasl;<sub>2</sub></td><td><sup>1</sup>&frasl;<sub>4</sub> [-1, -1, -1, -1, 1, 1, -3]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>1512</td><td>0.7896</td><td>0.4092</td><td><sup>4</sup>&frasl;<sub>19</sub></td><td><sup>√38</sup>&frasl;<sub>76</sub> [-3, -3, -3, -3, 1, 5, -9]</td></tr><tr><td>r<sub>1</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>1512</td><td>0.6360</td><td>0.4092</td><td><sup>2</sup>&frasl;<sub>11</sub></td><td><sup>√22</sup>&frasl;<sub>44</sub> [-5, -1, -1, -1, -1, 3, -7]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub>, r<sub>7</sub></td><td>2016</td><td>0.8165</td><td>0.3894</td><td><sup>1</sup>&frasl;<sub>3</sub></td><td><sup>√6</sup>&frasl;<sub>6</sub> [-1, -1, 0, 0, 0, 0, -2]</td></tr><tr><td>r<sub>1</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub>, r<sub>7</sub></td><td>4032</td><td>0.8311</td><td>0.3458</td><td><sup>1</sup>&frasl;<sub>7</sub></td><td><sup>√14</sup>&frasl;<sub>14</sub> [-2, -1, 0, 0, 0, 0, -3]</td></tr><tr><td>r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub>, r<sub>7</sub></td><td>4032</td><td>0.8219</td><td>0.3458</td><td><sup>4</sup>&frasl;<sub>19</sub></td><td><sup>√38</sup>&frasl;<sub>76</sub> [-5, -1, -1, -1, -1, -1, -11]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>4032</td><td>0.7071</td><td>0.3458</td><td><sup>1</sup>&frasl;<sub>4</sub></td><td><sup>√2</sup>&frasl;<sub>8</sub> [-1, -1, -1, -1, -1, 1, -5]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>6</sub>, r<sub>7</sub></td><td>4032</td><td>0.7136</td><td>0.3458</td><td><sup>4</sup>&frasl;<sub>15</sub></td><td><sup>√30</sup>&frasl;<sub>60</sub> [-3, -3, -3, -3, 1, 1, 1, -9]</td></tr></tbody></table>

<table><caption>TABLE XVII: Group codes generated from $\mathcal{E}_6$</caption><thead><tr><th>Π<sub>p</sub></th><th>M</th><th>R</th><th>SCB</th><th>d<sup>2</sup></th><th>x<sub>0</sub></th></tr></thead><tbody><tr><td>r<sub>1</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>27</td><td>1.0000</td><td>0.7620</td><td><sup>3</sup>&frasl;<sub>2</sub></td><td><sup>√3</sup>&frasl;<sub>12</sub> [-5, 1, 1, 1, 1, -3, -3]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>72</td><td>0.8805</td><td>0.6191</td><td>1</td><td><sup>√2</sup>&frasl;<sub>2</sub> [0, 0, 0, 0, 0, -1, -1]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>216</td><td>0.8574</td><td>0.4930</td><td><sup>3</sup>&frasl;<sub>5</sub></td><td><sup>√30</sup>&frasl;<sub>30</sub> [-2, -2, 1, 1, 1, -3, -3]</td></tr><tr><td>r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>432</td><td>0.8660</td><td>0.4278</td><td><sup>3</sup>&frasl;<sub>8</sub></td><td><sup>√3</sup>&frasl;<sub>24</sub> [-5, 1, 1, 1, 1, -9, -9]</td></tr><tr><td>r<sub>1</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>432</td><td>0.8805</td><td>0.4278</td><td><sup>1</sup>&frasl;<sub>4</sub></td><td><sup>√2</sup>&frasl;<sub>8</sub> [-3, -1, 1, 1, 1, -3, -3]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>720</td><td>0.7654</td><td>0.3855</td><td><sup>1</sup>&frasl;<sub>3</sub></td><td><sup>√6</sup>&frasl;<sub>12</sub> [-1, -1, -1, 1, 1, -3, -3]</td></tr><tr><td>r<sub>2</sub>, r<sub>4</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>1080</td><td>0.8229</td><td>0.3550</td><td><sup>3</sup>&frasl;<sub>14</sub></td><td><sup>√21</sup>&frasl;<sub>42</sub> [-2, -2, 1, 1, 1, -6, -6]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>1080</td><td>0.7125</td><td>0.3550</td><td><sup>3</sup>&frasl;<sub>11</sub></td><td><sup>√66</sup>&frasl;<sub>132</sub> [-5, -5, 1, 1, 1, 7, -9, -9]</td></tr><tr><td>r<sub>2</sub>, r<sub>3</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>1440</td><td>0.7818</td><td>0.3349</td><td><sup>1</sup>&frasl;<sub>7</sub></td><td><sup>√14</sup>&frasl;<sub>28</sub> [-1, -1, -1, 1, 1, -5, -5]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>2160</td><td>0.7831</td><td>0.3085</td><td><sup>3</sup>&frasl;<sub>26</sub></td><td><sup>√39</sup>&frasl;<sub>156</sub> [-7, -7, -1, 5, 5, 5, -15, -15]</td></tr><tr><td>r<sub>1</sub>, r<sub>2</sub>, r<sub>4</sub>, r<sub>6</sub></td><td>2160</td><td>0.7071</td><td>0.3085</td><td><sup>1</sup>&frasl;<sub>6</sub></td><td><sup>√3</sup>&frasl;<sub>6</sub> [-1, -1, 0, 0, 1, -2, -2]</td></tr><tr><td>r<sub>3</sub>, r<sub>4</sub>, r<sub>5</sub></td><td>2160</td><td>0.5974</td><td>0.3085</td><td><sup>1</sup>&frasl;<sub>5</sub></td><td><sup>√10</sup>&frasl;<sub>10</sub> [-1, 0, 0, 0, 0, 1, -2, -2]</td></tr><tr><td>r<sub>3</sub>, r<sub>5</sub>, r<sub>6</sub></td><td>4320</td><td>0.7906</td><td>0.2682</td><td><sup>3</sup>&frasl;<sub>32</sub></td><td><sup>√3</sup>&frasl;<sub>24</sub> [-4, -1, -1, 2, 2, 2, -9, -9]</td></tr><tr><td>r<sub>3</sub>, r<sub>4</sub>, r<sub>6</sub></td><td>4320</td><td>0.7250</td><td>0.2682</td><td><sup>3</sup>&frasl;<sub>23</sub></td><td><sup>√138</sup>&frasl;<sub>276</sub> [-7, -1, -1, -1, 5, 5, -15, -15]</td></tr></tbody></table>
REFERENCES

[1] E. Bannai, E. Bannai, "A survey on spherical designs and algebraic combinatorics on spheres," *European Journal of Combinatorics*, vol. 30, no. 6, pp. 1392-1425, 2009.

[2] P. Boyvalenkov, M. Stoyanova, "Linear programming bounds for covering radius of spherical designs," *Results in Mathematics*, vol. 76, no. 2, pp. 1-19, 2021.

[3] V. Chvátal, *Linear Programming*, New York-San Francisco, W. H. Freeman and Company, vol. XIII, pp. 478, 1983.

[4] T.A. Cover, J. Thomas, *Rate-distorsion theory*, chap. 10 in *Elements of Information Theory*, USA: Wiley, 2012.

[5] H.S.M. Coxeter, "The product of the generators of a finite group generated by reflections," *Duke Mathematical Journal*, vol. 18, no. 4, pp. 765-782, 1951.

[6] T. Christof, G. Reinelt, "Combinatorial optimization and small polytopes," *Transactions in Operation Research*, vol. 4, no. 1, pp. 1-64, 1996.

[7] P. Delsarte, J-M. Goethals, J.J. Seidel, "Spherical codes and designs," *Geometria Dedicata*, vol. 6, pp. 363-388, 1977.

[8] M. Deza, M. Dutour Sikirić, "Enumeration of the facets of cut polytopes over some highly symmetric graphs," *International Transactions in Operation Research*, vol. 23, no. 5, pp. 853-860, 2015.

[9] T. Ericson, V. Zinoviev, *Codes on Euclidean spheres*, Holland: North Holland, 2001.

[10] G. Fazekas, V.I. Levenshtein, "On upper bounds for code distance and covering radius of designs in polynomial metric spaces," *Journal of Combinatorial Theory, Series A*, vol. 70, no. 2, pp. 267-288, 1995.

[11] L. Grove, C. Benson, *Finite reflection groups*, Germany: Springer Science and Business Media, 1996.

[12] R. Hardin, N. Sloane, W. Smith, Spherical Coverings, 2015. [Online]. Available: http://neilsloane.com/coverings/

[13] J.E. Humphreys, *Reflection groups and Coxeter groups*, U.K.: Cambridge university press, 1992.

[14] I. Ingemarsson, "Group Codes for the Gaussian Channel," pp. 73-108 in *Topics in Coding Theory*, Lecture Notes in Control and Information Sciences LNCIS, vol. 128, Germany: Springer Verlag, 1989.

[15] T. Mittelholzer, J. Lahtonen, "Group codes generated by finite reflection groups," *IEEE Transactions on Information Theory*, vol. 42, no. 2, pp. 519-528, 1996.

[16] R. Moody, J. Patera, "Voronoi domains and dual cells in the generalized kaleidoscope with applications to root and weight lattices," *Canadian Journal of Mathematics*, vol. 47, no. 3, pp. 573-605, 1995.

[17] M. Shi, D. Lu, A. Armario, R. Egan, F. Özbudak, P. Solé, "Hadamard bent sequences and spherical designs," *Journal of Algebraic Combinatorics*, vol. 62, no. 3, pp. 43, 2025.

[18] M.D. Sikirić, "The Birkhoff polytope of the groups $F_4$ and $H_4$," in *Proceedings of the 4th Croatian Combinatorial Days*, Faculty of Civil Engineering, University of Zagreb, Croatia, 2022.

[19] M.D. Sikirić, A. Schuermann, F. Vallentin, "Classification of eight-dimensional perfect forms," *Electronic Research Announcements of the American Mathematical Society*, vol. 13, pp. 21-32, 2007.

[20] M.D. Sikirić, *Polyhedral: Computational Tools for Polytopes*, Lattices, and Quadratic Forms, 2022. [Online]. Available: https://github.com/MathieuDutSik/polyhedral_common

[21] D. Slepian, "Group Codes for the Gaussian Channel," *Bell System Technical Journal*, vol. 47, no. 4, pp. 575-602, 1968.

[22] P. Solé, "The covering radius of spherical designs," *European Journal of Combinatorics*, vol. 12, no. 5, pp. 423-431, 1991.

[23] R. Womersley, "Spherical designs with close to the minimal number of points," *Applied Mathematics Report AMR09/26*, Univeristy of New South Wales, Sydney, Austrialia, 2009.

[24] C and C++ Reference, cppreference.com. Accessed: Feb. 15, 2025. [Online]. Available: https://en.cppreference.com/w/

[25] The MathWorks. MATLAB version: 9.13.0 (R2022b). Accessed: Jan. 1, 2023. Available: https://www.mathworks.com

**Minjia Shi** (Member, IEEE) received the Ph.D. degree from the Institute of Computer Network Systems, Hefei University of Technology, China, in 2010. From August 2012 to August 2013, he was a Visiting Researcher with the School of Physical and Mathematical Sciences, Nanyang Technological University, Singapore. From July 2016 to August 2016, he was a Visiting Researcher with Telecom Paris Tech, Paris, France. Later, he visited the Sobolev Institute of Mathematics, in 2020. He has been a Professor with the School of Mathematical Sciences, Anhui University, since 2017. He is the author of over 100 journal articles and two books. His research interests include algebraic coding theory and cryptography.

**Lu Wang** is a master's student at the School of Mathematical Sciences of Anhui University, under the supervision of Professor Minjia Shi.

**Mathieu Dutour Sikirić** received the Ph.D. degree in mathematics from Université Paris XI Orsay, France. He is currently an independent consultant programmer based in Croatia. His research interests include discrete and computational geometry, lattice theory, polyhedral combinatorics, and algorithmic aspects of symmetry and group actions. His work focuses on lattices, Voronoi and Delaunay structures, and computational methods for the study and classification of high-dimensional geometric and combinatorial objects.

**Patrick Solé** received the Ingénieur and Docteur-Ingénieur degrees from the Ecole Nationale Supérieure des Télécommunications, Paris, France, in 1984 and 1987, respectively, and the Habilitation à Diriger Des Recherches from the Université de Nice-Sophia Antipolis, Sophia Antipolis, France, in 1993. He has held visiting positions at Syracuse University, Syracuse, NY, USA, from 1987 to 1989, Macquarie University, Sydney, NSW, Australia, from 1994 to 1996, and Lille University, Lille, France, from 1999 to 2000. Since 1989, he has been a Permanent Member of the CNRS and became the Directeur de Recherche in 1996. He is currently a member of the CNRS Laboratory, I2M, Marseille, France. He is the author of more than 200 journal articles and five books. His research interests include coding theory (codes over rings, quasi-cyclic codes), interconnection networks (graph spectra, expanders), vector quantization (lattices), and cryptography (Boolean functions, pseudo random sequences). He was a co-recipient of the Best Paper Award for Information Theory in 1995, given by the Information Theory Chapter of the IEEE. He was an Associate Editor of the IEEE Transactions on Information Theory from 1996 to 1999.