### Designer nodal knots from braids

The most natural route to realizing momentum space knots is via a 3D lattice with band intersections (nodes) along particular knotted trajectories. A generic reciprocal lattice with band intersections minimally contains two sites per unit cell, and can be written as a reciprocal (momentum) space graph Laplacian

$$J({bf{k}})={l}_{0} {mathbb{I}}+{mathfrak{R}}{mathfrak{e}}f({bf{k}}){tau }_{x}+{mathfrak{I}}{mathfrak{m}}f({bf{k}}){tau }_{z},$$

(1)

where *l*_{0} is a uniform offset, *f*(**k**) is an even function of **k**, and *τ*_{x}, *τ*_{z} are the Pauli matrices. Nodes occur whenever its two eigenvalues (bands) ({l}_{0}pm sqrt{{[{rm{Re}}f({bf{k}})]}^{2}+{[text{Im}f({bf{k}})]}^{2}}=:{l}_{0}pm | f({bf{k}})|) coincide, i.e., yielding a vanishing gap 2∣*f*(**k**)∣ = 0. This is a complex constraint equivalent to the intersection of two level sets given by ({rm{Re}} f({bf{k}})=0) and Im *f*(**k**) = 0, which hence traces out a 1D nodal line in the 3D BZ. Note that we have excluded *τ*_{y} terms, which will break the nodal line into isolated Weyl points. Generically, the locus of *f*(**k**) = 0 can correspond to broken arcs or arbitrarily intertwined closed loops. The topologically most interesting cases occur when a loop links nontrivially with itself, forming a nodal knot, or when multiple loops inseparably entangle to form a nodal link. In the following, we shall first show how *f*(**k**) can be constructed based on a desired knot or link structure, without restricting ourselves to any particular physical implementation. Subsequently, we show why its corresponding Laplacian *J*(**k**) can be most suitably implemented by an RLC circuit.

To design *f*(**k**), the first step is to unambiguously specify a desired knot or link. Intuitively, we can visualize a knot/link as a braid closure^{32}, i.e., as a collection of intertwining strands with their permuted ends joined together. (Fig. 1: The number of linked components is equal to the number of cycles in the decomposition of the permutation.) The precise sequence of the strand crossings identifies the knot/link, and is annotated as a braid word ({sigma }_{1}^{pm }{sigma }_{2}^{pm }…), with *σ*_{i} indicating that the *i*^{th} string crosses above the (*i*+1)^{th} string from the left, and ({sigma }_{i}^{-1}) if the crossing is from below. Two non-adjacent crossings commute: *σ*_{i}*σ*_{j} = *σ*_{j}*σ*_{i} for ∣*i* − *j*∣ ≥ 2; less obvious is the braid relation *σ*_{i}*σ*_{j}*σ*_{i} = *σ*_{j}*σ*_{i}*σ*_{j} which plays a fundamental role in the Yang–Baxter equation^{33}. Note that due to the braid relation, as well as Markovian moves that swap the closing strands^{34}, more than one braid word can correspond to a desired knot. Nevertheless, the specification of the braid uniquely identifies the knot. For instance, ({sigma }_{1}^{2}) gives the Hopf-link, while ({sigma }_{1}^{3}) gives the Trefoil knot (Fig. 1).

The next step is to find an explicit form of *f*(**k**) that gives the knot/link corresponding to a desired braid. Mathematically, the knot/link exists as the kernel of the mapping (f:{{mathbb{T}}}^{3}to {mathbb{C}}), which maps **k** in the 3D BZ ({{mathbb{T}}}^{3}) onto a complex number *f*(**k**). To make sure that *f* incorporates the information from the braid, we decompose it into a composition of mappings

$${{mathbb{T}}}^{3}mathop{to }limits^{F}{{mathbb{C}}}^{2}mathop{to }limits^{bar{f}}{mathbb{C}},$$

(2)

i.e., (f({bf{k}})=bar{f}(F({bf{k}}))) where *F*(**k**) = (*z*, *w*) maps **k** onto two complex numbers *z*(**k**) and *w*(**k**) in an auxiliary braiding space, which then yields *f* via the braiding map (bar{f}(z({bf{k}}),w({bf{k}}))=f({bf{k}})). To concretely understand this decomposition, we first note that a braid closure lives in the space ({mathbb{C}}times {S}^{1}), since the position of *N* strands can be given by complex coordinates *z*_{1}(*s*), *z*_{2}(*s*), . . . , *z*_{N}(*s*), where *s* ∈ [0, 2*π*] is the periodic vertical “time” coordinate (Fig. 1a). Each braid operation corresponds to two half-revolutions (windings) between two particles i.e. ({sigma }_{i}^{pm }) corresponds to *z*_{i+1} − *z*_{i} → *e*^{±iπ}(*z*_{i+1} − *z*_{i}) with increasing *s*. We thus define (bar{f}(z,w)) by analytical continuation to complex (s=-imathrm{log},w) as

$$bar{f}(z,{e}^{is})=mathop{prod }nolimits_{j}^{N}left(z-{z}_{j}(s)right),$$

(3)

such that points satisfying the nodal constraint (bar{f}(z,w)=0) lie exactly along the trajectories *z*_{j}(*s*). To use Eq. (3), one expresses each *z*_{j}(*s*) as a time Fourier series containing *w* = *e*^{is}, i.e., a polynomial in *w*, such that (bar{f}(z,w)) becomes a Laurent polynomial of *z* and *w*. For instance, a Hopf braid can be parametrized by *z*_{1}(*s*) = −*z*_{2}(*s*) = *e*^{is} = *w*, which yields (bar{f}(z,w)=(z-w)(z+w)={z}^{2}-{w}^{2}). This can be directly generalized to a braid of a (*p*, *q*) torus knot, which consists of *p* strands each of which twists for *q* revolutions before closure: ({z}_{j}(s)={e}^{frac{i}{p}left(2pi j+qsright)}), yielding (bar{f}(z,w)={z}^{p}-{w}^{q}). Next, we need a criterion for suitable functions *F*(**k**) = (*z*(**k**), *w*(**k**)), that express *z* and *w* in terms of **k**. Ideally, *F*(**k**) should be able to “curl up” the braiding space ({mathbb{C}}times {S}^{1}) into a solid torus in the 3D BZ, such that knots given by braid closures are faithfully mapped into nodal knots in the 3D BZ^{35} (Fig. 1). How this “curling” is accomplished is quantified by the winding number

$$n=-frac{1}{2{pi }^{2}}int_{BZ}{d}^{3}{bf{k}},{epsilon }_{mu nu rho gamma }{N}_{mu }{partial }_{{k}_{x}}{N}_{nu }{partial }_{{k}_{y}}{N}_{rho }{partial }_{{k}_{z}}{N}_{gamma },$$

(4)

where *μ*, *ν*, *ρ*, *γ* ∈ {1, 2, 3, 4} and *z*(**k**) = *N*_{1}(**k**) + *i**N*_{2}(**k**), *w*(**k**) = *N*_{3}(**k**) + *i**N*_{4}(**k**). It measures how many times the braid winds around the BZ. Generically, one will choose an *F*(**k**) with winding *n* = ± 1 to guarantee a one-to-one mapping from a specific braid closure to a nodal knot in the BZ. An important caveat, however, is that *n* = ± 1 is not possible for a passive RLC circuit implementation due to its reciprocal nature. In the discussion surrounding Eq. (7) later, we shall explain how this seeming obstacle can be avoided systematically.

Our approach outlined so far generalizes existing approaches in the literature: In the approach of Ezawa^{23}, *F*(**k**) was chosen to be certain generalized Hopf fibrations, but there was no freedom of choosing *f*(*z*, *w*) for more general knot constructions; *f*(*z*, *w*) was further explored in ref. ^{36} in real space, but not in a toroidal momentum BZ where a nodal bandstructure can be found.

### Characterizing nodal knot topology

A key feature of nodal knots is their interesting topological structure. Knotted lines of singularities in momentum space can be viewed as generalizations of Weyl points. In place of isolated sources of topological (Berry) flux, there are intertwined loops of “branch cuts”. While signatures of non trivial knot topology can manifest as optical non-linearity enhancements in electronic nodal materials^{37,38}, we shall see that circuit implementations allow the nodal knots themselves to be directly reconstructed.

To mathematically characterize different knots, we first introduce the knot group. The knot group of a given knot *K* is the fundamental group ({pi }_{1}({{mathbb{T}}}^{3}setminus K)) of its complement in its ambient space, which in our context is the 3-torus BZ ({{mathbb{T}}}^{3}). Physically, the complement ({{mathbb{T}}}^{3}setminus K) is the part of the BZ containing non-degenerate eigenmodes, and the knot group indexes the space of non-trivial closed paths within this phase space. In the simple case of a nodal ring (unknot), ({pi }_{1}({{mathbb{T}}}^{3}setminus K)) consists of equivalence classes of trajectories characterized by their winding number around the ring, and is thus given by integer-valued Berry phase windings ({mathbb{Z}}). In more complicated knots, there can be several inequivalent sets of windings, corresponding to different unique homotopy generators of ({{mathbb{T}}}^{3}setminus K). For instance, the knot group of a (*p*, *q*) torus knot is given by 〈*x*, *y*∣*x*^{p} = *y*^{q}〉, since a path that winds *p* times around the “equator” can be deformed into one that winds *q* times around the “pole”. In the special case of the trefoil knot with (*p*, *q*) = (2, 3), the knot group 〈*x*, *y*∣*x*^{2} = *y*^{3}〉 is also isomorphic to the braid group with three strands: *σ*_{1}*σ*_{2}*σ*_{1} = *σ*_{2}*σ*_{1}*σ*_{2}, as evident from identifying *x* = *σ*_{1}*σ*_{2}*σ*_{1} and *y* = *σ*_{1}*σ*_{2}. Yet, in general, the presentation for the knot group can take diverse reparametrized forms (i.e. 〈*x*, *y*∣*x**y**x*^{−1}*y**x* = *y**x**y*^{−1}*x**y*〉 for the figure-8 knot), and is hence by itself insufficient for topological classification.

In order to faithfully distinguish topologically inequivalent knots, various knot invariants have been developed. Simple invariants such as the linking number or knot signature can be easily computed by examining the crossings, but only have limited discriminatory power. A more sophisticated approach involves the Chern Simons path integral^{20}, which encapsulates topological information on the nodal singularities through certain knot polynomials, i.e., Jones polynomials, depending on the chosen gauge group. In our physical setup with classical circuits, another well-established invariant known as the Alexander polynomial will be most experimentally accessible. Starting from the topological surface “Drumhead” modes, one can reconstruct the Seifert surface, which is an orientable surface in the 3D BZ whose boundary is the nodal knot/link, and compute the Alexander polynomial from its homology properties.

### Surface states of knots

Since nodal knots/links consist of closed loops, they form the boundary of topological surface drumhead modes in the projected 2D surface BZ. Intuitively, drumhead modes can be construed as Fermi arcs traced out by Weyl points moving along the nodal lines. If a nodal structure were to be deformed across a topological transition, i.e., till the loops of a Hopf link intersect, the shape of the drumhead regions along suitable projections must also transition discontinuously i.e. from two overlapping regions to two disjoint regions. For each possible surface termination, the drumhead regions form the surface projections (shadow) of a tight, i.e., minimal area Seifert surface (Fig. 2). In this sense, the drumhead modes on differently oriented boundary surfaces are just different “holographic” projections of the same tight Seifert surface living in the 3D BZ. Note that a Seifert surface is itself not a topological invariant, since it is not unique: for instance, ({rm{Re}}[f({bf{k}})]> 0), ({rm{Re}}[f({bf{k}})]<0), I*m*[*f*(**k**)] >0 and I*m*[*f*(**k**)] <0 are all valid Seifert surfaces, albeit not all tight.

To construct a topological invariant such as the Alexander polynomial, we hence need information on how the Seifert surface links with itself: we consider the linking of its 1st-homology loops *α*_{1}, *α*_{2}, . . . , *α*_{l} with ({alpha }_{1}^{prime},{alpha }_{2}^{prime},…,{alpha }_{l}^{prime}) of a lifted Seifert surface defined from a infinitesimally shifted Laplacian (L^{prime} ({bf{k}})=L({bf{k}})-epsilon {tau }_{j}), with *j* = *x* or *z*. This shift creates a parallel Seifert surface infinitesimally displaced in a way consistent with the knot orientation given by the vector ({nabla }_{{bf{k}}}{rm{Re}} f({bf{k}})times {nabla }_{{bf{k}}}{rm{I}}m f({bf{k}})). The *l* × *l* Seifert matrix *S*_{ij}, which captures the twisting structure of the Seifert surface, is then given by the linking number of *α*_{i} and ({alpha }_{j}^{prime}), with *l* being the number of homology generators^{34,39}. From that, one can obtain the Alexander polynomial invariant as

$$A(t)={t}^{-l/2}{rm{D}}et[S-t{S}^{T}].$$

(5)

For instance, as further elaborated on in the methods section, *A*(*t*) = *t* + *t*^{−1} − 1 for the trefoil knot. General heuristics for constructing and visualizing the Seifert surface for a given nodal bandstructure are outlined in Fig. 2d.

### Constructing and measuring knots in circuits

Having detailed their mathematical construction and characterization, we now describe how nodal knots can be concretely implemented and detected in electrical RLC circuits via both simulations and experiments. An RLC circuit with *N* nodes can be represented by an undirected network with graph nodes (junctions) *α* = 1, . . . , *N* connected by resistors, inductors and capacitors. Its behavior is fully characterized by Kirchhoff’s law at each junction, which takes the matrix form

$${I}_{alpha }={J}_{alpha beta }{V}_{beta },$$

(6)

where *I*_{α} is the external current entering junction *α* and *V*_{β} is the potential at junction *β*. Physically, each entry *J*_{αβ} of the Laplacian *J* physically represents admittance (AC conductance): in the submatrix spanned by junctions (*α*, *β*), an element with impedance *r*_{ab} contributes ({r}_{ab}^{-1}left(begin{array}{cc}1&-1\ -1&1end{array}right)) to the Laplacian, where *r*_{ab} = *R*, *i**ω**L* and (*i**ω**C*)^{−1} for the RLC components, respectively. The strictly reciprocal (symmetric) nature of these components constrains the possible forms of the Laplacian. In particular, for a circuit array with two sites per unit cell, ({rm{Re}} f({bf{k}})) and I*m* *f*(**k**) in the Laplacian of Eq. (1) must be even^{40} in powers of **k**. This constraint severely restricts the prospects of faithfully “curling” a braid into a 3D BZ, such that each desired braid crossing is mapped one-to-one onto the resultant nodal structure. This is because nodal knots necessarily contain unpaired 2D Chern phase slices, which require reciprocity breaking. Mathematically, it corresponds to the impossibility of achieving an *F*(**k**) winding of ∣*n*∣ = 1 (Eq. (4)) without sine terms. Primarily for this reason, nodal knots have not appeared in existing linearized reciprocial circuit architectures, or related settings of classical topological matter.

In this work, our key insight is to instead realize pairs of nodal knots related by mirror symmetry, such that reciprocity does not have to be broken. This can be achieved via a mapping *F*(**k**) = (*z*(**k**), *w*(**k**)) such as

$$z= ;cos 2{k}_{z}+frac{1}{2}+i(cos {k}_{x}+cos {k}_{y}+cos {k}_{z}-2)\ w= ;sin {k}_{x}+isin {k}_{y},$$

(7)

which possesses opposite windings of *n* ≈ ±1 in each of the two halves of the 3D BZ given by *k*_{z} > 0 and *k*_{z} < 0 (Fig. 1b). Provided that *w* is raised only to even powers in (bar{f}(z,w)), the Laplacian will be even in **k**, and hence realizable in an RLC, and as such reciprocal, circuit.

The overwhelming advantage of topolectrical circuit array implementations is that nodal structures naturally manifest as robust impedance peaks, i.e., electrical resonances. Consider a multi-terminal measurement with input currents and potentials given by the *I*_{α} and *V*_{β} components respectively (c.f. Eq. (6)). In general, the impedance *Z*_{ab} between modes *a* and *b* is given by

$${Z}_{ab}=sum_{lambda }frac{{left|{psi }_{lambda }(a)-{psi }_{lambda }(b)right|}^{2}}{{j}_{lambda }},$$

(8)

where *j*_{λ} and *ψ*_{λ} are the corresponding eigenvalues and eigenvectors of the circuit Laplacian *J*. Note that the modes *a*, *b* are not necessarily the real-space nodes *α*, *β* appearing in Eq. (6); in the translation-invariant circuits that we consider, they can also refer to quasi-momentum modes from the Fourier decomposition of multiterminal measurements. Importantly, for circuits designed such that *j*_{λ} ≈ 0 along the nodal loops/knots or their drumhead regions, *Z*_{ab} should signal pronounced divergences (resonances) when either *a* or *b* coincide with the nodal regions. More generally, *Z*_{ab} should diverge strongly whenever the Laplacian exhibits a zero-eigenvalue flat band with divergent density of states, since *j*_{λ} ≈ 0 for extensively many *λ*, unless *ψ*_{λ}(*a*) = *ψ*_{λ}(*b*) at terminal *a*, *b*.

For the sake of concreteness, we specialize to a periodic circuit network with a repeated unit cell structure. This allows us to rewrite Eq. (6) as

$${I}_{({bf{x}},i)}={J}_{({bf{x}},i),({bf{y}},j)}{V}_{({bf{y}},j)},$$

(9)

with **x**, **y** labeling the unit cell positions in the circuit, while *i*, *j* = {1, 2} labels the two sublattice nodes inside each unit cell. By exploiting the translational invariance of unit cells in the circuit, *J*_{(x, i),(y, j)} = *J*_{i,j}(**x** − **y**), we can find the irreducible representations of the translational group of *J* by a Fourier transformation in the real space coordinates

$${J}_{i,j}({bf{k}})=sum_{{bf{r}}}{J}_{i,j}({bf{r}}) {e}^{-i{bf{k}}cdot {bf{r}}}.$$

(10)

In Eq. (10), we sum over all unit cell positions **r** in the circuit network. We define the Fourier transformation of *J* to be in the directions perpendicular to the open boundary surface. The dimension of the resulting matrix *J*(**k**) is fixed by the number of circuit nodes that do not transform into each other by translation. By diagonalizing *J*(**k**), we find the admittance band structure ({j}_{n}({bf{k}}),nin {1,ldots ,dim (J({bf{k}}))}) of the circuit network as a mapping of quasi-momentum **k** to admittance eigenvalues of *J*. The fully periodic circuit network is then constructed such that the admittance band eigenvalues are given by the absolute value of *f*, *j*_{±}(**k**) = ±∣*f*(**k**)∣. The kernel of the fully periodic admittance band structure features one-dimensional closed nodal loops in its 3D BZ, that are induced by the corresponding mapping ({{mathbb{T}}}^{3}to {mathbb{C}}) inherited from the function *f*(**k**). In an experimental setting, it is possible to extract the admittance band structure by performing *N* linearly independent measurement steps, where *N* describes the number of inequivalent nodes in the network. Each step consists of a local excitation of the circuit network and a global measurement of the voltage response, from which all components of the Laplacian in reciprocal space can be extracted. Consequently, the admittance band structure is found by a diagonalization of *J*(**k**) for each **k**.

In the following, we show *Xyce*^{41} simulation results of the prescribed measurement procedure with periodic (Fig. 3) as well as open boundary conditions (Fig. 4) for circuits featuring a Hopf-link, trefoil knot and figure-8 knot. The experimental details for the Hopf-link are described in the Methods section.

Before proceeding to more involved nodal knots, we illustrate our approach through the simplest example of a nontrivial linked nodal structure—the Hopf-link (Fig. 1c). With *f*(**k**) = *z*(**k**)^{2} − *w*(**k**)^{2} (*z*_{1,2}(*s*) = ± *e*^{is} in Eq. (3)), it is the simplest possible nontrivial nodal structure, with at most next-nearest neighbor (NNN) unit cells connected by capacitors *C*, *C*/2, *C*/4 or inductors *L*, *L*/2, *L*/4 in each direction (see “Methods”). In steady-state *Xyce* AC simulations, where the frequency parameter is set by the external excitation, the impedance peaks at ({omega }^{2}=frac{1}{LC}) indeed accurately delineate the two inter-linked nodal rings, as shown in Fig. 3a. Its surface projections are even more accurately resolved as drumhead regions when the measurements are taken on open boundary surfaces normal to (hat{x}) and (hat{y}), as shown in Fig. 4a. No drumheads are expected for (hat{z}) open boundary surfaces, since there is another mirror-image nodal structure related by *k*_{z} → − *k*_{z}.

We next consider the trefoil knot, which is defined by *f*(**k**) = *z*(**k**)^{2} − *w*(**k**)^{3}. While it, even after topology-preserving real-space truncations (see “Methods”), still necessitates longer-ranged connections, circuit networks conveniently allow to accomodate for such couplings. In Figs. 3b and 4b, we present the simulation results of the detailed imaging of a nontrivially knotted nodal loop and its drumhead surface projections, which also showed remarkable agreement with theoretical expectations.

Our approach can also be conveniently applied to more obscure non-torus knots where *f*(*z*, *w*) is not a polynomial in *z* and *w*. For illustration, we simulate the circuit with a Figure-8 knot nodal structure with (f({bf{k}})=64 z{({bf{k}})}^{3}-12 z({bf{k}})(3+2(w{({bf{k}})}^{2}-{bar{w}}{({bf{k}})}^{2})) -14(w{({bf{k}})}^{2}+bar{w}{({bf{k}})}^{2})-(w{({bf{k}})}^{4}-bar{w}{({bf{k}})}^{4})), where (w({bf{k}}),bar{w}({bf{k}})=sin {k}_{x}pm isin {k}_{y}). The Figure-8 knot belongs to the more general class of knots known as lemniscate knots, where the equivalent braid cannot be expressed the braiding of *p* strands with *q* revolutions, and requires the appearance of both *w* and (bar{w}) in its *f*(**k**)^{35}. Despite its ostensibly more complicated appearance, its nodal structure and surface drumhead states, shown in Figs. 3c and 4c, respectively, can be easily obtained from impedance measurements.

### Experimental mapping of surface drumhead states

A highlight of this work is the experimental verification of our design of momentum-space nodal structures. Due to the topological significance of surface drumhead states, as well as their extensively large density of states, our experiment shall involve the mapping of the drumhead state of the nodal Hopf Link shown in Fig. 4a, where *k*_{y} and *k*_{z} are synthetic coordinates. This surface was chosen due to the distinctive “double-loped” structure of the drumhead state, which should prominently show up as a region of elevated topolectrical impedance.

The first step in experimental circuit design is to simplify the real-space lattice structure. After optimal truncation and tuning of the x-direction couplings (see “Methods”), we obtained a slightly modified Hopf-link with qualitatively similar double lobes in its drumhead region (Fig. 5a). Note that unlike the topological drumhead modes themselves, the elevated region consists of extra “ridges and valleys” due to additional contributions from other bands in Eq. (8). This circuit is physically implemented with an array of connected printed circuit boards (PCBs), each representing one unit cell, which can be adjusted to accurately correspond to different (*k*_{y}, *k*_{z}) points by tuning the inductors (Fig. 6 of Methods). Enabled by individually addressing the nodes, our tuning approach allows each inductance to be reliably adjusted by −50% to +25% of its original manufactured value, realizing to our knowledge the most accurately tunable circuit in the literature of topolectrical circuits to this date. To realize the required variety of capacitance values, we have implemented each logical capacitor as an appropriate parallel configuration of a few commercially available capacitors (see “Methods”). All parametric tunings are relegated to the inductances, since variable inductors are more reliably tuned than variable capacitors in practice.

While the topological robustness of drumhead states increases with the number of unit cells *N*, so do the destabilizing contributions from parasitic resistances and components uncertainties. As simulated in Fig. 5b for realistic component values, we have found that a rather low *N* = 9 already gives rise to a robustly visible drumhead region of elevated impedance. Importantly, this robustness is well corroborated against the experimental impedance data presented in Fig. 5c. Even with only 14 (*k*_{y}, *k*_{z}) data points, each obtained through careful tuning, we have observed a very high fidelity between the expected and measured impedance values, as also visually evident from the almost perfect match of the blue/red (low/high imepdance) points between simulation and experiment (Fig. 7 of Methods). To mitigate the effects of parasitic resistance and component uncertainty, we have also taken advantage of a machine learning algorithm that choses (*k*_{y}, *k*_{z}) sampling points that remain the most impervious to these uncertainties (Fig. 8 of Methods).

Besides conclusively demonstrating the experimental viability of mapping out nodal drumhead states, our experiment also pushes the state-of-the-art in tunable topolectrical circuits, where even minute uneveness between unit cells can potentially affect the circuit band structure significantly. As further elaborated in the “Methods” section, further refinement of this technique through micro-controllers can lead to even more accurate automated tuning that can eventually realize topological pumping in quasiperiodic (Aubry-Andre-Harper) circuits.