Integer estimability in GNSS networks

Estimability and S\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {S}$$\end{document}-systems are important concepts when dealing with rank-defect models. In this contribution, we generalize the concept of estimability to integer estimability and determine the necessary and sufficient conditions that need to be satisfied for parameter functions to be integer estimable. This is then worked out and applied to the integer estimability analysis of GNSS observation equations. We hereby consider both network ambiguity resolution and single-receiver PPP-RTK ambiguity resolution. In our analyses, use is made of graph theory and properties of the ambiguity incidence matrices of the bipartite and connected network graphs.


Introduction
The undifferenced GNSS observation equations of phase φ s r , j and code p s r , j of receiver r (r = 1, . . ., n) tracking satellite s (s = 1, . . ., m) on frequency f j ( j = 1, . . ., f ) are given as (Teunissen and Kleusberg 1998;Leick 2004;Hofmann-Wellenhof et al. 2008;Teunissen and Montenbruck 2017) with ρ s r being the non-dispersive term that contains positioning parameters, zenith tropospheric delays and clock parameters, and ι s r the first-order slant ionospheric delay on the first frequency, having as coefficient μ j = ( f 2 1 / f 2 j ), with f j being the jth frequency.The receiver and satellite phase are denoted as z s r , j and are given in units of cycles.The advantages and flexibility of using an undifferenced model formulation, as opposed to a priori differencing or combining, have already been recognized for a long time (Goad 1985;Teunissen 1995b;de Jonge 1998;Schönemann et al. 2011;Lannes and Prieur 2013).With an undifferenced approach, one can work with the simplest observational variance matrix and have all parameters remain available for a possible further model strengthening, while parameters that are not of interest are easily eliminated at the reduction level of the normal equations.
Working with an undifferenced approach implies in case of GNSS, however, that one has to account for rank deficiencies as not all unknown parameters can be estimated unbiasedly.A proper understanding of the estimability of the computed parameters is therefore essential, as different sets of estimable parameters, each with its own interpretation, exist, and each such set is defined by the chosen singularity-basis or S-basis (Baarda 1973;Teunissen 1985;Koch 1999).Such analysis was presented in Odijk et al. (2015), where the rank deficiencies and null space of the multi-epoch, multi-frequency undifferenced GNSS network model were identified and used to construct a basis matrix of the network's null space, thus allowing the formulation of proper S-transformations, see also (Teunissen and Khodabandeh 2015;Zhang et al. 2018).
In all studies until now however, the standard concept of estimability (Rao 1973;Arnold 1981) was employed, which, as we show in this contribution, is too limited when dealing with rank-defect models that have parameters of which some are also integer.We show that for integer parameters, such as the carrier-phase ambiguities, estimability is not guaranteed by merely asking of the estimable functions that they are integer.We therefore generalize the concept of estimability to integer estimability and determine the necessary and sufficient conditions that need to be satisfied for parameter functions to be integer estimable.This is then worked out using concepts from graph theory for the integer estimability analysis of GNSS observation equations.We hereby consider both network ambiguity resolution and single-receiver PPP-RTK ambiguity resolution.
This contribution is organized as follows.We start by providing a brief review of the required estimability concepts of rank-defect linear models in Sect. 2. It discusses estimable functions, their invariance and S-bases.This is then generalized to the estimability of parameter subsets as needed when working with partitioned GNSS models.It shows that although there are generally fewer estimable functions under weaker models, all these functions are linear combinations of the estimable functions under the stronger model.In Sect.3, we discuss the ambiguity graph and the incidence matrix of a GNSS network.Then in Sect.4, we introduce the concept of integer estimability and show how for GNSS networks it is driven by the structure and properties of the incidence matrix.It is hereby important to find that integer estimability is not guaranteed by merely asking of the estimable functions that they are integer.We derive the necessary and sufficient conditions that enable integer estimability and apply these findings in Sects.5 and 6, first for 'all-in-view' networks and then for the general case.It is hereby proven that choosing spanning trees of the network ambiguity graph as S-basis automatically guarantees that the estimable ambiguity functions are integer estimable.In Sect.7, we apply the concept of integer estimability and its rulings to PPP-RTK and show that PPP-RTK's single-receiver ambiguity resolution should be seen as a special case of network ambiguity resolution.The contribution is concluded with a summary in Sect.8. Some of the notations used are as follows: R m denotes the m-dimensional space of real numbers and Z n the ndimensional space of integers.E(.) and D(.) denote the expectation and dispersion operators, respectively.The range and null space of a matrix A are denoted as R(A) and N (A), whereas R(A) ⊥ denotes the orthogonal complement of R(A).A basis matrix is said to be a matrix of which the columns form a basis of its range space.Two subspaces U and V of R m are said to be complementary, denoted as R m = U ⊕ V, when the matrix [U , V ], formed from their basis matrices U and V , is square and invertible.
2 Estimability under different model strength

Estimable functions
Consider the rank-defect linear model Since the model is rank defect, not all parameters nor all functions of the parameters are estimable.Recall that a function f T x is said to be estimable if it can be unbiasedly estimated by a linear function of y (Rao 1973;Arnold 1981).The following lemma characterizes the class of estimable functions.
Lemma 1a (Estimable functions) Let F ∈ R n× p .Then , an equivalent condition of f T x being estimable is that f needs to annihilate that part of x that lies in the null space of A.
Estimable functions of x are thus invariant for any changes in x that lie in N (A).Note, since dimR(A T ) = r , that the maximum number of such linear independent functions equals r .The workings of the above Lemma can now be seen as follows.Consider x = A − y, with A − an arbitrary g-inverse of A (i.e.A A − A = A).Then E( x) = A − Ax = x, showing that x is not an unbiased estimator of x.The estimator F T x, however, is an unbiased estimator of F T x, since F = A T L for some L ∈ R m× p , and therefore, E( The above shows one way of computing unbiased estimators for the rank-defect linear model (2): first compute x and then F T x, with F satisfying (4).The flexibility of this approach lies in the fact that one only needs to compute x once, from which one can then compute any estimable function one is interested in.Instead of this two-step approach, however, it is also possible to use a more direct approach, namely one in which one reparametrizes the linear model (2) directly into the required estimable functions.To see this, consider the reparametrization in which V 0 is a basis matrix of the null space N (A) and S ∈ R n×r is a basis matrix having a range space complementary to that of V 0 , i.e.R n = N (A) ⊕ R(S).Then matrix [V 0 , S] is square and invertible, having the inverse and where the matrices V 1 ∈ R n×r and S ⊥ ∈ R n× (n−r ) are basis matrices of N (A) ⊥ and R(S) ⊥ , respectively, see (Teunissen 1985).Substitution of ( 5) into (2) gives the model which is of full rank and directly parametrized in x.As ( 7) is of full rank, it can be directly solved to obtain an unbiased solution of x.Note that with (3) the range space of F needs to be orthogonal to N (A), while with (5), and thus (7), one only needs to choose S such that its range space is complementary to N (A).Also note that the full-rank model ( 7) can be interpreted as being obtained from adding the minimum constraints to the rank-defect model (2).These constraints are referred to as the S-basis.They contain, by setting the inestimable part of (5) to a given arbitrary value (here α = 0), the minimum information needed to eliminate the singularity in (2).That is, the basis matrix S ⊥ is chosen such that its range is complementary to the space of estimable functions R(A T ) = N (A) ⊥ .

Estimability in a partitioned model
As we will be considering estimability of parameter subsets in the following, we need to generalize Lemma 1a accordingly.
can be written in partitioned form as Instead of considering the estimable functions of all parameters, we now restrict attention to those of x 1 only.Then Lemma 1a generalizes as follows.

Lemma 1b (Estimable functions)
This result can be understood as follows.As, according to Lemma 1a, 2 L, from which the result follows.Thus if we would compare unbiased estimation of F T 1 x 1 by L T y under model E(y) = A 1 x 1 to that under the weaker model ) is a necessary and sufficient condition for estimability under the stronger model, but only necessary under the weaker model.For it to become necessary and sufficient under the weaker model, one needs, next to the condition F 1 = A T 1 L, also that 0 = A T 2 L, i.e. that the linear functions of the data nullify the effect of x 2 .
Finally note, since R(A T 1 B 2 ) ⊂ R(A T 1 ), that although under the weaker model there are in general fewer estimable functions of x 1 , all these functions are linear combinations of the estimable functions under the stronger model.

Ambiguity graph and incidence matrix
In the following, attention is focused on that part of the GNSS observation equations that contains the undifferenced (UD) integer ambiguities and receiver-and satellite phase-delays (cf.1), where since each receiver-satellite pair corresponds to one real-valued ambiguity per frequency, we have omitted for the sake of presentation the frequency subscript j.In this section, we show that the design matrix of the 'phase-delays' can be interpreted as being the incidence matrix of the network ambiguity graph.This is helpful as it allows us to use results from graph theory.
It will be clear that in a network generally not all the satellites are tracked by each receiver.To visualize the interaction between the network receivers and their tracked satellites, one can make use of a graph, see, e.g.(de Jonge 1998; Lannes and Gratton 2009;Lannes and Teunissen 2011;Lannes and Prieur 2013).An example of such ambiguity graph is shown in Fig. 1.The vertices of the graph are the network receivers (solid triangles) and the tracked satellites (solid squares).The presence of an edge (grey lines) between vertices r and s indicates whether satellite s is tracked by receiver r or not.Thus, the edge r -s corresponds to the ambiguity a s r .The ambiguity graph of Fig. 1 represents a GNSS network setup of three receivers, in which the receiver r = 1 tracks the satellites s = 1, 2, while the receiver r = 3 tracks the satellites s = 2, 3.The receiver r = 2 however, tracks all the visible satellites s = 1, 2, 3. Thus, the graph has seven edges and six vertices (three receivers plus three satellites).As there is no interaction between the satellites themselves nor between = 3 r Fig. 1 An example of an ambiguity graph in which receivers (solid triangles) and satellites (solid squares) represent the vertices.The presence of an edge (grey lines) between vertices r and s indicates whether satellite s is tracked by receiver r or not the receivers (i.e.there is no edge between the satellites nor between the receivers), the ambiguity graph is a special case of a 'bipartite' graph.

The ambiguity graph incidence matrix
Let a network of r receivers, tracking m satellites, have q network ambiguities a s r (per frequency).Then the corresponding ambiguity graph has q edges and n v = m + n vertices.We define the ambiguity vector as a = [a s r ] containing all the UD ambiguities a s r .The vectorial form of ( 12) is then given as where z contains the integer ambiguities z s r and δ contains the real-valued phase-delays δr , δs .The q × n v matrix P has either 0 or ±1 as its entries.For the ambiguity graph of Fig. 1, (13) reads Every row of P corresponds to an edge of the graph, whereas every column of P corresponds to a vertex.As shown in (14), every row of P contains exactly one entry equal to +1 and another equal to −1.These nonzero entries (i.e.±1) indicate whether their corresponding row is incident with the graph's vertices or not.For instance in ( 14), the fifth row of P (corresponding to a 3 2 ) has ±1 entries on its 'second' (r = 2) and 'sixth' (three receivers plus s = 3) columns, showing that there exists an edge between the vertices r = 2 and s = 3.In the context of graph theory, matrix P is therefore referred to as the incidence matrix of a graph, see, e.g.(Coxeter 1973;Wilson 1996).As P captures the complete incidence structure of a graph, it uniquely specifies its associated graph.In the context of GNSS observation equations, the incidence matrix P is nothing else but the design matrix of the phasedelays δr and δs .Thus, a network ambiguity graph can be fully specified by the network's phase-delay design matrix.

Reduced incidence matrix
Note that the columns of P sum up to zero, showing that P is 'rank-deficient'.The size of its rank deficiency is driven by the 'connectivity' of its associated graph (Coxeter 1973;Wilson 1996).A graph is said to be connected, if every vertex is linked to all other vertices at least through one 'path' (i.e. a set of edges).The incidence matrix of a connected graph is shown to have a rank deficiency of size 1 (see "Appendix A").From now on, we assume that the ambiguity graph is connected, i.e. the rank of P is n v − 1.If the ambiguity graph would not be connected, then it could be partitioned into multiple connected subgraphs.This assumption is therefore of no consequence for our analysis.For a connected graph, a maximum number of independent columns of P simply follow by 'excluding' an arbitrary column (see "Appendix A").The resultant matrix, of size q × (n v − 1), is referred to as the reduced incidence matrix and is denoted by P. Thus, the phase-delay combinations P δ, given in (13), can be alternatively expressed by Pδ, with δ being a linear function of the phase-delay vector δ.For instance in the case of ( 14), we have 123 in which the reduced incidence matrix P is formed by removing the first column of P. The identity P δ = Pδ, together with (13), gives where δ contains δ r = δr − δ1 (r = 2, . . ., n) and δ s = δs − δ1 (s = 1, . . ., m).

Estimability
For the purpose of ambiguity resolution (Teunissen 1995b), it would be ideal if the complete vector z ∈ Z q of (16) would be unbiased estimable.This is, however, not the case due to the presence of the unknown phase-delays.According to Lemma 1b (cf.11), a necessary condition for functions of the integer ambiguities, say D T z, to be estimable is that D T P = 0 must hold true.Finding an independent set of such estimable ambiguities boils thus down to finding a basis matrix D of the q-dimensional subspace R(P) ⊥ , where q = q − n v + 1.
With the space of estimable ambiguity functions given by R(D) ⊂ R q , any space complementary to it can be used for choosing an ambiguity S-basis.Therefore, if C is a q × (n v − 1) basis matrix having a range space complementary to that of D, i.e.R q = R(C) ⊕ R(D), then C T z is a set of inestimable functions that can be chosen as S-basis.
As the two basis matrices C and D together form a square and invertible matrix, we can now reparametrize the integer ambiguity vector z into its inestimable and estimable part by making use of the inverse With the help of this inversion, we can decompose z into an inestimable and estimable part as The above reparametrization has thus achieved that the rankdefect matrix [P, I q ] of ( 16) gets replaced by the full-rank matrix [P, R], and the inestimable parameters δ and z, by their estimable versions δ and z, respectively.The estimable phase-delays are hereby formed from lumping the inestimable part of z to the original phase-delay vector δ.

Integer estimability
Although the entries of z in ( 18) are estimable ambiguity functions, they are not necessarily integer.For the purpose of integer ambiguity resolution however, they need to be integer.This implies that important additional restrictions apply to the basis matrix Firstly, since z should be integer for every z ∈ Z q , matrix D should be integer as well.A necessary condition for z to be integer estimable is thus that D should not only be a basis matrix of R(P) ⊥ , but it should be an integer matrix as well.This condition is, however, not yet sufficient.To see this, we first consider the ambiguity transformations that are implied by ( 19).Note that in the construction of estimable functions, different choices for the range space of the basis matrix which is easily checked by recognizing that P R(P) ⊥ = D1 ( DT 1 D1 ) −1 DT 1 is a projector that projects along the null space of DT 2 , and thus, Z 21 DT 1 = DT 2 P R(P) ⊥ = DT 2 .The result shows, although integerness of D1 and D2 guarantees that both z R 1 and z R 2 are integer whenever z is, that this condition is not sufficient to guarantee that the transformations (20) themselves are integer preserving, i.e. they are admissible as ambiguity Z-transformations.A Z-transformation is namely only admissible as ambiguity transformation if both Z and its inverse are integer, or equivalently, if Z is integer with determinant det(Z ) = ±1 (Teunissen 1995a).Only then will integerness be preserved, i.e. any integer z1 be mapped to an integer z2 and vice versa.
The reason for the lack of admissibility of (20) can also be understood as follows.With D being only an integer basis matrix, it is not guaranteed that an integer solution of z = DT z exists for every integer z (think for instance of the simple case: 1 = [2, 4][z 1 , z 2 ] T ).This sufficiency condition is needed however, since without it one has no guarantee that an integer-resolved estimable ambiguity would actually correspond with an integer value of the undifferenced ambi-guity vector z.A necessary and sufficient condition for z to be integer estimable is thus that the transpose of the basis matrix D maps Z q onto Z q ( q = q − n v + 1).The following result provides the corresponding integer characterization of estimable ambiguity functions.
Theorem (Integer estimability) Let the functions z = DT z be estimable, i.e.D is a basis matrix of a subspace of R(P) ⊥ .Then z is integer estimable iff a Z-transformation (i.e.Z, Z −1 ∈ Z q×q ) exists such that DT Z = [0, I q ], with q being the dimension of the subspace of R(P) ⊥ .
For a proof, see "Appendix B".Using the result of this theorem, we can now verify that the transformations (20) are indeed admissible if both z1 and z2 are constructed as integer estimable ambiguity vectors.With DT T , which indeed are now both integer.The following example provides further insights into the condition DT Z = [0, I q ] of the theorem.
Example 1 (Multi-frequency combinations) In view of the recent multi-frequency modernized signals, several contributions propose 'combined' carrier-phase observations to reduce the impact of the ionosphere and/or to minimize the variance of the resultant combinations, see, e.g.(Richert and El-Sheimy 2007;Feng 2008;Cocard et al. 2008;Shu et al. 2017;Duong et al. 2019).We now show that care has to be exercised when forming multi-frequency carrierphase combinations.Using a geometry-free zero-baseline setup (Teunissen 1997), 20,000 DD ambiguity samples of the Galileo satellite pair E13-E26 have been collected on the three frequencies E1 (z 1 ), E5a (z 2 ) and E5b (z 3 ).The goal is to integer-resolve their multi-frequency combined version (Feng 2008).As the DD ambiguities z j ( j = 1, 2, 3) are estimable and integer, z is estimable and integer as well.However, z is not integer estimable since thereby not satisfying the condition DT Z = [0, I q ].This can also be understood from the fact z only takes 'even' numbers, i.e. z = 2(z 1 +2z 2 −3z 3 ).Figure 2 shows a histogram of fixed solutions for z (top) compared to those for the corresponding integer-estimable ambiguity Fig. 2 Histograms of 20,000 samples of the integer-resolved ambiguity z = 2z 1 + 4z 2 − 6z 3 (top) compared to those of its integer-estimable version z = z 1 + 2z 2 − 3z 3 (bottom).The samples are computed using a geometry-free zero-baseline setup (Curtin CUT0-CUT2 receivers, Trimble NetR9, 4 March 2019).The DD ambiguities z 1 , z 2 and z 3 correspond to the Galileo satellite pair E13-E26 on the three frequencies E1 (z 1 ), E5a (z 2 ) and E5b (z 3 ) almost double (22.7%), while all solutions are now admissible (as z can take any integer number).
Another important consequence of the theorem is that it shows how R (cf.18), and thereby C (cf. 17), needs to be chosen so as to guarantee that z is integer estimable.
In the next two sections, we show how this works out for GNSS networks, starting with the all-in-view case, followed by the general case.

Finding integer-estimable GNSS ambiguities: the all-in-view case
Finding representations for the required GNSS network matrices C, D, P and R is made simpler if we may assume the all-in-view case, i.e. when all n receivers of the network track all the m satellites.The number of UD ambiguities z s r (per frequency) is then equal to mn, and the network ambiguity graph attains its maximum number of edges q = mn.This 'all-in-view' situation is of course not always realized with large-scale networks (e.g.Fig. 4), meaning that in general q < mn.But to gain insight, it helps to start with the simpler case q = mn and thus assume that we are dealing with a sufficiently small network having an ambiguity graph that attains its maximum number of edges.

The reduced incidence matrix
If we define the network undifferenced (UD) ambiguity vector z ∈ R mn for the all-in-view case as for r = 1, . . ., n, the graph incidence matrix P, i.e. the design matrix of the phase-delays, is given as (Odijk et al. 2015) where e n denotes the n-vector of ones and ⊗ denotes the Kronecker matrix product (Henderson et al. 1983).The first n columns, i.e.I n ⊗ e m , form the design matrix of the receiver phase-delays [ δ1 , . . ., δn ] T , whereas the remaining m columns −e n ⊗ I m form the design matrix of the satellite phase-delays [ δ1 , . . ., δm ] T .As the reduced incidence matrix P can be obtained by removing the first column from P, we partition the identity matrix as in which the n-vector c n denotes the first column and the n × (n − 1) matrix C n contains the other (n − 1) columns of I n .By removing the first column of P in (23), the reduced incidence matrix P follows as (24)

Estimable ambiguities
It is now not difficult to find a basis matrix of the mn Then clearly D T n e n = 0 and D T m e m = 0.An mn×(m−1)(n− 1) basis matrix D, satisfying D T P = 0, follows therefore as As the (n − 1) × n matrix D T n forms between-receiver differences, while the (m −1)×m matrix D T m forms betweensatellite differences, the transpose of ( 26) is known as the double-differencing operator (Khodabandeh and Teunissen 2017).With D being a basis matrix of R(P) ⊥ , it follows from Lemma 1b that the entries of D T z form an independent set of estimable functions of the undifferenced ambiguities.We can therefore immediately conclude the following.
Corollary 1 (DD ambiguities) Functions of UD ambiguities are estimable iff they are double-differenced (DD) ambiguities or functions thereof.
This result shows that undifferenced (UD) and singledifferenced (SD) ambiguities are not estimable.This holds true not only for network ambiguity resolution, but also for single-receiver ambiguity resolution as, for instance, used in PPP-RTK (Ge et al. 2008;Laurichesse et al. 2009b;Odijk et al. 2015).PPP-RTK ambiguity resolution is thus not an undifferenced or a zero-difference ambiguity resolution (Laurichesse et al. 2009a;Collins et al. 2010), but one which is still of a double-differenced nature (see also Sect.7).
As estimability depends on the underlying model, estimability of parameters may change if assumptions of the underlying model change.The following gives such an example concerning ambiguity estimability.
Example 2 (Frequency-differenced ambiguities) Consider the ambiguity equations for a s r , j ( j = 1, 2) of a single receiver-satellite pair r -s, If we now change our underlying assumptions and assume that the phase-delays are not frequency dependent, but common for both frequencies j = 1, 2, i.e. δr, j = δr and δs , j = δs , then the above Eq.( 27) simplify to In this case, the rows of P are copies of one another, and the integer basis matrix (vector) D = [−1, +1] T fulfils D T P = 0, thus showing that estimable ambiguities will now be of frequency-differenced form, z s r ,2 − z s r ,1 , or functions thereof.

Constructing the Z-transformation
To find a representation for R such that [P, R] is a Ztransformation, note, since D of ( 26) is integer, that z = (D T R) −1 D T z will also be integer if we choose R to be a right-inverse of D, i.e.D T R = I q , q = (n − 1)(m − 1).Since the D n and D m of (25) satisfy D T n C n = I n−1 and D T m C m = I m−1 , the simplest such mn × q matrix R is given as As it can be verified that [P, R] is now indeed a Ztransformation satisfying D T [P, R] = [0, I q ], it directly follows from the theorem that D of (26) provides integer estimability and not only estimability.
The following example illustrates the importance of both [P, R] and [P, R] −1 being integer.
Example 3 ([P, R] −1 integer or not) Let the reduced incidence matrix be given as and choose R as R = [0, 0, 0, 1] T .Then [P, R] is integer having the integer inverse In the last row of the inverse matrix, we recognize D = [1, −1, −1, 1] T as a DD basis matrix that indeed guarantees integer estimability.Now, let the reduced incidence matrix P be augmented with another matrix, e.g.R = [0, 0, 0, 2] T .Then the corresponding inverse reads Although the last row of the inverse matrix, i.e.DT = [0.5, −0.5, −0.5, 0.5], is still of DD form, it now does not guarantee integer estimability.

Choosing the ambiguity S-basis
To find the corresponding ambiguity S-basis of (29), recall that its mn × (m + n − 1) basis matrix C satisfies C T R = 0 (cf.17).Since c T n C n = 0 and c T m C m = 0, both c n ⊗ I m and I n ⊗ c m have range spaces orthogonal to that of R.However, they are not linearly independent, since they have c n ⊗ c m in common.To avoid counting these twice, we eliminate one of them and thus obtain We can now determine how the integer-estimable ambiguity vector z ∈ Z (m−1)(n−1) and estimable phase-delay vector δ ∈ R m+n−1 are related to the original undifferenced ambiguities and phase-delays.With the above D (cf.26), R (cf.29) and C (cf. 33), they read as which works out in components as in which use is made of the differencing notations (.) 1s 1r = (.)1s − (.) 1r , (.) 1r = (.)r − (.) 1 and (.) 1s = (.)s − (.) 1 .
As C T z constitutes the ambiguity S-basis, the choice (33), that leads to the estimable functions (34), is given in components as This ambiguity S-basis is thus formed from the m + n − 1 edges that connect receiver r = 1 with all m satellites and the remaining n − 1 receivers with the first satellite s = 1.Such set of edges is called a spanning tree of the ambiguity graph.As we will see below, this approach of generating integerestimable ambiguities by choosing the edges of a spanning tree as ambiguity S-basis holds true for the general case as well.
Fig. 3 All 15 spanning trees of the ambiguity graph (in red), given in Fig. 1, that represent the 'pivot' edges.In each case, only two 'rover' edges (in blue) are left 6 Finding integer-estimable GNSS ambiguities: the general case

Spanning trees
As spanning trees play a pivotal role in automatically generating integer-estimable ambiguities by means of their choice of ambiguity S-basis, we first give their definition.
Definition (Spanning tree) A connected subgraph of a graph is called a spanning tree if it includes all of the vertices of the main graph, with minimum possible number of edges.
Spanning trees are not unique.Figure 3 shows all 15 spanning trees of the ambiguity graph given in Fig. 1.In each case, pivot edges (in red) form a spanning tree, leaving only two rover edges (in blue).With P being the reduced incidence matrix of the network and D an integer basis matrix that guarantees integer estimability, the total number of spanning trees of a network ambiguity graph is given by (cf.54 and 55 in "Appendices A and B") That the number of spanning trees of a graph is finite shows that ambiguity pivoting can be done in a 'finite' number of ways.Depending on the number of receivers and tracked satellites however, this finite number can be very large.
Example 4 (All-in-view case) One can substitute the 'all-inview' basis matrix D = D n ⊗ D m into the second expression of (36) to compute the total number of spanning trees of this particular graph.This yields The second equality follows from the matrix identity , whereas the third equality follows from the determinant identity det(A ⊗ B) = {det(A)} l {det(B)} k for any A ∈ R k×k and B ∈ R l×l .The last equality follows from det(D T n D n ) = n ("Appendix B").For instance, the ambiguity graph of a network of 20 receivers (n = 20), all commonly tracking 10 satellites (m = 10), has 20 9 × 10 19 = 5.12 × 10 30 different spanning trees.
Example 5 (General case) Figure 4 shows an ambiguity graph of 24 permanent stations (n = 24) tracking 12 GPS satellites (m = 12) over Australia.The number of edges, i.e. the number of UD ambiguities (per frequency), is q = 187.To compute the total number of spanning trees of the graph, one can form matrix P by removing the first column of the network's phase-delay design matrix P (cf.14).Given matrix P, we follow the first expression of (36) and compute det(P T P).Accordingly, the total number of spanning trees that the graph in Fig. 4 has is approximately 4.1579 × 10 31 .
Although the number of spanning trees can be very high, for our purpose of establishing integer estimability fortunately only one of them is needed.There exist several efficient algorithms to form a spanning tree, see, e.g.Kruskal's and Prim's algorithms (Kruskal 1956;Prim 1957;de Jonge 1998;Cormen et al. 2009).The spanning tree, shown in Fig. 4 (the red edges), has been formed using Prim's algorithm.

Ambiguity S-basis
Although the concept of integer estimability did not yet exist, de Jonge (1998) was the first to find that by fixing the edges of an ambiguity spanning tree, integer combinations of the network's undifferenced ambiguities could be computed, see also (Lannes and Prieur 2013).In the context of integer estimability, this can be formulated as follows.
Lemma 2 (Ambiguity S-basis) Choosing the edges of a spanning tree of an ambiguity graph as ambiguity S-basis automatically produces integer-estimable ambiguities.
As no general proof was given in de Jonge (1998), we give the proof here with the help of our integer estimability theorem.First note, since a spanning tree is a subgraph, that its reduced incidence matrix consists of rows of the reduced incidence matrix of the graph.Furthermore, since a spanning tree has a minimum number of edges, the reduced incidence matrix of a spanning tree is square and invertible.We can therefore always sort the edges of a connected ambiguity graph such that the first n v −1 rows of its q ×(n v −1) reduced incidence matrix P correspond with the edges of a spanning tree, to give P = [P T 1 , P T 2 ] T , where P 1 is the reduced incidence matrix of the spanning tree.And since a spanning tree's reduced incidence matrix and its inverse are both integer (see "Appendix A.3"), removing C = [I n v −1 , 0] T from [P, I q ] = [P, [C, R]] gives an integer matrix [P, R] that has an integer inverse as well, This shows, as D = [−P 2 P −1 1 , I q−n v +1 ] T satisfies the conditions of the theorem, that by choosing the ambiguity S-basis one automatically produces a D-matrix having the integer estimability properties.Thus more generally, this shows that by eliminating the columns of the unit matrix I q that correspond with the edges of the chosen spanning tree, the resulting q × q matrix R extends the reduced incidence matrix to a Z-transformation having the property that D of [P, R] −1 = [ C, D] T satisfies the required property of the theorem.
We now give a few examples to see this at work.
Example 6 (Spanning trees forming DD combinations) According to (15), the ambiguity vector z and the reduced incidence matrix P of the ambiguity graph in Fig. 1 read , and The goal is to extend the 7 × 5 matrix P into a square and invertible matrix, with integer inverse Let us choose the 'first' spanning tree given in Fig. 3. Accordingly, the pivot edges (in red) correspond to the ambiguities z 1 1 (1st edge), z 2 1 (2nd edge), z 2 2 (4th edge), z 3 2 (5th edge) and z 2 3 (6th edge).The corresponding 7 × 2 matrix R follows then by eliminating the first, second, fourth, fifth and sixth columns of the identity matrix I 7 .Inversion of [P, R] gives The corresponding integer-estimable ambiguities DT z are thus formed as follows in which use is made of the differencing notations (.) 1r = (.)r − (.) 1 and (.) 1s = (.)s − (.) 1 .As shown, both the integerestimable ambiguities −z 12 12 and z 23 23 are of the DD form.These DD ambiguities correspond to the rover ambiguities z 1 2 (third edge) and z 3 3 (seventh edge), i.e. the edges in blue.Now let us, instead of the 'first' spanning tree, choose the 'tenth' spanning tree in Fig. 3. Accordingly, the rover ambiguities (edges in blue) become z 1 1 (first edge) and z 2 2 (fourth edge).The corresponding 7 × 2 matrix R follows then by selecting the first and fourth columns of the identity matrix The corresponding integer-estimable ambiguities DT z are thus formed as follows

Relation to PPP-RTK
So far, our discussion was restricted to typifying integer estimability for ambiguity resolution in a network of GNSS receivers.PPP-RTK, however, is a precise point positioning concept that allows users of a single receiver to apply ambiguity resolution as well, see, e.g.(Ge et al. 2008;Laurichesse et al. 2009b;Collins et al. 2010;Teunissen et al. 2010;Odijk et al. 2015).In this section, we will show how this can be reconciled with Corollary 1.We show, by means of an application of the theorem, that PPP-RTK ambiguity resolution is to be interpreted as a special case of network ambiguity resolution.

Network + single − receiver user
As before, a network of n receivers is tracking m satellites.Let a user with a single receiver u track m u out of those m satellites (s = 1, . . ., m).Thus, m u ≤ m.Similar to (12), we can write for the user ambiguities and phase-delays we can write, similar to (16), in vector-matrix form where δ u = δu − δ1 .As δ u is present in all m u user ambiguities a j u , the associated design matrix is given as the vector of ones e m u .The coefficient matrix P u links δ, given in ( 16), to the user ambiguity vector a u .
Note that the first (n − 1) entries of δ are the network receiver phase-delays δ r (r = 2, . . ., n) that are not present in a u (cf.15).Thus, the first (n − 1) columns of P u are zeros.Only m u columns out of the remaining m columns of P u are nonzeros.These m u nonzero columns form the identity matrix I m u that correspond to the m u satellites tracked by the user receiver u.This shows that the m u × (n v − 1) matrix P u has m u independent columns, meaning that there is no nonzero vector d that can fulfil d T P u = 0.In other words, as no basis matrix D with the property D T P u = 0 can be found, one must conclude with reference to Lemma 1b that no estimable functions of the integer user ambiguities z u exist.This proves the following.
Corollary 2 Unaided single-receiver integer ambiguity resolution is not possible.
As unaided single-receiver ambiguity resolution is not possible, we now bring the network into play.Combining ( 16) and ( 44 This set of q + m u equations is the equivalent to (16), i.e. it can again be seen as a set of network equations but now of a network that includes the user receiver.The (q +m u )×(n v − 1 + 1) matrix P + can thus be seen as the reduced incidence matrix of this extended network.It is therefore this matrix that in combination with the theorem will determine whether or not functions of the integer ambiguities are integer estimable.

Integer recovery of real-valued ambiguities
Writing (45) as we note that the rank defect of the (q Thus, the addition of the user receiver increased the rank defect by 1, which implies that the dimension of the S-basis needs to be increased by 1 as well.A simple choice would be to take the one of the network (i.e.replace [P, I q ] by [P, R]) and include the user phase-delay δ u in it (i.e.replace [e m u , I m u ] by I m u ).This would then indeed result in estimable parameters and even in an integer matrix with integer inverse.However, this would not result in integer-estimable ambiguities, since the inclusion of the user phase-delay in the S-basis implies that one is not taking functions of only the integer ambiguities.
The elimination of the additional rank defect thus needs to be found in reducing the I m u -matrix of ( 46) to rank m u − 1.The simplest such choice is to have one of the user integer ambiguities, say the first z 1 u , become part of the extended S-basis, thus replacing I m u by C m u .The resulting full-rank system, parametrized in estimable parameters, reads then It is easily verified with the use of T that also the integer coefficient matrix Z of ( 47) has an integer inverse.The system (47) can therefore be seen as the 'network + user' extension of ( 18).
If we now solve (47) for the estimable user phase-delay δu and integer-estimable user ambiguities zu , we obtain This result now clearly shows the integer-recovery role that is played by the network-determined satellite phase-delays.By adding the estimable satellite phase-delays of the usertracked satellites, −P u δ (note that the nonzero entries of P u are negative), to the real-valued user ambiguities a u , one obtains, after taking satellite differences through D T m u , the integer-estimable user ambiguities zu .

Integer-estimable user ambiguities interpreted
We will now prove the following.
Corollary 3 (PPP-RTK) Single-receiver ambiguity resolution is a special case of network ambiguity resolution.
For the proof, we will express zu of (48) in the original undifferenced integer ambiguities z and z u .Substitution of ( 44) and δ = δ + (C T P) −1 C T z of ( 19) into (48) gives This shows that the integer-estimable user ambiguities not only depend on the user ambiguities z u , but by default also on the network ambiguities z.That it is this combination that makes zu integer estimable follows directly from the theorem by recognizing that the combinations of (49 In (49), we recognize that the network contribution to the integer-estimable user ambiguities is actually given by the network's ambiguity S-basis C T z.Would one then, for instance, choose (35) as network S-basis, the components of (49) would work out as zu := [z pi 1u ], with p the user-defined reference satellite and i running through the remaining m u −1 user-tracked satellites.This shows that the integer ambiguity resolution of the user ambiguity vector zu is thus always one of double-differenced form (cf. Corollary 1).Hence, whether or not z would have been resolved as integer, the separate PPP-RTK ambiguity resolution of the integer-estimable single-receiver user ambiguities zu is actually one of partial network ambiguity resolution.

Conclusions
As the undifferenced approach to GNSS requires the accounting for rank deficiencies, a proper understanding of the concept of estimability is essential, since different sets of estimable parameters exist, each with their own interpretation.In all studies until now, the standard concept of estimability was employed, which, as we have shown in this contribution, is too limited when dealing with rank-defect models that have parameters of which some are integer.Integer estimability is namely not guaranteed by merely asking of the estimable functions that they are integer.We therefore generalized the concept of estimability to integer estimability and determined the necessary and sufficient conditions that need to be satisfied for parameter functions to be integer estimable.
We showed that an independent set of ambiguity functions are integer estimable if and only if they are integer, nullify the incidence matrix and together with the S-basis can be brought into the form of an admissible ambiguity transformation.These findings were then applied and worked out, first for 'all-in-view' networks and then for the general case.It was hereby proven that functions of undifferenced ambiguities are estimable if and only if they are in double-differenced form and that spanning trees of the network ambiguity graph, when chosen as S-basis, automatically produce integer-estimable ambiguity functions.
We also applied the concept of integer estimability and its rulings to PPP-RTK, thereby demonstrating that also the integer-estimable PPP-RTK user ambiguities are of double-differenced form and that PPP-RTK's single-receiver ambiguity resolution should be seen as a special case of network ambiguity resolution.

A.1 Spanning trees of a graph
Connected graphs An undirected graph can be represented by the pair G = (V, E), where V = {1, . . ., n v } and E ⊂ {(r , s) | r , s ∈ V} are the 'vertex set' and the 'edge set', respectively.Each edge, as a link between two vertices r and s of graph G, is denoted by the unordered pair (r , s) ∈ E. As  , c, d, e, f) compared to a graph that is not connected (a).Graph (a) is not connected because there is no path between vertices 1 and 2. Graphs (b) and (c) are connected, but not trees.They are not trees because there exist more than one path between the vertices.For instance, there exist four paths between vertices 1 and 3 in graph (b): path 1-3, path 1-2-3, path 1-5-3 and path 1-2-4-3.All the connected graphs (d), (e) and (f) are trees, since there is only one path between every two vertices the edge set E is not necessarily equal to {(r , s) | r , s ∈ V}, edges between any two vertices of G can be absent.If there is no edge between two vertices r and s, these vertices could still be linked to each other through a set of edges (i.e. a path).The graph G is said to be connected if every vertex is linked to all other vertices at least through one path.If any two vertices of the connected graph G are connected exactly through one path, then G is called a tree.Thus, a tree with n v vertices contains n v − 1 edges.Figure 5 shows examples of connected graphs compared to the one which is not connected.

Spanning subgraphs and trees. Graph
Thus, the subgraph T contains no vertices or edges which are not in G.The subgraph T is called a spanning subgraph of G if it contains every vertex of G, i.e. if V T = V.If the spanning subgraph T is a tree, then it is called a spanning tree.

A.2 The incidence matrix of a graph
Oriented incidence matrices.Let the graph G, with vertices j ( j = 1, . . ., n v ), contain n e edges indexed with i (i = 1, . . ., n e ).The (edge-vertex) incidence matrix of G is then defined as P = [p i j ], where p i j = ⎧ ⎨ ⎩ −1, if edge i originates at vertex j +1, if edge i terminates at vertex j 0, if edge i is not incident with vertex j (50) Thus, P is an n e × n v matrix.Each row (column) corresponds to an edge (a vertex).Every row of P contains only two nonzero entries; one entry is −1, and another is +1.Whether an edge originates or terminates at an incident vertex is conventional, that is, the orientation of the edges can be chosen arbitrary.For instance, in Sect.3, the orientation has been chosen so that the edges originate at 'satellites' and terminate at 'receivers'.Rank of incidence matrices The incidence matrices have rowsums equal to zero, i.e. n v j=1 p i j = 0 (i = 1, . . ., n e ).Thus, the vector of ones e n v nullifies P, i.e.Pe n v = 0.This implies that rank( P) ≤ n v − 1 for any graph G (51) Assume that there is another nonzero vector x = [x 1 , . . ., x n v ] T which also nullifies P. As every row of P contains exactly one entry equal to −1 and another equal to +1, we have x k − x j = 0 for every edge ( j, k).As a result, if there exists a path between two vertices r and s, then we have x r = x s .Thus, for a connected graph we have x r = x s for any two vertices r and s, showing that vector x is just a scaled version of e n v , i.e. rank( P) = n v − 1.If the graph is not connected, then the graph can be partitioned into multiple, say κ, connected subgraphs.In that case, we have rank( P) = n v − κ.Thus, rank( P) = n v − 1 ⇐⇒ for any connected graph G (52) Reduced incidence matrices The reduced incidence matrix P, of size n e × (n v − 1), is structured by eliminating an arbitrary column of P. The rank of P is equal to that of P.
To see this, let S be an n v × (n v − 1) matrix that is formed by eliminating an arbitrary column of the identity matrix I n v .
With P = P S, we have The third equality follows from the equality Pe n v = 0, while the fourth (last) equality follows from the non-singularity of the square matrix [S, e n v ].Thus, the reduced incidence matrix of a connected graph is of full-column rank.

A.3 Kirchhoff's matrix-tree theorem
Unimodularity of reduced incidence matrices The determinant of any square submatrix of P is either 0 or ±1.Matrices with such a property are said to be totally unimodular.The proof is as follows.Let Q be an arbitrary square submatrix of P. Matrix Q may have row-sums equal to zero, or it may have a zero row.In both cases, det(Q) = 0. Otherwise, Q has a row with only one nonzero entry (which must be ±1).Expanding the determinant of Q along that row gives det(Q) = ±det(Q ), where Q is a lower-dimension square submatrix of P. Likewise, det(Q ) = 0, or it has a row with only one nonzero entry equal to ±1.By a repeated application of the above determinant expansion, it follows that the determinant of Q is either 0 or ±1.
The total number of spanning trees in a graph Let P be the reduced incidence matrix of graph G with n v vertices.Any square submatrix of P, of size (n v − 1) × (n v − 1), is itself a reduced incidence matrix of a spanning subgraph of G.The corresponding spanning subgraph, say T , has (n v −1) edges.Thus, T is a spanning tree, if it is connected.In that case, the subgraph T corresponds to a nonsingular submatrix with a determinant equal to ±1 (cf.52 and 53).Otherwise, T is not connected, i.e. the corresponding submatrix has a determinant equal to zero.These submatrices do therefore enable one to compute the total number of spanning trees in graph G. Let such submatrices be given by Q i (i ∈ C), where the set C contains all (n v −1)-element subsets of {1, . . ., n e }.The total number of spanning trees in graph G can then be given by The second equality follows from the identity det(Q i T) = det(Q i ).The third (last) equality follows from a direct application of the Cauchy-Binet determinant identity, see, e.g.(Vein and Dale 1999).The result presented in ( 54) is known as the matrix-tree theorem.

B Supplementary proofs
Proof of the Theorem (⇒) If DT Z = [0, I q ], with Z, Z −1 ∈ Z q×q , then for any integer z a corresponding integer solution u = Z −1 z ∈ Z q of z = ( DT Z)u exists and thus also of z = DT z. (⇐) Let DT Z = [0, H ] be the Hermite normal form of DT .Then H −1 z = [0, I q ]Z −1 z, from which it follows that an integer solution z exists for every integer z only if H −1 is integer, which by virtue of the structure of the Hermite normal form implies that H = I q .

Fig. 4
Fig. 4 An example of an ambiguity graph.a A network of 24 GPS permanent stations (solid triangles) over Australia; b the corresponding ambiguity graph on 8 February 2015, GPS time 00:00:00.The vertex

Fig. 5
Fig. 5Examples of connected graphs (b, c, d, e, f) compared to a graph that is not connected (a).Graph (a) is not connected because there is no path between vertices 1 and 2. Graphs (b) and (c) are connected, but not trees.They are not trees because there exist more than one path between the vertices.For instance, there exist four paths between vertices 1 and 3 in graph (b): path 1-3, path 1-2-3, path 1-5-3 and path 1-2-4-3.All the connected graphs (d), (e) and (f) are trees, since there is only one path between every two vertices rank(P) = rank( P S) = rank([ P S, 0]) = rank( P[S, e n v ]) = rank( P)