research papers\(\def\hfill{\hskip 5em}\def\hfil{\hskip 3em}\def\eqno#1{\hfil {#1}}\)

Journal logoFOUNDATIONS
ADVANCES
ISSN: 2053-2733

Computing the bridge length: the key ingredient in a continuous isometry classification of periodic point sets

crossmark logo

aComputer Science Department and Materials Innovation Factory, University of Liverpool, Liverpool L69 3BX, UK
*Correspondence e-mail: [email protected], [email protected]

Edited by A. Singer, Princeton University, USA (Received 27 June 2025; accepted 18 September 2025; online 17 October 2025)

The fundamental model of any periodic crystal is a periodic set of points at all atomic centres. Since crystal structures are determined in a rigid form, their strongest equivalence is rigid motion (composition of translations and rotations) or isometry (also including reflections). The recent classification of periodic point sets under rigid motion used a complete invariant isoset whose size essentially depends on the bridge length, defined as the minimum `jump' that suffices to connect any points in the given set. We propose a practical algorithm to compute the bridge length of any periodic point set given by a motif of points in a periodically translated unit cell. The algorithm has been tested on a large crystal dataset and is required for an efficient continuous classification of all periodic crystals. The exact computation of the bridge length is a key step to realizing the inverse design of materials from new invariant values.

1. Introduction: practical motivations and the problem statement

All solid crystalline materials can be modelled at the atomic level as periodic sets of points (with the chemical attributes if desired) at all atomic centres, defined below.

Definition 1 (lattice, unit cell, motif, periodic point set)

Any vectors Mathematical equation that form a linear basis of Mathematical equation generate the lattice Mathematical equation and the unit cell Mathematical equation. A motif is any finite set of points Mathematical equation, which can represent centres of atoms in a real crystal. The motif size Mathematical equation is the number of points in M. A periodic point set S = Mathematical equation = Mathematical equation is a union of Mathematical equation lattices whose origins are shifted to all points p of the motif M [see Fig. 1[link] (left)].

[Figure 1]
Figure 1
Left: the orthonormal basis Mathematical equation generates the green lattice Λ and the unit cell U containing the blue motif M of three points. The periodic point set Mathematical equation is obtained by periodically repeating M along all vectors of Λ. Right: different motifs Mathematical equation in the same cell generate periodic sets that differ only by translation.

Any unit cell U is a parallelepiped on basis vectors Mathematical equation. If we translate the unit cell U by all vectors Mathematical equation, the resulting cells tile Mathematical equation without overlaps. Motif points represent atomic centres in a real crystal. The same lattice can be generated by infinitely many different bases that are all related under multiplication by Mathematical equation matrices with integer elements and determinant 1. Even if we fix a basis of Mathematical equation and hence a unit cell U, different motifs in U can define periodic point sets that differ only by Euclidean isometry defined as any distance-preserving transformation of Mathematical equation.

Since crystal structures are determined in a rigid form, their slightly stronger equivalence is rigid motion defined as any orientation-preserving isometry without reflections or as a composition of translations and rotations. After many years of discussing definitions of a `crystal' (Brock, 2021View full citation), a crystal structure was recently described in the periodic case as a class of periodic sets under rigid motion (Anosova et al., 2024View full citation).

Any such class consists of all (infinitely many) periodic point sets that are equivalent to each other under some rigid motions. However, almost any perturbation of atoms disturbs some interatomic distances and hence the isometry class with all cell-based descriptors, such as symmetry groups. Even in dimension 1, for any integer Mathematical equation and a small threshold Mathematical equation, the sequence Mathematical equation with period 1 is pointwise ε-close to the sequence with the motif Mathematical equation and arbitrarily large period m+1.

This inherent discontinuity of all cell-based descriptors was resolved by pointwise distance distributions (PDDs) (Widdowson et al., 2022View full citation; Widdowson & Kurlin, 2021View full citation; Widdowson & Kurlin, 2022View full citation), which defined geographic-style coordinates on the Cambridge Structural Database (CSD) (Widdowson & Kurlin, 2024View full citation). Though PDDs distinguish all periodic crystals in the CSD within minutes on a modest desktop, the only known theoretically complete and continuous invariant that uniquely identifies any periodic point set under isometry in Mathematical equation in polynomial time of the motif size (for a fixed dimension) is the isoset (Anosova & Kurlin, 2021View full citation; Anosova et al., 2025View full citation).

The invariant isoset requires the bridge length whose definition is recalled below.

Definition 2 [bridge length β(S)]

For any finite or periodic set of points Mathematical equation, the bridge length Mathematical equation is the minimum distance such that any points Mathematical equation can be connected by a finite sequence of points Mathematical equation in S, such that every Euclidean distance has the upper bound Mathematical equation for all Mathematical equation.

Equivalently, the bridge length Mathematical equation is the minimum double radius such that the union of the closed balls of the radius Mathematical equation around all points of S is connected. The lattice Mathematical equation of all points with integer coordinates has Mathematical equation. If we add to Mathematical equation all points whose coordinates are all half-integer, the resulting b.c.c. (body-centred cubic) periodic point set has Mathematical equation equal to the half-diagonal of the unit cube in Mathematical equation.

Expanding Delone's local theory (Delone et al., 1976View full citation; Dolbilin, 1976View full citation; Dolbilin et al., 1998View full citation; Dolbilin, 2015View full citation; Dolbilin, 2018View full citation), Dolbilin and Bouniaev studied more general t-bonded Delone sets, where t is an upper bound of the bridge length Mathematical equation for any periodic point set Mathematical equation (Bouniaev & Dolbilin, 2017View full citation; Dolbilin & Bouniaev, 2019View full citation). The main problem below is how to create an efficient algorithm to exactly compute Mathematical equation.

Problem 3

Design an algorithm to compute the bridge length Mathematical equation in polynomial time of the motif size for any periodic point set S with a fixed unit cell in Mathematical equation.

The bridge length of a finite set can be computed via a minimum spanning tree but the periodic case does not easily reduce to a finite one, as shown in Fig. 2[link].

[Figure 2]
Figure 2
All minimum spanning trees on extended motifs of a periodic point set S have the longest edge (in blue) of length 3, which could be made arbitrarily long, relative to a preserved minimum inter-point distance of 1 and bridge length Mathematical equation due to shorter edges from the top-right point in every cell across a cell boundary.

Definition 4 (minimum spanning tree)

For any finite set M of points in Mathematical equation, a Minimum Spanning Tree Mathematical equation is a tree that has the vertex set M and a minimum total length of straight-line edges with lengths measured by Euclidean distance.

Mathematical equation is uniquely defined if all distances between points of M are distinct [see Section 4.3 of Sedgewick & Wayne (2011View full citation)]. By Definition 2[link], the bridge length Mathematical equation of any finite set Mathematical equation equals the length of the longest edge of Mathematical equation.

For any periodic point set S with a unit cell U on a basis Mathematical equation in Mathematical equation, one can consider the extended motifs Mathematical equation, where the extended cell Uk is defined by the basis Mathematical equation for any integer Mathematical equation. The minimum spanning trees provide the upper bounds Mathematical equation for Mathematical equation, which can be unnecessarily high (see Fig. 2[link]), so Problem 3[link] is much harder for periodic sets than for finite sets of points.

Definition 5 [parameters r(U), R(S), a(U)]

Let Mathematical equation be a periodic point set whose unit cell U has a basis Mathematical equation. Set Mathematical equation, where b = Mathematical equation and d = Mathematical equation. The covering radius R(S) is the smallest radius R such that the union of closed balls of radius R around all Mathematical equation covers Mathematical equation. The height is h(U) = Mathematical equation, where Ui is the subcell of U spanned by all basis vectors except Mathematical equation. The aspect ratio of the cell U is defined as Mathematical equation.

For any periodic set Mathematical equation, Theorem 2 of Delone et al. (1973View full citation) and Lemma 3.6(a) of Anosova et al. (2025View full citation) imply the upper bound Mathematical equation, which is too high in practice (see Section 5[link]). Main Theorem 6[link] guarantees an exact computation of Mathematical equation in a time that only quadratically depends on the motif size m of S.

Theorem 6

For any periodic point set Mathematical equation with a motif of m points in a unit cell U, the bridge length Mathematical equation can be computed in time O(m2a(U)nN), where N is the time complexity of the Smith normal form, a(U) is the aspect ratio from Definition 5[link].

As the time complexity is proportional to the aspect ratio a(U) of a cell U, an initial reduction of U to a smaller cell will speed up the computation of the bridge length by minimizing further cell extensions, namely supercell_size in Algorithm 16[link].

Section 2[link] introduces the key concepts. Section 3[link] describes the main algorithm for Mathematical equation. Section 4[link] proves Theorem 6[link]. Section 5[link] presents experiments on crystals.

2. Auxiliary concepts of graph theory for the bridge length algorithm

This section introduces a few auxiliary concepts to describe the exact algorithm for the bridge length Mathematical equation in Section 3[link] and to prove Theorem 6[link] at the end of Section 4[link].

Definition 7 (Mathematical equation)

Let Mathematical equation be a periodic point set with a lattice Λ. A periodic Euclidean graph Mathematical equation is an infinite graph with the vertex set S and straight-line edges such that the translation by any vector Mathematical equation defines an automorphism of G, which is a bijection Mathematical equation that also induces a bijection on the edges of G (see Fig. 3[link]).

[Figure 3]
Figure 3
Left: the periodic point set S with the basis vectors Mathematical equation, Mathematical equation and motif points Mathematical equation, Mathematical equation. Middle: the periodic Euclidean graph Mathematical equation with three types of straight-line edges: green, blue, orange of lengths Mathematical equation, respectively. Right: the labelled quotient graph Q has directed edges eg,eb,eo with translational vectors indicating integer shifts of cells (see Definitions 7, 8, 9).

If straight-line edges meet at interior points, they are not considered vertices of G.

Fig. 3[link] shows a connected periodic graph G but G can also be disconnected. For example, let S be the square lattice Mathematical equation, then the graph G consisting of all horizontal edges connecting the points (m,n) and (m+1,n) for Mathematical equation is periodic but not connected. If we add to G all vertical edges connecting (m,n) and (m,n+1) for Mathematical equation, the resulting infinite square grid is a connected periodic graph on Mathematical equation.

Definition 8 (quotient graph)

Let G be a periodic graph on a periodic point set S with a lattice Λ in Mathematical equation. Two points of S (also vertices or edges of G) are called Λ-equivalent if they are related by a translation along a vector Mathematical equation. The quotient graph Mathematical equation is an abstract undirected graph obtained as the quotient of G under the Λ-equivalence. Then G is called a lifted graph of Mathematical equation. Any vertex of Mathematical equation is a Λ-equivalence class Mathematical equation represented by a point Mathematical equation. Any edge e of the quotient graph Mathematical equation is a Λ-equivalence class Mathematical equation represented by a straight-line edge [p,q] of G.

The quotient graph Mathematical equation can have multiple edges between the same pair of vertices, as shown in Fig. 3[link], which can all be distinguished by the labels defined below.

Definition 9 (labelled quotient graph)

Let Mathematical equation be a periodic point set with a lattice Λ defined by a basis Mathematical equation. Let G be a periodic graph on S. For an edge e of the quotient graph Mathematical equation, choose any of two directions and a representative edge [p,q] in the lifted graph G. Let U(p),U(q) be the unit cells containing p,q, respectively. There is a unique vector Mathematical equation such that Mathematical equation and Mathematical equation, and we define the length of edge e in Mathematical equation as the Euclidean distance Mathematical equation. This `length' of an edge e is considered an attribute to ease later calculations, and does not change the abstract nature of the quotient graph Mathematical equation.

A labelled quotient graph (LQG) is Mathematical equation whose every edge e has a direction (say, from the Λ-equivalence class of p to the Λ-equivalence class of q) and the translational vector Mathematical equation (see Fig. 3[link]). Changing the direction of e multiplies each coordinate of Mathematical equation by Mathematical equation. An equivalence of LQGs is a composition of a graph isomorphism and changes in edge directions that match all translational vectors.

Translational vectors Mathematical equation are also called voltages if Mathematical equation is considered a voltage graph or a gain graph in topological graph theory. In crystallography, LQGs have been studied by many authors. Chung et al. (1984View full citation, Section 6) generated 3-periodic nets by considering LQGs whose translational vectors have entries from Mathematical equation. Cohen & Megiddo (1990View full citation, Section 2) described an algorithm to find connected components of a fixed periodic graph in terms of its LQG. Eon (2011View full citation, Proposition 5.1) showed how to reconstruct a periodic graph up to translations from a LQG and a lattice basis, which we also prove in Lemma 10[link] in our notations for completeness. Eon (2016aView full citation, Section 3) described surgeries on building units of LQGs. Eon (2016bView full citation, Theorem 6.1) characterized 3-connected minimal periodic graphs (with a slightly different definition of `minimal'). McColm (2024View full citation) initiated a search for systematic periodic graphs realizable by real crystal nets (see also Edelsbrunner & Heiss, 2024View full citation).

The LQG Mathematical equation in Fig. 3[link] has two vertices p,q. If we orient the three edges of Mathematical equation from p to q, the translational vector (0,0) of the blue edge eb in Mathematical equation means that the corresponding straight-line blue edge in the lifted graph Mathematical equation connects points of S within the same unit cell U with the basis Mathematical equation. The orange edge with the translational vector (1,1) means that each of its infinitely many liftings in Mathematical equation joins a point in a cell U to another point in the cell Mathematical equation.

Lemma 10 (lifting)

Let G be a periodic Euclidean graph on a periodic point set S with a motif M in a unit cell U defined by a basis Mathematical equation in Mathematical equation. Let Q be a LQG of G. Then Mathematical equation can be reconstructed from Q, the basis Mathematical equation, and a bijection between all vertices of Q and all points of the motif Mathematical equation.

Proof

The basis Mathematical equation is needed to define a unit cell U with the given points of M, which are in 1–1 correspondence with all vertices of Q. The periodic point set S, which is the vertex set of the periodic graph G, is obtained from M by translations along the vectors Mathematical equation for all Mathematical equation. By Definitions 8[link] and 9[link], every edge e of the LQG Q has a translational vector Mathematical equation and is a Λ-equivalence class Mathematical equation for some Mathematical equation whose unit cells U(p),U(q) are related by the translation along Mathematical equation. Then we can lift the edge e to the periodically translated straight-line edges Mathematical equation in the periodic graph G for all Mathematical equation.

Definition 11 (path/cycle sum)

For a path (sequence of consecutive edges) in a LQG Q, we make all directions of edges consistent in the sequence and define the path sum in Mathematical equation as the sum of the resulting translational vectors along the path. If the path is a closed cycle, the path sum is called the cycle sum.

In the language of voltage graphs, a path sum may equivalently be referred to as the net voltage over the path. In the LQG in Fig. 3[link], the upper cycle consisting of the directed orange edge (from p to q) and the inverted green edge (from q to p) has the cycle sum Mathematical equation. This cycle sum means that a lifting of the cycle to the periodic graph G in Mathematical equation produces a polygonal path connecting a point to its translate by the vector Mathematical equation in the next cell to the right.

Definition 12 [minimal tree MST(S/Λ)]

For a periodic point set Mathematical equation with a lattice Λ, a minimal tree is a minimum spanning tree Mathematical equation (Definition 4[link]) on the set Mathematical equation of Λ-equivalence classes of points, where the distance between any classes in Mathematical equation is the minimum Euclidean distance between their representatives in the set S.

In Fig. 3[link], a minimal tree Mathematical equation consists of one shortest green edge in Mathematical equation.

3. Algorithm for the bridge length of a periodic point set

This section will describe the main Algorithm 16[link] for solving Problem 3[link], which will call auxiliary Algorithm 13 (Fig. 4[link]) several times. Algorithm 13 starts from a conventional representation of a periodic set Mathematical equation with a motif M of points given by coordinates in a basis Mathematical equation of a lattice Λ, as in a crystallographic information file (CIF).

[Figure 4]
Figure 4
Algorithm 13.

At every call, Algorithm 13 returns the next shortest edge e between points of S in increasing order of length. Although S is a set of points rather than a graph, we will use the term `edge', because e can be considered an edge from a complete graph with the vertex set S and with the `next shortest edge' being up to Λ-equivalence.

Any edge e between points of S will be represented by an ordered pair of points Mathematical equation and a translational vector Mathematical equation so that the actual straight-line edge in the lifted periodic graph Mathematical equation is from p to the point Mathematical equation. For convenience, we record the Euclidean distance Mathematical equation between these endpoints. Then Algorithm 13 outputs any edge e as a tuple Mathematical equation.

Algorithm 13 maintains the list of already found edges in increasing order of length. If the next required edge e is already in the list, Algorithm 13 simply returns e. This shortcut is implemented in Python with the keyword `Yield' – see the documentation at https://docs.python.org/3/glossary.html#term-generator-iterator. Rather than starting from line 1, every time when Algorithm 13 is called, each call `Yield e' returns an edge e, then temporarily suspends processing, remembering the location execution state including all local variables. When `Yield e' is called again, Algorithm 13 picks up where it left off, in contrast to functions that start fresh on every invocation.

If the next edge e is not yet found, Algorithm 13 adds more points from a shell of unit cells surrounding the previously considered cells. This shell contains the extended motif Mk without the smaller motif Mathematical equation for Mathematical equation (see Fig. 2[link]). For any new point p, it suffices to consider only edges to points Mathematical equation because any edge e can be periodically translated by Mathematical equation so that one of the endpoints of e belongs to U. In Algorithm 13, the Chebyshev distance Mathematical equation in line 3 is the maximum absolute difference of corresponding coordinates, while d in line 7 is the usual Euclidean distance.

There is a faster way of checking a condition equivalent to next_batch_min_len by using the cell geometry. Then, in the vast majority of cases, the algorithm can stop at a supercell one size smaller, which dramatically speeds up the calculation. This calculation is described in Remark 14[link]. However, due to the possibility of that not being the case (upon which the algorithm would just default to the same supercell size), we will keep this simpler idea and use it for the time complexity calculations.

Remark 14 (a faster way to compute next_batch_min_len in Algorithm 13)

For a unit cell with a basis Mathematical equation, let Mathematical equation and Mathematical equation be the shortest vectors parallel and antiparallel to Mathematical equation from any point of a motif Mathematical equation to the opposite boundary faces of the unit cell U. Then the faster alternative for next_batch_min_len is

Mathematical equation

As all the vector lengths Mathematical equation, Mathematical equation can be pre-computed, we get a massive improvement over the calculation of next_batch_min_len in Algorithm 13.

Algorithm 16[link] will be building a LQG Q by adding (or ignoring) edges found by Algorithm 13 and monitoring the connectivity of the growing lifted graph G whose quotient Mathematical equation is Q. For a basis Mathematical equation of a unit cell U of the lattice Λ of S, the edge e between points p and Mathematical equation is added to Q as the edge between the Λ-equivalence classes of p and q, with the translational vector Mathematical equation. As soon as G becomes connected, the length of the last added edge is the bridge length Mathematical equation, which will be proved in Theorem 26[link] later.

In comparison with a MST of a finite set of points, verifying the connectivity of the lifted periodic graph requires a much more complicated check that translational vectors with integer coordinates form a basis in Mathematical equation (not Mathematical equation), which can include more than n vectors. Fig. 5[link] shows a basis of Mathematical equation consisting of three vectors, where no vector can be dropped without losing the connectivity of all integer points in Mathematical equation.

[Figure 5]
Figure 5
Left: the three vectors Mathematical equation, Mathematical equation, Mathematical equation form a basis of Mathematical equation. Other images: none of the three pairs Mathematical equation, Mathematical equation, Mathematical equation form a basis (insufficient for full connectedness) of Mathematical equation. Some straight edges are shown curved for better visibility.

Algorithm 16[link] will use the Smith normal form (Mathematical equation) of a matrix of vectors Mathematical equation in Mathematical equation (Newman, 1972View full citation, see p. 26; Cohn, 1985View full citation; Van der Waerden, 2003View full citation, ch. 3.6) for finitely generated modules over a principal ideal domain (PID).

Definition 15 (SNF and invariant factors)

For integers Mathematical equation, let A be a non-zero Mathematical equation matrix over a PID P, for example, Mathematical equation. Then there exist invertible Mathematical equation and Mathematical equation matrices L, R, respectively, with coefficients in P, such that the product LAR is an Mathematical equation matrix whose only non-zero entries are diagonal elements ai such that ai divides ai+1 for Mathematical equation, and Mathematical equation for Mathematical equation for some Mathematical equation. This diagonal matrix LAR is the Smith normal form Mathematical equation. The diagonal elements ai are called the invariant factors of A.

Let 1 denote the unit element of a PID P. If Mathematical equation, then 1 is the usual integer 1. The simplest SNF has all invariant factors equal to 1, which happens if and only if the last factor Mathematical equation because all previous factors ai divide an.

Algorithm 16 [finding the bridge length β(S) of any periodic point set Mathematical equation]

Initialization. A LQG Q and a forest Mathematical equation initially consist of m isolated vertices, each representing a Λ-equivalence class of a point of the motif of S. We will build a translational matrix A with columns in Mathematical equation, which is initially empty.

Loop stage. Consider the next edge Mathematical equation found by Algorithm 13.

Case 1. If adding the edge e to the current forest F would not form a closed cycle (ignoring all edge directions), then add e to F and Q as an edge with an arbitrarily chosen direction and corresponding translational vector Mathematical equation found by Algorithm 13.

Case 2. If adding the edge e to F does form a cycle, find its cycle sum Mathematical equation from Definition 11[link]. If c is not Mathematical equation and cannot be expressed as an integer linear combination of the columns from the current translational matrix A, then add e to Q as in Case 1 (but not to the forest F) and add the vector c as a new column to A.

Termination. Stop if both conditions below hold, otherwise continue the loop.

(1) The LQG Q (hence the forest F) becomes connected; and

(2) The translational matrix A (whose columns are cycle sums of cycles created by adding edges) has n invariant factors equal to 1 (see Definition 15[link]).

The necessity of termination condition (1) in Algorithm 16[link] means that if the lifted periodic graph G is connected, then so is its quotient Mathematical equation. The inverse implication (sufficiency) may not hold. For example, in Fig. 3[link], the minimal tree Mathematical equation is a single green edge eg, whose preimage under the quotient map Mathematical equation is the disconnected set of all green straight-line edges in the periodic graph Mathematical equation.

Example 17 (running Algorithm 16 on the periodic point set S in Fig. 3). The first addition to the quotient graph Q and forest F, which initially had two isolated vertices p,q, is the shortest green edge eg from p to q (case 1 in the loop stage) with the translational vector Mathematical equation. The translational matrix A remains empty.

Adding the next (by length) blue edge eb with Mathematical equation to Mathematical equation creates a cycle with the cycle sum Mathematical equation. According to case 2 in the loop stage, the quotient graph Q becomes the cycle of two edges Mathematical equation but the forest remains Mathematical equation. The translational matrix A becomes one column

Mathematical equation

and does not yet have two invariant factors 1. The second termination condition is not yet satisfied, and the current lifted graph consisting of all green and blue segments is still disconnected.

Adding the orange edge eo with Mathematical equation to F creates another cycle with the cycle sum Mathematical equation. The quotient graph Mathematical equation is now full but Mathematical equation is still one edge. The matrix A becomes

Mathematical equation

whose SNF is

Mathematical equation

which shows that A has two invariant factors equal to 1. Both termination conditions hold and the lifted periodic graph Mathematical equation of all green, blue and orange edges is connected. The bridge length Mathematical equation equals the length of the last (orange) edge as expected.

4. Correctness and time complexity of the bridge length algorithm

This section proves the correctness of Algorithm 16[link] in Theorem 26[link] about the bridge length and main Theorem 6[link] about its time complexity. Lemmas 20[link] and 21[link] will prove the necessity of termination condition (2) in Algorithm 16[link]. Both conditions 1 and 2 will guarantee the connectedness of the lifted periodic graph G due to Lemma 23[link].

Lemma 18[link] is a partial case of the splitting lemma on p. 147 of Hatcher (2002View full citation).

Lemma 18 (splitting)

A short sequence of linear maps Mathematical equation is called exact if the image of each map coincides with the kernel (subspace mapping to 0) of the next map, i.e. Mathematical equation, Mathematical equation, Mathematical equation. If there is a map Mathematical equation, such that Mathematical equation is the identity on Mathematical equation, then Mathematical equation, where Mathematical equation and Mathematical equation are linearly independent subspaces of Mathematical equation for Mathematical equation.

Note, that, if f is a linear map and Mathematical equation, then f is injective, because Mathematical equation implies that 0 = Mathematical equation = Mathematical equation, so Mathematical equation and Mathematical equation.

Example 19 (finding a SNF). In the notations of Lemma 18[link], Fig. 5[link] defines Mathematical equation given by the matrix

Mathematical equation

whose three columns generate Mathematical equation. The kernel Mathematical equation consists of all vectors

Mathematical equation

for Mathematical equation, which defines Mathematical equation with Mathematical equation and Mathematical equation as required in Lemma 18[link]. Since Mathematical equation is surjective, we can find a map Mathematical equation satisfying Mathematical equation, e.g. h can be given by

Mathematical equation

then

Mathematical equation

denoted by I2. After extending the Mathematical equation matrix M by the extra column with a basis vector of Mathematical equation, we get the matrix

Mathematical equation

such that

Mathematical equation

Lemma 18[link] implies that the constituent blocks of R are linearly independent to each other; all columns of R are linearly independent, and R is invertible. Hence, I2AR is a SNF of A with Mathematical equation invariant factors equal to 1 by Definition 15[link].

Lemma 20 (matrix generating Mathematical equation Mathematical equation n invariant factors equal to 1)

The columns of any Mathematical equation matrix A generate Mathematical equation if and only if A has n invariant factors equal to 1.

Proof

Let the m columns of A generate Mathematical equation. Then A defines the surjection Mathematical equation whose kernel Mathematical equation can be obtained as the image of a map Mathematical equation, chosen such that Mathematical equation is generated by Mathematical equation, where Mathematical equation denote the standard orthonormal basis of Mathematical equation. Since Mathematical equation is surjective, orthonormal basis vectors Mathematical equation of Mathematical equation are images Mathematical equation, respectively, of some vectors Mathematical equation. We can define the linear map Mathematical equation, Mathematical equation for Mathematical equation, so that Mathematical equation on Mathematical equation. Then h has the Mathematical equation matrix M such that Mathematical equation, where In is the Mathematical equation identity matrix. Extending M by the Mathematical equation columns Mathematical equation gives the invertible Mathematical equation matrix R such that AR equals the Mathematical equation matrix obtained by extending In with Mathematical equation zero columns. Again, R is an invertible matrix over Mathematical equation, so Mathematical equation is the SNF of A with all invariant factors equal to 1 by Definition 15[link].

Conversely, let the Smith normal form Mathematical equation of the matrix A in Definition 15[link] have all invariant factors equal to 1, so the Mathematical equation matrix LAR has the first n columns Mathematical equation, which form a standard basis of Mathematical equation, and Mathematical equation zero columns. Then each Mathematical equation is a linear combination of the m columns of AR with coefficients from L, so these m columns generate Mathematical equation. Since R is invertible, the m columns of A also generate Mathematical equation.

Lemma 21 (connected periodic graph Mathematical equation Mathematical equation n invariant factors equal to 1)

In Algorithm 16[link], if the lifted periodic graph Mathematical equation whose vertices form a periodic set S becomes connected, then the translational matrix A has n invariant factors equal to 1.

Proof

By Lemma 20[link] it suffices to show that any vector Mathematical equation is an integer linear combination of columns of A. Let Λ be the lattice of S in Algorithm 16[link] and Mathematical equation be any point. The points p and Mathematical equation are connected in the lifted graph Mathematical equation by a polygonal path of straight-line edges. Under Mathematical equation, this path projects to a closed cycle C at the vertex (Λ-equivalence class) Mathematical equation in the quotient graph Mathematical equation.

Let the cycle C pass through edges Mathematical equation (with integer multiplicities) in the complement Mathematical equation of the forest F in the quotient graph Q. These edges were added only to Q in case 2 of the loop stage. When we tried to add every edge ej to F, the edge ej created a cycle Cj whose cycle sum appeared as a column in the translational matrix A (if this cycle sum was not yet an integer combination of the previous columns). Then the vector Mathematical equation equals the sum of the cycle sums of all the cycles Cj for Mathematical equation, which is an integer combination of the columns of A as required.

Lemma 22 (connected quotient graph Mathematical equation Mathematical equation a tree of representatives Mathematical equation)

If a LQG Mathematical equation is connected, its lifted graph Mathematical equation on a periodic point set S with a motif of m points and a lattice Λ includes a straight-line tree of representatives Mathematical equation with m vertices that are not Λ-equivalent to each other.

Proof

Since Q is connected, we can choose a spanning tree Mathematical equation on the m vertices of Q. A required tree Mathematical equation will be a connected union of straight-line edges of G that map 1–1 to all edges of F under the quotient Mathematical equation. Start from any point Mathematical equation and take any edge e at the vertex (Λ-equivalence class) Mathematical equation of Mathematical equation. The preimage of e under Mathematical equation contains a unique straight-line edge Mathematical equation, which we add to T. After adding to T all edges at p that project to all edges of F at the vertex Mathematical equation, choose another point Mathematical equation such that the vertex Mathematical equation has an edge of F not yet covered by T under Mathematical equation. We continue adding edges to T by using their projections in Mathematical equation until we get a tree Mathematical equation that spans m points of S that are not Λ-equivalent. The final T has no cycle, else this cycle projects under Mathematical equation to a cycle in a forest F.

Lemma 23 (termination conditions in Algorithm 16[link] Mathematical equation connected graph Mathematical equation)

Let Q be a LQG with a translational matrix A and a lifted graph G on a periodic point set Mathematical equation with a lattice Λ. If Q is connected and the matrix A has n invariant factors equal to 1, then the lifted periodic graph Mathematical equation is connected.

Proof

For any points Mathematical equation, we will find a path of straight-line edges in G as follows. By Lemma 22[link] the connectedness of the quotient graph Mathematical equation guarantees the existence of a tree Mathematical equation whose vertices represent all Λ-equivalence classes of points of S. Let Mathematical equation be the vertices of T that are Λ-equivalent to p,q, respectively.

Since Mathematical equation are connected by a path in T, it suffices to find a path from p to its Λ-translate Mathematical equation (then similarly from q to Mathematical equation) in the graph G for any Mathematical equation. By Lemma 20[link] the columns of A form a basis of Mathematical equation, so Mathematical equation is an integer combination of these columns. It suffices to find a path in G by assuming that Mathematical equation is one column of A because a path for any sum Mathematical equation can be obtained by concatenating paths for Mathematical equation. A column Mathematical equation can appear in A only in case 2 of the loop stage in Algorithm 16[link] as a cycle sum of a cycle Mathematical equation that was created by trying to add an edge e from Algorithm 13 to a forest Mathematical equation. If we order all edges of C from the vertex Mathematical equation as Mathematical equation, the sum of their translation vectors equals Mathematical equation. We build a path from p to Mathematical equation in G by finding a unique edge Mathematical equation that projects to e1, then a unique edge Mathematical equation that projects to e2 and so on until we cover all Mathematical equation and arrive at Mathematical equation.

Remark 24

Onus & Robins (2022View full citation) discuss connected components of a periodic graph K in terms of homology, namely Theorem 1(1) proves that H0(K) has a basis of Mathematical equation elements, see details in their Section 3.1, but without describing an algorithm for finding such a basis. Our results complement their approach by proving the time complexity for checking the connectivity of a dynamic periodic Euclidean graph in Theorem 6[link] whilst keeping track of its connected components.

Lemma 25 (ignored edges)

Let an edge e be a Λ-equivalence class of a straight-line edge Mathematical equation in a lifted periodic graph G for some points Mathematical equation. If Algorithm 16[link] does not add the edge e to a LQG Q, then the points p,q are already connected by a path in the graph Mathematical equation lifted from Q by Lemma 10[link].

Proof

The loop stage in Algorithm 16[link] ignores an edge e in the cases below.

Case 1. The edge e forms a cycle in Q whose cycle sum is the zero vector in Mathematical equation.

Case 2. The edge e forms a cycle whose cycle sum equals an integer linear combination of pre-existing cycle sums from the translational set B.

In both cases, we have either one cycle (in case 1) containing e, whose cycle sum is Mathematical equation, or several cycles (in case 2), one (up to multiplicity) of which contains e, whose total sum of translational vectors is Mathematical equation. By Definition 9[link] each edge of Q involved in this zero sum can be lifted to a straight-line edge in the graph Mathematical equation.

If we start from the given point Mathematical equation, a cycle in Q and its sum 0 of translational vectors guarantees that the sequence of the lifted edges in G finishes at the same point p and hence forms a cycle C. This cycle C has the edge [p,q] whose exclusion keeps the points Mathematical equation connected by the path in C that is complementary to [p,q].

Theorem 26

Algorithm 16[link] finds the bridge length Mathematical equation from Definition 2[link] for any periodic point set Mathematical equation with a motif M of points given in a basis Mathematical equation.

Proof

Within Algorithm 16[link], let d be the length of the last added edge e after which both termination conditions finally hold. By Lemma 25[link] all ignored edges do not create extra connections in the graph G. By Lemmas 21[link] and 22[link] the graph G obtained before adding the last edge e is disconnected. Lemma 23[link] guarantees that, when e is added, the graph G becomes connected. Because Algorithm 13 yields edges in increasing order, e is the shortest edge that could have this property, so the bridge length is Mathematical equation.

Theorem 6[link] has a rough upper bound assuming that the SNF Mathematical equation of an integer Mathematical equation matrix A is re-computed for every iteration in time O(N). This time was estimated by Giesbrecht (1995View full citation) as Mathematical equation, where Mathematical equation = Mathematical equation and Ai,j denotes the element of A in the row i and column j. Here M(t) bounds the cost of multiplying two t-bit integers, and Mathematical equation is the exponent for matrix multiplication: two Mathematical equation matrices can be multiplied in time Mathematical equation (see Williams et al., 2024View full citation). The `soft-Oh' simplifies the complexity up to logarithmic factors, so Mathematical equation if and only if Mathematical equation for a constant Mathematical equation.

To speed up Algorithm 16[link] in practice, the SNF can be updated at every iteration instead of re-computing from scratch (see details in Appendix A[link]).

Proof of Theorem 6

Algorithm 16[link] solves Problem 3[link] by Theorem 26[link]. It remains to show that the time complexity of Algorithm 16[link] is O(m2a(U)nN). Algorithm 16[link] has the initialization of a constant time O(1) and the loop stage. We will multiply an upper bound for the number of loops by the time complexity of each loop.

One loop in Algorithm 16[link] contains at most the following checks:

(Cycle) Does adding an edge e to a forest F create a cycle?

(Combination) Is the cycle sum an integer combination of previous cycle sums?

(Termination) After appending a cycle sum c to the translational matrix A and calculating Mathematical equation, does A have n invariant factors equal to 1?

The condition Cycle is checked by a depth-first search O(m) (see Sedgewick & Wayne, 2011View full citation, section 4.1). The condition Combination is equivalent to `Has Mathematical equation changed?', and Termination is equivalent to `Is the product of invariant factors of A equal to 1?'. So both conditions can be jointly checked in the time O(N) needed to compute Mathematical equation.

The time complexity of Mathematical equation dominates all other steps in Algorithm 16[link], so we will use O(N) to represent the complexity of a single loop iteration of Algorithm 16[link].

Every loop iteration calls Algorithm 13. If we consider all calls to Algorithm 13 as running sequentially, the main loop will run at most a(U)+1 times, where a(U) is the aspect ratio from Definition 5[link]. By Definition 5[link], ` supercell_size' must reach at least a(U)+1 to ensure that we yield all potential edges up to and including Mathematical equation, i.e. Mathematical equation. Each loop runs through the unit cells that are ` supercell_size' away from the central cell U1. By the end, we will have run through and yielded at most (a(U)+1)n unit cells. For each unit cell Ui, we find all distances between m points in Ui and m points in the central cell. The required time is O(m2) between any two cells and hence O(m2a(U)n) for all cells.

Algorithm 16[link] does not run for every edge found by Algorithm 13, but we assume this for simplicity.

The worst-case complexity of this implementation of Algorithm 16[link] is O(m2a(U)nN).

5. Experiments on real and simulated crystals, and a discussion

This section discusses experiments computing the exact bridge length Mathematical equation for 5679 simulated and five real nanoporous crystals in Fig. 6[link] reported by Pulido et al. (2017View full citation).

[Figure 6]
Figure 6
The T2 molecule and five crystals synthesized from T2. The first four T2-α, T2-β, T2-γ, T2-δ were reported by Pulido et al. (2017View full citation), the last T2-ε by Zhu et al. (2022View full citation).

Table 1[link] contains the bridge lengths computed by Algorithm 16[link] on the crystals from Fig. 6[link] given by their codes in the CSD. The names of the T2 polymorphs refer to the crystalline forms α, β, γ, δ, ε based on the same molecule T2. The crystal IDs in the first column of Table 1[link] refer to the CSD six-letter refcodes (Taylor & Wood, 2019View full citation).

Table 1
The exact bridge length Mathematical equation computed by Algorithm 16 and its upper bounds for the nine experimental and 5679 simulated T2 crystals reported by Pulido et al. (2017View full citation)

CSD refcodes of experimental and simulated crystals No. of atoms in a cell Bridge length Mathematical equation (Å) Upper bound r(U) (Å) Upper bound 2R(S) (Å) Best upper bound over exact Mathematical equation Run time (s)
T2-α NAVXUG 184 2.028 22.325 15.609 7.695 4.337
T2-β DEBXIT05 92 3.163 20.665 12.906 4.080 0.664
T2-β DEBXIT06 92 3.188 20.694 12.884 4.042 0.657
T2-γ DEBXIT01 92 1.879 23.224 23.366 12.358 0.706
T2-γ DEBXIT02 92 1.926 23.226 23.375 12.061 0.636
T2-γ DEBXIT03 92 1.902 23.230 23.373 12.216 0.653
T2-γ DEBXIT04 92 1.970 23.290 23.448 11.824 0.649
T2-δ SEMDIA 92 2.713 14.401 8.350 3.077 0.671
T2-ε DEBXIT07 92 2.062 12.608 5.707 2.768 0.641
             
Average for all 5679 simulated T2 crystals 295.8 2.293 23.306 9.110 4.064 31.653

Note that there are four slightly different versions of the polymorph T2-γ in the CSD (DEBXIT01…04) because their crystal structures were determined at different temperatures. The seven versions DEBXIT01…07 with the same six-letter code may look similar, even to experts. The polymorph T2-δ (SEMDIA) was deposited later than others because even the original authors confused this polymorph with earlier crystals. This confusion was detected by density functions from the work of Edelsbrunner et al. (2021View full citation), computed by Smith & Kurlin (2022View full citation). The underlying density invariants turned out to be incomplete by Example 11 of Anosova & Kurlin (2022View full citation), but were explicitly described for all periodic sequences of intervals in Mathematical equation (Anosova & Kurlin, 2023View full citation).

Table 1[link] includes the upper bounds Mathematical equation from Lemma 3.6(a) of Anosova et al. (2025View full citation) [see r(U) and R(S) in Definition 5[link]]. The run times in Table 1[link] were recorded on a laptop with an Intel i5 processor, one 1 GHz core and 8 Gb RAM.

The final row contains the averages for 5679 simulated T2 crystals, which are publicly available in the supplementary materials of Pulido et al. (2017View full citation) and were used for predicting the five experimental polymorphs represented by nine entries in the CSD. For all crystals in Table 1[link], the translational matrix size never exceeded three columns.

The real T2 crystals in the CSD have smaller motifs consisting of only two or four T2 molecules, while simulated T2 crystals contain up to 32 molecules, which makes the run times slower in comparison with the real ones (see the last column in Table 1[link]).

More importantly, the exact bridge length Mathematical equation is four times smaller (on average) than its upper bound min{r(U),2R(S)}. The bridge length Mathematical equation provides the upper bound Mathematical equation in Lemma 3.6(b) of Anosova et al. (2025View full citation) for a stable radius α of atomic clouds that suffices for a complete and continuous isoset invariant of S.

This isoset uniquely identifies any periodic crystal S under rigid motion and has a continuous distance metric that has detected thousands of near-duplicate crystals. Decreasing the upper bound of Mathematical equation from 4R(S) to the smaller value Mathematical equation by a factor of about 2 decreases the size m of atomic clouds by a factor of Mathematical equation in Mathematical equation. This size reduction speeds up by several orders of magnitude the algorithms for isosets and their distance metric, which have complexity Mathematical equation and O(m6) in Mathematical equation, respectively; see the conclusions of Section 5 of Anosova et al. (2025View full citation).

The next open problem is an exact computation of the minimal stable radius Mathematical equation. The closely related problem is to compute the regularity radius ρ that is the minimum radius with the property that any Delone set with mutually equivalent clusters of the radius ρ is regular (periodic with a 1-point asymmetric set) (see Baburin et al., 2018View full citation).

In conclusion, this paper contributes an exact algorithm for computing the bridge length, a key ingredient for solving the geo-mapping problem for periodic point sets within the emerging area of geometric data science (Kurlin, 2025View full citation). This problem has been solved for 2D lattices (Kurlin, 2024View full citation; Bright et al., 2023aView full citation; Bright et al., 2023bView full citation), while the 3D case is being finalized (Kurlin, 2022View full citation; Bright et al., 2021View full citation).

APPENDIX A

A faster `online' algorithm for the SNF

A different way of checking the Termination condition is to append columns to A in an `online' fashion. This avoids the need to calculate the SNF from scratch every time (or often at all), and reduces the complexity to a time close to Mathematical equation, where Mathematical equation is the exponent for matrix multiplication (Williams et al., 2024View full citation), and O(E) is the complexity of the extended Euclidean algorithm (Baladi & Vallée, 2005View full citation). As this reduction in complexity is dominated by the price of populating the edges with Algorithm 13, this will be irrelevant for most use cases (and is not used in the experiments shown here). As a use case involves, say, a larger or higher-dimensional pre-populated set of edges, this algorithm becomes more necessary.

Recall from Definition 15[link] that the diagonal of the Smith normal form Mathematical equation is made up of the invariant factors of A. To progressively calculate Mathematical equation, we must only keep track of the right-multiplying unimodular matrix R, and the invariant factors themselves, which form a vector Mathematical equation. To run the main algorithm here, we do have to begin with a matrix with n integer linearly independent rows. `Adding' a vector Mathematical equation to Mathematical equation is where the process changes. We treat R and Mathematical equation as mutable, meaning each value is not necessarily fixed to its original assignment. The first step is to define Mathematical equation, then we find Mathematical equation. If Mathematical equation (i.e. Mathematical equation), we can continue with Mathematical equation, with no need to change R as it only keeps track of columns (for context, if we were keeping track of L too, we would have to subtract the ith row from the last row xi/fi times).

If fi divides xi for all i, we would know that including the vector changes nothing; therefore, the relative edge is also irrelevant and can be discarded [this reduces the complexity of most of the Termination condition from O(N) to Mathematical equation].

However, if Mathematical equation, then fi not only becomes gi, but we also know that Mathematical equation will change and that we must add the edge relative to Mathematical equation. We must also alter R, accounting for the fact that F represents the diagonal of a matrix. We can do this by any process typical of `changing the pivot' in the Mathematical equation algorithm, ensuring that we update R in tandem. As accounting for the previous values of i is trivial, it is the worst-case equivalent to calculating the Mathematical equation of an Mathematical equation matrix in time Mathematical equation, which improves upon the naive calculation of Mathematical equation from scratch upon every alteration of A.

Lemma 27

Updating the SNF as above preserves its properties.

Proof

As we only alter with elementary row and column operations, this preserves the SNF. By multiplying the to-be-added row Mathematical equation by R before concatenating it as a new row to F, it is the same as performing those same elementary column operations upon a new matrix: Mathematical equation (i.e. Mathematical equation concatenated as a row onto A).

We then continue to perform only elementary row and column operations, and we end up with a matrix that satisfies the conditions of an Mathematical equation noted in Definition 15[link].

Further discussion of this process is beyond the scope of this paper; however, there are still some small tricks that take advantage of the way the `new' rows for consideration are intrinsically related to Mathematical equation, and how fi+1 divides fi.

Acknowledgements

We thank Jean-Guillaume Eon and Gregory McColm for their helpful advice on the early draft of this paper.

Funding information

This work was supported by the Royal Society (APEX fellowship award No. APX/R1/231152) and EPSRC New Horizons (grant No. EP/X018474/1).

References

Return to citationAnosova, O. & Kurlin, V. (2021). Discrete geometry and mathematical morphology, DGMM 2021, edited by J. Lindblad, F. Malmberg and N. Sladoje. Lecture Notes in Computer Science, Vol. 12708, pp. 229–241. Springer.  Google Scholar
Return to citationAnosova, O. & Kurlin, V. (2022). Discrete geometry and mathematical morphology, DGMM 2022, edited by É. Baudrier et al. Lecture Notes in Computer Science, Vol. 13493, pp. 395–408. Springer.  Google Scholar
Return to citationAnosova, O. & Kurlin, V. (2023). J. Math. Imaging Vis. 65, 689–701.  CrossRef Google Scholar
Return to citationAnosova, O., Kurlin, V. & Senechal, M. (2024). IUCrJ 11, 453–463.  CrossRef CAS PubMed IUCr Journals Google Scholar
Return to citationAnosova, O., Widdowson, D. & Kurlin, V. (2025). Pattern Recognit. 171, 112108.   Google Scholar
Return to citationBaburin, I. A., Bouniaev, M., Dolbilin, N., Erokhovets, N. Y., Garber, A., Krivovichev, S. V. & Schulte, E. (2018). Acta Cryst. A74, 616–629.  Web of Science CrossRef IUCr Journals Google Scholar
Return to citationBaladi, V. & Vallée, B. (2005). J. Number Theory 110, 331–386.  CrossRef Google Scholar
Return to citationBouniaev, M. & Dolbilin, N. (2017). J. Inf. Process. 25, 735–740.  Google Scholar
Return to citationBright, M., Cooper, A. & Kurlin, V. (2021). arXiv:2109.11538.  Google Scholar
Return to citationBright, M., Cooper, A. & Kurlin, V. (2023a). Chirality 35, 920–936.  CrossRef CAS PubMed Google Scholar
Return to citationBright, M., Cooper, A. I. & Kurlin, V. (2023b). Acta Cryst. A79, 1–13.  Web of Science CrossRef IUCr Journals Google Scholar
Return to citationBrock, C. P. (2021). Change to the definition of `crystal' in the IUCr Online Dictionary of Crystallography. IUCr Newsl. Vol. 29, No. 2, https://www.iucr.org/news/newsletter/etc/articles?issue=151351&result_138339_result_page=17Google Scholar
Return to citationChung, S. J., Hahn, Th. & Klee, W. E. (1984). Acta Cryst. A40, 42–50.  CrossRef CAS Web of Science IUCr Journals Google Scholar
Return to citationCohen, E. & Megiddo, N. (1990). Applied geometry and discrete mathematics, pp. 135–146. ACS, DIMACS and Association for Computing Machinery.  Google Scholar
Return to citationCohn, P. M. (1985). Free rings and their relations. Academic Press.  Google Scholar
Return to citationDelone, B. N., Dolbilin, N. P., Shtogrin, M. I. & Galiulin, R. V. (1976). Dokl. Akad. Nauk SSSR 227, 19–21.  Google Scholar
Return to citationDelone, B. N., Galiulin, R. V., Dolbilin, N. P., Zalgaller, V. A. & Shtogrin, M. I. (1973). Dokl. Akad. Nauk 209, 25–28.  Google Scholar
Return to citationDolbilin, N. (2015). Geometry and symmetry conference, pp. 109–125. Springer.  Google Scholar
Return to citationDolbilin, N. (2018). Proc. Steklov Inst. Math. 302, 161–185.  CrossRef Google Scholar
Return to citationDolbilin, N. & Bouniaev, M. (2019). Eur. J. Combin. 80, 89–101.  CrossRef Google Scholar
Return to citationDolbilin, N., Lagarias, J. & Senechal, M. (1998). Discrete Comput. Geom. 20, 477–498.  Web of Science CrossRef Google Scholar
Return to citationDolbilin, N. P. (1976). Dokl. Akad. Nauk 230, 516–519.  Google Scholar
Return to citationEdelsbrunner, H. & Heiss, T. (2024). arXiv:2408.16575.  Google Scholar
Return to citationEdelsbrunner, H., Heiss, T., Kurlin, V., Smith, P. & Wintraecken, M. (2021). 37th International symposium on computational geometry (SoCG 2021). Liebniz International Proceedings in Informatics (LIPIcs), Vol. 189, pp. 32:1–32:16. Schloss Dagstuhl – Leibniz Zentrum für Informatik.  Google Scholar
Return to citationEon, J.-G. (2011). Acta Cryst. A67, 68–86.  Web of Science CrossRef CAS IUCr Journals Google Scholar
Return to citationEon, J.-G. (2016a). Acta Cryst. A72, 268–293.  Web of Science CrossRef IUCr Journals Google Scholar
Return to citationEon, J.-G. (2016b). Acta Cryst. A72, 376–384.  Web of Science CrossRef IUCr Journals Google Scholar
Return to citationGiesbrecht, M. (1995). Proceedings of the 1995 international symposium on symbolic and algebraic computation, pp. 110–118. Association for Computing Machinery.  Google Scholar
Return to citationHatcher, A. (2002). Algebraic topology. Cambridge: Cambridge University Press.  Google Scholar
Return to citationKurlin, V. (2022). arXiv:2201.10543.  Google Scholar
Return to citationKurlin, V. (2024). Found. Comput. Math. 24, 805–863.  CrossRef Google Scholar
Return to citationKurlin, V. (2025). SIAM J. Math. Data Sci. 7, https://doi.org/10.1137/25M1733574Google Scholar
Return to citationMcColm, G. (2024). Acta Cryst. A80, 18–32.   CrossRef IUCr Journals Google Scholar
Return to citationNewman, M. (1972). Integral matrices. Academic Press.  Google Scholar
Return to citationOnus, A. & Robins, V. (2022). arXiv:2208.09223.  Google Scholar
Return to citationPulido, A., Chen, L., Kaczorowski, T., Holden, D., Little, M. A., Chong, S. Y., Slater, B. J., McMahon, D. P., Bonillo, B., Stackhouse, C. J., Stephenson, A., Kane, C. M., Clowes, R., Hasell, T., Cooper, A. I. & Day, G. M. (2017). Nature 543, 657–664.  CSD CrossRef CAS PubMed Google Scholar
Return to citationSedgewick, R. & Wayne, K. (2011). Algorithms. Addison-Wesley Professional.  Google Scholar
Return to citationSmith, P. & Kurlin, V. (2022). Advances in visual computing, ISVC2022, edited by G. Bebis et al. Lecture Notes in Computer Science, Vol. 13599, pp. 377–391. Springer.  Google Scholar
Return to citationTaylor, R. & Wood, P. A. (2019). Chem. Rev. 119, 9427–9477.  Web of Science CrossRef CAS PubMed Google Scholar
Return to citationVan der Waerden, B. L. (2003). Algebra, Vol. 1. Springer Science & Business Media.  Google Scholar
Return to citationWiddowson, D. & Kurlin, V. (2021). arXiv:2108.04798v3.  Google Scholar
Return to citationWiddowson, D. & Kurlin, V. (2022). NeurIPS 35, 24625–24638.  Google Scholar
Return to citationWiddowson, D. & Kurlin, V. (2024). Cryst. Growth Des. 24, 5627–5636.  CrossRef CAS PubMed Google Scholar
Return to citationWiddowson, D., Mosca, M. M., Pulido, A., Cooper, A. I. & Kurlin, V. (2022). match 87, 529–559.  CrossRef Google Scholar
Return to citationWilliams, V. V., Xu, Y., Xu, Z. & Zhou, R. (2024). Proceedings of the symposium on discrete algorithms, edited by D. P. Woodruff, pp. 3792–3835. Society for Industrial and Applied Mathematics.  Google Scholar
Return to citationZhu, Q., Johal, J., Widdowson, D. E., Pang, Z., Li, B., Kane, C. M., Kurlin, V., Day, G. M., Little, M. A. & Cooper, A. I. (2022). J. Am. Chem. Soc. 144, 9893–9901.  CSD CrossRef CAS PubMed Google Scholar

This is an open-access article distributed under the terms of the Creative Commons Attribution (CC-BY) Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original authors and source are cited.

Journal logoFOUNDATIONS
ADVANCES
ISSN: 2053-2733
Follow Acta Cryst. A
Sign up for e-alerts
Follow Acta Cryst. on Twitter
Follow us on facebook
Sign up for RSS feeds