---
title: 'Recursive Doubling: Dyadic Self-Similarity'
url: https://www.emergentmind.com/topics/recursive-doubling
type: topic
---

# Recursive Doubling: Dyadic Self-Similarity

Recursive doubling appears in the arXiv literature as a family of dyadic constructions rather than a single formal definition. In the papers considered here, it denotes a modified non-blocking Allreduce for asynchronous iterations when the number of processors is not a power of two, recursively generated period-doubling words \(D_n\) with \(|D_n|=2^n\), a recursive double-size representation for fixed-precision arithmetic, the angle-doubling map \(\delta(\theta)=2\theta \pmod 1\), geometric growth operations on grid shapes, a one-step order-doubling construction for Williamson matrices, and a recursive closest-pair algorithm in metrics of bounded doubling dimension [1907.01201] [2602.16152] [1104.0478] [2605.29130] [2207.03275] [1803.01480] [2004.05883].

## 1. Scope of the term

The surveyed literature uses “doubling” for different objects, but each usage has an explicit dyadic mechanism: a word length becomes \(2^n\), an order \(n\) construction becomes order \(2n\), a width \(2^k\) object is built from two width-\(2^{k-1}\) halves, an angle is mapped to twice itself modulo \(1\), a shape duplicates rows or columns, or a reduction algorithm isolates the largest power-of-two processor core. This is a factual commonality across the papers, even though the formal ambient theories differ [2602.16152] [1803.01480] [1104.0478] [2605.29130] [2207.03275] [1907.01201].

| Domain | Basic object | Doubling mechanism |
|---|---|---|
| Distributed iterations | processor set and residual values | recursive doubling on a power-of-two pivot |
| Combinatorics on words | period-doubling words \(D_n\) | \(D_n=\phi(D_{n-1})\), \(\phi(a)=ab\), \(\phi(b)=aa\) |
| Arithmetic | fixed-precision integers | \(2^k\)-bit value split into two \(2^{k-1}\)-bit halves |
| Dynamical systems | angles on \(\mathbb S^1\) | \(\delta(\theta)=2\theta \pmod 1\) |
| Geometric growth | connected grid shapes | full, RC, or general doubling operations |
| Matrix constructions | Williamson sequences | order \(n\) data transformed to order \(2n\) data |
| Metric algorithms | finite doubling metrics | recursive annulus-based decomposition |

A useful distinction follows directly from the papers. In some settings, “recursive doubling” is the actual algorithmic core, as in distributed Allreduce. In others, the precise formal object has a different name—period-doubling words, doubling map, doubling metrics, or doubling construction—and the connection to recursive doubling is structural rather than terminological.

## 2. Distributed reduction and asynchronous convergence detection

In distributed numerical computation, recursive doubling is used as the core reduction primitive for convergence detection in asynchronous iterations. The iteration model begins from a matrix splitting \(A=M-N\), giving \(x^{k+1}=Tx^k+c\) with \(T=M^{-1}N\) and \(c=M^{-1}b\), and in processorwise form \(x_i^{k+1}=T_i x^k+c_i\). The asynchronous update permits delayed values \(x_j^{\tau_{i,j,k}}\), with the standard fairness and freshness conditions that each processor updates infinitely often and the delays eventually become arbitrarily recent. The stopping test is residual-based:
\[
\|f(\bar{x})-\bar{x}\|<\epsilon,
\]
where \(\bar{x}=(x_1^{k_1},\dots,x_p^{k_p})\) is a distributed state assembled from local components at possibly different local times [1907.01201].

The paper “Convergence Detection of Asynchronous Iterations based on Modified Recursive Doubling” adapts standard recursive doubling to the non-power-of-two case. If
\[
p_0=2^{\mu_0}\le p<2^{\mu_0+1},
\]
then \(p_0\) is the pivot. The algorithm has three phases: a **backward shift**, standard recursive doubling on the first \(p_0\) processors, and a **forward shift**. Extra processors with ranks in \(\{p_0,\dots,p-1\}\) send their values to the first several processors in the power-of-two block; those receivers reduce immediately; the \(p_0\) base processors then perform ordinary recursive doubling; finally the global result is sent back to the extra processors. The synchronous completion cost is exactly
\[
\log p_0+2
\]
steps, and if each processor contributes one floating-point residual value, the total exchanged data per cycle is
\[
p_0\log p_0+2(p-p_0).
\]

This reduction is used in two convergence-detection algorithms. The first is an Allreduce-only method that computes local residuals such as
\[
res\_loc=\|x_i-z_i\|_\infty,
\]
but is explicitly inexact because asynchronous delays can make local residual sequences non-monotone. The second combines distributed snapshot collection with Allreduce, so that the residual is evaluated from a consistent solution buffer \(\bar{x}\); this is exact in view of the residual collection. The implementation model is state-based and non-blocking, with MPI generalized requests (`MPI_Grequest_start`, `MPI_Grequest_complete`) discussed as interface support. The same paper is explicit about limitations: the approach is suitable for a relatively “close” distributed environment, whereas significant long-distance communication favors a tree-based algorithm, and asynchronous iterations themselves may become communication-heavy in tightly coupled clusters [1907.01201].

## 3. Symbolic and dynamical forms of doubling

In combinatorics on words, recursive doubling appears most directly in the family of period-doubling words. A string attractor of a string \(T\) is a set \(\Gamma\) of positions such that every substring of \(T\) has an occurrence crossing some position in \(\Gamma\). For the period-doubling family,
\[
D_0=a,\qquad D_n=\phi(D_{n-1}),\qquad \phi(a)=ab,\ \phi(b)=aa,
\]
and \(|D_n|=2^n\). The paper “The Smallest String Attractors of Fibonacci and Period-Doubling Words” gives a complete classification of smallest attractors for these words. For \(n\ge 3\), the set of all smallest attractors is
\[
\mathcal{A}_{D_n}=\{\{p_n,r_n\},\{q_n,r_n\}\},
\]
where
\[
p_n=3\cdot 2^{n-3},\qquad q_n=2^{n-1},\qquad r_n=3\cdot 2^{n-2}.
\]
Hence the smallest attractor size is \(2\), and for \(n\ge 3\) there are exactly two smallest attractors:
\[
\{3\cdot 2^{n-3},\,3\cdot 2^{n-2}\}
\quad\text{and}\quad
\{2^{n-1},\,3\cdot 2^{n-2}\}.
\]
The same paper contrasts this rigidity with Fibonacci words: both families have smallest attractor size \(2\), but for Fibonacci words the number of distinct smallest attractors is
\[
2^{n-4}+2^{\lceil n/2\rceil-2}\qquad (n\ge 7),
\]
whereas for period-doubling words \(|\mathcal{A}_{D_n}|=2\) for \(n\ge 2\). The paper states the broader implication explicitly: strings with the same smallest attractor size can have a drastically different number of distinct smallest attractors [2602.16152].

The proof theory in the period-doubling case depends on structural synchronization under a \(2\)-uniform morphism. Because \(\phi(a)=ab\) and \(\phi(b)=aa\), every \(b\) in \(D_n\) occurs at an even position, so \(bb\) cannot occur. The paper derives that any occurrence of a substring \(x\) with \(|x|\ge 3\) has a unique parity of starting position. This parity rigidity enables desubstitution: if \(\{p,q\}\) is a smallest attractor of \(D_n\) with \(D_n[p]=a\) and \(D_n[q]=b\), then for \(n\ge 4\) both positions are even and \(\{p/2,q/2\}\) is a smallest attractor of \(D_{n-1}\). In that sense, the attractor classification is not merely recursive in length but recursive in exact attractor placement.

A different symbolic-arithmetic manifestation of doubling is the angle-doubling map on the circle,
\[
\delta(\theta)=2\theta \pmod 1.
\]
The paper “Mersenne numbers and the doubling map” studies the connection between \(M(n)=2^n-1\) and the dynamics of \(\delta\). Its central result is that for \(n>1\), an odd number
\[
q\in\{3,5,7,\dots,M(n)-2\}
\]
divides \(M(n)\) if and only if \(\frac1q\in\mathbb S^1\) is a fixed point of \(\delta^n\). Equivalently,
\[
q\mid M(n)\iff 2^n\equiv 1\pmod q.
\]
For prime \(n\), this becomes the statement that \(q\mid M(n)\) if and only if \(\frac1q\) has \(\delta\)-period \(n\). The paper turns this into a divisor-finding method based on periodicity under modular doubling, develops a \(q\)-integer doubling map \(\Delta_q(r)=2r \pmod q\), and introduces a \(q\)-Poincaré integer doubling map \(\pi_q\) with “flying times” that compress several doublings into one jump. As an application, it proves that
\[
M(2{,}199{,}023{,}254{,}451)
\]
is composite by exhibiting the divisor
\[
q=4{,}398{,}046{,}508{,}903.
\]
The paper reports that \(M(n)\) has approximately \(6.6\times 10^{11}\) decimal digits and that the CPU time for this case was \(4979.3\) seconds on the authors’ server [2605.29130].

## 4. Algebraic and arithmetic doubling constructions

In fixed-precision arithmetic, recursive doubling is realized as recursive operand-size doubling. The RecInt framework restricts widths to powers of two and defines a recursive unsigned integer type `RecInt<k>` of size \(2^k\) bits. For \(k>k_0\), a value is represented by two `RecInt<k-1>` halves, `High` and `Low`, with the intended decomposition
\[
X=X_{\mathrm{high}}\,2^{2^{k-1}}+X_{\mathrm{low}}.
\]
For \(k\le k_0\), the recursion bottoms out in machine arithmetic: on a 32-bit architecture, `RecInt<5>` is a `uint32`, and on a 64-bit architecture, `RecInt<6>` is a `uint64`. The arithmetic is designed to mimic machine-word behavior modulo
\[
2^{2^k}.
\]
The paper lists classical operations, truncated arithmetic, modular arithmetic, Burnikel–Ziegler recursive Euclidean division with complexity
\[
O(rs^{\log(3)-1}+r\log(s)),
\]
and Montgomery reduction aligned with the `High`/`Low` split. Because \(R=2^{2^k}\) coincides with the radix boundary, \(A\bmod R=A.Low\) and division by \(R\) amounts to taking the high half in the relevant context; the paper states that REDC therefore requires only 1 truncated multiplication and 1 complete multiplication. It also states that one truncated multiplication of level \(k\) requires only 1 complete multiplication and 2 truncated multiplications of level \(k-1\), instead of 4 complete multiplications for a naïve complete multiplication. Benchmarks against GMP 5.0.1 on gcc 4.4.0, Xeon X5482, 3.2GHz were reported as comparable, with better behavior for small fixed precision, and the same recursive representation was synthesized to VHDL with GAUT and simulated on a Virtex 5 for 128-bit, 256-bit, and 512-bit words [1104.0478].

A second algebraic use of doubling is Curtis Bright’s construction for Williamson matrices. Williamson matrices are four square, symmetric, circulant \(\{\pm1\}\)-matrices \(A,B,C,D\) of order \(n\) such that
\[
A^2+B^2+C^2+D^2=4nI_n.
\]
Working at the level of first-row sequences, Bright defines three elementary operations: negation, cyclic shift, and interleaving. For odd \(n\), if \(A,B,C,D\) are Williamson sequences of order \(n\), then
\[
AB',\quad (-A)B',\quad CD',\quad (-C)D'
\]
are Williamson sequences of order \(2n\), where \(B'\) and \(D'\) are shifted by \((n-1)/2\). The proof uses the invariances
\[
\PAF_{-A}(s)=\PAF_A(s),\qquad \PAF_{A'}(s)=\PAF_A(s),
\]
together with the explicit periodic autocorrelation formula for interleavings. Even shifts reduce to twice the original Williamson cancellation condition, and odd shifts cancel pairwise because
\[
\PAF_{(-X)Y}(s)=-\PAF_{XY}(s)
\qquad\text{for odd }s.
\]
The paper is explicit that this is a doubling construction, but not a fully recursive one: unlike the constructions of Sylvester and Baumert–Hall, it cannot be applied repeatedly in general because its hypothesis requires the input order \(n\) to be odd, and after one application the new order \(2n\) is even [1803.01480].

## 5. Geometric and metric manifestations

In geometric growth, doubling is a local growth rule on connected shapes in the two-dimensional square grid. Starting from an initial shape \(S_I=S_0\), one or more growth operations are applied in parallel at each time-step, always satisfying \(|S_t|>|S_{t-1}|\). The paper “On Geometric Shape Construction via Growth Operations” studies three such operations: **full doubling**, **RC doubling**, and **doubling**. In full doubling, every node generates a new node in a chosen direction. From a singleton initial shape, a constructor with \(l\) horizontal and \(k\) vertical full doublings produces a rectangle of size
\[
2^l\times 2^k.
\]
For a general initial shape \(S\), the effect of \(l\) east and \(k\) north full doublings is captured by a reconfiguration function \(F_{l,k}\), and the paper proves the additivity law
\[
F_{l',k'}(F_{l,k}(S))=F_{l'+l,k'+k}(S).
\]

RC doubling restricts growth to complete rows or complete columns. Its central abstraction is the **baseline shape** \(B(S)\), obtained by collapsing consecutive duplicate rows and columns. The main characterization theorem states that \(S_I\) can generate \(S_F\) through RC doubling if and only if
\[
B(S_I)=B(S_F)=B
\]
and the multiplicities of every row and column in \(B\) can only increase:
\[
M_{S_F}(C)\ge M_{S_I}(C),\qquad M_{S_F}(R)\ge M_{S_I}(R).
\]
The same paper proves a linear-time centralized algorithm for this reachability problem and shows that whenever RC construction is possible, there exists a constructor using at most \(2\log n\) time-steps, where \(n=|S_F|\). For the most general doubling operation, the paper gives two universal constructors from a singleton: one with time
\[
O(|B(S_F)|)+O(\log |S_F|)
\]
and another with time
\[
O(h\log |S_F|),
\]
where \(h\) is the minimum number of rectangles in a partition of the target orthogonal shape. It also proves lower bounds: some shapes, including staircase families and exact staircases, cannot be constructed in sub-linear time-steps under the specified variants of doubling [2207.03275].

A distinct geometric use of the adjective “doubling” occurs in metric algorithms. The paper “A Simple Randomized \(O(n\log n)\)-Time Closest-Pair Algorithm in Doubling Metrics” considers a finite metric space \((P,\operatorname{dist})\) of size \(N\) and constant doubling dimension \(d\), where a ball of radius \(R\) can be covered by at most \(2^d\) balls of radius \(R/2\). The paper gives a randomized recursive algorithm that computes the closest-pair distance in \(O(N\log N)\) expected time. The recursive split is based on a sparse annulus separator. For a subset \(S\subseteq P\), the algorithm finds a center \(p\) and radius \(R\), defines
\[
S_1=B_S(p,R),\qquad
S_2=A_S(p,R,(1+1/t)R),\qquad
S_3=S\setminus(S_1\cup S_2),
\]
and recurses on \(S_1\cup S_2\) and \(S_2\cup S_3\). With
\[
t=\left\lfloor \frac{1}{16e}(n/2)^{1/d}\right\rfloor,
\]
the annulus satisfies \(|S_2|\le n/t\), while both recursive subproblems have size at most \((1-1/c)n\) for \(c=2(4e)^d\). The correctness proof uses the packing inequality
\[
|B_P(p,R)|\le (4R/\delta)^d
\]
for closest-pair distance \(\delta\), from which the annulus width \(R/t\ge \delta\) is obtained. The algorithm thereby gives a recursive divide-and-conquer scheme whose separator exists because of doubling-metric structure rather than Euclidean coordinates [2004.05883].

## 6. Limits, distinctions, and comparative interpretation

Several papers are explicit that doubling constructions should not be conflated. In the period-doubling-word setting, the precise object is the family of period-doubling words, and the paper does not use “recursive doubling” as a formal term beyond that context [2602.16152]. In Bright’s matrix construction, the rule from order \(n\) to order \(2n\) is constructive but not recursively iterable in general because the input order must be odd [1803.01480]. In geometric growth, allowing arbitrary local doubling does not imply universal sublinear-time construction; staircase families remain \(\Omega(n)\) in the relevant models [2207.03275]. In distributed convergence detection, recursive doubling remains efficient on the power-of-two core, but applicability depends strongly on the communication environment, and tree-based alternatives may be preferable under significant long-distance communication [1907.01201].

These results also show that “what is being doubled” varies materially. In period-doubling words, doubling is a morphic length law \(|D_n|=2^n\). In the doubling map, it is an orbit law \(\delta^k(\theta)=2^k\theta \pmod 1\). In RecInt, it is operand size. In Williamson matrices, it is matrix order. In grid growth, it is row, column, or node multiplicity. In doubling metrics, it is not the instance size that doubles, but the covering property that bounds geometry across scales [2605.29130] [1104.0478] [1803.01480] [2207.03275] [2004.05883].

Taken together, these papers suggest that the most stable encyclopedic meaning of recursive doubling is not a single algorithm but a recurring dyadic self-similarity principle. Its concrete realization may be a communication schedule, a substitution system, a modular orbit, a recursive representation, a geometric growth rule, or a separator theorem. What remains invariant is that one stage is designed so that the next stage is naturally indexed by \(2n\), \(2^n\), \(2^k\), or an equivalent dyadic refinement, and the analytical consequences—exact classification, logarithmic-time construction, efficient reduction, or divisor detection—follow from that structure.

Source: https://www.emergentmind.com/topics/recursive-doubling