# General Total Least Squares Theory for Geodetic Coordinate Transformations
## 3 A Fixed-Point Solution to the Constrained TLS Problem  
In order to solve the constrained TLS optimization problem:  
\[\begin{array}{l}\min\ \mathbf{e}^{T}\mathbf{Q}^{-1}\mathbf{e}\\ \text{subject to}\ \mathbf{y}-\mathbf{A}\mathbf{\xi}+\mathbf{E}_{\mathbf{A}} \mathbf{\xi}-\mathbf{e}_{\mathbf{y}}=0\\ \text{and}\ \ \ \mathbf{c}(\mathbf{\xi})=0,\end{array} \tag{19}\]  
the traditional Lagrange approach [20] is applied as follows:  
\[\begin{array}{l}\Phi(\mathbf{e},\boldsymbol{\lambda},\mathbf{\xi},\mathbf{ \mu})=\mathbf{e}^{T}\mathbf{Q}^{-1}\mathbf{e}+2\boldsymbol{\lambda}^{T}\Big{(} \mathbf{y}-\mathbf{A}\mathbf{\xi}+\mathbf{E}_{\mathbf{A}}\mathbf{\xi}-\mathbf{ e}_{\mathbf{y}}\Big{)}+2\mathbf{\mu}^{T}\mathbf{c}(\mathbf{\xi})\\ =\mathbf{e}^{T}\mathbf{Q}^{-1}\mathbf{e}+2\boldsymbol{\lambda}^{T}(\mathbf{y}- \mathbf{A}\mathbf{\xi}+\mathbf{B}\mathbf{e})+2\mathbf{\mu}^{T}\mathbf{c}( \mathbf{\xi}),\end{array} \tag{20}\]  
where \(\boldsymbol{\lambda}\) and \(\mathbf{\mu}\) are the vectors of the Lagrange multipliers associated with the functional part of the EIV model and the constraints, respectively. The matrix \(\mathbf{B}_{n\times n(u+1)}=\left[\mathbf{\xi}^{T}\otimes\mathbf{I}_{n},- \mathbf{I}_{n}\right]\) is expressed via Kronecker product operator.  
By calculating the first derivative of Equation (21), the necessary condition of the objective function (20) is given as follows:  
\[\frac{1}{2}\frac{\partial\Phi}{\partial\mathbf{\xi}}\Big{|}_{\mathbf{\xi}, \mathbf{\xi},\mathbf{\lambda},\mathbf{\mu}}=-\mathbf{A}^{T}\mathbf{\lambda}+ \mathbf{E}_{\mathbf{A}}^{-T}\mathbf{\lambda}+\mathbf{C}^{\  
of the target system \(\left[\begin{array}{cc}\mathbf{x}_{t}&\mathbf{y}_{t}&\mathbf{z}_{t}\end{array}\right]\), and the corresponding stochastic information are given as input data. Note that the algorithm for 2D transformations is the simplified version of the 3D case and is therefore omitted here.  
Through Equation (12), the coefficient matrix \(\mathbf{A}\) and the observation vector \(\mathbf{y}\) can be established as:  
\[\begin{array}{l}\mathbf{y}=\left[\begin{array}{cc}\mathbf{x}_{t}^{T}& \mathbf{y}_{t}^{T}&\mathbf{z}_{t}^{T}\end{array}\right]^{T}\\ \mathbf{A}=\left[\mathbf{I}_{3}\otimes\left[\begin{array}{cc}\mathbf{x}_{s}^{T }&\mathbf{y}_{s}^{T}&\mathbf{z}_{s}^{T}\end{array}\right],\mathbf{I}_{3}\otimes 1 \right]\end{array} \tag{38}\]  
According to Equation (18), we propagate the cofactor matrix \(\mathbf{Q}\) of the matrix \(vec(\left[\begin{array}{cc}\mathbf{A}&\mathbf{y}\end{array}\right])\) by the dispersion matrix of the target and source coordinates. The a priori dispersion matrix of the target and source coordinates is usually given by the instrument precision or the precision determined by adjustment in the previous period.  
The transformation kinds define the constraints. For affine transformation, no constraints are available. For orthogonal, similarity, and rigid transformations, the constraints are defined according to (13), (14), and (15), respectively.  
After the abovementioned preprocessing, we can present the input for the computation:  
**Input (the available conditions):**  
* Coefficient matrix \(\mathbf{A}\) with dimensions \(n\times u\).
* Observation vector \(\mathbf{y}\) with dimensions \(n\times 1\).
* Cofactor matrix \(\mathbf{Q}\) with dimensions \((u+1)n\times(u+1)n\).
* If constraints exist, multiple quadratic constraints \(\mathbf{c}(\mathbf{\xi})=0\) are given.  
From the given input, we calculate the initial value of the parameter vector using \(\overset{\overset{\  
Finally, we present the estimate of the parameter vector \(\hat{\mathbf{\xi}}:=\hat{\mathbf{\xi}}\) and the corresponding variance-covariance matrix as **the final output**. In order to illustrate the entire computation process, we give the following flow chart of the algorithm for all kinds of transformations in Figure 1.  
Figure 1: A flow chart of the constrained/unconstrained total least squares algorithm for all kinds of coordinate transformations.