# A Parallel Approach for Multi-GNSS Ultra-Rapid Orbit Determination
## 2 Methodology
### Parallel Parameter Elimination Based on OpenMP  
The parameters to be estimated in the GNSS observation equation of POD include station coordinate parameters, satellite orbit parameters, tropospheric parameters, ambiguity parameters, and earth rotation parameters. Usually, only some of these parameters are of concern to us, and the other parameters can be eliminated to improve the computational efficiency [41]. Equivalent elimination is a classic algorithm that can reduce the dimensionality of normal equations without a precision loss ([PERSON] 2004). The error equation can be expressed as:  
\[v=L-(\begin{array}{cc}A&B\end{array})\left[\begin{array}{c}\hat{x}_{1}\\ \hat{x}_{2}\end{array}\right],P, \tag{5}\]  
where \(L\) is the observation vector of dimension m, \(A\) and \(B\) are the design matrices of dimension \(m\times(n-r)\) and \(m\times r\), \(\hat{x}_{1}\) and \(\hat{x}_{2}\) are unknown parameters of dimension \(n-r\) and \(r\), \(v\) is the residual error matrix of dimension \(m\), \(n\) is the number of unknowns, \(m\) is the number of observations, and \(P\) is the weight matrix of dimension \(m\times m\).  
The parameters in the equation are decomposed into \(\left[\begin{array}{c}\hat{x}_{1}\\ \hat{x}_{2}\end{array}\right]\) as needed, taking into account the correlation between the observations. The normal equations are:  
\[\left[\begin{array}{cc}N_{11}&N_{12}\\ N_{21}&N_{22}\end{array}\right]\left[\begin{array}{c}\hat{x}_{1}\\ \hat{x}_{2}\end{array}\right]=\left[\begin{array}{c}b_{1}\\ b_{2}\end{array}\right] \tag{6}\]  
where  
\[\left[\begin{array}{cc}N_{11}&N_{12}\\ N_{21}&N_{22}\end{array}\right]=\left[\begin{array}{cc}A^{T}PA&A^{T}PB\\ B^{T}PA&B^{T}PB\end{array}\right] \tag{7}\]  
\[b_{1}=A^{T}PL,b_{2}=B^{T}PL \tag{8}\]If only \(x_{1}\) is concerned, \(x_{2}\) can be eliminated in order to reduce the dimension of the normal equation; \(\left[\begin{array}{cc}E&-Z\\ 0&E\end{array}\right]\) is defined, where \(E\) is the identity matrix, 0 is the zero matrix, \(Z=N_{12}N_{22}^{-1}\), and \(N_{22}^{-1}\) is the inverse matrix of \(N_{22}\). The left and right sides of (8) are multiplied by the matrix as follows:  
\[\left[\begin{array}{cc}E&-Z\\ 0&E\end{array}\right]\left[\begin{array}{cc}N_{11}&N_{12}\\ N_{21}&N_{22}\end{array}\right]\left[\begin{array}{cc}\hat{x}_{1}\\ \hat{x}_{2}\end{array}\right]=\left[\begin{array}{cc}E&-Z\\ 0&E\end{array}\right]\left[\begin{array}{cc}b_{1}\\ b_{2}\end{array}\right] \tag{9}\]  
\[\left[\begin{array}{cc}N_{1}&0\\ N_{21}&N_{22}\end{array}\right]\left[\begin{array}{cc}\hat{x}_{1}\\ \hat{x}_{2}\end{array}\right]=\left[\begin{array}{cc}R_{1}\\ b_{2}\end{array}\right] \tag{10}\]  
where \(N_{1}=N_{11}-N_{12}N_{22}^{-1}N_{21}\), \(R_{1}=b_{1}-N_{12}N_{22}^{-1}b_{2}\). Then the normal equation after elimination is:  
\[N_{1}\hat{x}_{1}=R_{1} \tag{11}\]  
The solution of the normal equation is:  
\[\hat{x}_{1}=N_{1}^{-1}R_{1} \tag{12}\]  
\[Q_{\hat{x}_{1}\hat{x}_{1}}=(N_{11}-N_{12}N_{22}^{-1}N_{21})^{-1}=N_{11}^{-1}+N _{11}^{-1}N_{21}(N_{22}-N_{12}N_{11}^{-1}N_{12})^{-1}N_{12}N_{11} \tag{13}\]  
Equation (12) is substituted into (5):  
\[\hat{x}_{2}=N_{22}^{-1}(b_{2}-N_{21}\hat{x}_{1}) \tag{14}\]  
\[Q_{\hat{x}_{2}\hat{x}_{2}}=N_{22}^{-1}+N_{22}^{-1}N_{21}(N_{11}-N_{12}N_{22}^ {-1}N_{21})^{-1}N_{12}N_{22}^{-1} \tag{15}\]  
When the number of observation equations and parameter dimensions is very large, the parameter elimination is time-consuming. In order to further improve computational efficiency, parallel optimization using OpenMP technology for parameter elimination is adopted.  
When the initial orbit parameters and the force model parameters are determined by using LS estimation, the orbit of the entire arc will be updated in the order of epoch and satellite by using orbit integration. As with the the above-mentioned, we use the parallel orbit integration method to update the final orbit sequence.