This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Multiple-Error-Correcting Codes for
Analog Computing on Resistive Crossbars

Hengjia Wei and Ron M. Roth Hengjia Wei is with the Peng Cheng Laboratory, Shenzhen 518055, China (e-mail: [email protected]). He is also with the School of Mathematics and Statistics, Xi’an Jiaotong University, Xi’an 710049, China, and the Pazhou Laboratory (Huangpu), Guangzhou 510555, China.Ron M. Roth is with the Computer Science Department, Technion––Israel Institute of Technology, Haifa 3200003, Israel (e-mail: [email protected]).The work of H. Wei was supported in part by the major key project of Peng Cheng Laboratory under grant PCL2023AS1-2 and the National Natural Science Foundation of China under Grant 12371523. The work of R. M. Roth was supported in part by Grant No. 1713/20 from the Israel Science Foundation.
Abstract

Error-correcting codes over the real field are studied which can locate outlying computational errors when performing approximate computing of real vector–matrix multiplication on resistive crossbars. Prior work has concentrated on locating a single outlying error and, in this work, several classes of codes are presented which can handle multiple errors. It is first shown that one of the known constructions, which is based on spherical codes, can in fact handle multiple outlying errors. A second family of codes is then presented with 01{0\textrm{--}1} parity-check matrices which are sparse and disjunct; such matrices have been used in other applications as well, especially in combinatorial group testing. In addition, a certain class of the codes that are obtained through this construction is shown to be efficiently decodable. As part of the study of sparse disjunct matrices, this work also contains improved lower and upper bounds on the maximum Hamming weight of the rows in such matrices.

Index Terms:
Fault-tolerant computing, linear codes over the real field, vector–matrix multiplication, sparse group testing, disjunct matrices with limited row weights

I Introduction

Vector–matrix multiplication is a computational task that is found in numerous applications, including machine learning (e.g., deep learning) and signal processing. Designing circuits for vector–matrix multiplication requires achieving high computational throughput while concurrently ensuring minimal energy consumption and a compact physical footprint. These criteria have prompted recent proposals to incorporate resistive memory technology into analog computing architectures.

Let 𝐮{\mathbf{u}} be a row \ell-vector and AA be an ×n\ell\times n matrix—both with (nonnegative) entries in \mathbb{R} or \mathbb{Z}. In current implementations of vector–matrix multiplication [1],[9],[10],[14],[22], the matrix A=(ai,j)A=(a_{i,j}) is realized as a crossbar of \ell row conductors and nn column conductors with programmable nano-scale resistors at the junctions. The resistor at the junction (i,j)(i,j) is set to have conductance that is proportional to the entry ai,ja_{i,j} of AA. Each entry uiu_{i} of 𝐮{\mathbf{u}} is converted into a voltage level that is proportional to uiu_{i} and fed to the corresponding row conductor. Then the product 𝐜=𝐮A{\mathbf{c}}={\mathbf{u}}A, carried out over the real field \mathbb{R}, can be computed by reading the currents at the column conductors. Negative entries in 𝐮{\mathbf{u}} or AA can be accommodated by duplication of the circuit.

Recently, the second author proposed two classes of coding schemes to locate computational errors under two distinct scenarios: exact integer vector–matrix multiplication [18] and approximate real vector–matrix multiplication [19]. We next describe the second scenario, as it will be the subject of this work as well.

In the model described in [19], the ideal computation 𝐜=𝐮An{\mathbf{c}}={\mathbf{u}}A\in\mathbb{R}^{n} may be distorted by two types of errors, which lead to a read vector

𝐲=𝐜+𝜺+𝐞n,{\mathbf{y}}={\mathbf{c}}+\boldsymbol{\varepsilon}+{\mathbf{e}}\in\mathbb{R}^{n}, (1)

where 𝐞,𝜺n{\mathbf{e}},\boldsymbol{\varepsilon}\in\mathbb{R}^{n}. The entries of 𝜺\boldsymbol{\varepsilon} are all within the interval [δ,δ][-\delta,\delta] for some prescribed threshold δ\delta, representing small computational errors that are tolerable, while the entries of 𝐞{\mathbf{e}} represent outlying errors that may be caused by events such as stuck cells or short cells in the array (and may have large magnitudes). The goal is to design a coding scheme that allows to locate all the non-zero entries of 𝐞{\mathbf{e}} that are outside an interval [Δ,Δ][-\Delta,\Delta], for the smallest Δ\Delta, provided that the number of outlying errors does not exceed a prescribed number τ\tau. A more general setting includes the option of detecting σ\sigma additional errors and, as shown in [19], in this case the value λ=2τ+σ{\lambda}=2\tau+\sigma plays a role when analyzing the correction capability of a coding scheme.

The encoding scheme presented in [19] can be characterized by a linear [n,k][n,k] code 𝒞{\mathcal{C}} over \mathbb{R}: we allocate r=nkr=n-k columns of the matrix AA for redundancy so that each row of AA forms a codeword of 𝒞{\mathcal{C}}. Then the result of the multiplication of any input real row vector 𝐮{\mathbf{u}} by the matrix AA is also a codeword of 𝒞{\mathcal{C}}.

In crude terms (with more details to be provided in Section II), the required condition from the linear code 𝒞{\mathcal{C}} is that it has a decoder that locates all the outlying errors of magnitude above Δ\Delta, whenever the Hamming weight of 𝐞{\mathbf{e}} does not exceed τ\tau; moreover, if the decoder returns a set of locations (rather than just detects errors), then 𝐞{\mathbf{e}} should be nonzero at all these locations. Linear codes over \mathbb{R} which satisfy this condition are referred to as analog error-correcting codes.

For the case λ=2τ+σ2{\lambda}=2\tau+\sigma\leqslant 2 (which includes the single error location/detection cases, i.e., (τ,σ)=(0,1),(1,0)(\tau,\sigma)=(0,1),(1,0)), code constructions were proposed in [19] for several trade-offs between the redundancy rr and the smallest attainable ratio Δ/δ\Delta/\delta. One of the constructions for λ=2{\lambda}=2 has a sparse parity-check matrix over {1,0,1}\{-1,0,1\} and attains Δ/δ22n/r\Delta/\delta\leqslant 2\lceil 2n/r\rceil, for every even redundancy rnr\geqslant\sqrt{n}; another construction has a parity-check matrix that forms a spherical code and attains Δ/δ=O(n/r)\Delta/\delta=O(n/\sqrt{r}) with r=Θ(logn)r=\Theta(\log n).

In this work, we present several classes of codes over \mathbb{R} for a wide range of values λ{\lambda}, and compute upper bounds on the attainable ratios Δ/δ\Delta/\delta, in terms of nn, rr, and λ{\lambda}; see Table I. When λ=2{\lambda}=2, our bounds coincide with those presented in [19],[20]. One of the classes is actually the spherical code scheme of [19] when constructed with redundancy r=Θ(λ2logn)r=\Theta({\lambda}^{2}\log n): we show that these codes can still attain Δ/δ=O(n/r)\Delta/\delta=O(n/\sqrt{r}) yet for a wide range of λ2{\lambda}\geqslant 2. In our analysis we make use of the restricted isometry property (and a variant thereof) of matrices of low coherence—a tool which is widely used in compressed sensing [2],[3].

A second class of codes to be presented is based on disjunct matrices with limited row weights—a notion that has been applied, inter alia, in combinatorial group testing [11]. Employing the known construction of disjunct matrices of [11], for any n,,λ+n,\ell,{\lambda}\in\mathbb{Z}^{+} such that n1/(+1)n^{1/(\ell+1)} is a prime power and λn1/(+1)/{\lambda}\leqslant\lceil n^{1/(\ell+1)}/\ell\rceil, our codes attain Δ/δ2n/(+1)\Delta/\delta\leqslant 2n^{\ell/(\ell+1)} with rλn1/(+1)r\leqslant\ell{\lambda}n^{1/(\ell+1)}.

Our study also includes a new family of disjunct matrices (which, in turn, can then be employed in our code construction mentioned above). Specifically, for any positive integer ρn\rho\leqslant\sqrt{n} such that n/ρn/\rho is a prime power, we construct optimal disjunct matrices with maximum row weightρ{}\leqslant\rho, achieving the lower bound on the number of rows as stated in [11]; formerly, such disjunct matrices were exclusively established for ρ=n\rho=\sqrt{n}. Moreover, by deriving a new lower bound on the number of rows, we show that the construction in [11] of disjunct matrices with maximum row weight ρn\rho\geqslant\sqrt{n} is asymptotically optimal.

The paper is organized as follows. We begin, in Section II, by providing notation and known results used throughout the paper. This section also contains our new lower bound on the number of rows of a disjunct matrix with limited row weights.

In Section III, we analyze the spherical code construction and establish its performance for a wide range of values λ{\lambda}.

In Section IV, we present the code construction that is based on disjunct matrices with limited row weights. Efficient decoding algorithms to locate the outlying errors are also presented.

In Section V, we present our new family of optimal disjunct matrices. Employing these matrices in our code construction, for any (fixed) rational number α[1/2,1)\alpha\in[1/2,1) they attain rλnαr\leqslant{\lambda}n^{\alpha} and Δ/δ2λn/r\Delta/\delta\leqslant 2{\lambda}n/r for infinitely many values of nn. Interestingly, these parameters align with those of the single-error-correcting codes in [19] (wherein rr can be any even integer such that r(r1)nr(r-1)\geqslant n and Δ/δ22n/r\Delta/\delta\leqslant 2\lceil 2n/r\rceil).

TABLE I: Summary of the [n,knr][n,k{\geqslant}n{-}r] codes 𝒞{\mathcal{C}} over \mathbb{R}
r\displaystyle r Attainable Δ/δ\displaystyle\Delta/\delta λ\displaystyle{\lambda} Comments Reference
Θ(logn)\displaystyle\Theta(\log n) O(nr)\displaystyle O\left\lparen\frac{n}{\sqrt{r}}\right\rparen 2\displaystyle 2 Prop. 5 in [20]
Θ(λ2logn)\displaystyle\Theta({\lambda}^{2}\log n) O(nr)\displaystyle O\left\lparen\frac{n}{\sqrt{r}}\right\rparen O(nlogn)\displaystyle O\left\lparen\sqrt{\frac{n}{\log n}}\right\rparen Cor. 14
rnr(r1)\displaystyle r\leqslant n\leqslant r(r-1) 22nr\displaystyle 2\left\lceil\frac{2n}{r}\right\rceil 2\displaystyle 2 Prop. 6 in [19]
λnρ\displaystyle\frac{{\lambda}n}{\rho} 2λnr\displaystyle\frac{2{\lambda}n}{r} λρ\displaystyle{\lambda}\leqslant\rho ρ+\displaystyle\rho\in\mathbb{Z}^{+}, ρn\displaystyle\rho\leqslant\sqrt{n}, nρ\displaystyle\frac{n}{\rho} is a prime power Cor. 25
λnρ\displaystyle\frac{{\lambda}n}{\rho} 2λnr\displaystyle\frac{2{\lambda}n}{r} λmin{ρ,p1e1,p2e2,}\displaystyle{\lambda}\leqslant\min\{\rho,p_{1}^{e_{1}},p_{2}^{e_{2}},\ldots\} ρ+\displaystyle\rho\in\mathbb{Z}^{+}, ρn\displaystyle\rho\leqslant\sqrt{n}, nρ=p1e1p2e2\displaystyle\frac{n}{\rho}=p_{1}^{e_{1}}p_{2}^{e_{2}}\cdots Thm. 27
(λ+1)q\displaystyle(\ell{\lambda}-\ell+1)q 2(λ+1)nr\displaystyle\frac{2(\ell{\lambda}-\ell+1)n}{r} λq/\displaystyle{\lambda}\leqslant\lceil q/\ell\rceil +\displaystyle\ell\in\mathbb{Z}^{+}, q\displaystyle q is a prime power, n=q+1\displaystyle n=q^{\ell+1} Cor. 16

II Preliminaries

For integers n\ell\leqslant n, we denote by [:n][\ell:n] the integer subset {z:z<n}\left\{z\in\mathbb{Z}\,:\,\ell\leqslant z<n\right\}. We will use the shorthand notation [n]{\left[{n}\right]} for [0:n]{\left[{0:n}\right]}, and we will typically use [n]{\left[{n}\right]} to index the entries of vectors in n\mathbb{R}^{n}. Similarly, the entries of an r×nr\times n matrix H=(Hi,j)H=(H_{i,j}) will be indexed by (i,j)[r]×[n](i,j)\in{\left[{r}\right]}\times{\left[{n}\right]}, and HiH_{i} and 𝐡j{\mathbf{h}}_{j} will denote, respectively, row ii and column jj in HH. For a subset 𝒥[n]{\mathcal{J}}\subseteq{\left[{n}\right]}, the notation (H)𝒥(H)_{\mathcal{J}} stands for the r×|𝒥|r\times\lvert{\mathcal{J}}\rvert submatrix of HH that is formed by the columns that are indexed by 𝒥{\mathcal{J}}.

Unless specified otherwise, all logarithms are taken to base 22.

II-A Analog error-correcting codes

Given δ,Δ+\delta,\Delta\in\mathbb{R}^{+}, let

𝒬(n,δ){𝜺=(εj)n:𝜺δ}{\mathcal{Q}}(n,\delta)\triangleq\left\{\boldsymbol{\varepsilon}=(\varepsilon_{j})\in\mathbb{R}^{n}\,:\,\lVert\boldsymbol{\varepsilon}\rVert_{\infty}\leqslant\delta\right\}

be the set of all tolerable error vectors with threshold δ\delta, where 𝜺\lVert\boldsymbol{\varepsilon}\rVert_{\infty} stands for the infinity norm maxj[n]|εj|\max_{j\in{\left[{n}\right]}}\lvert\varepsilon_{j}\rvert. For 𝐞=(ej)jn{\mathbf{e}}=(e_{j})_{j}\in\mathbb{R}^{n}, define

𝖲𝗎𝗉𝗉Δ(𝐞){j[n]:|ej|>Δ}.{\mathsf{Supp}}_{\Delta}({\mathbf{e}})\triangleq\left\{j\in{\left[{n}\right]}\,:\,\lvert e_{j}\rvert>\Delta\right\}.

In particular, 𝖲𝗎𝗉𝗉0(𝐞){\mathsf{Supp}}_{0}({\mathbf{e}}) is the ordinary support of 𝐞{\mathbf{e}}. We use 𝗐(𝐞){\mathsf{w}}({\mathbf{e}}) to denote the Hamming weight of 𝐞{\mathbf{e}}. The set of all vectors of Hamming weight at most ww in n\mathbb{R}^{n} is denoted by (n,w){\mathcal{B}}(n,w).

Let 𝒞{\mathcal{C}} be a linear [n,k][n,k] code over \mathbb{R}. A decoder for 𝒞{\mathcal{C}} is a function 𝒟:n2[n]{``e"}{\mathcal{D}}:\mathbb{R}^{n}\rightarrow 2^{{\left[{n}\right]}}\cup\{{\mathrm{``e"}}\} which returns a set of locations of outlying errors or an indication ``e"{\mathrm{``e"}} that errors have been detected. Given δ,Δ+\delta,\Delta\in\mathbb{R}^{+} and prescribed nonnegative integers τ\tau and σ\sigma, we say that the decoder 𝒟{\mathcal{D}} corrects τ\tau errors and detects σ\sigma additional errors with respect to the threshold pair (δ,Δ)(\delta,\Delta), or that 𝒟{\mathcal{D}} is a (τ,σ)(\tau,\sigma)-decoder for (𝒞,Δ:δ)({\mathcal{C}},\Delta:\delta), if the following conditions hold for every 𝐲{\mathbf{y}} as in (1), where 𝐜𝒞{\mathbf{c}}\in{\mathcal{C}}, 𝜺𝒬(n,δ)\boldsymbol{\varepsilon}\in{\mathcal{Q}}(n,\delta), and 𝐞(n,τ+σ){\mathbf{e}}\in{\mathcal{B}}(n,\tau+\sigma).

(D1)

If 𝐞(n,τ){\mathbf{e}}\in{\mathcal{B}}(n,\tau) then ``e"𝒟(𝐲)𝖲𝗎𝗉𝗉0(𝐞){\mathrm{``e"}}\neq{\mathcal{D}}({\mathbf{y}})\subseteq{\mathsf{Supp}}_{0}({\mathbf{e}}).

(D2)

If 𝒟(𝐲)``e"{\mathcal{D}}({\mathbf{y}})\neq{\mathrm{``e"}} then 𝖲𝗎𝗉𝗉Δ(𝐞)𝒟(𝐲){\mathsf{Supp}}_{\Delta}({\mathbf{e}})\subseteq{\mathcal{D}}({\mathbf{y}}).

Let 𝐱=(xj)j[n]{\mathbf{x}}=(x_{j})_{j\in{\left[{n}\right]}} be a nonzero vector in n\mathbb{R}^{n} and let π\pi be a permutation on [n]{\left[{n}\right]} such that

|xπ(0)||xπ(1)||xπ(n1)|.\lvert x_{\pi(0)}\rvert\geqslant\lvert x_{\pi(1)}\rvert\geqslant\cdots\geqslant\lvert x_{\pi(n-1)}\rvert.

Given an integer λ[n]{\lambda}\in{\left[{n}\right]}, the λ{\lambda}-height of 𝐱{\mathbf{x}}, denoted by 𝗁λ(𝐱){\mathsf{h}}_{\lambda}({\mathbf{x}}), is defined as

𝗁λ(𝐱)|xπ(0)xπ(λ)|,{\mathsf{h}}_{\lambda}({\mathbf{x}})\triangleq\left\lvert\frac{x_{\pi(0)}}{x_{\pi({\lambda})}}\right\rvert,

and we formally define 𝗁n(𝐱){\mathsf{h}}_{n}({\mathbf{x}})\triangleq\infty. For a linear code 𝒞{𝟎}{\mathcal{C}}\neq\{{\mathbf{0}}\} over \mathbb{R}, its λ{\lambda}-height, denoted by 𝗁λ(𝒞){\mathsf{h}}_{\lambda}({\mathcal{C}}), is defined by

𝗁λ(𝒞)max𝐜𝒞{𝟎}𝗁λ(𝐜).{\mathsf{h}}_{\lambda}({\mathcal{C}})\triangleq\max_{{\mathbf{c}}\in{\mathcal{C}}\setminus\{{\mathbf{0}}\}}{\mathsf{h}}_{\lambda}({\mathbf{c}}).

The minimum Hamming distance of 𝒞{\mathcal{C}}, denoted by 𝖽(𝒞){\mathsf{d}}({\mathcal{C}}), can be related to (𝗁λ(𝒞))λ({\mathsf{h}}_{\lambda}({\mathcal{C}}))_{\lambda} by

𝖽(𝒞)=min{λ[n+1]:𝗁λ(𝒞)=}.{\mathsf{d}}({\mathcal{C}})=\min\{{\lambda}\in{\left[{n+1}\right]}\,:\,{\mathsf{h}}_{\lambda}({\mathcal{C}})=\infty\}. (2)
Theorem 1 ([19],[21]).

Let 𝒞{\mathcal{C}} be a linear [n,k][n,k] code over \mathbb{R}. There is a (τ,σ)(\tau,\sigma)-decoder for (𝒞,Δ:δ)({\mathcal{C}},\Delta:\delta), if and only if

Δ/δ2𝗁2τ+σ(𝒞)+2.\Delta/\delta\geqslant 2\,{\mathsf{h}}_{2\tau+\sigma}({\mathcal{C}})+2.

Theorem 1 motivated in [19] to define for every λ[n+1]{\lambda}\in{\left[{n+1}\right]} the expression

Γλ(𝒞)2𝗁λ(𝒞)+2,\Gamma_{\lambda}({\mathcal{C}})\triangleq 2\,{\mathsf{h}}_{\lambda}({\mathcal{C}})+2, (3)

so that Γ2τ+σ(𝒞)\Gamma_{2\tau+\sigma}({\mathcal{C}}) is the smallest ratio Δ/δ\Delta/\delta for which there is a (τ,σ)(\tau,\sigma)-decoder for (𝒞,Δ:δ)({\mathcal{C}},\Delta:\delta). Equivalently, Γ2τ+σ\Gamma_{2\tau+\sigma} is the smallest Δ\Delta such that there is a (τ,σ)(\tau,\sigma)-decoder for (𝒞,Δ:1)({\mathcal{C}},\Delta:1). Thus, given nn and λ{\lambda}, our aim is to construct linear codes 𝒞{\mathcal{C}} over \mathbb{R} with both Γλ(𝒞)\Gamma_{\lambda}({\mathcal{C}}) and redundancy rr as small as possible.

For the case λ=2τ+σ2{\lambda}=2\tau+\sigma\leqslant 2, a characterization of Γ1(𝒞)\Gamma_{1}({\mathcal{C}}) and Γ2(𝒞)\Gamma_{2}({\mathcal{C}}) was presented in [19] in terms of the parity-check matrix of 𝒞{\mathcal{C}}. In the next proposition, we present a generalization of that characterization to any λ[1:𝖽(𝒞)]{\lambda}\in{\left[{1:{\mathsf{d}}({\mathcal{C}})}\right]}. Given a parity-check matrix HH of 𝒞{\mathcal{C}} over \mathbb{R}, let

𝒮=𝒮(H){H𝜺:𝜺𝒬(n,1)}{\mathcal{S}}={\mathcal{S}}(H)\triangleq\left\{H\boldsymbol{\varepsilon}^{\top\scriptscriptstyle{\!}}\,:\,\boldsymbol{\varepsilon}\in{\mathcal{Q}}(n,1)\right\} (4)

and

2𝒮𝒮+𝒮\displaystyle 2{\mathcal{S}}\triangleq{\mathcal{S}}+{\mathcal{S}} =\displaystyle= {H(𝜺+𝜺):𝜺,𝜺𝒬(n,1)}\displaystyle\left\{H(\boldsymbol{\varepsilon}+\boldsymbol{\varepsilon}^{\prime})^{\top\scriptscriptstyle{\!}}\,:\,\boldsymbol{\varepsilon},\boldsymbol{\varepsilon}^{\prime}\in{\mathcal{Q}}(n,1)\right\}
=\displaystyle= {H𝜺:𝜺𝒬(n,2)}.\displaystyle\left\{H\boldsymbol{\varepsilon}^{\top\scriptscriptstyle{\!}}\,:\,\boldsymbol{\varepsilon}\in{\mathcal{Q}}(n,2)\right\}.

Note that 𝒮{\mathcal{S}} is the set of all the syndrome vectors (with respect to HH) that can be obtained when there are no outlying errors, assuming that δ=1\delta=1. Also, for Δ+\Delta\in\mathbb{R}^{+} let

Δ(n,λ){𝐞(n,λ):𝐞>Δ},{\mathcal{B}}_{\Delta}(n,{\lambda})\triangleq\left\{{\mathbf{e}}\in{\mathcal{B}}(n,{\lambda})\,:\,\lVert{\mathbf{e}}\rVert_{\infty}>\Delta\right\}, (6)

i.e., Δ(n,λ){\mathcal{B}}_{\Delta}(n,{\lambda}) consists of all the vectors 𝐞n{\mathbf{e}}\in\mathbb{R}^{n} such that both 𝗐(𝐞)λ{\mathsf{w}}({\mathbf{e}})\leqslant{\lambda} and 𝖲𝗎𝗉𝗉Δ(𝐞){\mathsf{Supp}}_{\Delta}({\mathbf{e}})\neq\varnothing.

Proposition 2.

Given a linear [n,k>0][n,k{>}0] code 𝒞{\mathcal{C}} over \mathbb{R}, let HH be a parity-check matrix of 𝒞{\mathcal{C}} and let λ[1:𝖽(𝒞)]{\lambda}\in{\left[{1:{\mathsf{d}}({\mathcal{C}})}\right]}. Then

Γλ(𝒞)=min{Δ+:H𝐞2𝒮for all 𝐞Δ(n,λ)}.\Gamma_{\lambda}({\mathcal{C}})=\min\bigl{\{}\Delta\in\mathbb{R}^{+}:\,H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\notin 2{\mathcal{S}}\;\;\textrm{for all ${\mathbf{e}}\in{\mathcal{B}}_{\Delta}(n,{\lambda})$}\bigr{\}}. (7)
Proof:

We first show that ΔΓλ(𝒞)\Delta^{*}\triangleq\Gamma_{\lambda}({\mathcal{C}}) is contained in the minimand set in (7). Assume to the contrary that there is a vector 𝐞Δ(n,λ){\mathbf{e}}\in{\mathcal{B}}_{\Delta^{*}}(n,{\lambda}) such that H𝐞2𝒮H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\in 2{\mathcal{S}}, namely, H𝐞=H𝜺H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}=H\boldsymbol{\varepsilon}^{\top\scriptscriptstyle{\!}} for some 𝜺𝒬(n,2)\boldsymbol{\varepsilon}\in{\mathcal{Q}}(n,2). Then 𝐞𝜺𝒞{\mathbf{e}}-\boldsymbol{\varepsilon}\in{\mathcal{C}} and, so,

𝗁λ(𝒞)𝗁λ(𝐞𝜺)𝐞22>Δ22.{\mathsf{h}}_{\lambda}({\mathcal{C}})\geqslant{\mathsf{h}}_{\lambda}({\mathbf{e}}-\boldsymbol{\varepsilon})\geqslant\frac{\lVert{\mathbf{e}}\rVert_{\infty}-2}{2}>\frac{\Delta^{*}-2}{2}.

This, in turn, implies

Γλ(𝒞)=(3)2𝗁λ(𝒞)+2>Δ,\Gamma_{\lambda}({\mathcal{C}})\stackrel{{\scriptstyle\textrm{\scriptsize\eqref{eq:defGamma}}}}{{=}}2\,{\mathsf{h}}_{\lambda}({\mathcal{C}})+2>\Delta^{*},

which is a contradiction.

We next show that Γλ(𝒞)\Gamma_{\lambda}({\mathcal{C}}) is indeed the minimum of the set in (7). Assuming to the contrary that this set contains some Δ<Γλ(𝒞)\Delta<\Gamma_{\lambda}({\mathcal{C}}), there is a nonzero codeword 𝐜𝒞{\mathbf{c}}\in{\mathcal{C}} such that

𝗁λ(𝐜)>Δ22.{\mathsf{h}}_{\lambda}({\mathbf{c}})>\frac{\Delta-2}{2}.

Without loss of generality we can assume that

c0|c1||c2||cn1|,c_{0}\geqslant\lvert c_{1}\rvert\geqslant\lvert c_{2}\rvert\geqslant\cdots\geqslant\lvert c_{n-1}\rvert,

where |cλ|=2\lvert c_{\lambda}\rvert=2 and (thus) c0>Δ2c_{0}>\Delta-2. Define the vectors 𝐞,𝜺n{\mathbf{e}},\boldsymbol{\varepsilon}\in\mathbb{R}^{n} as follows:

𝐞=(c0+2c1c2cλ1000),𝜺=(2000cλcλ+1cn1).\begin{array}[]{ccc@{\!\;}ccccccccc@{\!\;}cc}{\mathbf{e}}&=&(&c_{0}{+}2&c_{1}&c_{2}&\ldots&c_{{\lambda}-1}&0&0&\ldots&0&)&,\\ \boldsymbol{\varepsilon}&=&(&-2&0&0&\ldots&0&c_{\lambda}&c_{{\lambda}+1}&\ldots&c_{n-1}&)&.\end{array}

Then 𝐜=𝐞+𝜺{\mathbf{c}}={\mathbf{e}}+\boldsymbol{\varepsilon} and 𝜺𝒬(n,2)\boldsymbol{\varepsilon}\in{\mathcal{Q}}(n,2), namely, H𝐞=H𝜺2𝒮H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}=-H\boldsymbol{\varepsilon}^{\top\scriptscriptstyle{\!}}\in 2{\mathcal{S}}. On the other hand 𝐞Δ(n,λ){\mathbf{e}}\in{\mathcal{B}}_{\Delta}(n,{\lambda}), which means that Δ\Delta is not in the minimand in (7), thereby reaching a contradiction.

Propositions 9 and 8 in [19] are special cases of Proposition 2 for λ=1{\lambda}=1 and λ=2{\lambda}=2, respectively. Proposition 2 holds (vacuously) also when λ𝖽(𝒞){\lambda}\geqslant{\mathsf{d}}({\mathcal{C}}): in this case the minimand in (7) is empty (since 𝒞{\mathcal{C}} contains nonzero codewords in (n,λ){\mathcal{B}}(n,{\lambda}) with arbitrary infinity norms), while Γλ(𝒞)=\Gamma_{\lambda}({\mathcal{C}})=\infty (from (2)).

We end this subsection by mentioning two of the constructions for λ=2{\lambda}=2 that were presented in [19].

Theorem 3 ([19, Proposition 6]).

Let HH be an r×nr\times n matrix over {1,0,1}\{-1,0,1\} which satisfies the following three conditions:

  1. 1.

    all columns of HH are distinct,

  2. 2.

    each column in HH contains exactly two nonzero entries, the first of which being a 11, and

  3. 3.

    each row has Hamming weight 2n/r\lfloor 2n/r\rfloor or 2n/r\lceil 2n/r\rceil.

(In particular, these conditions require that nr(r1)n\leqslant r(r-1).) The linear [n,knr][n,k{\geqslant}n{-}r] code 𝒞{\mathcal{C}} over \mathbb{R} with a parity-check matrix HH satisfies Γ2(𝒞)22n/r\Gamma_{2}({\mathcal{C}})\leqslant 2\cdot\lceil 2n/r\rceil.

When rr is even, the inequality nr(r1)n\leqslant r(r{-}1) is also sufficient for having a matrix HH that satisfies the conditions of the theorem [12].

A second construction is presented in [19] that is based on spherical codes. The construction will be recapped in Section III, and the next theorem summarizes its properties.

Theorem 4 ([20, Proposition 5]).

There exists a linear [n,k=nr][n,k{=}n{-}r] code 𝒞{\mathcal{C}} over \mathbb{R} with Γ2(𝒞)=O(n/r)\Gamma_{2}({\mathcal{C}})=O(n/\sqrt{r}), whenever r/lognr/\log n is bounded away from (above) 11.

II-B Disjunct matrices

Let n,r+n,r\in\mathbb{Z}^{+} and let D[n]D\in{\left[{n}\right]}. An r×nr\times n matrix H=(Hi,j)H=(H_{i,j}) over {0,1}\{0,1\} is called DD-disjunct if the union of the supports of any DD columns of HH does not contain the support of any other column. In other words, for any column index j[n]j\in{\left[{n}\right]} and a subset 𝒥[n]{j}{\mathcal{J}}\subseteq{\left[{n}\right]}\setminus\{j\} of DD additional column indexes there is a row index i[r]i\in{\left[{r}\right]} such that Hi,j=1H_{i,j}=1 while Hi,j=0H_{i,j^{\prime}}=0 for all j𝒥j^{\prime}\in{\mathcal{J}}. (Equivalently, every r×(D+1)r\times(D+1) submatrix of HH contains D+1D+1 rows that form the identity matrix.)

A (D,ρ)(D,\rho)-disjunct matrix is a DD-disjunct matrix whose rows all have weights bounded from above by ρ+\rho\in\mathbb{Z}^{+}.

Disjunct matrices play a crucial role in the area of group testing, which studies how to identify a set of at most DD positive items from a batch of nn total items. The basic strategy of group testing is to group the items into several tests, i.e., some subsets of items. In each test, a positive outcome indicates that at least one of the items included in this test is positive and a negative outcome indicates that all items included are negative. A disjunct matrix HH describes a nonadaptive group testing scheme: we use the tests to index the rows and use items to index the columns. Then the iith test contains the jjth item if and only if Hi,j=1H_{i,j}=1. It is not very difficult to see that the DD-disjunct property ensures that this testing scheme can identify all the positive items as long as their number is at most DD.

The first explicit construction of disjunct matrices was proposed by Kautz and Singleton [13]. Their construction uses a Reed–Solomon (RS) outer code concatenated with binary unit vectors and requires r=O(D2logD2n)r=O(D^{2}\log_{D}^{2}n) tests, which matches the best known lower bound, Ω(D2logDn)\Omega(D^{2}\log_{D}n), in [7],[8] when D=Θ(nα)D=\Theta(n^{\alpha}) for some fixed α(0,1)\alpha\in(0,1). Subsequently, Porat and Rothschild [17] proposed another explicit construction, which is similar to the Kautz–Singleton construction but uses a code meeting the Gilbert–Varshamov (G–V) bound as the outer code. Their construction achieves r=O(D2logn)r=O(D^{2}\log n) and outperforms the Kautz–Singleton construction in the regime where D=O(poly(logn))D=O({\mathrm{poly}}(\log n)).

More recently, motivated by practical applications in group testing and wireless communication, Inan et al. investigated disjunct matrices with constraints on either the maximal row weight (i.e, (D,ρ)(D,\rho)-disjunct matrices) or the maximal column weight [11]. In the context of this paper, we focus on (D,ρ)(D,\rho)-disjunct matrices and demonstrate in Section IV that (D,ρ)(D,\rho)-disjunct matrices can be used to construct analog error-correcting codes.

Inan et al. first examined the Kautz–Singleton construction and the Porat–Rothschild construction and computed the maximum row weight ρ\rho of the corresponding disjunct matrices.

Theorem 5 ([11, Theorems 2 and 3]).

The Kautz–Singleton construction yields a (D,ρ)(D,\rho)-disjunct r×nr\times n matrix with constant row weight ρ=n/r\rho=n/\sqrt{r} and

r=O((Dlognlog(Dlogn))2).r=O\left\lparen\left\lparen\frac{D\log n}{\log(D\log n)}\right\rparen^{2}\right\rparen.

The Porat–Rothschild construction yields a (D,ρ)(D,\rho)-disjunct r×nr\times n matrix where ρ=Ω(n/D)\rho=\Omega(n/D) and r=O(D2logn)r=O(D^{2}\log n).

In the Porat–Rothschild construction, the number of rows, r=O(D2logn)r=O(D^{2}\log n), meets the lower bound Ω(D2logDn)\Omega(D^{2}\log_{D}n) when DD is fixed. The following result shows that in a (D,ρ)(D,\rho)-disjunct matrix with r=O(logn)r=O(\log n) rows one must have ρ=Θ(n)\rho=\Theta(n); so, in a regime where DD is fixed, both rr and ρ\rho in the Porat–Rothschild construction meet their respective lower bounds.

Lemma 6.

Let HH be a (D,ρ)(D,\rho)-disjunct r×nr\times n matrix, where ralognr\leqslant a\log n for some fixed aa. Then ρ=Θ(n)\rho=\Theta(n).

Proof:

Since HH is DD-disjunct, it cannot contain two identical columns and, so, a1a\geqslant 1. Let α(0,1/2)\alpha\in\left\lparen 0,1/2\right\rparen be such that h(α)=1/(2a)h(\alpha)=1/(2a), where h()h(\cdot) is the binary entropy function. Then

i=0αr(ri)2rh(α)n.\sum_{i=0}^{\lfloor\alpha r\rfloor}\binom{r}{i}\leqslant 2^{rh(\alpha)}\leqslant\sqrt{n}.

Hence, there are at least nnn-\sqrt{n} columns in HH each of which has weight at least αr\alpha r. By counting the number of 11s in HH, we get that

rρ(nn)(αr),r\rho\geqslant(n-\sqrt{n})(\alpha r),

which implies that ρ(nn)α\rho\geqslant(n-\sqrt{n})\alpha.

Inan et al. proved the following generic lower bound on the number of rows of a (D,ρ)(D,\rho)-disjunct matrix.

Theorem 7 ([11, Theorem 8]).

A (D,ρ)(D,\rho)-disjunct r×nr\times n matrix must satisfy

r{(D+1)nρ,if ρ>D+1,n,if ρD+1.r\geqslant\begin{cases}\displaystyle\frac{(D+1)n}{\rho},&\textrm{if $\rho>D+1$,}\\ \;n,&\textrm{if $\rho\leqslant D+1$.}\end{cases}

They also modified the Kautz–Singleton construction by changing the dimension of the outer RS code and obtained the following result.

Theorem 8 ([11, Theorem 8]).

Let +\ell\in\mathbb{Z}^{+}, let qq be a prime power, and set

n=q+1andρ=q=n/(+1).n=q^{\ell+1}\quad\textrm{and}\quad\rho=q^{\ell}=n^{\ell/(\ell+1)}.

Also, let D+D\in\mathbb{Z}^{+} be such that D+1q\ell D+1\leqslant q. The Kautz–Singleton construction yields a (D,ρ)(D,\rho)-disjunct r×nr\times n matrix with constant row weight ρ\rho and

r=(D+1)q=(D+1)nρ.r=(\ell D+1)\cdot q=\frac{(\ell D+1)n}{\rho}.

Substituting =1\ell=1 in Theorem 8 yields a construction for ρ=n\rho=\sqrt{n} with r=(D+1)n/ρr=(D+1)n/\rho, which, in view of Theorem 7, is optimal with respect to rr. In Section V, for any ρn\rho\leqslant\sqrt{n} such that n/ρn/\rho is a prime power, we construct optimal (D,ρ)(D,\rho)-disjunct matrices with number of rows r=(D+1)n/ρr=(D+1)n/\rho.

We end this section with a new lower bound on the number of rows of (D,ρ)(D,\rho)-disjunct matrices; this bound, in turn, will imply that for any (fixed) 2\ell\geqslant 2, the matrices in Theorem 8 are asymptotically optimal when D=o(n1/((+1)))D=o\bigl{(}n^{1/(\ell(\ell+1))}\bigr{)}. We use the following terms (as defined in the proof of Theorem 4 in [11]). In an r×nr\times n binary matrix H=(𝐡j)j[n]H=({\mathbf{h}}_{j})_{j\in{\left[{n}\right]}}, a row i[r]i\in[r] is said to be private for a column j[n]j\in{\left[{n}\right]} if row ii contains a 11 only at column jj. Similarly, a private set for column jj is defined as a subset 𝖲𝗎𝗉𝗉0(𝐡j){\mathcal{R}}\subseteq{\mathsf{Supp}}_{0}({\mathbf{h}}_{j}) such that 𝖲𝗎𝗉𝗉0(𝐡j){\mathcal{R}}\not\subseteq{\mathsf{Supp}}_{0}({\mathbf{h}}_{j^{\prime}}) for any j[n]{j}j^{\prime}\in{\left[{n}\right]}\setminus\{j\}.

Theorem 9.

Let n,,D,ρ+n,\ell,D,\rho\in\mathbb{Z}^{+} be such that ρD+1\rho\geqslant\ell D+1. Any (D,ρ)(D,\rho)-disjunct r×nr\times n matrix must satisfy

rD+1ρ(nmax{(r),(2)}).r\geqslant\frac{\ell D+1}{\rho}\left\lparen n-\max\left\{\binom{r}{\ell},\binom{2\ell}{\ell}\right\}\right\rparen.

In particular, if max{(r),(2)}=o(n)\max\{\binom{r}{\ell},\binom{2\ell}{\ell}\}=o(n), then

r(D+1)nρ(1o(1)).r\geqslant\frac{(\ell D+1)n}{\rho}\cdot(1-o(1)).
Proof:

Let HH be a (D,ρ)(D,\rho)-disjunct r×nr\times n matrix where ρD+1\rho\geqslant\ell D+1. Consider the columns that have weightD{}\leqslant D and denote their number by n1n_{1}. Since HH is DD-disjunct, each of these columns must have a private row; hence, n1rn_{1}\leqslant r. Remove these columns along with the corresponding private rows and let HH^{\prime} be the resulting (rn1)×(nn1)(r-n_{1})\times(n-n_{1}) matrix. Clearly, HH^{\prime} is (D,ρ)(D,\rho)-disjunct and each column in HH^{\prime} has weightD+1{}\geqslant D+1\geqslant\ell.

Next, consider the columns of HH^{\prime} that have weightD{}\leqslant\ell D and denote their number by n2n_{2}. Since HH^{\prime} is DD-disjunct, each of these columns must have a private set of size at most \ell. Note that these private sets cannot be nested. If 2rn12\ell\leq r-n_{1}, it follows from the Lubell–Yamamoto–Meshalkin inequality (see [15]) that n2(rn1)(r)n_{2}\leqslant\binom{r-n_{1}}{\ell}\leqslant\binom{r}{\ell}; if 2>rn12\ell>r-n_{1}, it follows from Sperner’s theorem that n2(rn1(rn1)/2)(2)n_{2}\leqslant\binom{r-n_{1}}{\lfloor(r-n_{1})/2\rfloor}\leqslant\binom{2\ell}{\ell}. Hence, n2max{(r),(2)}n_{2}\leq\max\{\binom{r}{\ell},\binom{2\ell}{\ell}\}. We remove these n2n_{2} columns from HH^{\prime} and count the number of 11s in the resulting matrix in two ways; doing so, we get

(nn1n2)(D+1)(rn1)ρ,(n-n_{1}-n_{2})(\ell D+1)\leqslant(r-n_{1})\rho,

which implies that

rρ\displaystyle r\rho \displaystyle\geqslant (nn2)(D+1)+n1(ρ(D+1))\displaystyle(n-n_{2})(\ell D+1)+n_{1}(\rho-(\ell D+1))
\displaystyle\geqslant (nn2)(D+1)\displaystyle(n-n_{2})(\ell D+1)
\displaystyle\geqslant (nmax{(r),(2)})(D+1).\displaystyle\left\lparen n-{\max\left\{\binom{r}{\ell},\binom{2\ell}{\ell}\right\}}\right\rparen(\ell D+1).

Taking \ell fixed and D=o(n1/((+1)))D=o\bigl{(}n^{1/(\ell(\ell+1))}\bigr{)}, we get r=(D+1)n/(+1)=o(n)r^{\ell}=(\ell D+1)^{\ell}n^{\ell/(\ell+1)}=o(n). Hence, for this parameter range, the construction in Theorem 8 asymptotically attains the lower bound in Theorem 9.

III The Spherical-Code Construction: Locating Multiple Errors

When λ=2{\lambda}=2, the spherical code construction of [19] yields a linear [n,nr][n,n-r] code 𝒞{\mathcal{C}} over \mathbb{R} with redundancy r=Θ(logn)r=\Theta(\log n) and with Γ2(𝒞)=O(n/r)\Gamma_{2}({\mathcal{C}})=O(n/\sqrt{r}). In this section, we use Proposition 2 to analyze the multiple-error-correcting capability of 𝒞{\mathcal{C}}. In particular, we show that for any fixed λ>2{\lambda}>2, we still have Γλ(𝒞)=O(n/r)\Gamma_{\lambda}({\mathcal{C}})=O(n/\sqrt{r}).

We first recap the construction. Let BB be a linear [r,κ,d][r,\kappa,d] code over 𝔽2\mathbb{F}_{2} which satisfies the following two properties:

(B1)

BB contains the all-one codeword, and—

(B2)

𝖽(B)>2{\mathsf{d}}(B^{\perp})>2.

Let n=2κ1n=2^{\kappa-1} and let B0B_{0} be the set of the nn codewords of BB whose first entry is a 0. Let H=H(B)H=H(B) be the r×nr\times n matrix over \mathbb{R} whose columns are obtained from the codewords in B0B_{0} by replacing the 01{0\textrm{--}1} entries by ±1/r\pm 1/\sqrt{r}. The code 𝒞(B){\mathcal{C}}(B) is defined as the [n,knr][n,k{\geqslant}n{-}r] code over \mathbb{R} with the parity-check matrix HH.

Remark 1.

Properties (B1)–(B2) imply that BB has a generator matrix with an all-one row and with columns that are all distinct. This, in turn, requires that κ1+logr\kappa\geqslant 1+\log r. We will in fact assume that the latter inequality is strict (in order to have r<nr<n), in which case d<r/2d<r/2.

Remark 2.

In what follows, we will also use codes BB which—in addition to satisfying properties (B1)–(B2)—attain the G–V bound, i.e.,

κr1h(d/r),\frac{\kappa}{r}\geqslant 1-h(d/r),

where h()h(\cdot) is the binary entropy function. E.g., when rr is a power of 22, the construction of a generator matrix of such a code BB can start with the 1+logr1+\log r rows of the generator matrix of the first-order binary Reed–Muller code (thereby guaranteeing properties (B1)–(B2)), followed by iterations of adding rows that are within distanced{}\geqslant d from the linear span of the already-selected rows. (As shown in [17], this process can be carried out by a deterministic algorithm in time O(2κr)=O(nr)O(2^{\kappa}r)=O(nr).)

The property of 𝖽(B)>2{\mathsf{d}}(B^{\perp})>2 guarantees that any two rows of HH are orthogonal which, in turn, implies that

H𝜺2nr,for every 𝜺𝒬(n,1).\lVert H\boldsymbol{\varepsilon}^{\top\scriptscriptstyle{\!}}\rVert_{2}\leqslant\frac{n}{\sqrt{r}},\quad\textrm{for every $\boldsymbol{\varepsilon}\in{\mathcal{Q}}(n,1)$}.

Equivalently,

𝐬24n2r,for every 𝐬2𝒮,\lVert{\mathbf{s}}\rVert_{2}\leqslant\frac{4n^{2}}{r},\quad\textrm{for every ${\mathbf{s}}\in 2{\mathcal{S}}$}, (8)

where 𝒮=𝒮(H){\mathcal{S}}={\mathcal{S}}(H) and 2𝒮2{\mathcal{S}} are as defined in (4)–(II-A). The minimum Hamming distance of BB and property (B1) jointly imply that for any two distinct columns 𝐡i{\mathbf{h}}_{i} and 𝐡j{\mathbf{h}}_{j} in HH,

|𝐡i𝐡j|=cos(ϕi,j)12dr,\lvert{\mathbf{h}}_{i}^{\top\scriptscriptstyle{\!}}\cdot{\mathbf{h}}_{j}\rvert=\cos(\phi_{i,j})\leqslant 1-\frac{2d}{r}, (9)

where ϕi,j\phi_{i,j} is the angle between 𝐡i{\mathbf{h}}_{i} and 𝐡j{\mathbf{h}}_{j}. Then, using geometric arguments, it is shown in [19] that

Γ2(𝒞(B))n/rminijsin(ϕi,j)nd(1d/r).\Gamma_{2}({\mathcal{C}}(B))\leqslant\frac{n/\sqrt{r}}{\min_{i\neq j}\sin(\phi_{i,j})}\leqslant\frac{n}{\sqrt{d(1-d/r)}}.

As argued in [19], we can now select BB to be a linear [r,κ,d][r,\kappa,d] code over 𝔽2\mathbb{F}_{2} that satisfies properties (B1)–(B2) with both κ/r\kappa/r and d/rd/r bounded away from 0, in which case the code 𝒞(B){\mathcal{C}}(B) has r=Θ(logn)r=\Theta(\log n) and Γ2(𝒞(B))=O(n/r)\Gamma_{2}({\mathcal{C}}(B))=O(n/\sqrt{r}).

Turning now to λ>2{\lambda}>2, we make use of of the following concepts used in the theory of compressed sensing [2],[3],[4],[6]. Let H=(𝐡j)j[n]H=({\mathbf{h}}_{j})_{j\in{\left[{n}\right]}} be an r×nr\times n matrix over \mathbb{R} and let λ[1:n+1]{\lambda}\in{\left[{1:n{+}1}\right]} and γ+\gamma\in\mathbb{R}^{+}. We say that HH satisfies the restricted isometry property (RIP) of order λ{\lambda} with constant γ\gamma, if for every 𝐞(n,λ){\mathbf{e}}\in{\mathcal{B}}(n,{\lambda}),

(1γ)𝐞22H𝐞22(1+γ)𝐞22.(1-\gamma)\lVert{\mathbf{e}}\rVert_{2}^{2}\leqslant\lVert H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\rVert_{2}^{2}\leqslant(1+\gamma)\lVert{\mathbf{e}}\rVert_{2}^{2}.

In what follows we concentrate on matrices whose columns are unit vectors, i.e., 𝐡j2=1\lVert{\mathbf{h}}_{j}\rVert_{2}=1 for all j[n]j\in{\left[{n}\right]}. For such matrices, we define the coherence by

μ(H)maxij|𝐡i𝐡j|.\mu(H)\triangleq\max_{i\neq j}\,\lvert{\mathbf{h}}_{i}^{\top\scriptscriptstyle{\!}}\cdot{\mathbf{h}}_{j}\rvert.
Proposition 10 ([2, Proposition 1]).

Let HH be an r×nr\times n matrix over \mathbb{R} with columns that are unit vectors and with coherence μ=μ(H)\mu=\mu(H), and let λ+{\lambda}\in\mathbb{Z}^{+} be such that λn{\lambda}\leqslant n. Then HH satisfies the RIP of order λ{\lambda} with constant (λ1)μ({\lambda}-1)\mu.

Under the conditions of Proposition 10, for every 𝐞(n,λ){\mathbf{e}}\in{\mathcal{B}}(n,{\lambda}) we then have

H𝐞22(1(λ1)μ)𝐞22.\lVert H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\rVert_{2}^{2}\geqslant(1-({\lambda}-1)\mu)\lVert{\mathbf{e}}\rVert_{2}^{2}. (10)
Theorem 11.

Let BB be a linear [r,κ,d<r/2][r,\kappa,d{<}r/2] code over 𝔽2\mathbb{F}_{2} that satisfies properties (B1)–(B2). Denote

ϑ12dr,\vartheta\triangleq 1-\frac{2d}{r}, (11)

and let λ+{\lambda}\in\mathbb{Z}^{+} be such that λ1/ϑ{\lambda}\leqslant\lceil 1/\vartheta\rceil. Then

Γλ(𝒞(B))2nr(1(λ1)ϑ).\Gamma_{\lambda}({\mathcal{C}}(B))\leqslant\frac{2n}{\sqrt{r(1-({\lambda}-1)\vartheta)}}.

In particular, if BB attains the G–V bound, then

Γλ(𝒞(B))2nr(λ1)2rln(2n),\Gamma_{\lambda}({\mathcal{C}}(B))\leqslant\frac{2n}{\sqrt{r-({\lambda}-1)\sqrt{2\cdot r\cdot\ln\,(2n)}}},

for every λ+{\lambda}\in\mathbb{Z}^{+} for which the denominator under the outer square root is positive.

Proof:

Let H=H(B)H=H(B) be the r×nr\times n parity-check matrix that was used to define 𝒞(B){\mathcal{C}}(B) and let μ=μ(H)\mu=\mu(H). Each column in HH is a unit vector and, so, from (9) we get

μ12dr=(11)ϑ.\mu\leqslant 1-\frac{2d}{r}\stackrel{{\scriptstyle\textrm{\scriptsize\eqref{eq:vartheta}}}}{{=}}\vartheta. (12)

Let

Δ2nr(1(λ1)ϑ),\Delta\triangleq\frac{2n}{\sqrt{r(1-({\lambda}-1)\vartheta)}}, (13)

where the condition λ1/ϑ{\lambda}\leqslant\lceil 1/\vartheta\rceil guarantees that (λ1)ϑ<1({\lambda}-1)\vartheta<1. Also, let 𝐞{\mathbf{e}} be an arbitrary vector in Δ(n,λ){\mathcal{B}}_{\Delta}(n,{\lambda}) (see (6)). For such a vector,

𝐞2𝐞>Δ\lVert{\mathbf{e}}\rVert_{2}\geqslant\lVert{\mathbf{e}}\rVert_{\infty}>\Delta (14)

and, so,

H𝐞22\displaystyle\left\lVert H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\right\rVert_{2}^{2} (10)\displaystyle\stackrel{{\scriptstyle\textrm{\scriptsize\eqref{eq:cohtoRIP}}}}{{\geqslant}} (1(λ1)μ)𝐞22\displaystyle(1-({\lambda}-1)\mu)\lVert{\mathbf{e}}\rVert_{2}^{2} (15)
>(12)+(14)\displaystyle\stackrel{{\scriptstyle\textrm{\scriptsize\eqref{eq:muvartheta}+\eqref{eq:enorm}}}}{{>}} (1(λ1)ϑ)Δ2=(13)4n2r.\displaystyle(1-({\lambda}-1)\vartheta)\Delta^{2}\stackrel{{\scriptstyle\textrm{\scriptsize\eqref{eq:Delta1}}}}{{=}}\frac{4n^{2}}{r}.

It therefore follows from (8) that

H𝐞2𝒮,H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\notin 2{\mathcal{S}},

and by Proposition 2 we thus conclude that Γλ(𝒞(B))Δ\Gamma_{\lambda}({\mathcal{C}}(B))\leqslant\Delta.

If BB attains the G–V bound, then

κr1h(d/r)=1h(1/2(ϑ/2))>ϑ2/c,\frac{\kappa}{r}\geqslant 1-h(d/r)=1-h(1/2-(\vartheta/2))>\vartheta^{2}/c, (16)

where c=2ln2c=2\ln 2. From n=2κ1n=2^{\kappa-1} we then get

log(2n)=κ>rϑ2/c,\log\,(2n)=\kappa>r\cdot\vartheta^{2}/c,

or

ϑ<clog(2n)r=2ln(2n)r.\vartheta<\sqrt{\frac{c\cdot\log\,(2n)}{r}}=\sqrt{\frac{2\cdot\ln\,(2n)}{r}}\;.

Hence, in this case,

Γλ(𝒞(B))Δ\displaystyle\Gamma_{\lambda}({\mathcal{C}}(B))\leqslant\Delta =\displaystyle= 2nr(1(λ1)ϑ)\displaystyle\frac{2n}{\sqrt{r(1-({\lambda}-1)\vartheta)}}
<\displaystyle< 2nr(λ1)2rln(2n).\displaystyle\frac{2n}{\sqrt{r-({\lambda}-1)\sqrt{2\cdot r\cdot\ln\,(2n)}}}\;.

The next lemma (which is proved in the Appendix) presents an alternative to the bound (10) that leads to some improvement on Theorem 11. For ϑ(0,1)\vartheta\in(0,1) and a positive integer λ1/ϑ{\lambda}\leqslant\lceil 1/\vartheta\rceil, we introduce the notation

ηλ(ϑ)11/ϑ+2λ.\eta_{\lambda}(\vartheta)\triangleq\frac{1}{1/\vartheta+2-{\lambda}}.
Remark 3.

In the range 1λ1/ϑ1\leqslant{\lambda}\leqslant\lceil 1/\vartheta\rceil we have ηλ(ϑ)<1\eta_{\lambda}(\vartheta)<1. Also, it is easy to verify by differentiation that in that range of ϑ\vartheta (when λ{\lambda} is assumed to be fixed), the mapping ϑ(1+ϑ)(1ηλ(ϑ))\vartheta\mapsto(1+\vartheta)\left\lparen 1-\eta_{\lambda}(\vartheta)\right\rparen is non-increasing.

Lemma 12.

Let HH be an r×nr\times n matrix over \mathbb{R} with columns that are unit vectors and with coherence μ=μ(H)\mu=\mu(H), and let λ+{\lambda}\in\mathbb{Z}^{+} be such that λmin{1/μ,n}{\lambda}\leqslant\min\left\{\lceil 1/\mu\rceil,n\right\}. Then for every 𝐞(n,λ){\mathbf{e}}\in{\mathcal{B}}(n,{\lambda}),

H𝐞22(1+μ)(1ηλ(μ))𝐞2.\lVert H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\rVert_{2}^{2}\geqslant(1+\mu)\left\lparen 1-\eta_{\lambda}(\mu)\right\rparen\lVert{\mathbf{e}}\rVert_{\infty}^{2}.
Theorem 13.

Under the conditions of Theorem 11,

Γλ(𝒞(B))2nr(1+ϑ)(1ηλ(ϑ)).\Gamma_{\lambda}({\mathcal{C}}(B))\leqslant\frac{2n}{\sqrt{r\cdot(1+\vartheta)(1-\eta_{\lambda}(\vartheta))}}\;.
Proof:

Let

Δ2nr(1+ϑ)(1ηλ(ϑ)).\Delta\triangleq\frac{2n}{\sqrt{r\cdot(1+\vartheta)(1-\eta_{\lambda}(\vartheta))}}\;. (17)

Referring to the proof of Theorem 11, by applying Lemma 12 we can replace (15) by

H𝐞22\displaystyle\left\lVert H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\right\rVert_{2}^{2} \displaystyle\geqslant (1+μ)(1ηλ(μ))𝐞2\displaystyle(1+\mu)\left\lparen 1-\eta_{\lambda}(\mu)\right\rparen\lVert{\mathbf{e}}\rVert_{\infty}^{2}
>(12)+(14)+Remark 3\displaystyle\!\!\!\!\stackrel{{\scriptstyle\textrm{\scriptsize\eqref{eq:muvartheta}+\eqref{eq:enorm}+Remark~{}\ref{rem:RIP-alt}}}}{{>}}\!\!\!\! (1+ϑ)(1ηλ(ϑ))Δ2=(17)4n2r.\displaystyle(1+\vartheta)\left\lparen 1-\eta_{\lambda}(\vartheta)\right\rparen\Delta^{2}\stackrel{{\scriptstyle\textrm{\scriptsize\eqref{eq:Delta2}}}}{{=}}\frac{4n^{2}}{r}.

And as in that proof, we then conclude that Γλ(𝒞(B))Δ\Gamma_{\lambda}({\mathcal{C}}(B))\leqslant\Delta.

When 1<λ<1+1/ϑ1<{\lambda}<1+1/\vartheta, we have

1ϑ(λ1)<(1+ϑ)(1ηλ(ϑ))1-\vartheta({\lambda}-1)<(1+\vartheta)(1-\eta_{\lambda}(\vartheta))

and so, Theorem 13 is stronger than Theorem 11. The improvement of Theorem 13 is seen best when λ{\lambda} is close to 1/ϑ\lceil 1/\vartheta\rceil.111This means that given nn and rr, we select λ{\lambda} to be close to the largest possible and analyze which values of Γλ(𝒞(B))\Gamma_{\lambda}({\mathcal{C}}(B)) can then be attained. For example, when λ=1/ϑ{\lambda}=1/\vartheta, Theorem 11 yields the upper bound

Γλ(𝒞(B))λ2nr,\Gamma_{\lambda}({\mathcal{C}}(B))\leqslant\sqrt{{\lambda}}\cdot\frac{2n}{\sqrt{r}},

while from Theorem 13 we get:

Γλ(𝒞(B))2λλ+12nr<8nr.\Gamma_{\lambda}({\mathcal{C}}(B))\leqslant\sqrt{\frac{2{\lambda}}{{\lambda}+1}}\cdot\frac{2n}{\sqrt{r}}<\sqrt{8}\cdot\frac{n}{\sqrt{r}}. (18)

In fact, (18) is the bound we get in Theorem 11 when we reduce λ{\lambda} (by almost half) to 1/(2ϑ)+11/(2\vartheta)+1 while, for this λ{\lambda}, Theorem 13 yields

Γλ(𝒞(B))2λ2λ12nr.\Gamma_{\lambda}({\mathcal{C}}(B))\leqslant\sqrt{\frac{2{\lambda}}{2{\lambda}-1}}\cdot\frac{2n}{\sqrt{r}}.

When λ1/ϑ{\lambda}\ll 1/\vartheta, the upper bounds in both theorems approach 2n/r2n/\sqrt{r}.

Corollary 14.

For any n,λ+n,{\lambda}\in\mathbb{Z}^{+} there exists a linear [n,knr][n,k{\geqslant}n{-}r] code 𝒞{\mathcal{C}} over \mathbb{R} with

r=2λ2ln(2n)r=2{\lambda}^{2}\lceil\ln\,(2n)\rceil

and

Γλ(𝒞)<8nr2nλln(2n).\Gamma_{\lambda}({\mathcal{C}})<\sqrt{8}\cdot\frac{n}{\sqrt{r}}\leqslant\frac{2n}{{\lambda}\sqrt{\ln\,(2n)}}.
Proof:

Write ϑ=1/λ\vartheta=1/{\lambda} and let BB be a linear [r,κ,d][r,\kappa,d] code over 𝔽2\mathbb{F}_{2} that satisfies properties (B1)–(B2) with parameters

r=2λ2ln(2n)andd=λ(λ1)ln(2n),r=2{\lambda}^{2}\lceil\ln\,(2n)\rceil\quad\textrm{and}\quad d={\lambda}({\lambda}-1)\lceil\ln\,(2n)\rceil,

in which case

ϑ12dr=1λ.\vartheta\triangleq 1-\frac{2d}{r}=\frac{1}{{\lambda}}.

Indeed, by the G–V bound (16), such a code exists with dimension

κ>rϑ22ln2log(2n)\kappa>\frac{r\cdot\vartheta^{2}}{2\ln 2}\geqslant\log\,(2n)

and, so, the respective code 𝒞(B){\mathcal{C}}(B) has length 2κ1>n2^{\kappa-1}>n and can be shortened to form a linear [n,knr][n,k{\geqslant}n{-}r] code 𝒞{\mathcal{C}} over \mathbb{R}. Finally, since λ=1/ϑ{\lambda}=1/\vartheta, we get from (18) that Γλ(𝒞)Γλ(𝒞(B))<8n/r\Gamma_{\lambda}({\mathcal{C}})\leqslant\Gamma_{\lambda}({\mathcal{C}}(B))<\sqrt{8}\cdot n/\sqrt{r}.

Remark 4.

The last corollary is non-vacuous when λ=O(n/logn){\lambda}=O\bigl{(}\sqrt{n/\log n}\bigr{)} (otherwise we have r>nr>n). When λ=2{\lambda}=2, the corollary coincides with Theorem 4.

Remark 5.

In Corollary 14, we can make rr grow more slowly with λ{\lambda} at the expense of a faster growth with logn\log n, while keeping the same upper bound Γλ(𝒞)8n/r\Gamma_{\lambda}({\mathcal{C}})\leqslant\sqrt{8}\cdot n/\sqrt{r}. Specifically, in the proof, we take BB to be the dual of an extended binary BCH primitive code [16, p. 280], or as a concatenation of a RS outer code with the first-order binary Reed–Muller code. In both cases we have, for a parameter t+t\in\mathbb{Z}^{+},

ϑ=12dr=O(tr)andκ=Θ(tlogr),\vartheta=1-\frac{2d}{r}=O\left\lparen\frac{t}{\sqrt{r}}\right\rparen\quad\textrm{and}\quad\kappa=\Theta(t\log r),

i.e.,

ϑ=O(κrlogr).\vartheta=O\left\lparen\frac{\kappa}{\sqrt{r}\cdot\log r}\right\rparen.

Substituting κ=log(2n)\kappa=\lceil\log\,(2n)\rceil and ϑ=1/λ\vartheta=1/{\lambda} then yields

rlog2r=O(λ2log2n),r\log^{2}r=O\left\lparen{\lambda}^{2}\log^{2}n\right\rparen,

which is non-vacuous when λ=O(n){\lambda}=O(\sqrt{n}).

IV Code Construction Based on Disjunct Matrices

In this section, we study the relationship between analog error-correcting codes and disjunct matrices. Specifically, we consider linear codes over \mathbb{R} with parity-check matrices that are (D,ρ)(D,\rho)-disjunct: we first study their properties (Theorem 15) and then propose decoding algorithms for these codes.

Theorem 15.

Let HH be a (λ1,ρ)({\lambda}{-}1,\rho)-disjunct r×nr\times n matrix, for some λ,ρ[1:n+1]{\lambda},\rho\in{\left[{1:n{+}1}\right]}, and let 𝒞{\mathcal{C}} be the linear [n,knr][n,k{\geqslant}n{-}r] code over \mathbb{R} that has HH as a parity-check matrix. Then

Γλ(𝒞)2ρ.\Gamma_{\lambda}({\mathcal{C}})\leqslant 2\rho.
Proof:

We show that Δ=2ρ\Delta=2\rho is contained in the minimand set in (7); the result will then follow from Proposition 2. Given any vector 𝐞=(ej)j[n]Δ(n,λ){\mathbf{e}}=(e_{j})_{j\in{\left[{n}\right]}}\in{\mathcal{B}}_{\Delta}(n,{\lambda}), write 𝒥=𝖲𝗎𝗉𝗉0(𝐞){\mathcal{J}}={\mathsf{Supp}}_{0}({\mathbf{e}}) and let t𝒥t\in{\mathcal{J}} be a position at which |et|>Δ\lvert e_{t}\rvert>\Delta. Since HH is (λ1)({\lambda}{-}1)-disjunct and |𝒥|λ\lvert{\mathcal{J}}\rvert\leqslant{\lambda}, there is a row index i[r]i\in{\left[{r}\right]} such that (Hi)𝒥(H_{i})_{\mathcal{J}} contains a 11 only at position tt. Therefore,

|Hi𝐞|=|et|>Δ=2ρ.\left\lvert H_{i}{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\right\rvert=\lvert e_{t}\rvert>\Delta=2\rho. (19)

On the other hand, since 𝗐(Hi)ρ{\mathsf{w}}(H_{i})\leqslant\rho, for every 𝜺𝒬(n,2)\boldsymbol{\varepsilon}\in{\mathcal{Q}}(n,2) we have |Hi𝜺|2ρ\lvert H_{i}\boldsymbol{\varepsilon}^{\top\scriptscriptstyle{\!}}\rvert\leqslant 2\rho, namely,

|si|2ρ,for every 𝐬=(sv)v[r]2𝒮.\lvert s_{i}\rvert\leqslant 2\rho,\quad\textrm{for every ${\mathbf{s}}=(s_{v})_{v\in{\left[{r}\right]}}\in 2{\mathcal{S}}$}. (20)

By (19) and (20) we get that H𝐞2𝒮H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\notin 2{\mathcal{S}}, thus establishing that Δ=2ρ\Delta=2\rho is contained in the minimand in (7).

Combining Theorem 15 with Theorem 8, we obtain the following result.

Corollary 16.

Let +\ell\in\mathbb{Z}^{+}, let qq be a prime power, and set n=q+1n=q^{\ell+1}. Then for any positive integer λq/{\lambda}\leqslant\lceil q/\ell\rceil there is an explicit construction of a linear [n,knr][n,k{\geqslant}n{-}r] code 𝒞{\mathcal{C}} over \mathbb{R} such that

r=(λ+1)qr=(\ell{\lambda}-\ell+1)q

and

Γλ(𝒞)2q=2(λ+1)nr.\Gamma_{\lambda}({\mathcal{C}})\leqslant 2q^{\ell}=\frac{2(\ell{\lambda}-\ell+1)n}{r}.

In particular, by taking =1\ell=1, for any λn{\lambda}\leqslant\sqrt{n} one can obtain a linear code 𝒞{\mathcal{C}} with

r=λnandΓλ(𝒞)2n=2λnr.r={\lambda}\sqrt{n}\quad\textrm{and}\quad\Gamma_{\lambda}({\mathcal{C}})\leqslant 2\sqrt{n}=\frac{2{\lambda}n}{r}.

It is worth noting that when λ=2{\lambda}=2, the bound Γ2(𝒞)4n/r\Gamma_{2}({\mathcal{C}})\leqslant 4n/r coincides with the one in Theorem 3 (although rr in that theorem can take multiple values, including values that are smaller than 2n2\sqrt{n}). We also note that in Corollary 16, we have r=Θ(λnα)r=\Theta({\lambda}n^{\alpha}) and Γλ(𝒞)=O(λn/r)\Gamma_{\lambda}({\mathcal{C}})=O({\lambda}n/r), for certain (fixed) α(0,1/2]\alpha\in(0,1/2] and infinitely many values of nn. In Section V, we present a construction of disjunct matrices which produce codes with similar dependence of rr and Γλ()\Gamma_{\lambda}(\cdot) on nn and λ{\lambda}, yet for α[1/2,1)\alpha\in[1/2,1).

Next, we compare the construction of Corollary 14 with the case =1\ell=1 in Corollary 16 (as this case yields the slowest growth of rr with nn). For the former we have Γλ(𝒞)8n/r\Gamma_{\lambda}({\mathcal{C}})\leqslant\sqrt{8}\cdot n/\sqrt{r}, while for the latter Γλ(𝒞)=n\Gamma_{\lambda}({\mathcal{C}})=\sqrt{n}, which is smaller since r<nr<n. Yet the construction of Corollary 16 requires r=λnr={\lambda}\sqrt{n}, which can match the redundancy, 2λ2ln(2n)2{\lambda}^{2}\lceil\ln\,(2n)\rceil, in Corollary 14 only when

λ=Ω(n/logn){\lambda}=\Omega\left\lparen{\sqrt{n}}/{\log n}\right\rparen

(still, by Remark 4, this range partially overlaps with the range of λ{\lambda} for which the codes in Corollary 14 are realizable).

Remark 6.

The construction of Theorem 15, when applied with the Porat–Rothschild disjunct matrices in Theorem 5, yields r=O(λ2logn)r=O({\lambda}^{2}\log n) (i.e., a similar guarantee to that in Corollary 14) yet with Γλ(𝒞)=Ω(n/λ)\Gamma_{\lambda}({\mathcal{C}})=\Omega(n/{\lambda}), which is Ω(logn)\Omega(\sqrt{\log n}) times larger than the respective value in Corollary 14.

In the remainder of this section, we present decoders for linear codes with parity-check matrices that are (λ1,ρ)({\lambda}{-}1,\rho)-disjunct. In Subsection IV-A we present a decoder for the generic case, yet its complexity is O(rλnλ)O(r{\lambda}n^{\lambda}), i.e., polynomial only when λ{\lambda} is fixed. A much more efficient algorithm is presented in Subsection IV-B, yet under the additional assumption that the column weights in the parity-check matrix are also constrained.

IV-A Decoder for the generic disjunct construction

Our first decoder, denoted by 𝒟¯\overline{{\mathcal{D}}}, is presented in Algorithm 1.

\triangleright H=(Hi,j)H=(H_{i,j}) is a (λ1,ρ)({\lambda}{-}1,\rho)-disjunct r×nr\times n matrix
\triangleright τ,σ0\tau,\sigma\in\mathbb{Z}_{\geqslant 0} are such that 2τ+σ=λ2\tau+\sigma={\lambda}
Input: vector 𝐲n{\mathbf{y}}\in\mathbb{R}^{n}
Output: subset 𝒟¯(𝐲)[n]\overline{{\mathcal{D}}}({\mathbf{y}})\subseteq{\left[{n}\right]}
Set Λ={(𝒯,𝒥):𝒯𝒥[n]and|𝒥|τ+σ}\Lambda=\{({\mathcal{T}},{\mathcal{J}})\,:\,\varnothing\neq{\mathcal{T}}\subseteq{\mathcal{J}}\subseteq{\left[{n}\right]}\;\textrm{and}\;\lvert{\mathcal{J}}\rvert\leqslant\tau+\sigma\}
For each (𝒯,𝒥)Λ({\mathcal{T}},{\mathcal{J}})\in\Lambda, let
(𝒯,𝒥)={i[r]:𝗐((Hi)𝒯)=𝗐((Hi)𝒥)=1}{\mathcal{R}}({\mathcal{T}},{\mathcal{J}})=\left\{i\in[r]\,:\,{\mathsf{w}}((H_{i})_{\mathcal{T}})={\mathsf{w}}((H_{i})_{\mathcal{J}})=1\right\}
𝒟¯(𝐲)\overline{{\mathcal{D}}}({\mathbf{y}})\leftarrow\varnothing
𝐬=(si)i[r]H𝐲{\mathbf{s}}=(s_{i})_{i\in{\left[{r}\right]}}\leftarrow H{\mathbf{y}}^{\top\scriptscriptstyle{\!}}
while (𝒯,𝒥)Λ\exists({\mathcal{T}},{\mathcal{J}})\in\Lambda s.t. |si|>ρ\lvert s_{i}\rvert>\rho for all i(𝒯,𝒥)i\in{\mathcal{R}}({\mathcal{T}},{\mathcal{J}}) do
     𝒟¯(𝐲)𝒟¯(𝐲)𝒯\overline{{\mathcal{D}}}({\mathbf{y}})\leftarrow\overline{{\mathcal{D}}}({\mathbf{y}})\cup{\mathcal{T}}
     ΛΛ{(𝒯,𝒥)}\Lambda\leftarrow\Lambda\setminus\{({\mathcal{T}},{\mathcal{J}})\}
end while
return 𝒟¯(𝐲)\overline{{\mathcal{D}}}({\mathbf{y}})
Algorithm 1 Decoder 𝒟¯\overline{{\mathcal{D}}} for codes from disjunct matrices
Theorem 17.

Let 𝒞{\mathcal{C}} be a code as in Theorem 15. Then the mapping 𝒟¯:n2[n]\overline{{\mathcal{D}}}:\mathbb{R}^{n}\rightarrow 2^{{\left[{n}\right]}} that is defined by Algorithm 1 is a (τ,σ)(\tau,\sigma)-decoder for (𝒞,2ρ:1)({\mathcal{C}},2\rho:1).

Proof:

Assume a received (read) vector

𝐲=𝐜+𝐞+𝜺,{\mathbf{y}}={\mathbf{c}}+{\mathbf{e}}+\boldsymbol{\varepsilon},

where 𝐜𝒞{\mathbf{c}}\in{\mathcal{C}}, 𝜺𝒬(n,1)\boldsymbol{\varepsilon}\in{\mathcal{Q}}(n,1), and 𝐞(n,τ+σ){\mathbf{e}}\in{\mathcal{B}}(n,\tau+\sigma).

We first show that

𝖲𝗎𝗉𝗉2ρ(𝐞)𝒟¯(𝐲).{\mathsf{Supp}}_{2\rho}({\mathbf{e}})\subseteq\overline{{\mathcal{D}}}({\mathbf{y}}). (21)

Take 𝒯=𝖲𝗎𝗉𝗉2ρ(𝐞){\mathcal{T}}={\mathsf{Supp}}_{2\rho}({\mathbf{e}}) and 𝒥=𝖲𝗎𝗉𝗉0(𝐞){\mathcal{J}}={\mathsf{Supp}}_{0}({\mathbf{e}}). Then for every i(𝒯,𝒥)i\in{\mathcal{R}}({\mathcal{T}},{\mathcal{J}}), since 𝗐((Hi)𝒯)=1{\mathsf{w}}((H_{i})_{\mathcal{T}})=1 and (Hi)𝒥𝒯=𝟎(H_{i})_{{\mathcal{J}}\setminus{\mathcal{T}}}={\mathbf{0}}, we have

|si|=|Hi𝐞+Hi𝜺||Hi𝐞|>2ρ|Hi𝜺|ρ>2ρρ=ρ.\lvert s_{i}\rvert=\lvert H_{i}{\mathbf{e}}^{\top\scriptscriptstyle{\!}}+H_{i}\boldsymbol{\varepsilon}^{\top\scriptscriptstyle{\!}}\rvert\geqslant{\underbrace{\lvert H_{i}{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\rvert}_{{}>2\rho}}-\underbrace{\lvert H_{i}\boldsymbol{\varepsilon}^{\top\scriptscriptstyle{\!}}\rvert}_{{}\leqslant\rho}>2\rho-\rho=\rho. (22)

Hence, (𝒯,𝒥)({\mathcal{T}},{\mathcal{J}}) passes the check in the while loop and, so, the set 𝒯{\mathcal{T}} is joined into 𝒟¯(𝐲)\overline{{\mathcal{D}}}({\mathbf{y}}), thereby establishing (21).

Next, we assume that 𝗐(𝐞)τ{\mathsf{w}}({\mathbf{e}})\leqslant\tau and show that

𝒟¯(𝐲)𝖲𝗎𝗉𝗉0(𝐞).\overline{{\mathcal{D}}}({\mathbf{y}})\subseteq{\mathsf{Supp}}_{0}({\mathbf{e}}). (23)

Write 𝒦=𝖲𝗎𝗉𝗉0(𝐞){\mathcal{K}}={\mathsf{Supp}}_{0}({\mathbf{e}}); then |𝒦|τ\lvert{\mathcal{K}}\rvert\leqslant\tau. Let (𝒯,𝒥)({\mathcal{T}},{\mathcal{J}}) be a pair in Λ\Lambda that passes the check in the while loop, i.e., |si|>ρ\lvert s_{i}\rvert>\rho for all i(𝒯,𝒥)i\in{\mathcal{R}}({\mathcal{T}},{\mathcal{J}}). We claim that 𝒯𝒦{\mathcal{T}}\subseteq{\mathcal{K}}. Otherwise, take a t𝒯𝒦t\in{\mathcal{T}}\setminus{\mathcal{K}}. Since HH is (λ1)({\lambda}{-}1)-disjunct and

|𝒥𝒦||𝒥|+|𝒦|(τ+σ)+τ=λ,\lvert{\mathcal{J}}\cup{\mathcal{K}}\rvert\leqslant\lvert{\mathcal{J}}\rvert+\lvert{\mathcal{K}}\rvert\leqslant(\tau+\sigma)+\tau={\lambda},

there is a row index i[r]i\in[r] such that Hi,t=1H_{i,t}=1 and Hi,j=0H_{i,j}=0 for all j(𝒥𝒦){t}j\in\left\lparen{\mathcal{J}}\cup{\mathcal{K}}\right\rparen\setminus\{t\}. Then 𝗐((Hi)𝒯)=𝗐((Hi)𝒥)=1{\mathsf{w}}((H_{i})_{\mathcal{T}})={\mathsf{w}}((H_{i})_{\mathcal{J}})=1 and, so, i(𝒯,𝒥)i\in{\mathcal{R}}({\mathcal{T}},{\mathcal{J}}). On the other hand, we also have (Hi)𝒦=𝟎(H_{i})_{\mathcal{K}}={\mathbf{0}}, from which we get

|si|=|Hi𝐞0+Hi𝜺|ρ.\lvert s_{i}\rvert=\lvert{\underbrace{H_{i}{\mathbf{e}}^{\top\scriptscriptstyle{\!}}}_{0}}+H_{i}\boldsymbol{\varepsilon}^{\top\scriptscriptstyle{\!}}\rvert\leqslant\rho.

Yet this means that the pair (𝒯,𝒥)({\mathcal{T}},{\mathcal{J}}) does not pass the check in the while loop, thereby reaching a contradiction. We conclude that when 𝗐(𝐞)τ{\mathsf{w}}({\mathbf{e}})\leqslant\tau, any set 𝒯{\mathcal{T}} that is joined into 𝒟¯(𝐲)\overline{{\mathcal{D}}}({\mathbf{y}}) in the while loop is a subset of 𝒦=𝖲𝗎𝗉𝗉0(𝐞){\mathcal{K}}={\mathsf{Supp}}_{0}({\mathbf{e}}), thus establishing (23).

Eqs. (21) and (23), in turn, imply that the function 𝒟¯\overline{{\mathcal{D}}} in Algorithm 1 satisfies conditions (D2) and (D1), respectively, in the definition of a (τ,σ)(\tau,\sigma)-decoder for (𝒞,2ρ:1)({\mathcal{C}},2\rho:1).

We note that

|Λ|=j=1τ+σ(nj)(2j1)=O(nτ+σ)=O(nλ).\lvert\Lambda\rvert=\sum_{j=1}^{\tau+\sigma}\binom{n}{j}(2^{j}-1)=O(n^{\tau+\sigma})=O(n^{\lambda}).

Given a pair (𝒯,𝒥)Λ({\mathcal{T}},{\mathcal{J}})\in\Lambda, checking the conditions in the while loop of Algorithm 1 can be done in O(rλ)O(r{\lambda}) time.

IV-B Decoder when columns in HH are also weight-constrained

Let 𝒞{\mathcal{C}} be a code as in Theorem 15 and ww be a positive integer. We next present a more efficient (τ,σ)(\tau,\sigma)-decoder for (𝒞,2ρ:1)({\mathcal{C}},2\rho:1) under the following two additional conditions on HH:

(H1)

Every row of HH has weight at least 22.

(H2)

Every column of HH has weight at most ww.

Condition (H1) is not really limiting: the case where HH contains rows of weight 11 is degenerate, as then there are positions on which all the codewords in 𝒞{\mathcal{C}} are identically 0 (and, thus, these coordinates can be ignored, thereby reducing the decoding to a shorter code). In Section V, we present constructions of (D,ρ)(D,\rho)-disjunct matrices that satisfy conditions (H1)–(H2).

We will use the following lemma.

Lemma 18.

Let HH be a (λ1)({\lambda}{-}1)-disjunct r×nr\times n matrix that satisfies condition (H1). Given any nonempty subset 𝒥[n]{\mathcal{J}}\subseteq{\left[{n}\right]} of size |𝒥|λ\lvert{\mathcal{J}}\rvert\leqslant{\lambda}, for every column index j𝒥j\in{\mathcal{J}} there exist at least λ+1|𝒥|{\lambda}+1-\lvert{\mathcal{J}}\rvert nonzero rows in the submatrix (H)𝒥(H)_{\mathcal{J}} that contain a 11 only at column jj.

Proof:

The proof is by backward induction on |𝒥|\lvert{\mathcal{J}}\rvert, with the induction base, |𝒥|=λ\lvert{\mathcal{J}}\rvert={\lambda}, following from the definition of a (λ1)({\lambda}{-}1)-disjunct matrix.

Turning to the induction step, suppose that 0<|𝒥|λ10<\lvert{\mathcal{J}}\rvert\leqslant{\lambda}-1 and let jj be any column index in 𝒥{\mathcal{J}}. By the disjunct property, there exists a row index i[r]i\in{\left[{r}\right]} such that (Hi)𝒥(H_{i})_{\mathcal{J}} contains a 11 only at position jj. By condition (H1), there is at least one index j[n]𝒥j^{\prime}\in{\left[{n}\right]}\setminus{\mathcal{J}} for which Hi,j=1H_{i,j^{\prime}}=1. Letting 𝒥=𝒥{j}{\mathcal{J}}^{\prime}={\mathcal{J}}\cup\{j^{\prime}\}, by the induction hypothesis there are at least λ+1|𝒥|=λ|𝒥|{\lambda}+1-\lvert{\mathcal{J}}^{\prime}\rvert={\lambda}-\lvert{\mathcal{J}}\rvert nonzero rows in (H)𝒥(H)_{{\mathcal{J}}^{\prime}} that contain a 11 only at column jj; clearly, none of these rows is indexed by ii since (Hi)𝒥(H_{i})_{{\mathcal{J}}^{\prime}} contains two 11s. Altogether there are at least λ+1|𝒥|{\lambda}+1-\lvert{\mathcal{J}}\rvert nonzero rows in (H)𝒥(H)_{\mathcal{J}} that contain a 11 only at column jj.

Remark 7.

Applying Lemma 18 with |𝒥|=1\lvert{\mathcal{J}}\rvert=1 implies that the weight of every column in HH must be at least λ{\lambda} (recall that we have used this fact in the proof of Theorem 9). Hence, (λ1)(\lambda{-}1)-disjunct matrices can satisfy conditions (H1) and (H2) only when wλw\geqslant{\lambda}.

Given ρ+\rho\in\mathbb{R}^{+} and a vector 𝐬=(si)i[r]r{\mathbf{s}}=(s_{i})_{i\in{\left[{r}\right]}}\in\mathbb{R}^{r} (such as a syndrome that is computed with respect to HH), we let χρ(𝐬){\mathbf{\chi}}_{\rho}({\mathbf{s}}) be the real row vector (χi)i[r]{0,1}r(\chi_{i})_{i\in{\left[{r}\right]}}\in\{0,1\}^{r} whose entries are given by

χi={0,if |si|ρ,1,otherwise.\chi_{i}=\begin{cases}0,&\textrm{if $\lvert s_{i}\rvert\leqslant\rho$},\\ 1,&\textrm{otherwise}.\\ \end{cases}
Theorem 19.

Let 𝒞{\mathcal{C}} be a code as in Theorem 15 and suppose that HH also satisfies conditions (H1)–(H2). For nonnegative integers τ\tau and σ\sigma such that

2τ+σ2λw(λ),2\tau+\sigma\leqslant 2{\lambda}-w\;(\leqslant{\lambda}), (24)

let 𝒟~:n2[n]\widetilde{{\mathcal{D}}}:\mathbb{R}^{n}\rightarrow 2^{{\left[{n}\right]}} be defined for every 𝐲n{\mathbf{y}}\in\mathbb{R}^{n} by

𝒟~(𝐲)𝖲𝗎𝗉𝗉λτσ(χρ(𝐬)H),\widetilde{{\mathcal{D}}}({\mathbf{y}})\triangleq{\mathsf{Supp}}_{{\lambda}-\tau-\sigma}\left\lparen{\mathbf{\chi}}_{\rho}({\mathbf{s}})H\right\rparen, (25)

where 𝐬=H𝐲{\mathbf{s}}=H{\mathbf{y}}^{\top\scriptscriptstyle{\!}}. Then 𝒟~\widetilde{{\mathcal{D}}} is a (τ,σ)(\tau,\sigma)-decoder for (𝒞,2ρ:1)({\mathcal{C}},2\rho:1).

Proof:

Assume a received (read) vector

𝐲=𝐜+𝐞+𝜺,{\mathbf{y}}={\mathbf{c}}+{\mathbf{e}}+\boldsymbol{\varepsilon},

where 𝐜𝒞{\mathbf{c}}\in{\mathcal{C}}, 𝜺𝒬(n,1)\boldsymbol{\varepsilon}\in{\mathcal{Q}}(n,1), and 𝐞(n,τ+σ){\mathbf{e}}\in{\mathcal{B}}(n,\tau+\sigma).

We first show that

𝖲𝗎𝗉𝗉2ρ(𝐞)𝒟~(𝐲).{\mathsf{Supp}}_{2\rho}({\mathbf{e}})\subseteq\widetilde{{\mathcal{D}}}({\mathbf{y}}). (26)

Take 𝒥=𝖲𝗎𝗉𝗉0(𝐞){\mathcal{J}}={\mathsf{Supp}}_{0}({\mathbf{e}}) and let j𝖲𝗎𝗉𝗉2ρ(𝐞)(𝒥)j\in{\mathsf{Supp}}_{2\rho}({\mathbf{e}})\;(\subseteq{\mathcal{J}}). By Lemma 18 we get that the submatrix (H)𝒥(H)_{\mathcal{J}} contains at least

λ+1|𝒥|λ+1τσ{\lambda}+1-\lvert{\mathcal{J}}\rvert\geqslant{\lambda}+1-\tau-\sigma (27)

rows with a 11 only at column jj. Denoting by {\mathcal{R}} the set of indexes of these rows, for every ii\in{\mathcal{R}}, the respective entry sis_{i} in the syndrome 𝐬{\mathbf{s}} satisfies:

|si|=|Hi𝐞+Hi𝜺||Hi𝐞||Hi𝜺|>ρ\lvert s_{i}\rvert=\lvert H_{i}{\mathbf{e}}^{\top\scriptscriptstyle{\!}}+H_{i}\boldsymbol{\varepsilon}^{\top\scriptscriptstyle{\!}}\rvert\geqslant\lvert H_{i}{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\rvert-\lvert H_{i}\boldsymbol{\varepsilon}^{\top\scriptscriptstyle{\!}}\rvert>\rho

(similarly to (22)). It follows that the respective entry, χi\chi_{i}, in χρ(𝐬){\mathbf{\chi}}_{\rho}({\mathbf{s}}) equals 11 and, so, the supports of χρ(𝐬){\mathbf{\chi}}_{\rho}({\mathbf{s}}) and the column 𝐡j{\mathbf{h}}_{j} in HH overlap on at least ||\lvert{\mathcal{R}}\rvert positions. Hence,

χρ(𝐬)𝐡j||(27)λ+1τσ,{\mathbf{\chi}}_{\rho}({\mathbf{s}})\cdot{\mathbf{h}}_{j}\geqslant\lvert{\mathcal{R}}\rvert\stackrel{{\scriptstyle\textrm{\scriptsize\eqref{eq:overlap1}}}}{{\geqslant}}{\lambda}+1-\tau-\sigma,

i.e., j𝖲𝗎𝗉𝗉λτσ(χρ(𝐬)H)𝒟~(𝐲)j\in{\mathsf{Supp}}_{{\lambda}-\tau-\sigma}\left\lparen{\mathbf{\chi}}_{\rho}({\mathbf{s}})H\right\rparen\triangleq\widetilde{{\mathcal{D}}}({\mathbf{y}}). We conclude that

j𝖲𝗎𝗉𝗉2ρ(𝐞)j𝒟~(𝐲),j\in{\mathsf{Supp}}_{2\rho}({\mathbf{e}})\;\Longrightarrow\;j\in\widetilde{{\mathcal{D}}}({\mathbf{y}}),

thereby establishing (26).

Next, we assume that 𝗐(𝐞)τ{\mathsf{w}}({\mathbf{e}})\leqslant\tau and show that

𝒟~(𝐲)𝖲𝗎𝗉𝗉0(𝐞).\widetilde{{\mathcal{D}}}({\mathbf{y}})\subseteq{\mathsf{Supp}}_{0}({\mathbf{e}}). (28)

Write 𝒦=𝖲𝗎𝗉𝗉0(𝐞){\mathcal{K}}={\mathsf{Supp}}_{0}({\mathbf{e}}) and let j[n]𝒦j\in{\left[{n}\right]}\setminus{\mathcal{K}}. Lemma 18, now applied with 𝒥=𝒦{j}{\mathcal{J}}={\mathcal{K}}\cup\{j\}, implies that the submatrix (H)𝒥(H)_{\mathcal{J}} contains at least

λ+1|𝒥|λτ{\lambda}+1-\lvert{\mathcal{J}}\rvert\geqslant{\lambda}-\tau (29)

rows with a 11 only at column jj. Letting {\mathcal{R}} be the set of indexes of these rows, for every ii\in{\mathcal{R}} we then have (Hi)𝒦=𝟎(H_{i})_{\mathcal{K}}={\mathbf{0}} and, so, the respective entry in the syndrome 𝐬{\mathbf{s}} satisfies:

|si|=|Hi𝐞0+Hi𝜺|ρ,\lvert s_{i}\rvert=\lvert{\underbrace{H_{i}{\mathbf{e}}^{\top\scriptscriptstyle{\!}}}_{0}}+H_{i}\boldsymbol{\varepsilon}^{\top\scriptscriptstyle{\!}}\rvert\leqslant\rho,

namely, χi=0\chi_{i}=0. Hence, the number of positions on which the supports of χρ(𝐬){\mathbf{\chi}}_{\rho}({\mathbf{s}}) and 𝐡j{\mathbf{h}}_{j} overlap is at most

𝗐(𝐡j)||(H2)+(29)w(λτ)(24)λτσ{\mathsf{w}}({\mathbf{h}}_{j})-\lvert{\mathcal{R}}\rvert\stackrel{{\scriptstyle\textrm{\scriptsize(H2)+\eqref{eq:overlap2}}}}{{\leqslant}}w-({\lambda}-\tau)\stackrel{{\scriptstyle\textrm{\scriptsize\eqref{eq:tausigma}}}}{{\leqslant}}{\lambda}-\tau-\sigma

and, so,

(0)χρ(𝐬)𝐡jλτσ,(0\leqslant)\;{\mathbf{\chi}}_{\rho}({\mathbf{s}})\cdot{\mathbf{h}}_{j}\leqslant{\lambda}-\tau-\sigma,

i.e., j𝖲𝗎𝗉𝗉λτσ(χρ(𝐬)H)𝒟~(𝐲)j\notin{\mathsf{Supp}}_{{\lambda}-\tau-\sigma}\left\lparen{\mathbf{\chi}}_{\rho}({\mathbf{s}})H\right\rparen\triangleq\widetilde{{\mathcal{D}}}({\mathbf{y}}). We conclude that when 𝗐(𝐞)τ{\mathsf{w}}({\mathbf{e}})\leqslant\tau,

j𝖲𝗎𝗉𝗉0(𝐞)j𝒟~(𝐲),j\notin{\mathsf{Supp}}_{0}({\mathbf{e}})\;\Longrightarrow\;j\notin\widetilde{{\mathcal{D}}}({\mathbf{y}}),

thereby establishing (28).

Eqs. (26) and (28), in turn, imply that the function 𝐲𝒟~(𝐲){\mathbf{y}}\mapsto\widetilde{{\mathcal{D}}}({\mathbf{y}}) defined in (25) is a (τ,σ)(\tau,\sigma)-decoder for (𝒞,2ρ:1)({\mathcal{C}},2\rho:1).

The decoder (25) is easy to compute: it consists of a multiplication of HH to the right by 𝐲{\mathbf{y}} to obtain the syndrome 𝐬{\mathbf{s}}, and then to the left by a binary vector which is a quantized copy of 𝐬{\mathbf{s}}. Since HH is a 01{0\textrm{--}1} matrix whose rows and columns have limited weights (at most ρ\rho and ww, respectively), the decoding requires less than 2min{rρ,wn}2\min\{r\rho,wn\} real additions.

We note that the condition (24) (which was used in our analysis), is generally stricter than the condition 2τ+σλ2\tau+\sigma\leqslant{\lambda} which, by Theorems 15 and 17, is sufficient for having a (τ,σ)(\tau,\sigma)-decoder for (𝒞,2ρ:1)({\mathcal{C}},2\rho:1). These two conditions coincide when w=λw={\lambda}, and this case is characterized in the next lemma.

Lemma 20.

Let H=(𝐡j)j[n]H=({\mathbf{h}}_{j})_{j\in{\left[{n}\right]}} be a (λ1)({\lambda}{-}1)-disjunct r×nr\times n matrix that satisfies conditions (H1)–(H2) with w=λw={\lambda}. Then the following holds.

M1)

Every column of HH has weight (exactly) λ{\lambda}.

M2)

The supports of every two distinct columns of HH intersect on at most one coordinate.

Equivalently, for every jjj\neq j^{\prime} in [n]{\left[{n}\right]}:

𝐡j2=λand|𝐡j𝐡j|1\lVert{\mathbf{h}}_{j}\rVert_{2}=\sqrt{{\lambda}}\quad\textrm{and}\quad\lvert{\mathbf{h}}_{j}^{\top\scriptscriptstyle{\!}}\cdot{\mathbf{h}}_{j^{\prime}}\rvert\leqslant 1

(and, thus, the columns of HH constitute a spherical code).

Proof:

Condition (M1) follows from Lemma 18 when applied with |𝒥|=1\lvert{\mathcal{J}}\rvert=1 (see Remark 7), and condition (M2) follows from applying the lemma with |𝒥|=2\lvert{\mathcal{J}}\rvert=2.

We end this section by presenting a simple decoder for the detection-only case, i.e., τ=0\tau=0. In this case, we actually do not need conditions (H1)–(H2), and we can handle any σλ\sigma\leqslant{\lambda}.

Theorem 21.

Let 𝒞{\mathcal{C}} be a code as in Theorem 15 and let 𝒟^:n{,``e"}\widehat{{\mathcal{D}}}:\mathbb{R}^{n}\rightarrow\{\varnothing,{\mathrm{``e"}}\} be defined by

𝒟^(𝐲)={,if χρ(𝐬)=𝟎,``e",otherwise,\widehat{{\mathcal{D}}}({\mathbf{y}})=\begin{cases}\varnothing,&\textrm{if ${\mathbf{\chi}}_{\rho}({\mathbf{s}})={\mathbf{0}}$},\\ {\mathrm{``e"}},&\textrm{otherwise},\\ \end{cases}

where 𝐬=H𝐲{\mathbf{s}}=H{\mathbf{y}}^{\top\scriptscriptstyle{\!}}. Then 𝒟^\widehat{{\mathcal{D}}} is a (0,λ)(0,{\lambda})-decoder for (𝒞,2ρ:1)({\mathcal{C}},2\rho:1).

Proof:

Condition (D1) pertains only to the error vector 𝐞=𝟎{\mathbf{e}}={\mathbf{0}}, in which case

𝐬=H𝐞𝟎+H𝜺ρ.\lVert{\mathbf{s}}\rVert_{\infty}=\lVert{\underbrace{H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}}_{{\mathbf{0}}}}+H\boldsymbol{\varepsilon}^{\top\scriptscriptstyle{\!}}\rVert_{\infty}\leqslant\rho.

Consequently, χρ(𝐬)=𝟎{\mathbf{\chi}}_{\rho}({\mathbf{s}})={\mathbf{0}} and we have 𝒟^(𝐲)=\widehat{{\mathcal{D}}}({\mathbf{y}})=\varnothing, as required.

As for condition (D2), we have 𝒟^(𝐲)``e"\widehat{{\mathcal{D}}}({\mathbf{y}})\neq{\mathrm{``e"}} only when χρ(𝐬)=𝟎{\mathbf{\chi}}_{\rho}({\mathbf{s}})={\mathbf{0}}. Now, in the proof of Theorem 19, we have established (26) without using conditions (H1)–(H2); hence, we can apply (26) to conclude that

𝖲𝗎𝗉𝗉2ρ(𝐞)𝖲𝗎𝗉𝗉λτσ(χρ(𝐬)H)|τ=0,σ=λ==𝒟^(𝐲),{\mathsf{Supp}}_{2\rho}({\mathbf{e}})\subseteq{\mathsf{Supp}}_{{\lambda}-\tau-\sigma}\bigl{(}{\mathbf{\chi}}_{\rho}({\mathbf{s}})H\bigr{)}\bigm{|}_{\tau=0,\sigma={\lambda}}=\varnothing=\widehat{{\mathcal{D}}}({\mathbf{y}}),

as required.

V Constructions of Disjunct Matrices with Weight-Constrained Rows and Columns

In this section, we present several constructions for (D,ρ)(D,\rho) disjunct matrices which satisfy conditions (H1)–(H2) with w=D+1w=D+1. Our constructions are based on combinatorial designs. We start by recalling several definitions.

Let t,r,s+t,r,s\in\mathbb{Z}^{+} be such that rstr\geqslant s\geqslant t. A tt-(r,s,1)(r,s,1) packing design is a pair (X,𝔅)(X,{\mathfrak{B}}), where XX is a set of rr elements (called points) and 𝔅{\mathfrak{B}} is a collection of ss-subsets (called blocks) of XX, such that every tt-subset of XX is contained in at most one block. Furthermore, a packing design is called resolvable if its blocks can be partitioned into sets (parallel classes) 𝒫0,𝒫1,,𝒫ρ1{\mathcal{P}}_{0},{\mathcal{P}}_{1},\ldots,{\mathcal{P}}_{\rho-1} such that each point is contained in exactly one block in each 𝒫i{\mathcal{P}}_{i}.

The incidence matrix of packing design (X,𝔅)(X,{\mathfrak{B}}) is an |X|×|𝔅||X|\times|{\mathfrak{B}}| binary matrix H=(Hx,β)H=(H_{x,\beta}) whose rows and columns are indexed by the elements of XX and 𝔅{\mathfrak{B}}, respectively, and for each xXx\in X and β𝔅\beta\in{\mathfrak{B}},

Hx,β={1,if xβ,0,if xβ.H_{x,\beta}=\begin{cases}1,&\textrm{if $x\in\beta$,}\\ 0,&\textrm{if $x\notin\beta$}.\end{cases}
Proposition 22.

Let (X,𝔅)(X,{\mathfrak{B}}) be a resolvable tt-(r,s,1)(r,s,1) packing design with ρ\rho parallel classes. Then its incidence matrix HH is a DD-disjunct matrix with constant row weight ρ\rho, where D=(s1)/(t1)D=\lfloor(s-1)/(t-1)\rfloor.

Proof:

Write H=(𝐡β)β𝔅H=({\mathbf{h}}_{\beta})_{\beta\in{\mathfrak{B}}} and let β0,β1,,βD\beta_{0},\beta_{1},\ldots,\beta_{D} be arbitrary D+1D+1 blocks in 𝔅{\mathfrak{B}}. Since (X,𝔅)(X,{\mathfrak{B}}) is a tt-(r,s,1)(r,s,1) packing design, every two blocks of 𝔅{\mathfrak{B}} have at most t1t-1 common points. Then |β0βj|t1\left\lvert\beta_{0}\cap\beta_{j}\right\rvert\leqslant t-1 for all 1jD1\leqslant j\leqslant D and, so,

|β0(j=1Dβj)|j=1D|β0βj|D(t1)<s=|β0|,\left\lvert\beta_{0}\cap\left\lparen\cup_{j=1}^{D}\beta_{j}\right\rparen\right\rvert\leqslant\sum_{j=1}^{D}\left\lvert\beta_{0}\cap\beta_{j}\right\rvert\leqslant D(t-1)<s=\lvert\beta_{0}\rvert,

where the third inequality follows from D=(s1)/(t1)D=\lfloor(s-1)/(t-1)\rfloor. It follows that

β0(j=1Dβj),\beta_{0}\setminus\left\lparen\cup_{j=1}^{D}\beta_{j}\right\rparen\neq\varnothing,

namely, there is a point xXx\in X such that Hx,β0=1H_{x,\beta_{0}}=1 whereas Hx,βj=0H_{x,\beta_{j}}=0 for all 1jD1\leqslant j\leqslant D. Hence, HH is DD-disjunct.

Next, we consider the row weight, 𝗐(Hx){\mathsf{w}}(H_{x}), where xx is any point in XX: this weight equals the number of blocks in 𝔅{\mathfrak{B}} which contain xx. Since xx is contained in exactly one block in each parallel class and there are in total ρ\rho parallel classes, we get 𝗐(Hx)=ρ{\mathsf{w}}(H_{x})=\rho.

A transversal design TD(s,g){\mathrm{TD}}(s,g) is a triple (X,𝔊,𝔅)(X,{\mathfrak{G}},{\mathfrak{B}}), where XX is a set of sgsg points, 𝔊{\mathfrak{G}} is a partition of XX into ss partition elements (groups), each of size gg, and 𝔅{\mathfrak{B}} is a collection of ss-subsets (blocks) of XX such that every 22-subset of XX is contained either in one group or in one block, but not both. A TD(s,g){\mathrm{TD}}(s,g) is called resolvable if its blocks can be partitioned into parallel classes.

It is easy to see that in a TD(s,g){\mathrm{TD}}(s,g), each block intersects with each group at exactly one point. A direct calculation shows that there are g2g^{2} blocks and each point is contained in gg blocks. So, if it is resolvable, then the blocks should be partitioned into gg parallel classes.

It is known that the existence of a resolvable TD(s,g){\mathrm{TD}}(s,g) is equivalent to the existence of s1s-1 mutually orthogonal latin squares of side gg, while the latter can be constructed by using linear polynomials (e.g., see Theorem 3.18 and Construction 3.29 in [5, Section III.3]). In the following example, we use linear polynomials to construct resolvable TD{\mathrm{TD}}s directly.

Example 1.

Let qq be a prime power. We can construct a resolvable TD(q,q){\mathrm{TD}}(q,q) as follows. Take X=𝔽q×𝔽qX=\mathbb{F}_{q}\times\mathbb{F}_{q}, 𝔊={{y}×𝔽q}y𝔽q{\mathfrak{G}}=\left\{\{y\}\times\mathbb{F}_{q}\right\}_{y\in\mathbb{F}_{q}}, and 𝔅={βa,b}(a,b)𝔽q×𝔽q{\mathfrak{B}}=\left\{\beta_{a,b}\right\}_{(a,b)\in\mathbb{F}_{q}\times\mathbb{F}_{q}}, where

βa,b={(y,ay+b):y𝔽q}.\beta_{a,b}=\left\{(y,ay+b)\,:\,y\in\mathbb{F}_{q}\right\}.

For each a𝔽qa\in\mathbb{F}_{q}, let 𝒫a={βa,b}b𝔽q{\mathcal{P}}_{a}=\left\{\beta_{a,b}\right\}_{b\in\mathbb{F}_{q}}; clearly, {𝒫a}a𝔽q\left\{{\mathcal{P}}_{a}\right\}_{a\in\mathbb{F}_{q}} is a partition of 𝔅{\mathfrak{B}}.

Each block βa,b\beta_{a,b} has size qq, which equals the number of groups, and every 22-subset of the form {(y,z),(y,z)}\{(y,z),(y,z^{\prime})\} (which is contained in one group) cannot be contained in any block. For a 22-subset {(y,z),(y,z)}\{(y,z),(y^{\prime},z^{\prime})\} with yyy\neq y^{\prime}, the system of equations

{ay+b=zay+b=z\begin{cases}ay+b=z\\ ay^{\prime}+b=z^{\prime}\end{cases}

has a unique solution for (a,b)(a,b); hence, there is a unique block in 𝔅{\mathfrak{B}} which contains that 22-subset. Therefore, (X,𝔊,𝔅)(X,{\mathfrak{G}},{\mathfrak{B}}) is a transversal design. Moreover, for each a𝔽qa\in\mathbb{F}_{q} and each point (y,z)X(y,z)\in X, there is a unique b𝔽qb\in\mathbb{F}_{q} such that ay+b=zay+b=z. Hence, each 𝒫a{\mathcal{P}}_{a} is a parallel class.

Lemma 23.

If there is a resolvable TD(s,g){\mathrm{TD}}(s,g), then for every 2ss2\leqslant s^{\prime}\leqslant s and 1gg1\leqslant g^{\prime}\leqslant g, there is a 22-(sg,s,1)(s^{\prime}g,s^{\prime},1) packing design with gg^{\prime} parallel classes.

Proof:

From a resolvable TD(s,g){\mathrm{TD}}(s,g) we can form a resolvable TD(s,g){\mathrm{TD}}(s^{\prime},g) by deleting sss-s^{\prime} groups. This resolvable design consists of gg parallel classes. We can take gg^{\prime} of them to form a 22-(sg,s,1)(s^{\prime}g,s^{\prime},1) packing design.

Theorem 24.

Let n,ρ,D+n,\rho,D\in\mathbb{Z}^{+} be such that n/ρn/\rho is a prime power and D+1ρnD+1\leqslant\rho\leqslant\sqrt{n}. There is an explicit construction of a (D,ρ)(D,\rho)-disjunct r×nr\times n matrix with constant row weight ρ\rho, constant column weight D+1D+1, and (therefore) number of rows

r=(D+1)nρ,r=\frac{(D+1)n}{\rho},

thereby attaining the bound in Theorem 7.

Proof:

Since n/ρn/\rho is a prime power, we can take a resolvable TD(n/ρ,n/ρ){\mathrm{TD}}(n/\rho,n/\rho) from Example 1. Then, according to Lemma 23, for any D,ρD,\rho such that D+1ρn/ρD+1\leqslant\rho\leqslant n/\rho, we can construct a 22-((D+1)n/ρ,D+1,1)((D+1)n/\rho,D+1,1) packing with ρ\rho parallel classes. Since each parallel class consists of n/ρn/\rho blocks, the total number of blocks is nn. So, the incidence matrix HH of this packing is of order r×nr\times n, where r=(D+1)n/ρr=(D+1)n/\rho, and constant row weight ρ\rho. Moreover, according to Proposition 22, HH is DD-disjunct.

Combining Theorem 24 with Theorem 15 yields the following result.

Corollary 25.

Let n,ρ,λ+n,\rho,{\lambda}\in\mathbb{Z}^{+} be such that n/ρn/\rho is a prime power and λρn{\lambda}\leqslant\rho\leqslant\sqrt{n}. There is an explicit construction of a linear [n,knr][n,k{\geqslant}n{-}r] code 𝒞{\mathcal{C}} over \mathbb{R} with

r=λnρandΓλ(𝒞)2ρ=2λnr.r=\frac{{\lambda}n}{\rho}\quad\textrm{and}\quad\Gamma_{\lambda}({\mathcal{C}})\leqslant 2\rho=\frac{2{\lambda}n}{r}.

We note that the TD(q,q){\mathrm{TD}}(q,q) in Example 1 is equivalent to a [q,2][q,2] (extended) RS code over 𝔽q\mathbb{F}_{q}: each block βa,b\beta_{a,b} in the TD{\mathrm{TD}} corresponds to a codeword whose positions are indexed by the elements of y𝔽qy\in\mathbb{F}_{q}. An element (y,z)(y,z) contained in the block indicates that in the corresponding codeword there should be a symbol zz at the position which is indexed by yy.

In the Kautz–Singleton construction, the columns of the disjunct matrix are the codewords of the binary code that is obtained by concatenating a RS outer code over 𝔽q\mathbb{F}_{q} with the binary code which consists of the words in {0,1}q\{0,1\}^{q} of Hamming weight 11. In light of this, it is not difficult to see that the incidence matrix of the TD{\mathrm{TD}} in Example 1 is actually the disjunct matrix from the Kautz–Singleton construction with an RS outer code of dimension 22. Hence, the disjunct matrices in Theorem 24 can also be obtained by carefully choosing the columns of the Kautz–Singleton disjunct matrix which correspond to the selected parallel classes.

We have the following product construction of TD{\mathrm{TD}}’s, which yields more disjunct matrices. The proof of this construction is straightforward and is therefore omitted.

Proposition 26.

Let (X,𝔊,𝔅)(X,{\mathfrak{G}},{\mathfrak{B}}) be a resolvable TD(s,g){\mathrm{TD}}(s,g) with a group partition 𝔊={γi}i[s]{\mathfrak{G}}=\{\gamma_{i}\}_{i\in{\left[{s}\right]}} and with parallel classes 𝒫j{\mathcal{P}}_{j}, j[g]j\in{\left[{g}\right]}, and let (X,𝔊,𝔅)(X^{\prime},{\mathfrak{G}}^{\prime},{\mathfrak{B}}^{\prime}) be a resolvable TD(s,g){\mathrm{TD}}(s,g^{\prime}) with a group partition 𝔊={γi}i[s]{\mathfrak{G}}^{\prime}=\{\gamma_{i}^{\prime}\}_{i\in{\left[{s}\right]}} and with parallel classes 𝒫j{\mathcal{P}}_{j}^{\prime}, j[g]j\in{\left[{g^{\prime}}\right]}. For any two blocks β𝔅\beta\in{\mathfrak{B}} and β𝔅\beta^{\prime}\in{\mathfrak{B}}^{\prime}, denote

ββ{(xi,xi):i[s]},\beta\otimes\beta^{\prime}\triangleq\{(x_{i},x_{i}^{\prime})\,:\,i\in{\left[{s}\right]}\},

where xix_{i} (respectively, xix_{i}^{\prime}) is the unique element in βγi\beta\cap\gamma_{i} (respectively, βγi\beta^{\prime}\cap\gamma_{i}^{\prime}), i[s]i\in{\left[{s}\right]}. Then the set of points

i[s](γi×γi),\bigcup_{i\in{\left[{s}\right]}}(\gamma_{i}\times\gamma_{i}^{\prime}),

the group partition {γi×γi:i[s]}\{\gamma_{i}\times\gamma_{i}^{\prime}\,:\,i\in{\left[{s}\right]}\}, and the set of blocks

{ββ:(β,β)𝔅×𝔅},\{\beta\otimes\beta^{\prime}\,:\,(\beta,\beta^{\prime})\in{\mathfrak{B}}\times{\mathfrak{B}}^{\prime}\},

form a resolvable TD(s,gg){\mathrm{TD}}(s,gg^{\prime}) with gggg^{\prime} parallel classes

𝒫j,j{ββ:(β,β)𝒫j×𝒫j},j,j[g]×[g].{\mathcal{P}}_{j,j}\triangleq\{\beta\otimes\beta^{\prime}\,:\,(\beta,\beta^{\prime})\in{\mathcal{P}}_{j}\times{\mathcal{P}}_{j^{\prime}}^{\prime}\},\quad j,j^{\prime}\in{\left[{g}\right]}\times{\left[{g^{\prime}}\right]}.
Theorem 27.

Let n,ρn,\rho be positive integers such that ρn\rho\leqslant\sqrt{n} and ρ\rho divides nn, and let p1e1p2e2p_{1}^{e_{1}}p_{2}^{e_{2}}\cdots be the prime factorization of n/ρn/\rho. Let pe=mini{piei}p^{e}=\min_{i}\{p_{i}^{e_{i}}\}.

(i) For any positive integer D<min{pe,ρ}D<\min\{p^{e},\rho\}, there is an explicit construction of a DD-disjunct r×nr\times n matrix with constant row weight ρ\rho and constant column weight D+1D+1, where r=(D+1)n/ρr=(D+1)n/\rho (thereby attaining the bound of Theorem 7).

(ii) For any positive integer λ{\lambda} such that λmin{pe,ρ}{\lambda}\leqslant\min\{p^{e},\rho\}, there is a linear [n,knr][n,k{\geqslant}n{-}r] code 𝒞{\mathcal{C}} over \mathbb{R} with

r=λnρandΓλ(𝒞)2ρ=2λnr.r=\frac{{\lambda}n}{\rho}\quad\textrm{and}\quad\Gamma_{\lambda}({\mathcal{C}})\leqslant 2\rho=\frac{2{\lambda}n}{r}.
Proof:

Since pe=mini{piei}p^{e}=\min_{i}\{p_{i}^{e_{i}}\}, there is a resolvable TD(pe,piei){\mathrm{TD}}(p^{e},p_{i}^{e_{i}}) for each ii. Using the product construction recursively, we obtain a resolvable TD(pe,n/ρ){\mathrm{TD}}(p^{e},n/\rho). Then, according to Lemma 23, for any D,ρD,\rho such that D<min{ρ,pe}D<\min\{\rho,p^{e}\} and ρn/ρ\rho\leqslant n/\rho, we can construct a 22-((D+1)n/ρ,D+1,1)((D+1)n/\rho,D+1,1) packing with ρ\rho parallel classes. Parts (i) and (ii) then follow from Proposition 22 and Theorem 15, respectively.

Proof:

We first observe that the entries along the main diagonal of HHH^{\top\scriptscriptstyle{\!}}H are all 11 and that the absolute value of each off-diagonal entry is at most μ\mu. Hence,

H𝐞22\displaystyle\lVert H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\rVert_{2}^{2} =\displaystyle= 𝐞HH𝐞\displaystyle{\mathbf{e}}H^{\top\scriptscriptstyle{\!}}H{\mathbf{e}}^{\top\scriptscriptstyle{\!}} (30)
\displaystyle\geqslant 𝐞22μ0ij<n|eiej|\displaystyle\lVert{\mathbf{e}}\rVert_{2}^{2}-\mu\sum_{0\leqslant i\neq j<n}\lvert e_{i}e_{j}\rvert
=\displaystyle= (1+μ)𝐞22μi[n]|ei|j[n]|ej|\displaystyle(1+\mu)\lVert{\mathbf{e}}\rVert_{2}^{2}-\mu\sum_{i\in{\left[{n}\right]}}\lvert e_{i}\rvert\sum_{j\in{\left[{n}\right]}}\lvert e_{j}\rvert
=\displaystyle= (1+μ)𝐞22μ𝐞12.\displaystyle(1+\mu)\lVert{\mathbf{e}}\rVert_{2}^{2}-\mu\lVert{\mathbf{e}}\rVert_{1}^{2}.

We next minimize the expression (30) over 𝐞{\mathbf{e}} under the constraint that 𝐞(n,λ){\mathbf{e}}\in{\mathcal{B}}(n,{\lambda}) and 𝐞\lVert{\mathbf{e}}\rVert_{\infty} is given. Assuming without loss of generality that e0=𝐞e_{0}=\lVert{\mathbf{e}}\rVert_{\infty} and that ej=0e_{j}=0 for all j[λ:n]j\in{\left[{{\lambda}:n}\right]}, we claim that the minimum is attained when |e1|=|e2|==|eλ1|\lvert e_{1}\rvert=\lvert e_{2}\rvert=\ldots=\lvert e_{{\lambda}-1}\rvert. Otherwise, if |ei||ej|\lvert e_{i}\rvert\neq\lvert e_{j}\rvert for some 1i<j<λ1\leqslant i<j<{\lambda} then replacing both eie_{i} and eje_{j} by (|ei|+|ej|)/2(\lvert e_{i}\rvert+\lvert e_{j}\rvert)/2 would reduce the term 𝐞22\lVert{\mathbf{e}}\rVert_{2}^{2} while keeping 𝐞12\lVert{\mathbf{e}}\rVert_{1}^{2} unchanged.

Substituting |ei|x\lvert e_{i}\rvert\leftarrow x for all i[1:λ]i\in{\left[{1:{\lambda}}\right]} in (30) yields the following quadratic expression in xx:

(1+μ)(e02+(λ1)x2)μ(e0+(λ1)x)2.(1+\mu)(e_{0}^{2}+({\lambda}-1)x^{2})-\mu(e_{0}+({\lambda}-1)x)^{2}. (31)

The coefficient of x2x^{2} is (1(λ2)μ)(λ1)(1-({\lambda}-2)\mu)({\lambda}-1), which is positive under our assumption λ1/μ{\lambda}\leqslant\lceil 1/\mu\rceil; hence, (31) attains a global minimum at xmin=e0ηλ(μ)x_{\min}=e_{0}\cdot\eta_{\lambda}(\mu). Plugging this value into (31) yields the result.

The lower bound in Lemma 12 can be written more explicitly as

H𝐞221+μ1(λ2)μ(1(λ1)μ)𝐞2.\lVert H{\mathbf{e}}^{\top\scriptscriptstyle{\!}}\rVert_{2}^{2}\geqslant\frac{1+\mu}{1-({\lambda}-2)\mu}\cdot\left\lparen 1-({\lambda}-1)\mu\right\rparen\cdot\lVert{\mathbf{e}}\rVert_{\infty}^{2}.

Comparing with (10), the bound in Lemma 12 is expressed in terms of 𝐞\lVert{\mathbf{e}}\rVert_{\infty} rather than 𝐞2\lVert{\mathbf{e}}\rVert_{2}, yet the multiplying constant therein is larger when μ>0\mu>0 and λ>1{\lambda}>1.

References

  • [1] B. E. Boser, E. Sackinger, J. Bromley, Y. L. Cun, and L. D. Jackel, “An analog neural network processor with programmable topology,” IEEE J. Solid-State Circuits, vol. 26, no. 12, pp. 2017–2025, Dec. 1991.
  • [2] J. Bourgain, S. J. Dilworth, K. Ford, S. Konyagin, and D. Kutzarova, “Explicit constructions of RIP matrices and related problems,” Duke Math. J., vol. 159, no. 1, pp. 145–185, 2011.
  • [3] E. Candès, “The restricted isometry property and its implications for compressed sensing,” C.R. Acad. Sci. Paris, Ser. I, vol. 346, pp. 589–592, 2008.
  • [4] E. Candès, J. Romberg, and T. Tao, “Robust uncertainty principles: Exact signal reconstruction from highly incomplete frequency information,” IEEE Trans. Inf. Theory, vol. 52, no. 2, pp. 489–509, Feb. 2006.
  • [5] C. Colbourne and J. Dinitz, Handbook of combinatorial designs, second edition.   CRC press Boca Raton, FL, 2007.
  • [6] D. Donoho, “Compressed sensing,” IEEE Trans. Inf. Theory, vol. 52, no. 4, pp. 1289–1306, Apr. 2006.
  • [7] A. G. D’yachkov and V. V. Rykov, “Bounds on the length of disjunctive codes,” Probl. Peredachi Inf., vol. 18, no. 3, pp. 7–13, 1982.
  • [8] Z. Füredi, “On rr-cover-free families,” J. Combin. Theory Ser. A, vol. 73, no. 1, pp. 172–173, 1996.
  • [9] M. Hu, C. E. Graves, C. Li, Y. Li, N. Ge, E. Montgomery, N. Davila, H. Jiang, R. S. Williams, J. J. Yang, Q. Xia, and J. P. Strachan, “Memristor-based analog computation and neural network classification with a dot product engine,” in Adv. Mater., vol. 30, Mar. 2018, paper no. 1705914.
  • [10] M. Hu, J. P. Strachan, Z. Li, E. M. Grafals, N. Davila, C. Graves, S. Lam, N. Ge, J. Yang, and R. S. Williams, “Dot-product engine for neuromorphic computing: Programming 1T1M crossbar to accelerate matrix-vector multiplication,” in Proc. 53rd ACM/EDAC/IEEE Design Automat. Conf. (DAC), Austin, TX, 2016, paper no. 19.
  • [11] H. A. Inan, P. Kairouz, and A. Özgür, “Sparse combinatorial group testing,” IEEE Trans. Inf. Theory, vol. 66, no. 5, pp. 2729–2742, May 2020.
  • [12] G. Katona and A. Seress, “Greedy construction of nearly regular graphs,” European J. of Combin., vol. 14, pp. 213–229, 1993.
  • [13] W. Kautz and R. Singleton, “Nonrandom binary superimposed codes,” IEEE Trans. Inf. Theory, vol. 10, no. 4, pp. 363–377, Oct. 1964.
  • [14] F. J. Kub, K. K. Moon, I. A. Mack, and F. M. Long, “Programmable analog vector-matrix multipliers,” IEEE J. Solid-State Circuits, vol. 25, no. 1, pp. 207–214, Feb. 1990.
  • [15] D. Lubell, “A short proof of Sperner’s lemma,” J. Combin. Theory Ser. A, vol. 1, no. 2, p. 299, 1966.
  • [16] F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes.   Amsterdam: North-Holland, 1977.
  • [17] E. Porat and A. Rothschild, “Explicit non-adaptive combinatorial group testing schemes,” IEEE Trans. Inf. Theory, vol. 57, no. 12, pp. 7982–7989, Dec. 2011.
  • [18] R. M. Roth, “Fault-tolerant dot-product engines,” IEEE Trans. Inf. Theory, vol. 65, no. 4, pp. 2046–2057, Apr. 2019.
  • [19] ——, “Analog error-correcting codes,” IEEE Trans. Inf. Theory, vol. 66, no. 7, pp. 4075–4088, Jul. 2020.
  • [20] ——, “Fault-tolerant neuromorphic computing on nanoscale crossbar architectures,” in Proc. 2020 IEEE Inf. Theory Workshop (ITW), Mumbai, India, 2022, pp. 202–207.
  • [21] ——, “Correction to “analog error-correcting codes”,” IEEE Trans. Inf. Theory, vol. 69, no. 6, pp. 3793–3794, Jan. 2023.
  • [22] A. Shafiee, A. Nag, N. Muralimanohar, R. Balasubramonian, J. P. Strachan, M. Hu, R. S. Williams, and V. Srikumar, “ISAAC: A convolutional neural network accelerator with in-situ analog arithmetic in crossbars,” in Proc. ACM/IEEE 43rd Annu. Int. Symp. Comput. Archit. (ISCA), Seoul, Korea, Jun. 2016, pp. 14–26.