Gavarri
email: =gavarri.jr@univ-tln.fr

The variable properties of solid solutions A1-xBxXO4: Tunable photoluminescence in the case of Sr1-xPbxWO4 series

Keywords: solid solutions, disordered scheelite, lead strontium tungstate, structural distortions, Raman shifts, photoluminescence, simulations

Over the ten past years, various experimental studies of solid solutions A1-xBxXO4 (e.g. A = Sr, B = Pb, X = W) with scheelite structures have evidenced correlations between structural, vibrational modifications due to chemical substitution, and increasing photoluminescence intensities under UV or X-ray excitation. We propose a simple semi-empirical approach based on local zones with different compositions, allowing simulating the variations of structural, vibrational and photoluminescence characteristics, in the full composition range 0≤x≤1. The structural characteristics are cell parameters, cell distortions or crystallite size effect, Debye-Waller factors, Raman shifts characterizing vibrations and photoluminescence signals under UV or X-ray excitations. Each property is assumed to be represented by a non-linear function Y(x) depending on composition x and on local microstructural disorder. To illustrate this approach based on the coexistence of local zones with different compositions, we have fitted the Y(x) function to experimental data, which allowed us determining the significant parameters characteristic of the series with A=Sr, B=Pb and X = W. These parameters deliver a new microstructural interpretation of the increasing photoluminescence intensities observed for intermediate composition x in solid solutions. A generalization of this approach to other series of solid solutions is quite possible.

Introduction.

General objectives. In the general framework of materials studies that can be used in technologies for radiation detection (sensors) or low-cost lighting (LED's), diversified types of photoluminescent materials susceptible to be used in radiation sensors or low-cost lighting (LED's) were systematically studied by the past: classically, in the literature many studies focused on pure compounds (pure tungstate, molybdates …) and doped compounds (rare earth doped materials). More recently, solid solution studies have been of great interest to the scientific community concerned with luminescence for industrial purposes. Scheelite structures. The tungstates and molybdates AXO4 with A = Ca, Sr, Ba, Pb, Cd… are well known for their potential applications: luminescence for detection, low cost lighting, photocatalysis [START_REF] Blasse | Low temperature photoluminescence of strontium and barium tungstate[END_REF][START_REF] Groenink | Some new observations on the luminescence of PbMoO4 and PbWO4[END_REF][START_REF] Zhang | Electronic band structure and spectroscopy of PbWO4[END_REF][START_REF] Zhang | Morphology and Photoluminescence of Ba0.5Sr0.5MoO4 Powders by a Molten Salt Method[END_REF][START_REF] Itoh | Time-resolved luminescence from Jahn-Teller split states of selftrapped excitons in PbWO4[END_REF][START_REF] Pôrto | Photoluminescence in the CaxSr1-xWO4 system at room temperature[END_REF][START_REF] Sczancoski | SrMoO4 powders processed in microwave-hydrothermal: Synthesis, characterization and optical properties[END_REF][START_REF] Sczancoski | Morphology and Blue Photoluminescence Emission of PbMoO4 Processed in Conventional Hydrothermal[END_REF][START_REF] Marques | The role of the Eu3+ concentration on the SrMoO4:Eu Phosphor Properties: Synthesis, Characterization and Photophysical Studies[END_REF][START_REF] Pereira | Study of the annealing temperature effect on the structural and luminescent properties of SrWO4: Eu phosphors prepared by a non-hydrolytic sol-gel process[END_REF][START_REF] Nogueira | Rietveld refinement, morphology and optical properties of (Ba1-xSrx)MoO4 crystals[END_REF][START_REF] Pereira | Rietveld refinement and optical properties of SrWO4: Eu3+ powders prepared by the nonhydrolytic sol-gel method[END_REF]. The synthesis conditions or thermal treatments played a prominent role in the observed final properties. Recently, various series of solid solutions of photoluminescent materials were synthesized and studied in our laboratories: Ca(1-x)CdxWO4 [START_REF] Taoufyq | Role of The Chemical Substitution on The Luminescence Properties of Solid Solutions Ca(1-x)Cd(x)WO4 (0<X<1)[END_REF], Sr(1-x)PbxWO4 [START_REF] Hallaoui | Influence of chemical substitution on the photoluminescence of Sr(1-x)PbxWO4 solid solution[END_REF], Sr(1-x)PbxMoO4 [START_REF] Hallaoui | Structural, vibrational and photoluminescence properties of Sr(1-x)PbxMoO4 solid solution synthesized by solid state reaction[END_REF], Ba(1-x)PbxWO4 [START_REF] Bakiz | Luminescent properties under X-ray excitation of Ba(1-x)PbxWO4 disordered solid solution[END_REF]. In each of these series of solid solutions, the structural, electrical, vibrational and photoluminescence properties were studied as a function of composition x. The effect of disorder was observed through perturbations of these properties. A systematic increase in photoluminescent emissions has been observed for certain composition x. Abnormal photoluminescence. Figure 1 reports the variations of these PL emissions in two examples previously published [START_REF] Hallaoui | Influence of chemical substitution on the photoluminescence of Sr(1-x)PbxWO4 solid solution[END_REF][START_REF] Hallaoui | Structural, vibrational and photoluminescence properties of Sr(1-x)PbxMoO4 solid solution synthesized by solid state reaction[END_REF][START_REF] Hallaoui | Evolution of luminescent properties of solid solutions based on tungstates and molybdates[END_REF]. In the case of Sr(1-x)PbxWO4, Sr(1-x)PbxMoO4 solid solutions, maxima of intensities were observed for x values close to xmax =0.3 under X-Ray excitation, and close to xmax = 0.7 under UV excitation. For these two tungstates and molybdates series, the PL emissions under UV excitation were analyzed in Hallaoui's thesis [START_REF] Hallaoui | Evolution of luminescent properties of solid solutions based on tungstates and molybdates[END_REF], and their characteristics are shortly reported here. Under UV excitation, the maximum of intensity occurred close to xmax = 0.7 for Ca(1-x)CdxWO4 (see [START_REF] Taoufyq | Role of The Chemical Substitution on The Luminescence Properties of Solid Solutions Ca(1-x)Cd(x)WO4 (0<X<1)[END_REF]). In the case of barium lead tungstate [START_REF] Bakiz | Luminescent properties under X-ray excitation of Ba(1-x)PbxWO4 disordered solid solution[END_REF], the maximum of PL intensity was located close to xmax = 0.5. All these materials present scheelite structures with WO4 tetrahedral groups, except the Ca(1-x)CdxWO4 series that crystallizes in scheelite structure for x < 0.6, and in wolframite structure (with WO6 octahedral groups) for x> 0.7. However, up to date, the correlations between the modified properties of solid solutions and the substitution were never clearly established: the departure from ideal linear behaviors was never described as a function of composition, and/or of synthesis conditions. In this study, we present and test a semi-empirical model allowing simulating the variations of structural, vibrational, photoluminescence properties of substituted materials expressed in the form A1-xBxXO4. The general objective could be to propose specific parameters describing the observed evolutions of physical properties in the case of disordered solid solutions.

2. Methodology: disorder in solid solutions.

Disorder and local structures.

The solid solutions are assumed to be constituted of disordered distributions of bivalent cations A 2+ and B 2+ immersed in a distribution of XO4 "molecular" groups. In solid solutions, two categories of defects can be juxtaposed:

(i) bivalent cations statistically distributed in the lattice, inducing local distortions due to different chemical bonds A-O and B-O and different interactions A-O-X-O-B: the substitution induces also modifications in energy levels and in band gaps; (ii) intrinsic defects (e.g., cation and anion vacancies) inducing variable distortions in the lattice, resulting from the synthesis conditions and thermal treatments. These different natures of disorder can play a drastic role in modifications of physical and chemical properties. It should also be noted a change in the morphologies and sizes of crystallites as the composition x varies, resulting from the different chemical bonds A-O and B-O. These changes may also affect the macroscopic properties of the material.

We propose to describe the composition dependence of structural or physical characteristics, by assuming that the properties of disordered solid solutions A1-xBxXO4 can be conditioned not only by the distribution of A-O and B-O chemical bonds in the lattice, but also by the local distortions of AO8 and BO8 polyhedra associated with the formation of vacancies. These "perturbations" would involve distortions of XO4 tetrahedra and formation of specific defects [XO3VO], VO being an oxygen vacancy. Our central hypothesis would be that the crystal lattice could be constituted of juxtaposition of "AA=AXO4", "BB=BXO4" zones with intermediate mix zones "AB= A1-yByXO4"where the composition y differs from x, in which the XO4 groups should be linked to A and B cations, giving rise to A-O-X-O-B interactions.

Simulation functions YABXO4(x).

The main objective of the semi-empirical approach resides in fitting a simulation function noted YABXO4(x) to experimental values of a property noted PABXO4(x) resulting from a given synthesis process including thermal treatments. This property depends on both defects and substitution. Microstructural hypotheses. To represent such a macroscopic property of a material, we can assume that an individual crystallite is necessarily constituted of a juxtaposition of small-sized local zones, comparable to "local" nanophases AXO4 (AA), BXO4 (BB) and A1-yByXO4 (AB). Each crystallite would be represented by the formula A1-xBxXO4, while the local zones AB would be characterized by a local composition y<x. More precisely, the distribution of local zones (AA=AXO4, BB=BXO4, AB= A1-yBy XO4) can be conditioned by the basic relationship relative to the nominal composition:

[A1-xBxXO4] = . [AXO4] + . [BXO4] +  A1-yBy XO4] (1) with  +  +  = and y = (x -) 
The  and  coefficients (or  and ) can characterize the effective state of disorder of the material: they depend on composition and synthesis conditions (thermal treatments). In the following we try to express these coefficients as functions of composition x.

How to define order or disorder in a simple way? Let us recall that a total disorder of AXO4 and BXO4 units would require disordered sequences (in 3 space directions): (AXO4//BXO4BXO4// AXO4AXO4AXO4// BXO4BXO4 // AXO4AXO4…..) e.g. in materials with composition x= ½ (A½B½XO4)., If the local zones diffract coherently, the typical cell parameter would be : <d(Disorder)> = ½ [dAXO4 + dBXO4]. In other terms, this should correspond to the virtual existence of an average atom M = A1-xBx. Conversely, a total long-range order would be associated with a periodic repetition of structural units (in 3 space directions) of the type (e.g. in the case of a typical solid solution A 1-x B x XO 4 with x = ½):

(AXO4//BXO4//AXO4//BXO4/AXO4//BXO4// ……) with a unique repetition distance d(Order) = 2<d(Disorder)> (giving rise to a superstructure cell parameter). In other terms, only the AB local zones would occupy the totality of lattice.

In the case of total disorder, these local zones are necessarily limited in extension to allow diffraction from a unique average lattice. Each individual crystallite would be characterized by different A, B atoms occupying the same crystallographic average position, but being displaced from their average position. Due to their different sizes, these atoms would induce different bond lengths A-O, B-O and would provoke small displacements of X and O atoms from their average positions.

In addition, it should be recalled that, in certain systems, depending on synthesis and thermal treatments, a partial order can be defined with an order parameter characterizing the statistical occupation factors of A and B on their official sites. This concept could be associated with a superposition of the AA, BB and AB zones defined just above. Depending on thermal treatments, for a given composition x, these zones could vary in extension.

For The k(AA,BB,AB) parameters characterize the forms of the three G functions: in other terms, if we use the expressions k (AA,BB,AB) = 1/(x (AA, BB, AB) ) 2 , the x's characterize the widths of the gaussian. These functions can be justified by the existence of defects and distortions resulting from the synthesis process and including morphological modifications, vacancies …. and so on. During the formation of these zones with increasing x values, we can consider that the number of defects depends on the mutual interactions of AA, BB and AB zones. For small x values (e.g. x<0.2, AA zones being the more extended ones), the AB and BB zones could be strongly perturbed but in small number. However, the AA zones occupying the major part of lattice could be weakly perturbed. For high x values (e.g. x>0.8) the AA and AB zones become the minority with many defects, while the BB zones become the majority and could be weakly perturbed. For intermediate x values (e.g. 0.4<x<0.6), the AB zones are the majority and the defects are mainly due to disorder and distortions induced by substitution.

The final choice of functions used in our simulations will be with xAA=0, xBB=1 and xAB a parameter to be adapted:

GAA = exp (-kAA(x) 2 ) (3a) ; GBB = exp (-kBB.(1-x) 2 ) (3b) ; G AB = exp (-kAB(x-xAB) 2 ) (3c)
The effective seven parameters {Y(AA,BB,AB), x(AB) and k(AA,BB,AB)} will have to be determined to fit calculated functions Y(calculated) to experimental data P(observed). At this step, we must be careful in interpreting the values of these adaptation parameters: given the limited precision of certain P(observed) data, they only give qualitative indications on the defects in each zone AA, BB and AB. In addition, these parameters may vary from one property to another, for the same set of materials.

The modifications of certain properties (cell parameters, lattice distortions, B factors, wavelengths of Raman bands, PL emission intensities …) will depend on these distributions of defects and distortions characterized by gaussian functions G (see above). In other terms, each contribution could be roughly proportional to the associated fraction (1-x) for AA zones, x for BB zones and x(1-x) for AB zones.

The resulting general formula characteristic of functions YP(x) used to fit experimental data PABXO4(x) should be:

YP(x) = YAA. (1-x).GAA (x) + YBB. x. GBB (x) + YAB x.(1-x). GAB(x) (4)
This expression (3) can be applied to various properties but under specific conditions.

Structural data acquisition.

In the case of polycrystalline solid solutions (e.g. A 1-x B x XO4), the acquisition of structural data requires the use of Rietveld procedure, applied to a series of compounds having the same space group and cell parameters slowly varying with composition x. To characterize a continuous variation in structural parameters, the extreme phases (AXO4 and BXO4) of a solid solution must be considered as pure "standard" phases used to determine the continuous variations of parameters. This requires a perfect structural knowledge of these standards. The diffraction profile analyses (from FWHM's determinations) can give additional data on coherence lengths (L(x) and/or distortions effects (x)). The intensities of Bragg peaks can also deliver data on atom coordinates, vibration amplitudes, static displacements and occupation factors, despite the high difficulty to obtain accurate data on these last characteristics.

In the case of Raman spectroscopy, the vibration bands also give informations on average vibration modes, perturbation of profiles due to sizes or distortions effects.

In the case of photoluminescence intensities IPL(x) under X-ray or UV excitations, each zone AA, BB and AB is susceptible to have different populations of emitting centers, depending on both composition x and synthesis conditions (more precisely thermal treatments).

Results of simulation: application to the Sr1-xPbxWO4 series.

The semi-empirical model has been applied to the solid solution Sr1-xPbxWO4[14] synthesized under polycrystalline form by solid-state reaction, in the composition range 0≤x≤1. Eleven samples were prepared using polycrystalline precursors WO3, SrCO3 and PbO. The optimized elaboration conditions were as follows (Figure 2): the reagents in stoichiometric proportions were thoroughly mixed and ground in an agate mortar for 15 min, then thermally treated at 600°C for 3 hours, in pure alumina crucible under air. Each sample was ground again thoroughly for 2 hours and then retreated at 1100°C for 4 hours, under air. The choice of elaboration conditions is crucial to allow comparative study of properties. Using Rietveld method, the structural data of all polycrystalline samples were refined [START_REF] Hallaoui | Influence of chemical substitution on the photoluminescence of Sr(1-x)PbxWO4 solid solution[END_REF] and crystal cell parameters exhibited a linear behavior as a function of x.

Correlations between cell parameters and Raman wavenumber shifts have clearly shown that substitution of Sr atoms by Pb atoms could modify W-O chemical bonds, through interactions Sr-O-W-O-Pb involving modifications in WO4 groups due to covalence of Pb-O bonds. The structural modifications induced by the substitution are at the origin of the observed changes in the components of the photoluminescence (PL) emission spectra under X-ray or UV excitation. In the case of luminescence experiments under X-ray excitation, using the copper X-ray source of a standard diffractometer, four PL components were observed. They were typical characteristics of the whole solid solution: only two of them were sensitive to substitution rate, the other two seemed to be invariant in energy and characteristic of intrinsic defects in scheelite structure. The intensities of these bands exhibited a maximum for compositions close to x = 0.3 in the case of X-ray excitation or x=0.7 in the case of UV excitation. These two different compositions should result from various hypothetical physical factors:

• Emission centers increasing in numbers with the observed increasing number of defects due to substitution, • As x increases, increasing Pb6s contributions in the [Pb6s -O2p*] hybrid orbitals located at the top of the valence band constituted of the O2p-W5d and O2p orbitals [START_REF] Zhang | Electronic band structure and spectroscopy of PbWO4[END_REF],

• Large or weak penetrations of X-ray or UV radiations, respectively, in the materials, with an increasing absorption of radiations due to increasing Pb content, involving two different emissions from bulk or surface of materials, • Morphology modifications observed in the Sr1-xPbxWO4 series playing an additional role in the emissions under X-ray or UV excitations. These evolutions in luminescence signals show that chemical substitution could play an interesting role to master and optimize the photoluminescence under X-ray or UV excitation, at least in polycrystalline materials.

In the following of the text, we note PABXO4(x) a given property for a given composition x. This property is assumed to result from the coupling of substitution and synthesis conditions: it will not be strictly linearly correlated to each individual property of AXO4 and BXO4 phases. The simulated properties will be noted YABXO4(x).

Structural perturbations.

Figure 3 reports a zoom of the X-ray diffraction patterns relative to polycrystalline samples of Sr1-xPbxWO4 with x ranging between 0 and 1. All diffraction patterns were exploited using Rietveld method (Fullprof software): see [START_REF] Hallaoui | Influence of chemical substitution on the photoluminescence of Sr(1-x)PbxWO4 solid solution[END_REF]. Fig. 3a shows weak broadenings of Bragg peak profiles for intermediate compositions x. A detailed analysis of Bragg peak profiles shows that a progressive broadening of Bragg peaks is observed in the composition range 0.1<x<0.6, with a maximum of deformation for the composition x=0.35. This perturbation of FWHM's is generally induced by size and distortion effects. However, the scanning electron microscopy analyses [START_REF] Hallaoui | Influence of chemical substitution on the photoluminescence of Sr(1-x)PbxWO4 solid solution[END_REF] showed that large crystallites, variable in sizes as composition x varied,were formed. This could suggest that a maximum of structural defects occurred close to the composition x=0.35.

Cell parameters.

In Fig. 3b, we observe a linear increase of cell parameters a and c (noted as (a,c)) as a function of x. This is a clear indication that the solid solution is quasi ideal. The application of the model is thus trivial. We can consider that the Y(x) function for the cell parameters (a,c) can be expressed as follows:

Y

Lattice distortions or size effects.

In the above Figure 3a, we can observe systematic broadening of each Bragg peak, with maximum values of FWHM's for xmax = 0.35 ± 0.05. Considering the FWHM's representing the non-perturbed Bragg peaks of a well-crystallized standard sample, it is possible to determine the contribution (FWHM) to the total FWHM of perturbed sample, susceptible to be interpreted in terms of lattice distortions: ((x) = <a/a, (c/c)> = /tan() or size effects: L(x) = 0.9  / ( cos).

These lattice distortions and local size effects might be separated using Williamson-Hall approach [START_REF] Williamson | X-ray line broadening from filed aluminum and wolfram[END_REF]: this separation between L and  requires sufficiently large broadening of Bragg peaks, which is not the case for our materials. In fact, the SEM images of each sample (see ref. [START_REF] Hallaoui | Influence of chemical substitution on the photoluminescence of Sr(1-x)PbxWO4 solid solution[END_REF]) clearly showed that only large grains with crystallite sizes larger than 1 micron were present: this allowed us to exclude the formation of nanosized crystallites. For this reason, we have considered that these (FWHM) variations could be described as pure distortions (x) with a good approximation. The lattice distortion function (x) reflect the presence of local zones with different cell parameters. As a first approach, we have considered that the extreme phases have no distortion (or no size effect), and that the observed additional distortions (x) are mainly due to substitution and synthesis conditions. Having regard to the very small broadenings of Bragg peaks as x varies, it was not possible to clearly evidence any size effects in our experiments. The function Y(x) to be fitted to the experimental data  (x) associated to each composition x takes the general form (5): Y (x) = AA.(1-x).GAA (x) + BB.x.GBB (x) + AB .x.(1-x).GAB(x) (6) Figure 4 reports the observed and calculated distortions resulting from the analysis of FWHM's of Bragg peaks with the fitting parameters  AA =  BB = 0,  AB = 0.005, x(AB) = 0.35, k (AB) = 20. These values could mean that distortions induced by substitution would be distributed with a typical characteristic x(AB) of the gaussian function: k(AB) = (1/x(AB)) 2 with x(AB)= 0.22. The experimental value x=0.35 for which maximum of distortions effects occurs, coupled with this x(AB) = 0.22 value, would mean that the observed distortions should be mainly due to prominent contributions of AB mix zones.

3. Debye-Waller factors (BDW).

In the case of B DW factors, the X-ray diffraction analysis can deliver a determination of average displacements due to static disorder and thermal amplitudes of vibration: each AA, BB, AB zone can be perturbed with distribution of distortions. However, the determination of the static contribution BDW(st) of these BDW factors is not easy and can be obtained with high uncertainties. We have simulated a specific variation of this BDW(st) factor (ref. [START_REF] Hallaoui | Influence of chemical substitution on the photoluminescence of Sr(1-x)PbxWO4 solid solution[END_REF]) in clear correspondence with the experimental data shown in Fig. 5

The simulation was obtained with the following fitting parameters: BDW(AA, BB, AB) = 0.37/0.38/1.7; x(A,B,AB) = 0/1/0.5 ; k(A,B,AB) = 0/0/50. Despite the uncertainties on the experimental values of BDW factors, a reasonable fit of calculated function to the observed data was obtained with a maximum perturbation YDW(x) for x=0.5. These fitting parameters could express a maximum disorder in AB zones, induced by disordered distributions of Sr 2+ and Pb 2+ cations with different sizes. A simulation was carried out with the following parameters: (AA,BB,AB) = 0/0/120 (in cm -1 ) ;

x(AA,BB,AB) = 0/1/0.5 ; k(AA,BB,AB) = 0/0/5. The maximum of separation is observed for a composition of about xAB=0.5, close to the xAB value calculated for the function YDW(x), but slightly shifted from the maximum position observed for Y(x) at x = 0.35. It should be remarked that the agreement between calculated values and experimental data cannot be optimal because of the uncertainties of wavenumber determinations.

Modifications of Photoluminescence (PL) emissions.

The photoluminescence properties of each compound Sr1-xPbxWO4 depend on energy gaps of the extreme phases SrWO4 (Eg close to 5 eV) and PbWO4 (Eg close to 4 eV). The PL properties of these Sr and Pb tungstates were extensively studied by the past. Their electronic band structures were determined [START_REF] Zhang | Electronic band structure and spectroscopy of PbWO4[END_REF]. In the specific case of PbWO4, it was shown that the Pb6s orbitals played an important role in the valence band corresponding to the O2p orbitals. The calculations by authors [START_REF] Zhang | Electronic band structure and spectroscopy of PbWO4[END_REF] showed that the Pb6s-O2p* molecular orbitals would contribute to state densities at the top of the valence band (see Figure 9 below), which is essentially based on hybrid O2p orbitals. Consequently, a significant modification of the emissive properties, but also of absorption under photonic excitation, can be expected when the composition in lead increases. In the case of the Sr1-xPbxWO4 and Sr1-xPbxMoO4 series, experimental PL spectra were obtained in two types of experiments: (i) under X-Ray excitation using the global emission from copper source (E<45 keV) [START_REF] Hallaoui | Influence of chemical substitution on the photoluminescence of Sr(1-x)PbxWO4 solid solution[END_REF][START_REF] Hallaoui | Structural, vibrational and photoluminescence properties of Sr(1-x)PbxMoO4 solid solution synthesized by solid state reaction[END_REF]; (ii) under UV laser excitation (E = 3.4 eV or 364.5 nm wavelength) Figures 10a and 10b report the various spectra for x ranging between 0 and 1 under X-rau excitation (10a) and under UV excitation (10b). Figure 10c reports three typical spectra obtained under X-ray excitation for compositions x=0, 0.3 and 1. Figure 10d reports typical spectra obtained under UV excitation for compositions x= 0, 0.7 and 1. Figures 10e and10f give the variations of spectral intensities as a function of composition x under X-Ray and UV excitations respectively. Under high energy polychromatic X-ray excitation, the maximum intensity was observed close to xmax = 0.3 ± 0.1 in both series. All spectra were decomposed into four emissive components. Two components were strongly correlated with the substitution rate x. Under monochromatic UV excitation (with wavelength of 364.5 nm), for both series of materials, the emitted spectra were characterized by a significant increase of the emitted intensity for a composition close to xmax = 0.7 ± 0.1. To date, the exact origin of these intensity maximum, under X-ray or UV excitation, has remained without complete explanation. In Figures 10e and10f, the variations of PL intensities as a function of composition x are reported showing the different maxima observed under X-ray and UV excitations. In the case of X-ray excitation, a simulation of the variation with composition x of intensities YPL(x) was carried out using the following form: These obtained values of parameters can be justified by the existence of:

• small number of active centers in AA and BB zones,

• significant number of centers in AB zones directly due to substitution. In addition, the values of the k parameters for AA and BB zones could mean that centers would be regularly distributed in the full composition range, while the k value for AB zones would mean that the distribution of centers would be narrower with x= 0.32, with a maximum at x=0.30. Similar simulations of these characteristics were performed for this series using the IPL intensities obtained under UV excitation: in this case of low energy excitation, the maximum of PL intensity has been moved to a value x=0.7, fully different from the one obtained under X-ray excitation. Figure 12 compares the IPL(x) to YPL(x) values for UV excitations. These two different compositions x=0.3 (XR excitation, high energy) and x=0.7 (UV excitation, low energy) were ascribed to complex effects. The high-energy polychromatic X-ray irradiation can penetrate deeply the polycrystalline material and excite the bonding and antibonding "Pb6s" levels located at the top and just below the valence band constituted by oxygen O2p orbitals. The low energy UV laser irradiation can interact only with the surface of material and could excite only the top of the valence band. This could be at the origin of the two different intensity maxima observed for the compositions x= 0.3 for XR excitation, and x= 0.7 for UV excitation.

Discussion.

In the Maximum of Photoluminescence under X-ray excitation. In the case of X-ray excitation, the PL emissions would result from a complex distribution of defects and PL active centers. The maximum of YPL(x) observed under X-ray excitation at x = 0.30 corresponds to the observed maximum of lattice distortions (x) or minimum sizes (L(x) of local zones AB, AA and BB). The calculated xAB = 0.20 value allows a better fit of the YPL(x) function and is strongly correlated to the contributions YBB and YAB (see Table ) stronger than the contribution YAA. In other words, the increasing fraction of Pb should be associated with increasing population of PL centers in the solid solution and would be at the origin of the maximum of PL emission. The k values suggest that small perturbations of intrinsic emission centers occur in the AA and BB zones, while the distribution of emission centers should be centered around x= 0.3 and narrower.

Maximum of Photoluminescence under UV excitation. In the case of UV excitation, the PL emissions present a maximum shifted to xmax = 0.7 (±0.1). The high kAB value means that the distribution of emission centers due to the formation of links Sr-W-O-Pb is narrower than in the case of X-ray excitation. This can be related to the weaker penetration of UV beam in the bulk and to emissions from perturbed (distorted) WO4 tetrahedra located in the grain surfaces: these surfaces should present emission centers differing from the emission centers in the bulk.

Conclusions.

The as-proposed semi-empirical model was applied to different properties of Sr1-xPbxWO4 solid solution: it delivered a series of parameters characteristic of the perturbations of properties resulting from substitution and synthesis conditions. These seven fitting parameters must be considered as only indicative of the state of disorder and deviations from ideal material A(1-x)B(x)XO4, with specific properties, more or less closely related to linear combinations of properties of the extreme phases AXO4 and BXO4. Each parameter is characteristic of the history of the sample and of substitution. This approach applied to the strontium lead molybdate series gave similar results. Now, this approach is going to be applied to various series of solid solutions.

d'Azur (no. 2012-16322), of the General Council of Var, of Toulon Provence Mediterranean, and from part of the CNRS-CNRST project (Chimie 02/14).

Fig. 1a :

 1a Fig. 1a: Variations of PL emission intensities under X-ray or UV excitations, in the cases of A1-xBxXO4 solid solutions with (A, B, X) = (Sr, Pb, W). Results from ref. [14, 15, 17].

Fig. 1b :

 1b Fig. 1b: Variations of PL emission intensities under X-ray or UV excitations, in the cases of A1-xBxXO4 solid solutions with (A, B, X) = (Sr, Pb, Mo). Results from ref. [14, 15, 17].

Fig. 2 :

 2 Fig. 2: Synthesis conditions of polycrystalline samples in the case of Sr1-xPbxWO4 solid solution: unique process, same thermal treatment.

  with ()AB=0. The couple of values (a,c)AA and (a,c)BB are in 10 -10 m: (5.414/11.93) and (5.461/12.055) respectively.

Fig. 3a :Fig. 3b :

 3a3b Fig. 3a: Visualization of a limited part of X-ray diffraction patterns for the series Sr 1-x Pb x WO4[14] with x ranging between 0 and 1 with increments x = 0.1.

Fig. 4 :

 4 Fig. 4: Observed (square) and calculated (round) distortion functions obs(x) and Y  (x) = calc(x). Parameters:  AA =  BB = 0 ;  AB = 0.005 ; xAA = 0; xBB = 1 ; xAB = 0.35 ; kAB = 20.

Fig. 5 : 2 .

 52 Fig. 5: Experimental (square) BDW and calculated (round) YDW Debye-Waller factors, as a function of composition x. Parameters: BDW(AA,BB,AB) = 0.37/0.38/1.7; x(A,B,AB) = 0/1/0.5 ; k(A,B,AB) = 0/0/50 .

Fig. 6 :

 6 Fig. 6: Raman spectra of SrPbWO series. Modification of the Eg and Bg modes as x varies.

Figure 7

 7 Figure 7 shows the variations with composition x of the Ag, Bg and Eg modes. In Figure 8, we have simulated the variation of the separation of Eg mode and compared the calculated values to the experimental ones. As the wavenumbers of Ag and Bg modes decrease linearly with x, no simulation was necessary. The separation  of the Eg split mode can be expressed through the function Y (x) as follows: Y (x) = AA.(1-x).GAA (x) + BB.x.GBB (x) + AB.x.(1-x) GAB(x) (8)

Fig. 7 :Fig. 8 :

 78 Fig. 7: Experimental variations of Raman shifts (in cm -1 ), as a function of x, for modes Ag(920), Bg(840) and the Eg modified modes at 800 cm -1 . Maximum of separation of Eglike doublet observed for x= 0.55.

Fig. 9 :

 9 Fig. 9: Simplified representation of electronic band structure of PbWO4 according to reference [3]: density of states N(E) with E in eV. Valence band (VB = -6 to 0 eV); conduction band CB >4 eV; band gap Eg = 4 eV. Presence of Pb orbitals at the top of VB.

Fig. 10c :

 10c Fig. 10a,b: Photoluminescence intensities of Sr1-xPbxWO4. IPL/XR(x) under XRD excitation -(a) = left Figure-, and IPL/UV under UV excitation -(b) = right Figure-. Three or four gaussian components allow reproducing the full PL spectra as composition x varies (0 ≤ x ≤ 1, with steps of x = 0.1).

Fig. 10d :

 10d Fig. 10d: PL spectra (in electronic shots) of Sr1-xPbxWO4 phases, under UV excitation, for compositions x=0, 0.7, 1. The maximum intensity was reached for composition x=0.7. Each spectrum can be decomposed into 3 or 4 gaussian components (see [17]). Two main components with energies close to 2 and 2.5 eV are accompanied by smaller components generated by surface defects.

Fig. 10e :Fig. 10f :

 10e10f Fig. 10e: Variation of total PL intensities of Sr1-xPbxWO4 polycrystalline samples subjected to X-ray excitation (Cu polychromatic source), as a function of composition x. Maximum of PL emission at x = 0.30 .

  where YPL(AA,BB,AB), x(AB) and k(AA,BB,AB) are the appropriate fitting parameters for PL emission.

Figure 11

 11 Figure 11 compares the experimental IPL(x) and simulated YPL(x) values of PL intensities under X-ray excitation as a function of composition x. To fit calculated to experimental values of PL emissions, we have used the following parameters: I PL(AA,BB,AB) = (170/80/17000) ; x (AA,BB,AB) = (0 / 1/ 0.2) ; k(AA/BB/AB) = (4 /8/ 10). These obtained values of parameters can be justified by the existence of:• small number of active centers in AA and BB zones,• significant number of centers in AB zones directly due to substitution. In addition, the values of the k parameters for AA and BB zones could mean that centers would be regularly distributed in the full composition range, while the k value for AB zones would mean that the distribution of centers would be narrower with x= 0.32, with a maximum at x=0.30.

Fig. 11 :

 11 Fig. 11: Experimental (square) IPL and calculated (round) YPL intensities of PL bands in Sr1-xPbxWO4 under X-ray excitation. YPL(AA,BB,AB) = (170/80/17000); x(AA,BB,AB) = (0/1/0.2); k(AA/BB/AB) = (4/8/10).

Fig. 12 :

 12 Fig. 12: Experimental (white square) IPL and calculated (black round) YPL intensities of PL bands in Sr1-xPbxWO4, under UV excitation. YPL(AA,BB,AB) = (2160/6120/42000) ; x(AA,BB,AB) = (0/1/0.7) ; k(AA/BB/AB) = (2/1/80).

  The Y(AA,BB) values are characteristic of unmodified compounds (x=0 and 1). The G(AA,BB) functions have been introduced to take into account possible modifications of pure local zones due to interactions with neighboring zones. The YAB, xAB (or xmax) and kAB parameters play the major role in the modifications involved by substitution: the resulting GAB function represent the extension of modification close to the xmax value.Lattice distortions. The lattice perturbation function linked to diffraction profiles (x) (average values between a/a and c/c variations) is characterized by a unique YAB= AB value, resulting from the choice of absence of distortion for extreme phases. The observed maximum at xmax = 0.35 (±0.10) with extension parameter k of 30 (0.18 in composition) could mean that the maximum of lattice distortions should be reached at this composition.Local disorder.In the case of Y DW (x) (DW factors) a maximum of static displacements is observed at xmax = 0.5 (±0.15): having regard to the uncertainties in DW factor determinations, we can conclude to an acceptable agreement with the xmax found for (x).Perturbation of Raman Eg modes. The Y(x) function is also characterized by a unique YAB parameter: the observed maximum is close to xmax = 0.55. It clearly characterizes the presence of AA, BB and AB zones, with Eg modes characterizing each of these zones.

  For a given thermal treatment (fixed temperature and heating time), the local zones AA, BB and AB can present variable extensions and deformations as a function of composition x, giving rise to variable individual properties. The PL emission spectra obtained under X-ray or UV excitations are characterized by closely related energies corresponding to charge transfers in WO4 groups perturbed by point defects and substitution. The two different maxima of intensities observed for two different compositions xmax = 0.3 and 0.7, under X-ray and UV excitations respectively, are data introduced in the model, to determine first approximate values of fitted xAB values. They result from a compromise between increase of emission centers and increase of absorption as x increases. The pertinent parameters proposed by the model to simulate various properties are the 3 parameters Y(AA,BB,AB), the 3 parameters k(AA,BB,AB) and the xAB value closely related to xmax.

AA Zone (AXO4): GAA = exp (-kAA(x-xAA) 2 ) (2a) BB Zone (BXO4): GBB = exp (-kBB(x-xBB) 2 ) (2b) AB Mix zone (A1-yByXO4): GAB = exp (-kAB(x-xAB) 2 ) (2c)

	BB, AB)will be degraded (or modified) through a statistical function G depending on x and on
	thermal treatments.
	For each zone, we can assume that this function G can take the form of a gaussian function:
	Three typical configurations can be illustrated to represent a disordered solid solution: (a) A-
	rich phase with x close to 0; (b) A and B in equal composition, with x= 1/2; (c) B-rich phase
	with x close to 1.
	(a) : AAAAABAAAABBBBAAAAAABAAAAAAB	(21A+7B)
	(b) : AAABBBAAAABABBAABBBABAAABBBB	(14A+14B)
	(c) : BBBBBAABBBBBABABBABAABBBBBBB	(21B+7A)
	The x(AA, BB, AB) compositions correspond with optimal values of G as x varies. The typical
	low or high x values (e.g. x<0.2 or x>0.8), the AA or BB zones occupy the major part of
	the lattice, respectively: their major defects (mainly vacancies and distortions) are intrinsic
	defects depending on synthesis conditions (thermal treatments).
	For intermediate values of x (e.g. close to x=0.5), the AB zones are the more extended or
	frequent ones: structural defects result from the A-O-X-O-B interactions (with distortions due
	to different cation sizes) and from synthesis conditions.
	As the extension and number of zones vary with increasing x values, we assume that different
	distributions of point defects and distortions should be formed in the three zones (AA, BB, AB).
	To represent a given modified property linked to one AA, BB or AB zone (noted as Y(AA, BB,
	AB)), we can assume that, due to interactions with neighboring zones, each local property Y(AA,

values would be: xAA = 1 (for x=0 GAA=1), xBB = 1 (for x=1 GBB=1) and xAB a value depending on the history of material, for which GAB = 1. For intermediate x values e.g. close to ½, GAB =1 with xAB= ½.

PL intensity under UV excitation Fraction x Table: Simulation parameters for the Sr1-xPbxWO4 series.

  Table below, we have reported the various parameters corresponding to each property. The xmax value is the composition corresponding to the maximum of the experimental function IPL(x). The calculated xAB values corresponding to the YPL(x) function can slightly differ from the experimental xmax ones: this is a result of fitting Y to P data.

			14000
			12000
	Y(x)	YAA	10000 YBB	YAB xAA xBB kAA kBB kAB xAB Experimental
				8000								xmax
	a(x)	6000 5.414 5.461	0
	c(x)	4000 11.93 12.055	0
	(x)	0		2000	0	0.005	0	1	0	0	30 0.35	0.35
	BDW(x)	0.37	0.38	1.7	0	1	0	0	50 0.50	0.50
	(x)	0		0	0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 120 0 1 0 0 5 0.50	0.55
	IPL(x)/XR 170		80	17000 0	1	4	8	10 0.20	0.30
	IPL(x)/UV 2160 6120 42000 0	1	1	2	80 0.7	0.7

Definitions: a, b, c (x) = cell parameters in Å; (x) = average lattice distortion parameter; BDW(x) = Debye Waller factor (in Å 2 );  (x) = Raman separation of initial Eg mode in cm -1 ; IPL (x)/XR = PL intensity under X-ray excitation in arb. unit; IPL (x)/UV = PL intensity under UV excitation in arb. unit.

Acknowledgements: This study results from international cooperation between IM2NP, University of Toulon, University Ibn Zohr (Agadir) during years 2010 to 2018. It follows a first project (Nanogamma) involving notably the CEA of Cadarache and CESIGMA of La Garde. Financial supports were obtained from the Regional Council of Provence-Alpes-Côte


Matthew Turk
email: matthewturk@gmail.com

Konrad Hinsen
email: konrad.hinsen@cnrs.fr

A Dream of Simplicity: Scientific Computing on Turing Machines

Frustrated by another failed software installation? Wondering why you can't reproduce your colleagues' computations? This story will tell you why. It won't magically solve your problems, but it does point out a glimpse of hope for the future.

It's one of those days in the life of a computational scientist. Your desktop computer is busy updating its operating system and doesn't have any time left for you. The installation of your favorite simulation software on the new supercomputer doesn't advance beyond an error message extending over 500 lines. And your data analysis hasn't made much progress either: the results change when you use more or fewer processors, which doesn't look right. You already asked Siri for advice, but as so often is the case, that conversation led absolutely nowhere. Computers are complex, frustrating machines. If only we could have simple ones that just did what we tell them to do! Maybe it's a good idea to go back to the basics. Ever heard of Turing machines? They were invented in 1937 by Alan Turing, 1 and they're as simple as computers can get. No keyboard, no screen, no hard diskno operating system either, nor any voices pestering you. You write your instructions on a tape, put the tape into the machine, and push a button. The machine starts working, moving the tape back and forth. When it stops, you take out the tape again and read off the result. Computing couldn't be simpler! Turing invented the machine that was later named after him as a purely theoretical concept. There wasn't much real computing hardware available back then, but people eventually built physical realizations (www.legoturingmachine.org/lego-turing-machine, http://aturingmachine.com, and http://videotheque.cnrs.fr/index.php?urlaction=doc&id_doc=3001). However, before you rush off to Amazon to shop for your own Turing machine, watch out: not all Turing machines are equal. Each of them has its own instruction set to define its capabilities. What Turing wrote about in his famous paper is the family of all imaginable Turing machines, which only shows that he was a theoretician. Fortunately, there's a subfamily called universal Turing machines. They aren't all equal either, but they all have the same capabilities. In fact, they can compute anything that any computer can possibly compute, so make sure you buy a universal model, even if it's a bit more expensive.

Another detail you should watch out for is the machine's symbol set. Those symbols are what you're allowed to use on the tape and what the machine can use to produce its output. The cheap models work in binary, allowing only the symbols 0 and 1 on the tape; high-end Turing machines can handle Unicode symbols. Not only does this allow you to copy your favorite poems to tape, no matter which language they're written in, but it also saves you a lot of typing.

When you order your Turing machine, be sure to order a sufficient supply of blank tape to get you started. Turing speaks of infinitely long tapes in his paper, but that's a theoretician for you. The good news is that a computation that's of any practical use will need only a finite piece of tape. Exactly how much is difficult to predict, unfortunately, but for your first experiments, a 100-meter roll should be sufficient.

For the details about operating your machine, refer to its instruction manual. In particular, the manual should tell you how to prepare your input tape, either via a special keyboard device or a plain old typewriter from the attic. What's more important is the machine's instruction set, which is explained in detail in the manual as well. The effect of each instruction tends to be very basic: move the tape one step to the right, copy the symbol at the current position to internal register number 3, and so on. It might seem laborious to express your problem in terms of such low-level operations, but that's the price you pay for simplicity. You chose asceticism to escape the frustration of complex machinery. Would you really be happier reading the 500+ pages that describe the instruction set of an ordinary modern computer? 2 You'll definitely appreciate a Turing machine's simplicity when it comes to publishing your work. Being a CiSE reader, you're, of course, practicing reproducible research-a Turing machine makes it even

easier. Just publish a copy of your input tape as supplementary material to your article and describe the precise model of Turing machine that you used. If you worry that its manufacturer might go out of business, making it impossible for your readers to get an identical model for replication purposes, add the specification of the machine as an appendix to your article as well (the specification is the part of the manual that describes the instruction set, and with that information, any competent Turing machine shop can build a compatible model, at any time).

Frequently Asked Questions, Beginner Level Q: My machine doesn't stop, it just keeps on running. What should I do? A: First, it's possible that your computation contains an infinite loop, which means it's erroneous and you should correct it. Otherwise, the problem you want to solve is probably bigger than your level of patience. Buy a faster machine or start practicing yoga. Q: How do I know whether my computation is just long or contains an infinite loop? A: Mathematics can't help you, sorry [START_REF] Turing | On Computable Numbers, with an Application to the 'Entscheidungsproblem[END_REF] . Maybe your yoga teacher can offer advice.

Q: What I write on the tape is a program, but how do I get my data into the machine? A: I don't agree. I'd say the program is embodied by the machine, and the tape contains only data. In fact, the distinction between program and data is part of our interpretation of a computation. From the machine's point of view, it just manipulates a sequence of symbols. You need to develop a more holistic view of computation.

Q: It's a real pain to write floating-point operations in terms of single-symbol manipulations all the time. Isn't there an easier way to do this?

A: You could try contacting a renowned Turing machine manufacturer and asking for a machine designed specifically for number crunching, with predefined floating-point operations in its instruction set. Let me know if you succeed! In the meantime, read on for other ideas. Q: I do many computations that share common elements, in particular, mathematical functions. Is there a way to write them only once?

A: This is a more general version of the last question, since floating-point operations are nothing but specific common elements. The answer is the same as well. Convince a manufacturer that it should design them into its machines... or read on for other ideas. Q: I need to run the same computation on many different input datasets. Every time I have to design an input tape from scratch. Isn't there an easier way to do this? A: Let me rephrase your question: you have many computations that share a common element, which is the algorithm that you wish to apply to your different datasets. So this is really the same question as the previous one. If your algorithm is important and you plan to use it intensively for many years, consider having a Turing machine designed and built specifically for it. Your tapes then contain nothing but your datasets. If a custom-built machine sounds impractical, read on for other ideas.

Building Blocks to the Rescue

If you've started playing around with a Turing machine and perhaps encountered some of the beginnerlevel questions highlighted in the sidebar, I suspect that some of you are considering a remorseful return to your desktop computers. Well, simplicity isn't for cowards. I never said it would be easy, but stay with me for a while, and maybe we'll find a way out of this situation.

What's probably bothering you is having to figure out how to do what you consider basic operations, such as adding two floating-point numbers, in terms of even more basic symbol manipulations. Worse, you have to do it all over again, for every single addition! And what happens when you lose track of which part of your very long tape does what?

As I mentioned, one solution is to convince a Turing machine manufacturer to produce a machine that's better suited to your needs. Unfortunately, this can rapidly become rather expensive, plus it has an additional disadvantage: every new instruction in your Turing machine makes its specification more complex. If your manufacturer disappears, the next one will have to work much harder to make a compatible machine in the future. That's not only going to cost a lot of money, but a complex specification also entails a higher risk of mistakes in the design of a new machine. And even if those arguments don't convince you, they might convince the editorial boards of your favorite journals, who worry about the reproducibility of your work. They might actually reject your next paper for relying on an obscure and expensive custom-built machine rather than on cheap and well-understood commodity equipment.

Here's another idea. Imagine that you could write symbol sequences for common simple jobs, such as adding two floating-point numbers, and then just copy and paste these sequences into your tape where needed. Rather than compose your tape symbol by symbol, you could compose it from bigger building blocks. Or, better yet, make a collection of such reusable tape segments, paste the whole collection into your tape, and then somehow refer to its items when designing your computation. We could call such pieces subroutines and our collection a subroutine library.

We have a few administrative details to consider to make this work. To tell our machine to run a subroutine, we must tell it precisely which one. We could give each subroutine a name, and say "run subroutine FLOAT-ADD," or we could use a numbering scheme, saying, "run the third subroutine in the library," but neither of these approaches is perfect. Imagine that you delegate writing subroutines to your graduate students and then combine their efforts into a single library that everybody can be proud of. What if two of your students have used the name "FLOAT-ADD" for somewhat different subroutines? What if all of them have referred to their subroutine number 2 somewhere in their code, but once the library is put together, the numbers have all shifted? In fact, you don't just want to compose subroutines into libraries, you also want to compose libraries into bigger libraries. Otherwise, what's the point of having graduate students? So it's worth thinking harder about this problem.

We also need to figure out a way to tell our machine to run a subroutine and then come back to the "main" program-as well as a way to store the data to be processed by our subroutines in a place where the subroutine's instructions can pick them up. How to do this depends on your machine's instruction set, so you have to figure it out for yourself. Definitely do not delegate this to your students: each of them will come up with a different scheme, and they'll quarrel forever about whose scheme is best. Have you seen the endless online discussions about the relative merits of different programming languages? You don't want that happening in your research group. Setting up conventions requires firm authority. It's a job for a real expert, like you.

Whatever scheme you come up with, it will consist of conventions to be followed by both authors and users of subroutine libraries and support code to make the scheme work on your Turing machine. Let's call these conventions an API, which will impress your friends in software engineering. While we're at it, let's call the support code an operating system. When everything ends up working, you can proudly say that you've written an operating system that implements a powerful API. The mundane work of using it to prepare useful computations can then be left to your students. It's much more interesting to be the author of an operating system-after all, everyone who writes or uses a subroutine will have to refer to the API and the operating system. You'll get lots of citations!

Data Management

I hope that by now you're feeling a bit more optimistic about your future with the Turing machine. You can compose large programs using references to reusable subroutines. You can also compose these subroutines into libraries. And if you've figured out a clever subroutine reference scheme, in which one library's references don't interfere with those of another library, you can even compose libraries into bigger libraries.

But remember that a program is really just another reusable building block for computations: you still need to compose it with an input dataset to make a full computation that you can set your Turing machine to work on. Or maybe several input datasets. Come to think of it, you'll want datasets to be building blocks as well, which means you need a way to refer to data items in your computation. How about names or a numbering scheme? If you want to impress your friends in software engineering, maybe you should call a data item a file and a collection of data items a filesystem. You prefer to call it a data item library? That's fine with me, but be warned that if you don't put up a smokescreen of jargon, people will belittle your work as overly simple!

The management of data access requires some support code as well, but just a couple of subroutines.

This is a good occasion to complement your operating system with its very own subroutine library. You'll need a great idea for a composable subroutine reference schema, otherwise your operating system's library will occupy names such as "READ-DATASET" or particularly convenient numbers such as 1, meaning that nobody else's subroutines can use them. If you didn't yet come up with a great idea, don't worry: as the operating system supplier, you're the boss, so everyone else will have to comply with your rules! There's a lot we could do to make programming our little Turing machine even more pleasant, but let's stop here and profit a bit from our investments. Finish your subroutine library and use it to get some research done. When you publish your work, don't forget that for reproducibility you still have to publish your complete input tape, including the operating system and your subroutine library. And because your tape is probably a bit long by now, be nice to your readers and write some documentation so they can figure out how everything works.

Opening Up to the World

Congratulations on your first publication based on Turing machine computations! I'm sure it'll become a citation classic. In the meantime, as you might have expected, other CiSE readers have followed the same path you did, and their papers will be out at about the same time as yours. Like you, they're attracted by simplicity, so wouldn't those people be ideal partners for future collaborations? How about organizing a conference to bring them all together?

Unfortunately, you'll likely have a few technical problems when you start collaborating. First, not everybody bought the same model of Turing machine. Second, each group has its own operating system with its distinct API and standard library. Even data is organized differently on each group's tapes. Before you can start sharing the fruits of your hard work, you have to think about how to put it all together.

Believe it or not, Turing has once more done the hard work for you. [START_REF] Turing | On Computable Numbers, with an Application to the 'Entscheidungsproblem[END_REF] He showed that every universal Turing machine can run software for any other Turing machine by simply prefixing that machine's tape with a specific symbol sequence that acts as an adapter. Call it a virtual Turing machine if you want. Producing such an adapter should be no more than an exercise for you now that you're an experienced Turing machine programmer. And if you can virtualize your colleagues' entire Turing machines, virtualizing their operating systems and APIs is just a little extra work. Not only can you run everyone's tapes, you can even compose a new computation from subroutines written by different people for different instruction sets and APIs. Isn't that cool?

Frequently Asked Questions, Expert Level Q: I studied one of my tapes over the weekend and noticed that only 10 percent of the symbols were about my science-the other 90 percent were operating system, adapters, and subroutines for data access. Isn't that a lot of overhead?

A: Perhaps, but would you rather go back to composing your tapes symbol by symbol as you did in the dark ages? Q: My graduate student spent an entire week debugging the tape from our last collaborative endeavor. It turned out that the adapter for our colleague's data access subroutines was incorrectly using another colleague's operating system. In fact, on a more careful reading, that operating system's API specification turned out to be incomplete. Do you have any advice for avoiding such issues in the future?

A: Maybe error checking would help? All it requires is some additional support code and conventions.

Q: I have this strange feeling that if we go on improving our tape development environments, we'll get into the same mess that we have on our desktop computers. Is that right? A: Well...you might be on to something there.

Back to the Real World

You've certainly noticed some similarities between my fictitious universe of Turing machines and the real world of computers made from silicon, but did you notice when and why the two worlds started to look similar? At what point in the story did the Turing machines' simplicity start to evaporate? It's when we wanted to prepare a computation by composing preexisting elements designed for reuse, right? In other words, modular design makes complex computations feasible in practice, but at the same time, that's what makes our daily lives so frustrating. In the end, computers aren't really the origin of these frustrationsrather, it's the limitation of human brains that can't reason reliably about sequences of thousands of instructions. Abstraction and modularization were invented for the programmer's benefit, not the computer's.

In real life, though, a major issue is the multitude of schemes for composing units of computation. A typical programming language provides building blocks called procedure, function, and subroutine. But each language provides its own variety of this basic idea, with somewhat different conventions and different support code to make it work. Consequently, it's usually difficult and sometimes impossible to combine procedures, functions, and subroutines written in different programming languages. Moreover, languages, operating systems, and web services provide several levels of building blocks whose composition mechanisms are always similar but rarely equal to the point of being interoperable. Popular names for such building blocks are "class," "module," "package," "library," "script," "executable," "file," "directory," and "filesystem," but no two uses of these terms refer to exactly the same concept. A big part of the software agglomerate that occupies a modern computer's memory is therefore made up of glue and translation code, much like in my Turing machine story. This glue and translation code includes linkers, loaders, archive managers, configuration tools, package managers, file format converters, and a lot more, all of which solve problems that we wouldn't have without computers. More importantly, all this code creates opportunities for mistakes to sneak in.

As I already hinted, one cause for this diversity is that it's hard to make people agree on something, especially if everyone has already made investments in a particular technological choice. In the realm of physical objects, economic pressures related to economies of scale provide a strong incentive for agreement: every manufacturer can define its own sizes of screws and bolts, but people can also realize that they're better off if the whole industry agrees on a few standard sizes such that a few manufacturers produce screws and bolts for everyone at a low price. In principle, this mechanism ought to work for software as well, but the cost of deviating from a standard is much lower in the world of bits than in the world of atoms. Perhaps more importantly, computing is still in an early development phase, with several big players hoping to gain a competitive advantage by imposing their technology on everyone else. But there's also a productive source of diversity that comes from different and evolving technological environments. One convention for composing components might favor performance, another one memory usage, and yet another one flexibility. New applications lead to new requirements that could conflict with an earlier convention's design goals. New insights permit improvements that can only be implemented by abandoning old conventions. Computing technology is young and immature, with a fast rate of technological progress creating incentives for change at all levels.

To convince you that composition really is at the heart of most of our frustrations with computers, I'll discuss one familiar problem with two different labels in more detail: software installation and nonreproducible computations. They're actually the same fundamental problem because nonreproducibility means that you can't successfully install somebody else's computation on your computer because you don't have all the required parts, they can't be composed with the software that's already available on your computer, or you don't have sufficient instructions to perform the composition.

The way software installation is handled on most of today's computational platforms is by continuous aggregation. The starting point is the hardware plus minimal firmware (called a BIOS). The first add-on is an operating system, such as GNU/Linux or Windows. Such an operating system is already a composition of many parts, including a kernel, system libraries, and utility programs; software installation simply adds to this collection. System libraries are complemented by other libraries, and system utility programs gain application programs as new neighbors. There is, in fact, no fundamental difference between the system parts and the other parts-the label "system" simply means that an item is provided by the operating system manufacturer.

At each step of a software installation procedure, you thus compose an aggregate of items with an additional item to make a more powerful aggregate. The new items-libraries and applications-must be compatible with the aggregate you start with. But that aggregate is nearly unique; it's the preexisting installation on your computer, the result of a particular sequence of software installation steps that's unlike anybody else's. The developers of the additional items you want to add can't possibly have tested their code on the aggregate that you'll install it on, which is a big reason why software installation so often ends in frustration. It's also a reason why computations are so difficult to reproduce: in addition to the software and data that your colleagues ideally provide as supplementary material for their papers, you would need the exact same software aggregate that they used. However, describing one's software aggregate in a paper is difficult, lengthy, and ultimately of limited use because there's no straightforward way to reproduce it elsewhere.

You might argue that this is no different from other technologies: your car is quite different from your friend's car, yet you don't have to include a detailed description of your car down to the last screw when you explain to your friend how to drive from point A to point B. But computation is unlikely any other technology in its dependence on small details. [START_REF] Hinsen | The Power to Create Chaos[END_REF] Most technologies use interfaces that are robust against small changes in their implementations, but we don't yet have such interfaces in computing technology.

The difficulties of software installation have led to the development of a category of support tools called package managers, of which the best-known examples are Debian's apt and RedHat's rpm. A package manager defines its own scheme for composing software building blocks, now called packages, which has stricter rules than the older schemes defined by operating systems. In particular, the composition scheme requires each package to contain a specification of the aggregate that it can be composed with. These specifications are rather laboriously prepared by a team of packagers, but they're intentionally imprecise, as otherwise they would be obsolete after a few days, which is just another way of saying that the packagers don't really promise that a package will work on every system that conforms to the specification, because there's still a lot of unpredictable diversity in the set of all such systems. Package managers don't solve the fundamental problems of composing software items-rather, they simplify the instructions you have to follow to install software. They don't eliminate the causes and thus the risk of failure.

One particularly important problem that most package managers don't solve is the one I've referred to repeatedly: name conflicts. Every package is identified by an arbitrarily assigned name, and you can't have two packages with the same name installed on your computer. In particular, you can't have two different versions of the same software package. This might not sound so bad at first-after all, why would you want to use two different versions of a package in parallel? There are actually some good reasons, related to bugs and compatibility-breaking changes, but the main problem is elsewhere. Name conflicts make it impossible in practice to compose two software aggregates into a new, more powerful aggregate. Imagine simply downloading an archived software aggregate published by some other researcher and putting it onto your own computer without destroying anything in the process. Reproducibility would become much less of an issue in computational science.

One approach to eliminating name conflicts in software aggregates is compartmentalization. Instead of having a single software aggregate per computer, we would create multiple encapsulated aggregates that are isolated from each other-examples of such encapsulated aggregates include Java's jar files, MacOS application bundles, Docker containers, and Python's virtual environments. Unfortunately, compartmentalization comes at a price. In the one-aggregate universe, existing software building blocks could be freely reused. In the compartmentalized world, reuse across aggregate boundaries is impossible, and aggregates become black boxes. This is particularly inconvenient in a research setting, where experimentation with building blocks ("let's see what happens if I change only this piece") is common.

Doing Better in the Future

Once we understand the causes of a problem, we can figure out how to solve it. A nice example is a recent approach to avoiding name conflicts, which is based on the idea of content-addressable storage. Instead of referring to building blocks by arbitrarily assigned names, a unique short reference handle is computed from the contents of that building block, that is, from the contents of the files that represent the building block on your computer. This can be achieved by using a cryptographic hash function such as SHA-1 (for a plain data file, this means that you use the SHA-1 hash of the data as the filename). Name conflicts can then only occur in the case of a hash collision, whose theoretical probability is vanishingly small and that to the best of my knowledge has never been observed in practice. With content-addressable storage, large amounts of data can be stored with unique short reference IDs and without wasting any storage by allowing duplicates. This is why it's used by the popular version control system Git and also by the Software Heritage project (https://www.softwareheritage.org), whose ambitious goal is to create a permanent archive of all publicly available software source code on the planet. Two recent package managers, Nix (https://nixos.org) and its offshoot Guix (https://guixsd.org), use content-addressable storage to solve the name conflict problem in software installation. Entire software aggregates thus become composable: you can take the full aggregate of computer A and merge it with the full aggregate on computer B, creating a composite aggregate that has all the functionalities of A and B. Each of these aggregates can contain three different versions of some library without causing any trouble. The price to pay is a more laborious preparation of package descriptions: unlike the first generation of package managers, these newcomers don't build on the conventions of today's operating systems, but have to work against them. Guix has already been used for improving the reproducibility of computational research. [START_REF] Courtès | Reproducible and User-Controlled Software Environments in HPC with Guix[END_REF] Could we take another step and get rid of libraries and packages completely? If we apply the contentaddressable storage idea to the smallest building blocks of a computation, which are subroutines and data structures, we wouldn't need any kind of structured software aggregate. A computer's internal storage would simply be a lookup table that tells you for each unique identifier where to find the full computational building block that it was derived from. To copy software to another machine, you would just need to locate all the required building blocks references and copy them over. You can see this approach in action in the experimental programming platform Unison (http://unisonweb.org).

It might seem that understanding the role of composition in computation is of interest only for programming language designers and developers of operating systems. As a computational scientist, is there any way you can put this knowledge to good use in practice, to make your life easier and your research more reliable? I believe you can, otherwise I wouldn't have written this article! We might not be developers of composition schemes, but as users we make choices that influence developers. With your newly acquired understanding of software installation and reproducibility, you can now add "ease of managing software aggregates" to your list of criteria when choosing computers and operating systems. You might then want to give Nix or Guix a try, even though they're a bit exotic and, for now, not nearly as mature as what you find in the Linux world. In a similar vein, you could add "ease of distributing and installing modules" to your list of criteria for choosing programming languages and their support tools, in particular, when you make that choice in a teaching context.

Another case of composition that computational scientists frequently have to deal with is data management. As I explained, reading a data file is nothing but a way of composing algorithms with the data they work on into a complete computation. File format conversion, another pain point in the life of computational scientists, is one of those "glue and translation" activities made necessary by the diversity of conventions in computing technology. If you ever have to design a file format, choose one for a piece of software or steer a community toward the adoption of common file formats: doing so greatly helps you understand the issues related to composition, including composition with software (reading and writing data files but also composing data with other data). Do you want a format for individual data items, for collections of data items, or both? Do you expect that in the future, there will be a need to store additional data along with what you want to store now? In science, the answer to the last question is almost always yes, yet few scientific data formats are designed with extensibility in mind.

Finally, if you start to look at computational science from the point of view of building blocks, you'll notice a strange contradiction: when it comes to data, our attitude as a community is very conservative, whereas our attitude to software is progressive. Most scientists agree that datasets should be archived for preservation and published for verification and reuse. There's also widespread agreement on the importance of using community-standard data formats to facilitate the exchange and reuse of data. Concerning scientific software, there's a growing support for publishing its source code, but the goal of maintaining executability is considered unrealistic or too expensive by most of today's computational scientists. Given limited resources, today's dominant view is that we should emphasize new science and update our software with that goal in mind, even if that means rendering older work nonreproducible and the software of the past unusable. Once we realize that software and data are just roles we attribute to different building blocks of a computation, and that both software and data represent scientific knowledge, we can develop a unified view of the relative importance of preserving existing knowledge versus developing new knowledge. Better yet, we might actually succeed in lowering the cost of both preservation and development by a judicious choice of composition technologies.