Tables for
Volume B
Reciprocal space
Edited by G. Chapuis

International Tables for Crystallography (2023). Vol. B. Early view chapter

Crystal structure determination by dual-space iterative algorithms

Lukáš Palatinusa*

aInstitute of Physics of the CAS, v.v.i., Na Slovance 2, 182 21 Prague, Czechia
Correspondence e-mail:

Dual-space iterative algorithms are algorithms that use alternating modifications of the trial scattering density distribution in direct and reciprocal space to find a solution to the phase problem. The heart of the dual-space algorithms is the iteration scheme: the recipe for combining the modifications in both spaces. An equally important aspect is also the precise definition of these modifications. Numerous iteration schemes exist and these can be combined with an equally rich selection of modifications, leading to a wide range of algorithms. The most well known and the most studied, although by far not the only one, is the charge-flipping algorithm. Dual-space iterative algorithms have found applications in many crystallographic problems. The principal applications in various fields are described with sections devoted to routine structure solution, the solution of the structures of incommensurately modulated crystals and quasicrystals, and structure solution from powder diffraction data.

Keywords: charge flipping; dual-space methods; phase retrieval; structure solution.

1. Introduction

After the first structure solutions which used symmetry arguments and trial-and-error methods, the Patterson method became the first systematically used approach to structure solution. When the statistical relationships between the reflection intensities and their phases were discovered by Cochran, Sayre, Karle, Hauptman and many others in the 1950s and 1960s, a rich field of direct methods was developed [see e.g. Giacovazzo (1998)[link] for an overview of the subject]. The continuous development and growing power of direct methods made them a leading tool for ab initio structure solution, and their dominance seemed to be incontestable.

The development of crystallographic methods received an important new impulse with the advent of powerful desktop computers. Suddenly, computationally expensive approaches became available to everybody, and methods could be developed that make heavy use of computationally demanding techniques, such as Fourier transformation. The fruits of this revolution are numerous. Direct methods were combined with density modifications in direct space to produce the `Shake and Bake' (SnB) method (Weeks et al., 1993[link]). A flavour of direct methods based on Patterson-function arguments was developed (Rius, 1993[link]) and later transformed into an algorithm cycling between direct and Fourier space (Rius et al., 2007[link]; Rius & Frontera, 2008[link]; Rius, 2012[link]). The `revenge of the Patterson function' was announced (Burla et al., 2004[link], 2006[link]), combining the superposition minimum function method (Buerger, 1959[link]) with new analysis and computer power, and applying the method to ab initio phasing of macromolecular crystals. Yet another algorithm, called VLD (Burla et al., 2010[link], 2011a[link],b[link], 2012b[link]), is based on an iterative application of difference-Fourier synthesis and real-space density modification techniques.

Next to all these algorithms, a class of so-called dual-space algorithms emerged. This name might be somewhat confusing, because many if not all of the algorithms mentioned in the previous paragraph are in certain sense dual-space. However, in the dual-space algorithms sensu stricto, neither of the two spaces plays a dominant role – neither the operation in direct space nor in the Fourier space is, even in principle, capable of solving the structure alone.

The iterative dual-space phasing algorithms have gained considerable interest in the crystallographic community over the last few years. Among them the best known is the charge flipping algorithm (CFA, Oszlányi & Sütő, 2004[link]). While not the first published algorithm of this kind, it sparked considerable interest in iterative dual-space methods for structure solution, and has marked the beginning of a broad interest in and development of this field in crystallography. Another algorithm that gained considerable popularity thanks to its implementation in the computer program SHELXT is the algorithm called intrinsic phasing (IPA; Sheldrick, 2015[link]).

This chapter describes the dual-space iterative algorithms, summarizes their development and gives an overview of applications of these algorithms to crystallographic problems. It is an updated and extended version of the review by Palatinus (2013[link]), which summarized the field up to then. The text is organized as follows. First, a general overview of dual-space algorithms in phase retrieval is presented with a focus on algorithms relevant for crystallography. Then a detailed description of the charge flipping algorithm and its variants is provided, followed by sections on two important special topics: symmetry and missing data. Finally, applications of the algorithms are described in sections devoted to general structure solution, modulated structures, powder diffraction data and macromolecules. This chapter deals only with algorithms used for ab initio phasing from data with atomic resolution. An important part of the application of dual-space algorithms concerns the phasing of macromolecular structures from data that do not reach atomic resolution. Although the basic principles are similar, the low resolution of macromolecular data poses specific challenges and requires additional information to be used in the phasing process, like the assumption of an existence of molecular envelope or non-crystallographic symmetry. This part is not covered in this text and the reader is referred to the review by Millane & Lo (2013)[link] or the chapter of International Tables for Crystallography Volume C by Millane (2023)[link].

2. Dual-space algorithms in phase retrieval

The problem of phase retrieval is omnipresent in various fields of physics and engineering (Millane, 1990[link]). The problem is usually formulated in the general space of square-integrable functions, but for our purposes let us limit the definition to a discretely sampled signal in Euclidean space En of dimension n (n = 3 for a typical crystal structure). Let ρ = {ρi, i = 1…Np} be a (generally complex-valued) function sampled on a discrete n-dimensional grid comprising Np pixels. Let [\hat{\rho}] be its (discrete) Fourier transform. Let M = {hj, j = 1…Nh} be the independent set of vectors hj, for which Fourier magnitudes [|F^{\rm o}({\bf h}_{j})| = |F_{j}^{\rm o}|] are known from experiment. For the most general case of phase retrieval of a complex object, all vectors hj are independent. If ρ is a real-valued function, then the Fourier coefficients F(h) and F(−h) must be complex conjugate, and only half of all hj are independent. Further reduction of the number of independent vectors hj may occur if crystal symmetry is applied.

With these definitions, the phase retrieval problem can be formulated as: find ρ or an approximation to ρ, given the set of known Fourier magnitudes (magnitude constraint). This problem does not have a unique solution, as the constraint ratio Ω, i.e. the ratio of the amount of information available and amount of information needed, equals 1/2 (Elser & Millane, 2008[link]; Millane & Arnal, 2015[link]; Elser et al., 2018[link]). Therefore, additional information about ρ is necessary. This additional information can be the support (i.e. a subset of ρi is assumed to be zero), positivity (ρi > 0 for all i), atomicity (the signal in ρ is composed of a set of discrete peaks) or any other piece of information. Since this additional information is in all practical applications defined in the direct space of ρ, not in its Fourier space, it will be denoted as the direct-space constraint. The set of all ρ that fulfil the constraint is called the constraint set. Let us denote by S the set of all ρ matching this direct-space constraint, and by R the set of all ρ such that [|\hat{\rho}_{j}| = |F_{j}^{\rm o}|,j = 1\ldots N_{h}], i.e. matching the magnitude constraint. Then the phase retrieval problem can be simply stated as: find some ρ from S ∩ R. If such ρ exists, the problem is called consistent. If the intersection of S and R is empty, the problem does not have a solution and is called inconsistent. In such a case, it may still be useful to search for ρ such that the sum of its distances to the nearest points in S and R is minimal.

With this formulation it becomes obvious that the phase retrieval problem is a specific case of the general constraint satisfaction problem, where the two (or more) constraints need not be specifically the magnitude and direct-space constraint. A special, mathematically more easily tractable case is the convex feasibility problem, where all the constraints are convex. A constraint set A is convex if for any two elements of the constraint set the following statement is valid: [\rho,\rho^{\prime}\in A\Rightarrow\rho+c(\rho^{\prime}-\rho)\in A \ {\rm for }\ c\in[0\semi 1].\eqno(1)]The convexity of the constraints allows important conclusions to be made about the properties and convergence of algorithms proposed for the solution of the convex feasibility problem. Algorithms exist that always converge to a solution of this problem. Unfortunately, the magnitude constraint central to the phase retrieval problem is obviously non-convex, and the results of the convex optimization theory cannot be carried over to the phase retrieval problem. Nevertheless, it is useful to compare the algorithms developed in these two frameworks. Analysis of the convex versions of the algorithms gives valuable insight into the relationships between various algorithms proposed in phase retrieval.

The formulation of constraints plays an important role in the specification of the algorithms. Let us summarize the specific forms of the magnitude and direct-space constraints encountered in crystallographic phase retrieval. The basic form of the magnitude constraint set was defined above as the set of all ρ such that [\hat{\rho}_{j} = |F^{\rm o}_{j}|] for all hjM. The recipe to transform an arbitrary set of values of ρ into a set that belongs to the constraint set is called a projection operator or projector, and the operation itself is called projection. In order to be well defined, the projection is required to be distance-minimizing, i.e. the change of ρ needed to bring it onto the constraint set must be the smallest possible. Operations that do not satisfy this condition, but still transform ρ to a point in the constraint set are called pseudoprojections.

The basic projector onto the magnitude constraint set can be defined as follows: [F_{j}^{\rm new} = \left\{\matrix{{(|F_{j}^{\rm o}|/|F_{j}^{\rm old}|)}F_{j}^ {\rm old}\hfill &{\rm if }\ {\bf h}_{j}\in M,\hfill\cr F_{j}^{\rm old}\hfill&{\rm if }\ {\bf h}_{j}\,\,\notin\,\, M.\hfill}\right.\eqno(2)]ρnew is then obtained as an inverse Fourier transform of [\{F^{\rm new}_{j}\}]. In other words, the new ρ is obtained from the old by replacing the known Fourier magnitudes with the observed ones, keeping all phases and the unknown Fourier magnitudes intact.1 However, alternative variants of this basic scheme have been proposed and used. Elser (2003b)[link] proposed placing an upper bound on the magnitude of unknown Fourier coefficients: [F_{j}^{\rm new} = \left\{\matrix{{(|F_{j}^{\rm o}|/|F_{j}^{\rm old}|)}F_{j}^ {\rm old}\hfill&{\rm if }\ {\bf h}_{j}\in M,\hfill\cr c{(|F_{j}^{\rm bound}|/|F_{j}^{\rm old}|)}F_{j}^{\rm old}\hfill&{\rm if }\ {\bf h}_{j} \,\,\notin\,\, M\ {\rm and }\hfill\cr &\quad|F_{j}^{\rm old}|\,\gt\,c|F_{j}^{\rm bound}|,\hfill\cr F_{j}^{\rm old}\hfill&{\rm otherwise}.\hfill}\right.\eqno(3)]

In crystallography, suitable [|F_{j}^{\rm bound}|] can be conveniently estimated from the Wilson statistics as the expected mean Fourier amplitude for structure factors with the given |hj|. For normalized Fourier magnitudes (E values), Fbound = 1 for all j. If c goes to infinity, this operator transforms to (2[link]). Another special instance of this operator is the case c = 0: [F_{j}^{\rm new} = \left\{\matrix{{(|F_{j}^{\rm o}|/|F_{j}^{\rm old}|)}F_{j}^ {\rm old}\hfill &{\rm if }\ {\bf h}_{j}\in M,\hfill\cr 0\hfill&{\rm if \ }{\bf h}_{j}\,\,\notin\,\, M.\hfill}\right.\eqno(4)]

Yet another variant has been devised for practical applications. The Fourier magnitudes |Fo| are known only for associated scattering vectors up to a certain length [h_{\max}]. The sphere of known |Fo| is denoted the resolution sphere. In practical applications, the set M of scattering vectors with known Fourier magnitudes rarely covers all vectors in the resolution sphere. For example, the forward scattering intensity, F(000), is never measured. Such missing data inside the resolution sphere require a treatment different from unmeasured data at high resolution. For this purpose, a combination of projector (3[link]) for data inside the resolution sphere and (4[link]) outside the resolution sphere is useful: [F_{j}^{\rm new} = \left\{\matrix{{(|F_{j}^{\rm o}|/|F_{j}^{\rm old}|)}F_{j}^ {\rm old}\hfill&{\rm if }\ {\bf h}_{j}\in M,\hfill\cr c{(|F_{j}^{\rm bound}|/|F_{j}^{\rm old}|)}F_{j}^{\rm old}\hfill&{\rm if }\ {\bf h}_{j} \,\,\notin\,\, M,\,h_{j}\,\lt\, h_{\max}\hfill\cr&\quad {\rm and }\ |F_{j}^{\rm old}|\,\gt\, c|F_{j}^{\rm bound}|,\hfill\cr F_{j}^{\rm old}\hfill&{\rm if }\ {\bf h}_{j}\,\,\notin\,\, M,\,h_{j}\,\lt\, h_{\max}\hfill\cr& \quad{\rm and }\ |F_{j}^{\rm old}|\,\lt\, c|F_{j}^{\rm bound}|,\hfill\cr 0\hfill&{\rm otherwise.}\hfill}\right.\eqno(5)]

Again, the constant c can be set infinite, in which case the second condition is never met and the rule reduces to leaving all unmeasured magnitudes inside the resolution sphere unchanged, and setting everything outside the resolution sphere to zero.

Equation (5)[link] has a very important special case, namely c = ∞ and [h_{\max}] so small that the only coefficient with [h\,\lt\,h_{\max}] is the coefficient F(0). This case corresponds essentially to equation (4)[link], but instead of constraining F(0) to zero, it is left unchanged by the projector. This form was used in the original article on the CFA (Oszlányi & Sütő, 2004[link]): [F_j^{\rm new} = \left\{\matrix{ (|F_j^{\rm o}|/|F_j^{\rm old}|)F_j^{\rm old}\hfill&{\rm if }\ {\bf h}_j\in M, \hfill\cr F_j^{\rm old}\hfill& {\rm if }\ {\bf h}_j = {\bf 0},\hfill \cr 0 \hfill& {\rm otherwise. }\hfill}\right.\eqno(6)]

Among direct-space constraints, the most studied constraint in phase retrieval is the support constraint. This constraint can be applied if some part of ρ is known or assumed to be zero. This is a relevant constraint in single-particle imaging and in macromolecular crystallography. However, in most crystallographic applications the distribution of scattering density in the unit cell is usually unknown, and no support constraint can be defined. In the absence of a known support, the positivity of the electron density can still be exploited, and the positivity constraint can be conveniently defined. The corresponding projector is very simple: [\rho_i^{\rm new} = \left\{\matrix{\rho_i^{\rm old}\hfill &{\rm if }\ \rho_i\ge 0,\hfill \cr 0 \hfill&{\rm if }\ \rho_i\,\lt\, 0.\hfill}\right.\eqno(7)]

Such an operation has been frequently used in macromolecular crystallography as a part of phase extension and refinement procedures (solvent flattening; Wang, 1985[link]). For ab initio crystal-structure determination, however, if was found that a more aggressive density modification technique is needed: [\rho_i^{\rm new} = \left\{\matrix{ \rho_i^{\rm old}\hfill&{\rm if }\ \rho_i\geq \delta ,\hfill\cr 0 \hfill&{\rm if }\ \rho_i\,\,\lt\,\,\delta ,\hfill}\right.\quad \delta\,\gt\, 0 . \eqno(8)]

Introduction of the free parameter δ gives the algorithms more freedom to find a balance between the perturbing and stabilizing effect of the operation. Such an operation is the basis of some of the electron-density modification (EDM) techniques used in direct methods (e.g. Giacovazzo & Siliqi, 1997[link]). In the context of ab initio structure solution by dual-space methods, it was first proposed by Shiono & Woolfson (1992[link])[link], and it is in the background of the charge-flipping operation. As noted e.g. in Oszlányi & Sütő (2008)[link], this operation is not distance-minimizing, i.e. it is not a projection in the strict sense, but a pseudoprojection. It is important to note that while projections onto convex constraint sets are uniquely defined, the number of possible pseudoprojections is in general infinite. The choice of a particular pseudoprojection instead of a projection is therefore to a large extent arbitrary. Its choice is, typically, not based on any fundamental theory, but on the practical observation that that particular choice performs well in practice. For the sake of simplicity, we will not make an explicit distinction between true distance-minimizing projections and pseudoprojections in this text, where this is not explicitly needed.

Operation (8[link]) lends itself to a modification, which is not possible with (7[link]), namely[\rho_i^{\rm new} = \left\{\matrix{ \rho_i^{\rm old}\hfill&{\rm if }\ |\rho_i|\geq \delta,\hfill \cr 0 \hfill&{\rm if }\ |\rho_i|\,\,\lt\,\,\delta.\hfill }\right. \eqno(9)]This constraint does not impose positivity on ρ, but only eliminates low-density regions. It can be understood as a `dynamical support' constraint, where, unlike in the standard support constraint, the support is newly identified at every iteration cycle as the region with small density. This operation is at the basis of the band-flipping approach (Oszlányi & Sütő, 2007[link]). An asymmetric interval of the eliminated region is also possible and useful if the negative and positive signals in the density are of unequal strength (Whitfield & Coelho, 2016[link]): [\rho_{i}^{\rm new} = \left\{\matrix{\rho_{i}^{\rm old}\hfill&{\rm if }\ \rho_{i} \geq\delta_{+}\ {\rm or }\ \rho_{i}\leq\delta_{-},\hfill\cr 0\hfill&{\rm if }\ \delta_{-}\,\lt\,\rho_{i}\,\lt\,\delta_{+}.\hfill}\right.\eqno(10)]

Another direct-space constraint used in crystallography is the atomicity constraint. This constraint is less easily expressed by a simple recipe, but, in rough terms, the corresponding projector consists of selecting a prescribed number of peaks in ρ, and setting to zero all pixels outside these peaks (Elser, 2003b[link]; Feng, 2012[link]). A very special type of the atomicity constraint is used in the IPA. The corresponding operation consists of locating the peaks in ρ, placing a Gaussian with unit volume at the positions of the peaks, and multiplying ρ by the mask formed by these Gaussians (Sheldrick, 2015[link]). Although this operation is not a projection, as the resulting density does not have a specific property that would define it, it is closely related to an atomicity projection because the result of the operation is a set of discrete, sharp peaks, and all negative densities are set to zero.

Whatever the exact constraint and the recipe for the projector, it can be symbolically denoted as P, and the transformation of the image then as ρnew = Pρold, where P is an operator acting on ρ. Such operators can be combined to yield more complicated transformations. A particularly important combination of projections is a so-called overprojection,[R^{\gamma} = (1+\gamma)P-\gamma I,\eqno(11)]where I is the identity operator. Geometrically, such overprojection means that the shift from ρ to Pρ is continued in the same direction by a fraction γ of the original distance from ρ to Pρ. The special case of γ = 1 is called a reflector, and will be denoted R without an explicit superscript: [R:= R^1 = 2P-I.\eqno(12)]

We are now equipped to review the different algorithms suggested in the literature for phase retrieval, and specifically for crystal structure solution. In some works, the iterative phase retrieval algorithms are described as explicit schemes for pixelwise obtaining ρ of cycle n + 1 from ρ of cycle n. Such recipes do not explicitly separate the combination of projectors acting on ρ from the exact definition of the projector, and sometimes even cannot be expressed in the form of a combination of projectors acting on ρ. Another approach to describe the algorithms is to define the iteration scheme in terms of operators acting on ρ(n) to obtain ρ(n+1), and define the exact form of the operators separately. Where possible, we will adopt this second approach, and we will point out cases where this approach leads to difficulties. Explicit flowcharts of the most important algorithms are then summarized in Fig. 1[link].

[Figure 1]

Figure 1

Explicit schemes of the most important dual-space algorithms. Projections (6)[link] and (8)[link] were used for PM and PD, respectively. τ, ω, φ and ψ are intermediate images, [\hat{\tau}], [\hat{\omega}], [\hat{\varphi}] and [\hat{\psi}] are their Fourier transforms, respectively. The schemes correspond to equations (14)[link] (CFA), (18)[link] (HIO), (23)[link] (AAR) and (20)[link] (DM).

The basic algorithm is the alternating application of the magnitude and direct-space projections. Expressed as an iteration scheme, this algorithm can be written as [\rho^{(n+1)} = P_{\rm M}P_{\rm D}\rho^{(n)}.\eqno(13)]Here PM denotes the magnitude projector, and PD the direct-space projector. As for all algorithms that will be presented in this section, the iteration typically starts from a random starting image, but that is not strictly necessary, and starting from a non-random starting point changes these algorithms from phase retrieval to phase refinement or phase extension algorithms. This simple algorithm is known in the phase retrieval community as the Gerchberg–Saxton (Gerchberg & Saxton, 1972[link]) or error-reduction algorithm (Fienup, 1982[link]), and as the POCS (projections onto convex sets) for convex feasibility problems (Censor & Zenios, 1997[link]). In crystallography, this algorithm was used in conjunction with projection (8[link]) under the name low-density elimination (LDE; Shiono & Woolfson, 1992[link]). This method was developed as a phase extension method for macromolecular crystallography, but the authors added a short comment stating that one of the test structures could be solved ab initio from random phases. This seems to be the first published record of a crystal structure solved ab initio by dual-space methods, although this possibility was considered much earlier, for example in the ground-breaking paper by Fienup (1982[link])[link]. A detailed account of the performance of LDE in ab initio solution is given in Matsugaki & Shiono (2001)[link].

The Gerchberg–Saxton/error-reduction/LDE algorithm is known to be prone to stagnation at false solutions. One way of reducing the risk of stagnation is to replace the projectors by reflectors. Replacing the direct-space projector PD by the corresponding reflector yields this algorithm: [\rho^{(n+1)} = P_{\rm M}R_{\rm D}\rho^{(n)}.\eqno(14)]This is the iteration scheme of the basic CFA (Oszlányi & Sütő, 2004[link]), with RD being the reflector of (8[link]) and PM being the magnitude projection (6[link]). As noted by Wu et al. (2004b)[link], this algorithm is a special case of Fienup's output–output algorithm [Fienup (1982)[link], equation (43) with β = 2 and with γ being the set of all pixels, where ρi < δ].

A symmetric counterpart of this algorithm is the following scheme: [\rho^{(n+1)} = P_{\rm D}R_{\rm M}\rho^{(n)}.\eqno(15)]Here the reflector is applied in reciprocal space. This scheme is used in the IPA (Sheldrick, 2015[link]). However, in the presented algorithm the recommended (and default) value of γ in RM is 2 and not 1. The phase retrieval algorithm of Feng (2012)[link] also resembles very much this type of algorithm, although the operator in Fourier space uses a special version of the Fourier coefficients, yielding the operator[F_j^{\rm new} = \left\{\matrix{(2|F_j^{\rm o}|^2-|F_j^{\rm old}|^2)F_j^{\rm old}\hfill&{\rm if }\ {\bf h}_j\in M \hfill\cr 0\hfill&{\rm if }\ {\bf h}_j\,\,\notin \,\,M.\hfill }\right.\eqno(16)]The structure of this operator resembles a reflector, but it is not a reflector in a strict sense.

Another logical extension of the iteration scheme is to replace both projectors by reflectors: [\rho^{(n+1)} = R_{\rm M}R_{\rm D}\rho^{(n)}.\eqno(17)]It turns out that this scheme is difficult to use because of its instability. The perturbation induced by the alternating reflectors is too strong, and the solutions are not stable. This scheme has been made to work only by replacing the magnitude reflector by a special `partial reflector' [see Section 3[link] and equation (29)[link]].

In their pioneering work, Fienup (1982)[link] proposed a set of even more complicated iterations schemes, of which the hybrid input–output (HIO) algorithm proved to be the most successful. The hybrid input–output algorithm was defined as an explicit recipe for pixelwise obtaining ρnew from ρold. Adapted to our notation, this scheme reads[\rho_i^{(n+1)} = \left\{\matrix{ (P_{\rm M}\rho^{(n)})_i\hfill& {\rm if }\, (P_{\rm D}P_{\rm M}\rho^{(n)})_i = P_{\rm M}\rho^{(n)}_i,\hfill \cr \rho^{(n)}_i-\beta(P_{\rm M}\rho^{(n)})_i\hfill& {\rm otherwise},\hfill}\right.\eqno(18)]where β is a free parameter of the algorithm, and (PDρ(n))i means the ith pixel of the image PDρ(n). This algorithm cannot be expressed in a form of an operator acting on ρ(n) (Bauschke et al., 2003[link]). Only if the direct-space constraint is the support constraint (or another constraint, for which the projector is a linear operator) can the HIO algorithm be expressed as a fixed-point operator (Bauschke et al., 2002[link], 2003[link]): [\eqalignno{ \rho^{(n+1)} = \, & \{P_{\rm D}[(1+\beta)P_{\rm M}-I]+I-\beta P_{\rm M}\}\rho^{(n)}\cr =\, & \textstyle{{1} \over {2}}\{R_{\rm D}[R_{\rm M}+(\beta-1)P_{\rm M}]+I+(1-\beta)P_{\rm M}\}\rho^{(n)}.\cr & &(19)}]If the second form of the iteration scheme (19[link]) is combined with the positivity constraints and not the support constraint, yet another algorithm, called hybrid projection reflection (HPR), is obtained (Bauschke et al., 2003[link]). The HIO algorithm, or elements thereof, has been used in crystallographic phase retrieval schemes (Wu et al., 2006[link]; Lei, 2007[link]).

Another algorithm that bears a strong relationship to the HIO algorithm was proposed by Elser (2003b)[link] and named the difference map (DM). It is a three-parameter algorithm defined by the following scheme: [\rho^{(n+1)} = \left[I+\beta\left(P_{\rm D} R_{\rm M}^{\gamma_{\rm M}}-P_{\rm M}R_{\rm D}^{\gamma_{\rm D}}\right)\right]\rho^{(n)}.\eqno(20)]

In the original work (Elser, 2003b[link]), the optimal values of parameters γM and γD were estimated to be equal to β−1 and −β−1, respectively. In subsequent work (Elser, 2003c[link]), a slightly different choice of γD was suggested. It can be easily shown (Elser, 2003b[link]) that, for the case of support constraint only, the HIO algorithm is a special case of the DM with γM = β−1 and γD = −1. This equivalence, however, does not hold for the positivity or atomicity constraint. The difference map was demonstrated to work for structure solution (Elser, 2003a[link]). The specific form of the magnitude constraint was that of equation (3)[link], and the direct-space constraint was the atomicity. For some reason this algorithm has never become very popular in crystallography, while it has found more applications in the phase retrieval of non-periodic objects.

When the special value of β = 1 is used in the second equality of equation (19[link]), we obtain a particularly simple expression: [\rho^{(n+1)} = \textstyle{{1} \over {2}}(R_{\rm D}R_{\rm M}+I)\rho^{(n)}.\eqno(21)]

This algorithm was first proposed and analysed by Douglas & Rachford (1956)[link] for the solution of differential equations, and adapted for convex sets by Lions & Mercier (1979)[link]. In the phase retrieval context it was suggested and analysed by Bauschke et al. (2004)[link] under the name averaged alternating reflections (AAR). The AAR algorithm has the interesting property that, under certain circumstances, it is an important special case of both the HIO algorithm and the difference map. More specifically, assuming PD is a linear operator, the AAR algorithm is the HIO algorithm with β = 1, and the difference map algorithm with β = 1, γD = −1 and γM = 1. Moreover, if, in addition to PD, PM is also assumed to be linear (keep in mind that this is not the case for the magnitude projection), Elser's difference map with the recommended parameters γM = β−1 and γD = −β−1 becomes a weighted average of two symmetric versions of AAR: [\eqalignno{\rho^{(n+1)} =\, & {{1+\beta} \over {2}}\left[{{1} \over {2}}(R_{\rm D}R_{\rm M}+I)\right]\rho^{(n)}\cr &+{{1-\beta} \over {2}}\left[{{1} \over {2}}(R_{\rm M}R_{\rm D}+I)\right]\rho^{(n)}. &(22)}]

These relationships cannot be carried over directly to phase retrieval, where the magnitude constraint and often also the direct-space constraints are not linear. Nevertheless, they indicate that all these algorithms have a closely related structure.

Scheme (21)[link] has a closely related symmetric counterpart, also obtained from (22[link]) with β = −1: [\rho^{(n+1)} = {{1} \over {2}}(R_{\rm M}R_{\rm D}+I)\rho^{(n)}.\eqno(23)]The two schemes are very similar, but they are not the same because the magnitude and direct-space constraints have a very different structure. The latter scheme was used by Oszlányi & Sütő (2011)[link] and shown to be superior to the original CFA, especially when dealing with low-resolution data (Oszlányi & Sütő, 2011[link]; van der Lee, 2013[link]).

So far, we have not considered the consistency of the phase retrieval problem, and we have assumed that the solution exists. However, crystallographic phase retrieval is most often inconsistent. This is caused by the limited resolution of the diffraction data and by the presence of noise in the data. Moreover, if constraint (8[link]) or some of its variants are used, the problem is inconsistent, because we are approximating the true ρ by a function which does not assume values between 0 and δ. The same is true for atomicity constraints, which assume zero density outside of a limited number of pixels. For inconsistent problems, the AAR, HIO, DM and related algorithms have a tendency to diverge from the solution (Marchesini, 2007[link]; Fig. 2[link]). This leads to a frequently observed problem of wandering of the iterates away from the solution. The error-reduction algorithm and the CFA do not diverge, and stay close to the optimal point (i.e. at the place with the shortest distance between the constraint sets), but they suffer from stagnation at local distance minima (Fig. 2[link]c). An interesting algorithm that does not diverge for inconsistent problems, but inherits most of the ability of the AAR-related algorithms to escape from the local minima, is the relaxed alternating averaged reflection (RAAR) algorithm (Luke, 2005[link]). This algorithm is a one-parameter relaxation of the AAR algorithm: [\rho^{(n+1)} = \textstyle{{1} \over {2}}\beta(R_{\rm D}R_{\rm M}+I)+(1-\beta)P_{\rm M}\rho^{(n)}.\eqno(24)]

[Figure 2]

Figure 2

Convergence of selected dual-space algorithms on a two-dimensional example. (a) Two convex constraint sets with intersection. (b) Two non-convex constraint sets with several intersections. (c) Two non-convex constraint sets without intersection (unfeasible problem). All iterations start from the same point in the right-hand part of the plots. Symbols represent the actual iterates, the dotted lines connect consecutive iterates. ER = error-reduction algorithm (13)[link], CFA = charge flipping algorithm (14)[link], AAR = averaged alternating reflections (21)[link], RAAR = relaxed averaged alternating reflections (24)[link], DM = difference map [(20)[link], with γM = β−1, γD = −β−1].

This algorithm has a fixed point, even if the corresponding problem is inconsistent, and as such appears to be a very attractive variant of applications in crystallography. Skubák (2018)[link] applied this algorithm to the solution of heavy-atom substructures from anomalous difference data and found it better performing than the standard CFA. The best value of the parameter β was found empirically to be 0.82. It is possible that in contexts other than heavy-atom substructures the optimal β might be different.

Realistic phase retrieval problems operate in spaces of very large dimension. It is, however, very enlightening to observe the behaviour of the algorithms for a simple, two-pixel problem, which can be represented in a plane. Several of the presented algorithms (ER, the CFA, AAR, RAAR, DM) were used to solve a simple problem in two dimensions, where the two constraint sets are represented by two curves. Fig. 2[link] shows the results for a convex consistent problem, a non-convex consistent problem with multiple solutions and a non-convex inconsistent problem. Each symbol in the plots shows an iterate of the algorithms. Successive iterates are connected with a line, forming a path. For the convex consistent problem (Fig. 2[link]a), all algorithms converge to the correct solution. For the non-convex consistent problem (Fig. 2[link]b), ER and the CFA stagnate at local minima. However, the CFA is able to avoid some of the local minima, and approaches the solution more than ER. All other algorithms find one of the solutions. The non-convex inconsistent problem is the most challenging. ER and the CFA approach the solution, but stagnate at local minima. Again, the CFA avoids some of the minima that are trapping the ER algorithm. The AAR, HIO and DM algorithms all diverge from the solution. The RAAR algorithm converges close to the solution, and a point very close to the solution would be found by a single application of one of the projections. More details of the behaviour of various algorithms for general phase retrieval problems are discussed in an excellent overview by Marchesini (2007)[link].

Most of the algorithms presented so far can be regarded as special cases of a general, six-parameter iteration scheme of the following form: [\rho^{(n+1)} = \left[(1-\beta_{1}-\beta_{2})I+\beta_{1}\left(R_{\rm D}^{\gamma_{\rm D,1} }R_{\rm M}^{\gamma_{\rm M,1}}\right)+\beta_{2}\left(R_{\rm M}^{\gamma_{\rm M,2}}R_{\rm D}^{\gamma_ {\rm D,2}}\right)\right]\rho^{(n)}.\eqno(25)]

Table 1[link] gives the parameters of this general algorithm that correspond to the algorithms presented in this section. The only algorithm that cannot be represented as a special case of the above scheme is the general form of the HIO algorithm [equation (18[link])] and the HPR algorithm [equation (19[link]) with the positivity constraint].

Table 1
Dual-space iterative algorithms expressed as instances of the general iteration scheme (25)[link]

β is the free parameter of the algorithms.

Gerchberg–Saxton/error reduction 1 0 0 0
Original CFA 1 0 1 0
Intrinsic phasing 1 γM,1 0 0
HIO β β−1 0 β 0 −1
DM§ β β−1 0 β 0 β−1
AAR 1/2 1 1 0
AAR, equation (23) 0 1/2 1 1
RAAR β/2 1 1 1 − β 0 −1
The recommended value of γM,1 is 2.
Strictly valid only for support constraint.
§With optimal parameters derived from the assumption of locally orthogonal constraint sets.
And also HPR with β = 1, equation (21)[link].

This overview of algorithms should provide an idea of the complexity of the field, and point out the similarities, but also the differences, between the algorithms. The flowcharts of the most important algorithms are summarized in Fig. 1[link]. The overview should also make it clear that the potential and performance of various algorithms in a crystallographic context is far from being entirely understood and explored.

3. Variants of the basic algorithm

In the previous section, various phase retrieval algorithms were reviewed. Although several algorithms have been applied to crystallographic problems, the charge-flipping-based algorithms remain the most studied. This section therefore provides a detailed overview of variants and flavours of the CFA. Many of the findings on the CFA might apply also to other dual-space algorithms.

The first and obvious improvement of the efficiency of the algorithm is not related to the algorithm itself, but to the data employed. The original paper on the CFA (Oszlányi & Sütő, 2004[link]) used as an input the magnitudes of the standard, non-normalized Fourier coefficients. Using normalized Fourier coefficients (the E values) yields sharper maps and thus a much better performance of the algorithm. This general knowledge was quantitatively probed by Oszlányi & Sütő (2008[link])[link], who showed, on a selected example, a reduction of the number of iteration steps by about two orders of magnitude upon introducing normalized Fourier coefficients. Other dual-space algorithms (Lei, 2007[link]; Feng, 2012[link]) directly employ the normalized coefficients. In the IPA, the magnitudes entering the iteration are a mix between normalized and unnormalized structure-factor amplitudes in the form G = EqF1−q, with q being a user-defined parameter with a default value of 0.5.

As described in the previous section, the original version of the CFA employed the iteration scheme (14[link]) with the magnitude projection (6[link]) and direct-space projection (8[link]). Owing to its crucial role in the CFA, we give here the corresponding reflector of (8[link]) explicitly: [\rho_i^{\rm new} = \left\{\matrix{ \rho_i^{\rm old}\hfill&{\rm if }\ \rho_i\geq \delta,\hfill \cr -\rho_i^{\rm old}\hfill& {\rm if } \ \rho_i\,\,\lt\,\,\delta. }\right.\eqno(26)]

This is the so-called charge-flipping operation, which gave the algorithm its name. The exact form of the magnitude constraint (6[link]) is important. For example, replacing the constraint by the closely related form (2[link]) has a devastating effect on the efficiency of the algorithm. The zero Fourier coefficient F(0) also deserves special attention. This coefficient is not known experimentally. In the original formulation of the CFA [ equation (6[link])] it was left unconstrained. The variant with constraining F(0) to zero [i.e. using projector (4[link])] was also sometimes used (Palatinus, 2004[link]; Coelho, 2007a[link]; Zhou & Harris, 2008[link]). However, leaving the F(0) coefficient unconstrained seems to be the most efficient approach. If left unconstrained, the abrupt drop of the value of F(0) can also be used as an indicator of the convergence of the iteration (Oszlányi & Sütő, 2004[link]).

The parameter δ is the single free parameter of the basic algorithm. Its value on an absolute scale differs from one problem to another. However, it was shown (Oszlányi & Sütő, 2008[link]) that δ can be conveniently expressed in terms of the standard deviation of the reconstructed density: [\delta = k_{\rm ed}\sigma(\rho),\eqno(27)]where σ(ρ) is the standard deviation of the distribution of the density values. The optimal value of ked was shown to be most often between 0.9 and 1.3.

Soon after the publication of the algorithm, first applications and improvements of the algorithm appeared. Wu et al. (2004a)[link], along with the first application to experimental data, proposed to replace the constant δ in the charge-flipping operation by a dynamical δ determined newly every cycle so that a constant number of pixels is flipped. While this modification does not seem to have an important effect for most structure-solution problems, it appears to have a stabilizing effect for problems where the solution is less stable.

Naturally, most efforts concentrated on the improvement of the phasing power of the algorithm. These attempts focused either on the modification of the constraints or of the iteration scheme. The first class involves the so-called π-half variant (Oszlányi & Sütő, 2005[link]), where the magnitude constraint is modified to [cf. equation (6[link])] [F_j^{\rm new} = \left\{\matrix{ (|F_j^{\rm o}|/|F_j^{\rm old}|)F_j^{\rm old}\hfill& {\rm if }\ {\bf h}_i\in M \, {\rm and \, strong},\hfill\cr F_j^{\rm old}\exp({{\pi} \over {2}}i)\hfill& {\rm if }\ {\bf h}_j\in M \, {\rm and\, weak},\hfill\cr 0 & {\rm otherwise}.\hfill}\right.\eqno(28)]The threshold between weak and strong reflections is selected so that a certain fraction of the reflections – typically 20–30% – are treated as weak. This modification dramatically improves the performance of the algorithm.

Another improvement of the operation on the Fourier magnitudes was the replacement of the simple magnitude projection by this operation (Oszlányi & Sütő, 2008[link]): [F_j^{\rm new} = \left\{\matrix{ (2|F_j^{\rm o}|-|F_j^{\rm old}|)\exp(2\pi i \varphi_j^{\rm old})\hfill&{\rm if }\ {\bf h}_j\in M ,\hfill\cr 0 \hfill& {\rm otherwise}.\hfill}\right.\eqno(29)]Here [\varphi_{j}^{\rm old}] is the phase of the coefficient [F_{i}^{\rm old}]. It can be regarded as a standard F + ΔF Fourier synthesis used commonly in macromolecular crystallography. This operator resembles a reflector, but a true reflector would have to change the sign of all unobserved Fourier coefficients ([{\bf h}_{j}\,\,\notin\,\, M]). The authors recommend that a limit is imposed on the change of |Fj| so that [|F_{j}^{\rm o}|-W\,\lt\,|F_{j}^{\rm new}|\,\lt\,|F_{j}^{\rm o}|+W], where W is a new free parameter of the algorithm. In some sense this variant changes the iteration scheme from the standard CFA scheme (14[link]) to (17[link]). The damping introduced by the parameter W and by not applying the operation to unobserved reflections is necessary to ensure that this algorithm does not suffer from the instability typical for the iteration scheme (17[link]). This modification provided similar or somewhat better results than the π-half variant on a test organic structure (Oszlányi & Sütő, 2008[link]). A very similar reciprocal-space operation is used in the IPA.

The modifications described so far aimed at the improvement of the efficiency of the algorithm. A variant called band flipping (Oszlányi & Sütő, 2007[link]) instead aims at lifting the requirement of the positivity of the direct-space constraint. It employs the `dynamical support' constraint (9[link]) instead of the standard constraint (8[link]). The dynamical support constraint does not enforce positivity of ρ. The action of the corresponding reflector (the band-flipping operator) is to change the sign of all pixels with − δ < ρi < δ. This variant has a weaker phasing power than the standard variant, but is applicable to neutron scattering densities with negative scatterers (Oszlányi & Sütő, 2007[link]), or to the reconstruction of difference electron densities, and hence to the solution of superstructures (Palatinus et al., 2011[link]). An asymmetric interval for the flipping proved to be useful in the solution of structures from neutron diffraction (Eq. 10 of Whitfield & Coelho, 2016)[link].

Oszlányi & Sütő (2011)[link] combined the charge-flipping operation with the AAR iteration scheme (23[link]). It was shown that the AAR iteration scheme clearly outperforms the standard charge-flipping scheme. The improvement is especially striking for low-resolution data. However, the tests were performed on synthetic, noise-free data. The advantage of the AAR algorithm over the standard CFA is less striking for experimental, noisy data, owing to the tendency of the AAR scheme to diverge for inconsistent problems (Marchesini, 2007[link]). The advantage for low-resolution data, however, remains visible even in experimental data (van der Lee, 2013[link]).

The challenge of the dual-space algorithms is finding the balance between the perturbation strength and stability of the solution at convergence. One possibility to influence this balance is to design a moderately perturbing algorithm, but add additional perturbation in the projection step, i.e. replacing the perfect projection operation with an operation that adds additional perturbation or suppresses certain unwanted features in the density. A prominent example of this strategy are so-called omit maps. Omit maps are frequently used in macromolecular crystallography to remove model bias. Oszlányi & Süto (2016[link])[link] analysed the effect of resetting parts of ρ to 0 at every nth iteration (n between 1 and 10). The most efficient of the tested variants turned out to be dividing the unit cell by a randomly oriented and randomly positioned plane into two equally large halves, and setting to zero one of the halves. This apparently drastic perturbation improves the efficiency of the CFA and turns also other, less well performing variants like LDE into viable phasing algorithms. The random omit procedure is also an integral part of the IPA. In the stage of construction of the mask consisting of Gaussians placed at the peaks of ρ, a small number of these Gaussians are removed at random, creating an additional perturbation in the iteration.

Another example is the modification introduced by Coelho (2007a)[link], who proposed replacing the charge-flipping operation (26)[link] by the recipe[\rho_{i}^{\rm new} = \left\{\matrix{\delta+(\rho_{i}^{\rm old}-\delta)^{{{1} / {2}}}\hfill&{\rm if }\ \rho_{i}\geq\delta,\hfill\cr -\rho_{i}^{\rm old}\hfill&{\rm if }\ \rho_{i}\,\lt\,\delta.\hfill}\right.\eqno(30)]This operation has the effect of damping the highest maxima in the density and thus avoiding false solutions consisting of a single very large peak (known as a `uranium atom solution').

The simplicity of the CFA makes it easy to combine it with other iterations schemes or completely different solution strategies. The CFA was combined with histogram matching in powder diffraction (Section 7.3[link]). Coelho (2007a)[link] combined the CFA with the tangent formula (i.e. classical direct methods) to obtain an algorithm that merges the two worlds. The algorithm proposed by Coelho contains several modifications with respect to the original algorithm, but the principal one is the introduction of the tangent formula in the Fourier-space modification step. Instead of keeping the phases of the Fourier coefficients intact [cf. equation (2)[link]], they are shifted towards phases obtained by the application of the tangent formula. With this approach, a substantial improvement of performance was obtained. This algorithm was implemented in the crystallographic suite TOPAS (Coelho, 2007b[link]).

4. Dual-space algorithms and symmetry

The potential use of the symmetry information in the dual-space algorithms, especially in the CFA, has been subject to a recurring debate over the years. All major publications on dual-space structure solution methods (Matsugaki & Shiono, 2001[link]; Elser, 2003b[link]; Oszlányi & Sütő, 2004[link]; Sheldrick, 2015[link]) note that symmetry has not been used in their tests, and Elser (2003b)[link] and Oszlányi & Sütő (2004)[link] express the hope that the proper use of symmetry will improve the power of the algorithms. On the one hand, one could argue that the symmetry is already implicitly contained in the data, and adding it explicitly does not provide additional information. On the other hand, the hope for improvement was driven by the observation that by explicitly introducing phase relationships due to the space-group symmetry in the iteration, the number of phases that needs to be determined in the iteration is reduced. This would mean a reduction of the dimension of the search space by a factor approaching the order of the space group, i.e. up to 48 for some cubic space groups.

Interestingly, apart from specific exceptions discussed later, an improvement by using symmetry was never accomplished, and application of the algorithms without any symmetry constraints remains the most efficient approach. Although no mathematically rigorous analysis of the problem has yet been published, an intuitive explanation of this fact is available. If symmetry is imposed on the density, then all features must develop from a random density exactly at the positions determined by symmetry. Without symmetry restrictions (i.e. `in the space group P1'), the structure can develop anywhere in the unit cell, giving the algorithm much more freedom to randomly develop a `seed' of the correct structure, and to converge to a complete solution from that seed. Moreover, the parameter δ of the flipping operation must be set to find a balance between the perturbing effect of the operation and the stability at the solution. If the symmetry is fixed – for simplicity, let us consider just the presence of an inversion centre at the origin – all Fourier-coefficient phases are fixed to either 0 or π. Switching the phases of important reflections from 0 to π requires an extremely strong perturbation of the density in real space. If δ is set so high as to permit such changes, it will be too high to stabilize the iteration at the solution. If δ is smaller, the phases of the most important reflections will be fixed and the iteration will stagnate. Interestingly, a similar observation was also made in the framework of direct methods (Sheldrick & Gould, 1995[link]; Burla et al., 2000[link]) and a procedure called RELAX, which relaxes the symmetry constraints on the structure (Burla et al., 2002[link]), has become a standard part of the structure solution process in the program SIR2011 (Burla et al., 2012a[link]) and later.

An apparent contradiction to the arguments just stated is the method due to Eggeman et al. (2009)[link], which used symmetry-enhanced charge flipping to solve a two-dimensional structure from zonal electron diffraction data. The approach is the following: first run the CFA in P1 for a couple of cycles, and then symmetrize the density regularly every few cycles. This approach stabilized and improved the solution. But the contradiction is only apparent. In the particular case of two-dimensional electron diffraction data, the problem is not to reach convergence. The structure is very simple to solve, but it is difficult to stabilize the solution owing to the limited accuracy and limited amount of data. In such cases, applying the symmetry may indeed help to find the best solution and stabilize it by adding more constraints to the problem. A similar effect can be expected for structures solved from powder diffraction data. Indeed, a possibility to partially or completely impose the symmetry on the current iterate has been implemented in the charge-flipping routine of the program TOPAS Academic (Coelho, 2007b[link]), and is reported to have a stabilizing effect on the structure solution from low-resolution or powder diffraction data (Coelho, 2012[link]). Partially imposing the symmetry on the iterates has also been used by Coelho (2021[link])[link] in a work focused on the ab initio solution of protein structures by the CFA. In this work, enforcing the symmetry in the iterates during iteration is interpreted as narrowing the searched phase space, but increasing the radius of convergence of the iteration. The narrowed phase-space search is compensated by several other modifications of the basic algorithm that increase the perturbation strength and thus broaden the searched phase space.

The fact that the algorithm performs best without any symmetry restrictions can be turned into an advantage. If the solution is found without symmetry restrictions, then it can be analysed for the presence of symmetry elements, and the most probable space group of the structure can be deduced after the solution (Palatinus & van der Lee, 2008[link]; Sheldrick, 2015[link]). This approach is fundamentally different from the standard space-group determination using the symmetry and systematic absences in diffraction data, because it uses the phased Fourier coefficients and not just their magnitudes. It thus does not suffer from the ambiguities present in the standard approach, and allows, for example, an unambiguous discrimination between space groups differing only by the presence/absence of an inversion centre. This approach, on the other hand, is less sensitive to small deviations from higher symmetry, which can often be reliably revealed in Fourier space. Ideally, the best estimate of the space-group symmetry should be obtained by combining both methods.

5. The problem of missing data

Incomplete diffraction data are a severe problem for the structure solution process regardless of the solution method. Several methods have been devised to overcome the problem. The missing coefficients can be extrapolated by imposing positivity on the Patterson map (Karle & Hauptman, 1964[link]; Langs, 1998[link]) or estimated using probabilistic formulae relating the unknown magnitudes either to the experimental observations (David, 1987[link]; Cascarano et al., 1991[link]; Xu & Hauptman, 2000[link]) or to the Fourier magnitudes of a model density (Caliandro et al., 2005a[link],b[link], 2009[link]).

The dual-space algorithms are a Fourier-based technique, and thus the problem of an incomplete data set is probably even more critical here than in other methods. In the original formulation of the CFA, the magnitude constraint had the form (6[link]), i.e. all unmeasured Fourier magnitudes except for F(0) were reset to zero. This severely hampers the algorithm's performance, even if only a few important low-order Fourier magnitudes are missing. A partial remedy to the problem is to replace the projection (6[link]) by projection (5[link]), possibly with infinite c. This modification solves the problem of missing low-order data to a large extent. For cases of an extreme amount of missing data, Palatinus et al. (2007)[link] proposed a method based on the optimization of the Patterson function by the maximum entropy method (MEM). The optimization of the Patterson map by MEM leads to an estimation of the missing Fourier magnitudes, which can then be used as experimental data in the charge-flipping iteration. Using this technique, test structures could be solved with more than 50% of the reflections missing inside the resolution sphere. The method is, however, relatively tedious, time consuming and not very efficient in extrapolating the data to higher resolution.

Compared with the standard algorithm with the constraint (5[link]), significant improvement of performance with missing data was reported with the AAR variant (Oszlányi & Sütő, 2011[link]). The published tests show that in some cases the AAR algorithm can solve purely organic, non-centrosymmetric structures from low-resolution data (dmin = 1.5 Å), while the standard algorithm fails already slightly above dmin = 1.2 Å. For centrosymmetric structures, solution from data with dmin = 1.6 Å was easily possible with AAR, while it was very difficult or impossible with the standard CFA. A beneficial effect of the AAR scheme was confirmed on a large set of experimental data sets by van der Lee (2013)[link].

In the IPA, the problem of an incomplete data set is less severe. The replacement of the peaks in the iterate by the idealized Gaussian peaks provides the additional information about the electron density that automatically leads to an effective estimation of the missing Fourier amplitudes. This approach is very efficient, but it may fail in the rare cases when the correct electron density is not composed dominantly from isolated round maxima, for example in cases of severe disorder in the structure.

6. Software

No modern computing method can hope for widespread usage without publicly available software implementing the method. It is likely that one of the key reasons for the success of the CFA is that a rich collection of such software is available. Quickly after publication, the CFA has become available for users as a module in the crystallographic software package PLATON (Spek, 2003[link]), and in the computer program BayMEM (van Smaalen et al., 2003[link]). The CFA is also implemented in the program TOPAS (Coelho, 2007b[link]). This program contains an implementation with several special features (Coelho, 2007a[link], 2021[link]). It is focused on structure solution from powder diffraction data and includes the powder CFA with histogram matching (Section 7.3[link]), but can also be used with single-crystal data. Another program for structure solution using dual-space algorithms is Superflip (Palatinus & Chapuis, 2007[link]). This program allows the application of the CFA in arbitrary dimensions, allowing the solution of ordinary periodic structures as well as modulated structures and quasicrystals (see Section 7.2[link]). The program also contains many of the modifications of the charge flipping algorithm described in Section 3[link] and the symmetry-determination algorithm due to Palatinus & van der Lee (2008)[link]. It also contains the general, six-parameter iteration scheme [equation (25[link])], allowing the application of a wide variety of iterative algorithms (Table 1[link]). The IPA (intrinsic phasing algorithm) is implemented in the popular structure determination program SHELXT (Sheldrick, 2015[link]). This program is optimized for the solution of small-molecule crystal structures, contains its own symmetry determination algorithm and provides an advanced algorithm for the chemical interpretation of the obtained electron density.

7. Applications

7.1. General structure solution

When the CFA was published, the authors themselves were quite sceptical about its competitiveness with state-of-the-art software and methods. The popularity and widespread use of the dual-space algorithms have proved that these algorithms are competitive. It is essentially impossible to say which phasing algorithm is the best in general. Different problems may require different approaches and algorithms. Ideally, the practicing crystallographer should be familiar with a whole set of methods, and combine them to get the best results. van der Lee (2013[link])[link] tested an automated structure solution workflow on a large set of standard crystal structures using various methods and programs, and found that, statistically, the ability to find a solution is comparable for direct methods and the CFA, but the best results can be obtained by combining the results from both approaches. It is clear now that dual-space algorithms have become quite popular. The first application of the CFA to experimental data was presented by Wu et al. (2004a)[link], followed by the solution of an interesting, albeit already known, structure with strong pseudosymmetry (Oszlányi et al., 2006[link]). The method gained broader acceptance after it became available in user-friendly crystallographic software (Section 6[link]). The first published periodic structure solved by the CFA and not known previously appears to be sodium trifluoromethanesulfonate acetonitrile solvate, published in January 2007 (Meffre et al., 2007[link]). Interestingly, unknown aperiodic structures solved by the LDE algorithm had already been published in 2001 and solutions from the CFA were published in 2006 (Section 7.2[link]). The number of solved structures has grown steadily since 2007. A boost in the popularity of dual-space algorithms came with the publication of the intrinsic phasing method implemented in the program SHELXT (Sheldrick, 2015[link]).

7.2. Incommensurately modulated structures and quasicrystals

For solving periodic structures, dual-space methods are one of several possibilities. For aperiodic structures, the situation is different. Aperiodic structures – incommensurately modulated structures or quasicrystals (Janssen et al., 2007[link]; van Smaalen, 2007[link]) – are usually described in higher-dimensional superspace, where the atoms are not point-like objects, but are extended along the perpendicular dimensions, forming so-called atomic domains. Although extensions of direct methods to modulated structures have been proposed (Hao et al., 1987[link]; Xiang et al., 1990[link]; Fan et al., 1993[link]), they have not reached wide use in practice, and modulated structures used to be solved in a two-step procedure. First, the average structure was solved from the main reflections only, and then the modulation was determined essentially by trial and error. In quasicrystal research, the situation was similar, and insight into the structures of quasicrystals was often gained through the solution of approximant structures. The advent of dual-space methods changed the situation a lot. They do not impose any restriction on the form of the reconstructed scattering density, and can thus be directly generalized to superspace. The generalization is very straightforward. Nothing at all needs to be changed in the iteration scheme or in the form of the magnitude or positivity constraints [equations (6)[link] and (8)[link]]. The only difference is that ρ is sampled not on a three-dimensional grid, but on a (3 + d)-dimensional grid, where d depends on the rank of the modulation.

The first successful attempts to solve quasicrystal structures with dual-space algorithms employed the LDE algorithm (Takakura et al., 2001[link]). The possibility of applying the CFA to incommensurately modulated structures was demonstrated very soon after its publication (Palatinus, 2004[link]). It was demonstrated that the algorithm can solve many modulated structures directly in superspace without the need to first determine the average structure. Soon the method was successfully applied to the first unknown modulated structures (Zúñiga et al., 2006[link]; Palatinus et al., 2006[link]). The method was also quickly applied to decagonal quasicrystals (Fleischer & Steurer, 2007[link]; Strutz & Steurer, 2007[link]; Katrych et al., 2007[link]).

The intrinsic phasing method cannot be directly generalized to superspace because of the specific direct-space operation, which assumes atomicity of the scattering density. As atoms in the superspace scattering density form extended domains rather than discrete maxima, this step cannot be applied.

7.3. Powder diffraction data

Structure solution from powder diffraction data is a difficult problem for all but very simple structures. Most of the new structures are nowadays solved by direct-space methods, which employ global minimization techniques to optimize the structure model against a powder diffraction pattern (for an overview see e.g. Černý & Favre-Nicolin, 2007[link]). The complexity of these approaches, however, tends to grow exponentially with the number of degrees of freedom in the model. Therefore, they are very well suited for structures with large known molecular fragments or other motifs. Cases where the complexity of the structure makes it inaccessible for these techniques are still not rare.

The application of truly ab initio methods to structure solution from powder data is hindered by the fact that the one-dimensional powder diffraction pattern contains overlapping peaks, and hence the intensities of individual reflections are not known. This problem of reflection overlap is central to solution from powder diffraction data. The first method addressing the overlap problem in combination with charge flipping was proposed by Wu et al. (2006)[link]. The key difference of their method from the basic algorithm was the addition of an intensity-repartitioning step during the Fourier-space part of the iteration cycle. In this step, instead of the standard operation (6[link]) the following modification is used:2[F_j^{\rm new} = \left\{\matrix{ (|F_j^{\rm o}|/|F_j^{\rm old}|)F_j^{\rm old}\hfill& {\rm if }\ {\bf h}_j\in M \,{\rm and\, not\, overlapped,} \hfill\cr \sqrt{\displaystyle{{\sum\limits_{\rm overlap}|F_j^{\rm o}|^2} \over {\sum\limits_{\rm overlap} |F_j^{\rm old}|^2}}}F_j^{\rm old}\hfill&{\rm if }\ {\bf h}_j\in M\, {\rm and\, overlapped,}\hfill \cr 0\hfill&{\rm otherwise}. \hfill}\right.\eqno(31)]The second possibility is employed if certain reflections belong to a group of overlapping reflections, and thus only a sum of their intensities is known. Then the magnitude of [F_{j}^{\rm old}] is not replaced by the experimental magnitude [F_{j}^{\rm o}] (which is not known), but it is only scaled so that the sum of all [|F_{j}^{\rm new}|^{2}] within one overlap group is constant and equal to the sum of [|F_{j}^{\rm o}|^{2}] known from the experiment. Note that this operation, despite its apparent complexity, is still a projection in the strict sense (i.e., distance minimizing). The method was shown to work on a series of simple test cases and on two unknown structures of tetragonal tungsten bronzes.

Another approach to the repartitioning problem was adopted by Baerlocher et al. (2007b)[link]. In order to obtain a more reliable partitioning of the overlapped reflections, the charge-flipping iteration was combined with additional external information, namely with the known histogram of the density. The histogram matching procedure was first adopted in macromolecular crystallography as part of the phase refinement process (Zhang & Main, 1990[link]), but here it was employed to update both the phases and intensities of the overlapping reflections. The powder charge-flipping scheme is shown in Fig. 3[link]. The histogram matching procedure is applied after every n cycles of the basic charge-flipping iteration, n being typically 10–50. The current density values are modified by a piecewise linear transformation to match the expected density histogram. Such modified density is Fourier-transformed to yield a new set of Fourier coefficients [F_{j}^{\rm HM}]. Then an operation analogous to equation (31[link]) is performed, but using [F_{j}^{\rm HM}] instead of [F_{j}^{\rm old}] for the repartitioning: [F_j^{\rm new} \!= \!\left\{\matrix{ (|F_j^{\rm o}| / {|F_j^{\rm HM}|})F_j^{\rm HM}\hfill&{\rm if }\ {\bf h}_j\in M \, {\rm and\, not\, overlapped},\hfill \cr \sqrt{\displaystyle{{\sum_{\rm overlap}|F_j^{\rm o}|^2} \over {\sum_{\rm overlap}|F_j^{\rm HM}|^2}}}F_j^{\rm HM}\hfill&{\rm if }\ {\bf h}_j\in M \,{\rm and\, overlapped},\hfill \cr 0\hfill& {\rm otherwise}.\hfill }\right.\eqno(32)]

[Figure 3]

Figure 3

The flowchart for the powder CFA with histogram matching. For a detailed description of the histogram matching step see Baerlocher et al. (2007b)[link], equations (1), (2) and (3).

Thus the overlapped reflections are repartitioned so that the sum of their squared magnitudes equals the experimentally determined sum, but their ratios correspond to the ratios of [F_{j}^{\rm HM}] obtained after the histogram matching step. As the histogram matching procedure is expected to improve the current ρ, the ratios of the Fourier magnitudes of the overlapped reflections should also be improved, and the whole procedure should lead to a better repartitioning of the overlapped intensities. After the histogram matching step, the standard charge-flipping iteration continues with the updated magnitudes of the Fourier coefficients.

This method was shown to be a very powerful extension of the standard CFA. Baerlocher et al. (2007b)[link] have demonstrated the solution of several structures, ranging from relatively simple ones to quite complex structures like the zeolite ZSM-5 with 38 atoms in asymmetric unit (288 in the unit cell). This method was then successfully used to solve a number of structures, mainly of zeolites and other framework materials (Massüger et al., 2007[link]; Koyama et al., 2008[link]; Xie et al., 2009[link]; McCusker et al., 2009[link]; Liu et al., 2009[link]; Park et al., 2011[link]; Gándara et al., 2012[link]; Šišak Jung et al., 2014[link]; Nakazawa et al., 2017[link]; Bette et al., 2018[link]).

It is worth noting that most of the variants and improvements of the basic CFA described in Section 3[link] are not useful for powder diffraction data. Even the most complex structures solved from powder data would be very easy to solve from single-crystal data. What is needed is more external information that allows augmentation of the degraded intensity information in the powder diagram. Histogram matching goes in this direction, as well as the application of symmetry constraints during the iteration (see Section 4[link]).

Some of the most complex zeolite structures could be elucidated from powder diffraction data by the CFA combined with histogram matching and with additional phase information retrieved from high-resolution transmission electron microscopy (Baerlocher et al., 2007a[link], 2008[link]; Sun et al., 2009[link]). However, in this context the dual-space algorithms are not, strictly speaking, used as ab initio phasing algorithms, but more as a powerful phase extension algorithm. Detailed description of these procedures is thus outside of the scope of this text.

7.4. Macromolecular crystallography

Ab initio structure solution of macromolecular crystals is very challenging owing to the large number of mainly light atoms in the unit cell and generally low-resolution diffraction data. With low-resolution data, the atomicity of the corresponding density map is not guaranteed, and the amount of nearly zero electron density is insufficient for the use of the positivity projection alone in dual-space algorithms. Millane (2023[link]) describes the approaches used to phase macromolecular structures by dual-space algorithms in this case. If high-resolution data are available, methods for ab initio phasing of macromolecular crystals exist (Weeks & Miller, 1999[link]; Foadi et al., 2000[link]; Burla et al., 2004[link], 2006[link]; Sheldrick, 2008[link]). The CFA was shown to be applicable in these cases, too, if at least a couple of heavy atoms (calcium or heavier) are present (Dumas & van der Lee, 2008[link]; Coelho, 2021[link]).

Another common task in macromolecular crystallography is the solution of heavy-atom substructures from anomalous or isomorphous difference data. Such data can be understood as very noisy data corresponding only to the heavy-atom substructure. Dumas & van der Lee (2008[link]) applied the CFA with the standard iteration scheme to a selection of five such data sets comprising between 8 and 120 heavy atoms in the asymmetric unit, and a complete solution was found in all of them. Skubák (2018[link]) used the standard CFA and the RAAR iteration scheme on a test set of 169 experimental anomalous difference data sets. It was found that the RAAR scheme outperformed the standard scheme and allowed a successful solution of 142 of the test cases.

8. Summary

Dual-space algorithms are still a relatively young class of phasing algorithm, yet they have already established themselves in the portfolio of tools for the solution of the phase problem. Many variations of the algorithms exist and numerous applications testify to their usefulness. The main problem in the further development of phase retrieval algorithms is that no solid mathematical theory is available that would allow the determination of the perfect algorithm. A lot of insight can be gained from the analogies with the convex optimization theory, but the results are not directly applicable. Moreover, an algorithm is not just an iteration scheme, but a combination of the iteration scheme and the exact definition of the constraints and projections. A successful algorithm is a fine balance between all components, and a small, seemingly unimportant change can result in a change of efficiency by several orders of magnitude.


The author is indebted to Russel Luke (University of Göttingen) for helpful discussions and useful information about dual-space algorithms. The author would also like to express their thanks to Gabor Oszlányi (Wigner Research Centre for Physics, Hungarian Academy of Sciences) for their readiness to help and openness to share ideas in many discussions. The work was supported by Czech Science Foundation, grant No. 21-05926X.


First citationBaerlocher, C., Gramm, F., Massüger, L., McCusker, L. B., He, Z., Hovmöller, S. & Zou, X. (2007a). Science, 315, 1113–1116.Google Scholar
First citationBaerlocher, C., McCusker, L. D. & Palatinus, L. (2007b). Z. Kristalogr. 222, 47–53.Google Scholar
First citationBaerlocher, C., Xie, D., McCusker, L. B., Hwang, S.-J., Chan, I. Y., Ong, K., Burton, A. W. & Zones, S. I. (2008). Nat. Mater. 7, 631–635.Google Scholar
First citationBauschke, H. H., Combettes, P. L. & Luke, D. R. (2002). J. Opt. Soc. Am. A, 19, 1334–1345.Google Scholar
First citationBauschke, H. H., Combettes, P. L. & Luke, D. R. (2003). J. Opt. Soc. Am. A, 20, 1025–1034.Google Scholar
First citationBauschke, H. H., Combettes, P. L. & Luke, D. R. (2004). J. Approx. Theory, 127, 178–192.Google Scholar
First citationBette, S., Kremer, R. K., Eggert, G. & Dinnebier, R. E. (2018). Dalton Trans. 47, 8209–8220.Google Scholar
First citationBuerger, M. J. (1959). Vector Space and its Application in Crystal-Structure Investigation. New York: John Wiley.Google Scholar
First citationBurla, M. C., Caliandro, R., Camalli, M., Carrozzini, B., Cascarano, G. L., Giacovazzo, C., Mallamo, M., Mazzone, A., Polidori, G. & Spagna, R. (2012a). J. Appl. Cryst. 45, 357–361.Google Scholar
First citationBurla, M. C., Caliandro, R., Carrozzini, B., Cascarano, G. L., De Caro, L., Giacovazzo, C. & Polidori, G. (2004). J. Appl. Cryst. 37, 258–264.Google Scholar
First citationBurla, M. C., Caliandro, R., Carrozzini, B., Cascarano, G. L., De Caro, L., Giacovazzo, C., Polidori, G. & Siliqi, D. (2006). J. Appl. Cryst. 39, 527–535.Google Scholar
First citationBurla, M. C., Carrozzini, B., Cascarano, G. L., Giacovazzo, C. & Polidori, G. (2000). J. Appl. Cryst. 33, 307–311.Google Scholar
First citationBurla, M. C., Carrozzini, B., Cascarano, G. L., Giacovazzo, C. & Polidori, G. (2002). Z. Kristallogr. 217, 629–635.Google Scholar
First citationBurla, M. C., Carrozzini, B., Cascarano, G. L., Giacovazzo, C. & Polidori, G. (2011a). J. Appl. Cryst. 44, 1143–1151.Google Scholar
First citationBurla, M. C., Carrozzini, B., Cascarano, G. L., Giacovazzo, C. & Polidori, G. (2012b). J. Appl. Cryst. 45, 1287–1294.Google Scholar
First citationBurla, M. C., Giacovazzo, C. & Polidori, G. (2010). J. Appl. Cryst. 43, 825–836.Google Scholar
First citationBurla, M. C., Giacovazzo, C. & Polidori, G. (2011b). J. Appl. Cryst. 44, 193–199.Google Scholar
First citationCaliandro, R., Carrozzini, B., Cascarano, G. L., De Caro, L., Giacovazzo, C. & Siliqi, D. (2005a). Acta Cryst. D61, 1080–1087.Google Scholar
First citationCaliandro, R., Carrozzini, B., Cascarano, G. L., De Caro, L., Giacovazzo, C. & Siliqi, D. (2005b). Acta Cryst. D61, 556–565.Google Scholar
First citationCaliandro, R., Carrozzini, B., Cascarano, G. L., Giacovazzo, C., Mazzone, A. & Siliqi, D. (2009). J. Appl. Cryst. 42, 302–307.Google Scholar
First citationCascarano, G., Giacovazzo, C., Guagliardi, A. & Steadman, N. (1991). Acta Cryst. A47, 480–484.Google Scholar
First citationCensor, Y. & Zenios, S. A. (1997). Parallel Optimization: Theory, Algorithms and Applications. Oxford University Press.Google Scholar
First citationČerný, R. & Favre-Nicolin, V. (2007). Z. Kristallogr. 222, 105–113.Google Scholar
First citationCoelho, A. A. (2007a). Acta Cryst. A63, 400–406.Google Scholar
First citationCoelho, A. (2007b). TOPAS Academic, version 4.1. Brisbane: Coelho Software.Google Scholar
First citationCoelho, A. (2012). TOPAS Academic – technical reference. Brisbane: Coelho Software.Google Scholar
First citationCoelho, A. A. (2021). Acta Cryst. D77, 98–107.Google Scholar
First citationDavid, W. I. F. (1987). J. Appl. Cryst. 20, 316–319.Google Scholar
First citationDouglas, J. & Rachford, H. H. (1956). Trans. Amer. Math. Soc. 82, 421–439.Google Scholar
First citationDumas, C. & van der Lee, A. (2008). Acta Cryst. D64, 864–873.Google Scholar
First citationEggeman, A., White, T. & Midgley, P. (2009). Acta Cryst. A65, 120–127.Google Scholar
First citationElser, V. (2003a). Acta Cryst. A59, 201–209.Google Scholar
First citationElser, V. (2003b). J. Opt. Soc. Am. A, 20, 40–55.Google Scholar
First citationElser, V. (2003c). J. Phys. A Math. Gen. 36, 2995–3007.Google Scholar
First citationElser, V., Lan, T.-Y. & Bendory, T. (2018). SIAM J. Imaging Sci. 11, 2429–2455.Google Scholar
First citationElser, V. & Millane, R. P. (2008). Acta Cryst. A64, 273–279.Google Scholar
First citationFan, H. F., van Smaalen, S., Lam, E. J. W. & Beurskens, P. T. (1993). Acta Cryst. A49, 704–708.Google Scholar
First citationFeng, J. (2012). Acta Cryst. A68, 298–300.Google Scholar
First citationFienup, J. R. (1982). Appl. Opt. 21, 2758–2769.Google Scholar
First citationFleischer, F. & Steurer, W. (2007). Philos. Mag. 87, 2753–2758.Google Scholar
First citationFoadi, J., Woolfson, M. M., Dodson, E. J., Wilson, K. S., Jia-xing, Y. & Chao-de, Z. (2000). Acta Cryst. D56, 1137–1147.Google Scholar
First citationGándara, F., Uribe-Romo, F. J., Britt, D. K., Furukawa, H., Lei, L., Cheng, R., Duan, X., O'Keeffe, M. & Yaghi, O. M. (2012). Chem. Eur. J. 18, 10595–10601.Google Scholar
First citationGerchberg, R. W. & Saxton, W. O. (1972). Optik, 35, 247–246.Google Scholar
First citationGiacovazzo, C. (1998). Direct Phasing in Crystallography: Fundamentals and Applications. USA: Oxford University Press.Google Scholar
First citationGiacovazzo, C. & Siliqi, D. (1997). Acta Cryst. A53, 789–798.Google Scholar
First citationHao, Q., Liu, Y.-w. & Fan, H.-f. (1987). Acta Cryst. A43, 820–824.Google Scholar
First citationJanssen, T., Chapuis, G. & de Boissieu, M. (2007). Aperiodic Crystals: From Modulated Phases to Quasicrystals. IUCr Monographs on Crystallography. Oxford: IUCr/Oxford University Press.Google Scholar
First citationKarle, J. & Hauptman, H. (1964). Acta Cryst. 17, 392–396.Google Scholar
First citationKatrych, S., Weber, T., Kobas, A., Massüger, L., Palatinus, L., Chapuis, G. & Steurer, W. (2007). J. Alloys Compd. 428, 164–172.Google Scholar
First citationKoyama, Y., Ikeda, T., Tatsumi, T. & Kubota, Y. (2008). Angew. Chem. Int. Ed. 47, 1042–1046.Google Scholar
First citationLangs, D. A. (1998). Acta Cryst. A54, 44–48.Google Scholar
First citationLee, A. van der (2013). J. Appl. Cryst. 46, 1306–1315.Google Scholar
First citationLei, N. (2007). Acta Cryst. A63, 66–76.Google Scholar
First citationLions, P.-L. & Mercier, B. (1979). SIAM J. Numer. Anal. 16, 964–979.Google Scholar
First citationLiu, L., Li, J., Dong, J., Šišak, D., Baerlocher, C. & McCusker, L. B. (2009). Inorg. Chem. 48, 8947–8954.Google Scholar
First citationLuke, D. R. (2005). Inverse Probl. 21, 37–50.Google Scholar
First citationMarchesini, S. (2007). Rev. Sci. Instrum. 78, 011301.Google Scholar
First citationMassüger, L., Baerlocher, C., McCusker, L. B. & Zwijnenburg, M. A. (2007). Microporous Mesoporous Mater. 105, 75–81.Google Scholar
First citationMatsugaki, N. & Shiono, M. (2001). Acta Cryst. D57, 95–100.Google Scholar
First citationMcCusker, L. B., Baerlocher, C., Wilson, S. T. & Broach, R. W. (2009). J. Phys. Chem. C, 113, 9838–9844.Google Scholar
First citationMeffre, A., Barboiu, M. & van der Lee, A. (2007). Acta Cryst. E63, m255–m257.Google Scholar
First citationMillane, R. P. (1990). J. Opt. Soc. Am. A, 7, 394–411. Google Scholar
First citationMillane, R. P. (2023). Int. Tables Crystallogr. C. In the press.Google Scholar
First citationMillane, R. P. & Arnal, R. D. (2015). Acta Cryst. A71, 592–598.Google Scholar
First citationMillane, R. P. & Lo, V. L. (2013). Acta Cryst. A69, 517–527.Google Scholar
First citationNakazawa, N., Ikeda, T., Hiyoshi, N., Yoshida, Y., Han, Q., Inagaki, S. & Kubota, Y. (2017). J. Am. Chem. Soc. 139, 7989–7997.Google Scholar
First citationOszlányi, G. & Sütő, A. (2004). Acta Cryst. A60, 134–141.Google Scholar
First citationOszlányi, G. & Sütő, A. (2005). Acta Cryst. A61, 147–152.Google Scholar
First citationOszlányi, G. & Sütő, A. (2007). Acta Cryst. A63, 156–163.Google Scholar
First citationOszlányi, G. & Sütő, A. (2008). Acta Cryst. A64, 123–134.Google Scholar
First citationOszlányi, G. & Sütő, A. (2011). Acta Cryst. A67, 284–291.Google Scholar
First citationOszlányi, G. & Sütő, A. (2016). Acta Cryst. A72, 480–488.Google Scholar
First citationOszlányi, G., Sütő, A., Czugler, M. & Párkányi, L. (2006). J. Am. Chem. Soc. 128, 8392–8393.Google Scholar
First citationPalatinus, L. (2004). Acta Cryst. A60, 604–610.Google Scholar
First citationPalatinus, L. (2013). Acta Cryst. B69, 1–16.Google Scholar
First citationPalatinus, L. & Chapuis, G. (2007). J. Appl. Cryst. 40, 786–790.Google Scholar
First citationPalatinus, L., Dušek, M., Glaum, R. & El Bali, B. (2006). Acta Cryst. B62, 556–566.Google Scholar
First citationPalatinus, L., Fleischer, F., Pattison, P., Weber, T. & Steurer, W. (2011). Acta Cryst. A67, 9–20.Google Scholar
First citationPalatinus, L., Steurer, W. & Chapuis, G. (2007). J. Appl. Cryst. 40, 456–462.Google Scholar
First citationPalatinus, L. & van der Lee, A. (2008). J. Appl. Cryst. 41, 975–984.Google Scholar
First citationPark, M. B., Cho, S. J. & Hong, S. B. (2011). J. Am. Chem. Soc. 133, 1917–1934.Google Scholar
First citationRius, J. (1993). Acta Cryst. A49, 406–409.Google Scholar
First citationRius, J. (2012). Acta Cryst. A68, 77–81.Google Scholar
First citationRius, J., Crespi, A. & Torrelles, X. (2007). Acta Cryst. A63, 131–134.Google Scholar
First citationRius, J. & Frontera, C. (2008). Acta Cryst. A64, 670–674.Google Scholar
First citationSheldrick, G. M. (2008). Acta Cryst. A64, 112–122.Google Scholar
First citationSheldrick, G. M. (2015). Acta Cryst. A71, 3–8.Google Scholar
First citationSheldrick, G. M. & Gould, R. O. (1995). Acta Cryst. B51, 423–431.Google Scholar
First citationShiono, M. & Woolfson, M. M. (1992). Acta Cryst. A48, 451–456.Google Scholar
First citationŠišak Jung, D., Baerlocher, C., McCusker, L. B., Yoshinari, T. & Seebach, D. (2014). J. Appl. Cryst. 47, 1569–1576.Google Scholar
First citationSkubák, P. (2018). Acta Cryst. D74, 117–124.Google Scholar
First citationSmaalen, S. van (2007). Incommensurate Crystallography. New York: Oxford University Press.Google Scholar
First citationSmaalen, S. van, Palatinus, L. & Schneider, M. (2003). Acta Cryst. A59, 459–469.Google Scholar
First citationSpek, A. L. (2003). J. Appl. Cryst. 36, 7–13.Google Scholar
First citationStrutz, A. & Steurer, W. (2007). Philos. Mag. 87, 2747–2752.Google Scholar
First citationSun, J., Bonneau, C., Cantín, A., Corma, A., Díaz-Cabañas, M. J., Moliner, M., Zhang, D., Li, M. & Zou, X. (2009). Nature, 458, 1154–1157.Google Scholar
First citationTakakura, H., Shiono, M., Sato, T. J., Yamamoto, A. & Tsai, A. P. (2001). Phys. Rev. Lett. 86, 236–239.Google Scholar
First citationWang, B. C. (1985). Methods Enzymol. 115, 90–112.Google Scholar
First citationWeeks, C. M., DeTitta, G. T., Miller, R. & Hauptman, H. A. (1993). Acta Cryst. D49, 179–181.Google Scholar
First citationWeeks, C. M. & Miller, R. (1999). Acta Cryst. D55, 492–500.Google Scholar
First citationWhitfield, P. S. & Coelho, A. A. (2016). J. Appl. Cryst. 49, 1806–1809.Google Scholar
First citationWu, J., Leinenweber, K., Spence, J. C. H. & O'Keeffe, M. (2006). Nat. Mater. 5, 647–652.Google Scholar
First citationWu, J. S., Spence, J. C. H., O'Keeffe, M. & Groy, T. L. (2004a). Acta Cryst. A60, 326–330.Google Scholar
First citationWu, J. S., Weierstall, U., Spence, J. C. H. & Koch, C. T. (2004b). Opt. Lett. 29, 2737–2739.Google Scholar
First citationXiang, S.-B., Fan, H.-F., Wu, X.-J., Li, F.-H. & Pan, Q. (1990). Acta Cryst. A46, 929–934.Google Scholar
First citationXie, D., McCusker, L. B., Baerlocher, C., Gibson, L., Burton, A. W. & Hwang, S.-J. (2009). J. Phys. Chem. C, 113, 9845–9850.Google Scholar
First citationXu, H. & Hauptman, H. A. (2000). Acta Cryst. A56, 284–287.Google Scholar
First citationZhang, K. Y. J. & Main, P. (1990). Acta Cryst. A46, 41–46.Google Scholar
First citationZhou, Z. & Harris, K. D. M. (2008). J. Phys. Chem. A, 112, 4863–4868.Google Scholar
First citationZúñiga, F. J., Palatinus, L., Cabildo, P., Claramunt, R. M. & Elguero, J. (2006). Z. Kristallogr. 221, 281–287.Google Scholar

to end of page
to top of page