---
title: One-Step Majority-Logic Decoder
url: https://www.emergentmind.com/topics/one-step-majority-logic-decoder
type: topic
---

# One-Step Majority-Logic Decoder

Searching arXiv for recent and foundational papers on one-step majority-logic decoding.
One-step majority-logic decoding is a symbol-wise hard-decision decoding paradigm for linear codes in which each coordinate is recovered from a single majority vote over a preconstructed family of parity checks containing that coordinate. In the classical formulation, the decisive structural requirement is the existence, for every coordinate, of a sufficiently large family of parity checks that are orthogonal on that coordinate: every chosen check contains the target symbol, while every other coordinate appears in at most one of those checks. Under this condition, the decoder decides each symbol directly in one stage, without iterative message passing or multi-level recursion. Across the coding-theoretic literature, this framework appears in combinatorial-design codes, finite-geometry and Grassmannian codes, Schubert codes, and more recently in binary locally recoverable codes, while related but distinct iterative generalizations also appear for LDPC and nonbinary LDPC decoding [1907.03344] [2001.06278] [2002.08054] [2601.08765].

## 1. Classical definition and decoding principle

For a linear code \(C\subseteq \mathbb F_p^n\) with dual \(C^\perp\), a parity-check equation is a dual codeword \(h=(h_1,\dots,h_n)\in C^\perp\), giving
\[
\sum_{i=1}^n h_i c_i = 0 \quad \text{for every } c\in C.
\]
If a received word is \(w=c+e\), then each parity check containing coordinate \(j\) can be solved for \(c_j\), producing one estimate of the \(j\)-th symbol. One-step majority-logic decoding uses many such estimates and decides \(c_j\) by majority vote [1907.03344].

In the orthogonal-parity-check formulation used by Massey and adopted explicitly for Schubert codes, a set of \(J\) parity checks is orthogonal on coordinate \(i\) if the \(J\times n\) matrix whose rows are those checks has every entry in column \(i\) equal to \(1\), while every other column has Hamming weight at most \(1\). Equivalently, every chosen check contains the target coordinate, and any other coordinate appears in at most one of them. Under this condition, the corresponding majority-logic decoder corrects up to
\[
\left\lfloor \frac J2\right\rfloor
\]
errors [2002.08054].

This structure is the canonical meaning of “one-step majority logic” in the coding literature. The term emphasizes that each symbol is decided from a single majority vote over local parity relations, in contrast with multi-step majority decoding for Reed–Muller-type families or iterative majority/bit-flipping procedures for LDPC codes. A plausible implication is that the core object is not a specific code family but a reusable local decision mechanism defined by orthogonality, controlled overlap, and direct coordinatewise estimation.

## 2. Design-theoretic formulation and historical development

A major classical route to one-step majority-logic decodability uses combinatorial designs. In the design-based setting described in "Majority-logic Decoding with Subspace Designs" [1907.03344], one starts from a design \(D\), forms its block-point incidence matrix \(N_D\), and uses the rows of \(N_D\) as parity checks over \(\mathbb F_p\). If \(N_D\) is a \(b\times v\) incidence matrix of rank \(R\), then
\[
C_D^\perp \text{ is a } [v,R]_p \text{ code}, \qquad C_D \text{ is a } [v,v-R]_p \text{ code}.
\]
For one-step majority decoding, the relevant design parameters are the replication number \(r\), the number of blocks through a point, and the pair parameter \(\lambda\), the number of blocks through a pair of points [1907.03344].

The paper attributes the original one-step design-based decoder to Rudolph (1967). For a \(2\)-\((v,k,\lambda)\) design, the quoted classical result is that one-step majority-logic decoding corrects
\[
\ell = \left\lfloor \frac{r+\lambda-1}{2\lambda}\right\rfloor
\]
errors [1907.03344]. The decoder uses, for each coordinate, the \(r\) parity checks containing that coordinate, plus one additional equation. The complexity is dominated by \(r\), so decreasing the number of checks through each coordinate directly reduces implementation cost.

The same paper situates one-step decoding within a broader hierarchy. Reed’s original majority-logic decoder is a multi-step procedure; Peterson and Weldon later developed a two-step majority-logic decoder correcting the same number of errors as Reed’s multi-step decoder for the relevant geometric-code setting [1907.03344]. This distinction is fundamental: one-step decoding acts directly on symbols, whereas two-step or multi-step procedures first estimate larger geometric aggregates and only then individual coordinates.

Subspace designs provide a \(q\)-analog refinement of the classical design route. A \(t\)-\((v,k,\lambda)_q\) subspace design on a \(v\)-dimensional vector space \(V\) over \(\mathbb F_q\) is a collection \(B\) of \(k\)-dimensional subspaces such that every \(t\)-dimensional subspace lies in exactly \(\lambda\) blocks. The induced combinatorial designs then yield parity-check matrices suitable for one-step majority logic [1907.03344]. The key conclusion there is that the error-correction capability is essentially the same as for the corresponding geometric-design codes, but the decoder complexity can be drastically improved because one can use subspace designs with much smaller \(\lambda\), hence many fewer parity checks through each symbol. This suggests that one-step majority-logic performance and one-step majority-logic complexity can be decoupled to some extent through incidence-structure choice.

## 3. Orthogonality, overlap control, and error-correction guarantees

The decisive combinatorial fact behind one-step majority logic is that each channel error can corrupt only a controlled number of the parity checks used for a given target coordinate. In a \(2\)-design, if a fixed point lies in \(r\) blocks and every other point co-occurs with it in exactly \(\lambda\) blocks, then an error at any other coordinate contaminates at most \(\lambda\) of the \(r\) local votes. Therefore, if the total number of errors is sufficiently small, more than half of the \(r\) votes remain correct, and majority vote succeeds [1907.03344].

The ideal case is \(\lambda=1\), which the same paper identifies as orthogonal check equations: each coordinate pair appears in exactly one check equation [1907.03344]. This is the strongest overlap control available in the design-based formulation and is operationally equivalent to the Massey orthogonality condition used in later geometric-code work [2002.08054].

In more geometric formulations, orthogonality is realized through supports of low-weight dual codewords that intersect pairwise only in the target coordinate. For Schubert codes \(C_\alpha(2,m)\), the supports of minimum-weight codewords of the dual Schubert code lie on lines in the corresponding Schubert variety, and any three points on such a line support a minimum-weight parity check [2002.08054]. By choosing disjoint pairs of points on lines through a fixed point \(P\), one obtains a family of weight-\(3\) parity checks whose supports intersect only at \(P\). The paper states Massey’s theorem in this context and uses it to derive a one-step majority-logic decoder correcting up to \(\lfloor J/2\rfloor\) errors when \(J\) orthogonal checks are available at each coordinate [2002.08054].

The same principle appears in Grassmann codes, although the construction is more elaborate. "Point-line incidence on Grassmannians and majority logic decoding of Grassmann codes" proves the existence of large families of parity checks orthogonal on each coordinate and then applies the classical majority-logic theorem of Massey [2001.06278]. The paper sometimes phrases the result more cautiously as a “majority decoding algorithm,” but the decoder is coordinatewise majority logic in the classical sense because each symbol is decided from one majority vote over a preconstructed orthogonal family of checks [2001.06278]. The novelty is geometric organization rather than deviation from the one-step model.

A common misconception is that any decoder using a majority gate is automatically a one-step majority-logic decoder. The literature distinguishes sharply between genuine one-step schemes, where the symbol is decided from one majority vote over an orthogonal or otherwise controlled family of checks, and iterative or multi-step algorithms that merely reuse majority operations internally [1310.4349] [1408.3357] [1507.07155].

## 4. Geometric realizations: Grassmann and Schubert codes

For Grassmann codes, the geometric substrate is the Grassmannian
\[
\mathcal G_{\ell,m}=\{P\subseteq V \mid \dim P=\ell\},
\]
where \(V=\mathbb F_q^m\), identified with its Plücker embedding. In the 2020 paper on Grassmann codes, the central innovation is geometric: point-line incidence on the Grassmannian, together with a canonical path between a fixed point and any other point once a complete flag is chosen, is used to organize many dual minimum-weight parity checks into sets orthogonal on a chosen coordinate [2001.06278]. The result is a majority decoder built from geometric incidence rather than the more elementary cyclic-code constructions often associated with classical majority logic.

This use of a canonical path is structurally important. The paper shows that for two points of the Grassmannian there exists a canonical path once a complete flag is fixed, and these paths are then used to construct large sets of orthogonal checks [2001.06278]. This suggests that one-step majority-logic decodability can emerge from global geometric navigation rules, not only from local block-design symmetry.

For Schubert codes, the geometric mechanism is more explicit at the level of minimum-weight dual codewords. The Schubert variety
\[
\Omega(A_\bullet):=\{P\in G_{\ell,m}:\dim(P\cap A_i)\ge i \text{ for }1\le i\le \ell\}
\]
specializes for the decoding construction to \(C_\alpha(2,m)\), with \(\alpha=(\alpha_1,\alpha_2)\), \(\alpha_2=m\), and
\[
\Omega_\alpha(2,m)=\{P\in G_{2,m}:\dim(P\cap A_1)\ge 1\}.
\]
The paper recalls that
\[
n_\alpha=\sum_{\substack{\beta\in I(2,m)\ \beta_1\le \alpha_1} q^{\beta_1+\beta_2-3},\qquad
k_\alpha=\frac{\alpha_1(2m-\alpha_1-1)}2,\qquad
d_\alpha=q^{m+\alpha_1-3}. \tag{6}
\]
It then proves that the support of each minimum-weight codeword of \(C_\alpha(\ell,m)^\perp\) lies on a line in \(\Omega_\alpha(\ell,m)\), and conversely that any three points on a line determine such a dual codeword [2002.08054].

This makes the line the basic parity-check carrier. For every \(P\in \Omega_\alpha(2,m)\), the paper constructs a set \(J_1(P)\) of weight-\(3\) parity checks with pairwise intersection exactly \(\{P\}\), and further augments them by weight-\(5\) checks in special cases to improve the number of orthogonal checks [2002.08054]. In some special cases, the resulting majority-logic decoder can correct approximately up to \(\lfloor (d-1)/2\rfloor\) many errors [2002.08054]. The qualifier “approximately” is part of the source characterization and reflects that the full correction radius depends on the constructed family size rather than an abstract equality with bounded-distance decoding for all parameters.

## 5. Extensions to affine Grassmann codes and locally recoverable codes

The one-step majority-logic paradigm has recently been extended from projective Grassmann settings to affine Grassmann codes over nonbinary fields. "Majority Logic Decoding of Affine Grassmann Codes Over Nonbinary Fields" constructs, for each coordinate, a large family of parity checks orthogonal on that coordinate by using sets of matrices of fixed rank together with the automorphism group of the code [2507.09741]. The resulting decoder corrects up to
\[
\lfloor J/2\rfloor
\]
errors, where \(J\) is the number of orthogonal checks per coordinate, with asymptotic radius of order \(d/2^{\ell+1}\), matching the order obtained previously for Grassmann codes in \([{\rm BS21}]\) as cited in the paper [2507.09741].

The code family is defined by evaluating the \(\mathbb F_q\)-vector space \(\mathcal F(\ell,m)\) spanned by all minors of the generic \(\ell\times \ell'\) matrix
\[
\mathbf{X}=(X_{ij})
\]
on the affine space of all \(\ell\times \ell'\) matrices over \(\mathbb F_q\). The paper recalls the parameters
\[
n=q^\delta,\qquad k=\binom{m}{\ell},\qquad
d=q^{\delta-\ell^2}\prod_{i=0}^{\ell-1}(q^\ell-q^i),
\]
with
\[
\ell \le \ell', \qquad m=\ell+\ell', \qquad \delta=\ell\ell'
\]
and
\[
d\bigl((C^{\mathbb{A}(\ell,m)})^\perp\bigr)=
\begin{cases}
3, & q\ge 3,\\
4, & q=2.
\end{cases}
\]
A key restriction result shows that for \(D=M(\mathcal A_r)\cup\{0\}\), the restricted code \(C_D^{\mathbb A(\ell,m)}\) has parameters \([2^r+1,2^r]\), so the dual restriction is a one-dimensional single-parity-check code, yielding parity checks supported on \(M(\mathcal A_r)\cup\{0\}\) [2507.09741]. This is then transported to every coordinate by automorphisms, producing a coordinatewise one-step majority-logic decoder.

A structurally different but operationally equivalent one-step realization appears for binary locally recoverable codes. In a binary \((r,t)_a\)-LRC, every coordinate \(c_i\) has \(t\) pairwise disjoint recovery sets \(R^{1,i},\dots,R^{t,i}\subseteq [n]\setminus\{i\}\) with \(|R^{j,i}|\le r\) and
\[
c_i=\sum_{u\in R^{j,i}} c_u \qquad \text{over } \mathbb F_2,\quad \forall j\in[t].
\]
The corresponding decoder forms the local estimates
\[
\hat c_i^{(j)}=\sum_{h\in R^{j,i}} u_h,\qquad j\in[t],
\]
and then decides
\[
\hat c_i=
\begin{cases}
1, & \text{if a majority (the paper says “at least half”) of the } \hat c_i^{(j)} \text{ equal }1,\\[4pt]
0, & \text{otherwise.}
\end{cases}
\]
This is genuinely one-step because each symbol is decided directly from its \(t\) local equations, with no iterative message passing and no dependence on previous symbol decisions [2601.08765].

The probabilistic analysis of that paper makes the one-step nature especially transparent. On the \(\mathrm{BEC}(p_e)\),
\[
P_{\mathrm{fail,bit}}^{\mathrm{BEC}}=\bigl(1-(1-p_e)^r\bigr)^t,
\]
because decoding fails only if every recovery set contains an erasure. On the \(\mathrm{BSC}(p_f)\), a local vote is wrong iff an odd number of the \(r\) positions in a recovery set are flipped, so
\[
W=\sum_{\substack{s=0\\ s\text{ odd}}}^{r}\binom{r}{s}p_f^s(1-p_f)^{r-s},
\qquad
C=\sum_{\substack{s=0\\ s\text{ even}}}^{r}\binom{r}{s}p_f^s(1-p_f)^{r-s},
\]
with
\[
C=\frac{1+(1-2p_f)^r}{2},\qquad
W=\frac{1-(1-2p_f)^r}{2}.
\]
Using independence from disjointness, the paper derives the bit-failure bound
\[
P_{\mathrm{fail,bit}}^{\mathrm{BSC}}
\le \bigl(1-(1-2p_f)^{2r}\bigr)^{t/2},
\]
and the block bound
\[
P_{\mathrm{fail,block}}^{\mathrm{BSC}}
\le n\bigl(1-(1-2p_f)^{2r}\bigr)^{t/2}.
\]
If \(r\) is fixed and \(t(n)=\omega(\log n)\), then
\[
\lim_{n\to\infty} P_{\mathrm{fail,block}}^{\mathrm{BSC}}=0, \qquad
\lim_{n\to\infty} P_{\mathrm{fail,block}}^{\mathrm{BEC}}=0.
\]
The same work further proves that one-step majority-logic decoding can correct virtually all random error and erasure patterns of linear weight under suitable availability growth, highlighting a substantial gap between adversarial worst-case guarantees and typical stochastic performance [2601.08765].

## 6. Distinction from two-step and iterative majority decoders

The term “majority-logic decoding” is used across several decoder architectures that are not one-step in the strict classical sense. The distinction is not merely terminological; it concerns algorithmic depth, analytical framework, and hardware structure.

For binary Reed–Muller codes \(RM(r,m)\) with
\[
m \ge 3,\quad 1 \le r \le \frac m2,
\]
the decoder proposed in "An Improved Majority-Logic Decoder Offering Massively Parallel Decoding for Real-Time Control in Embedded Systems" is explicitly not one-step [1310.4349]. The paper states that its algorithm “consists of two majority-logic steps.” It improves Chen’s two-step majority-logic decoder, which itself is a reduction of Reed’s original \(r+1\)-step procedure. The code parameters are
\[
n := 2^m,\qquad k := \sum_{i=0}^r \binom{m}{i},\qquad \delta := 2^{m-r},
\]
so the bounded-distance error capability is
\[
t = 2^{m-r-1}-1.
\]
The decoder first decides whether suitable \(r\)-flats are odd and then decides each symbol from the odd/even status of the \(r\)-flats through that symbol [1310.4349]. Although every stage uses majority logic, the overall architecture is two-step, not one-step.

For regular binary LDPC codes, the one-iteration specialization of a majority/bit-flipping architecture is exactly a one-step majority-logic decoder in the paper "Majority Logic Decoding under Data-Dependent Logic Gate Failures" [1507.07155]. The code is a \((\gamma,\rho)\)-regular binary LDPC code represented by a Tanner graph. The received vector \(\mathbf r=(r_1,\dots,r_n)\) comes from a BSC with
\[
\Pr\{r_k \neq x_k\}=p.
\]
At iteration \(i=0\), each variable sends
\[
\overrightarrow m_0(e)=r_v,
\]
each check computes
\[
\Psi(\overrightarrow m_i(\mathcal N(c)\setminus\{e\})) =
\bigoplus_{e' \in \mathcal N(c)\setminus\{e\}}
\overrightarrow m_i(e'),
\]
and each variable performs majority logic on the \(\gamma\) incoming estimates:
\[
\Phi(\overleftarrow m_{i-1}(\mathcal N(v)))=
\begin{cases}
s, & \text{if } |\{e' \in \mathcal N(v):\overleftarrow m_{i-1}(e')=s\}|>\lceil \gamma/2\rceil,\\
r_v, & \text{otherwise,}
\end{cases}
\]
with \(s\in\{

Source: https://www.emergentmind.com/topics/one-step-majority-logic-decoder