NormalEquation

This class provides a system of normal equations. This total system is the weighted sum of individual normals. \[ \M N_{total} = \sum_{k=1} \frac{1}{\sigma_k^2}\M N_k \qquad\text{and}\qquad \M n_{total} = \sum_{k=1} \frac{1}{\sigma_k^2} \M n_k. \]The normals do not need to have the same dimension. The dimension of the total combined system is chosen to cover all individual systems. For each normal a startIndex is required which indicates the position of the first unknown of the individual normal within the combined parameter vector.

The $\sigma_k$ of the relative weights are defined by aprioriSigma in a first step. If an apriori solution inputfileApproxSolution is given or the normals are solved iteratively the weights are determined by means of variance compoment estimation (VCE), see NormalsSolverVCE: \[ \sigma_k^2 = \frac{\M e_k^T\M P\M e_k} {n_k-\frac{1}{\sigma_k^2}\text{trace}\left(\M N_k\M N_{total}^{-1}\right)}, \]where $n_k$ is the number of observations. The square sum of the residuals is calculated by \[ \M e_k^T\M P\M e_k = \M x^T\M N_k\M x - 2\M n_k^T\M x + \M l_k^T\M P_k\M l_k. \]The system of normal equations can be solved with several right hand sides at once. But only one right hand side, which can be selected with the index rightHandSide (counting from zero), can be used to compute the variance factors. The combined normal $\M N_{total}$ and the solution $\M x$ are taken from the previous iteration step. In case of DesignVCE the algorithm is a little bit different as described below.

Design

This class acculumates normal equations from observation equations. The class observation computes the linearized and decorrelated equation system for each arc $i$: \[ \M l_i = \M A_i \M x + \M B_i \M y_i + \M e_i. \]The arc depending parameters $\M y_i$ are eliminated and the system of normal equations is acculumated according to \[ \M N = \sum_{i=1}^m \M A_i^T \M A_i \qquad\text{and}\qquad \M n = \sum_{i=1}^m \M A_i^T \M l_i. \]

NameTypeAnnotation
observation
observation
aprioriSigma
double
startIndex
uintadd this normals at index of total matrix (counting from 0)
inputfileArcList
filenameto accelerate computation

DesignVCE

This class acculumates normal equations from observation equations. The class observation computes the linearized and decorrelated equation system for each arc $i$: \[ \M l_i = \M A_i \M x + \M B_i \M y_i + \M e_i. \]The arc depending parameters $\M y_i$ are eliminated and the system of normal equations is acculumated according to \[ \M N = \sum_{i=1} \frac{1}{\sigma_i^2}\M A_i^T \M A_i \qquad\text{and}\qquad \M n = \sum_{i=1} \frac{1}{\sigma_i^2} \M A_i^T \M l_i. \]The variance $\sigma_i^2$ of each individual arc is determined by \[ \sigma_i^2 = \frac{(\M l_i-\M A_i\M x)^T(\M l_i-\M A_i\M x)} {n_i-\frac{1}{\sigma_i^2}\text{trace}\left(\M A_i^T \M A_i\M N_{total}^{-1}\right)}, \]where $n_i$ is the number of observations. If an apriori solution is not given at the first iteration step a zero vector is assumed.

NameTypeAnnotation
observation
observation
startIndex
uintadd this normals at index of total matrix (counting from 0)
inputfileArcList
filenameto accelerate computation

File

Reads a system of normal equations from file inputfileNormalEquation as generated by e.g. NormalsBuild.

NameTypeAnnotation
inputfileNormalEquation
filename
aprioriSigma
double
startIndex
uintadd this normals at index of total matrix (counting from 0)

Regularization

Set up a system of normal equations \[ \M N = \M R \qquad\text{and}\qquad \M n = \M R \M b, \]where $\M R$ is a diagonal matrix whose elements are given as a vector by inputfileDiagonalMatrix and $\M b$ is the right hand side towards which will be regularized. It can be given by inputfileBiasVector. The diagonal matrix can be generated with NormalsRegularizationBorders, NormalsRegularizationSphericalHarmonics, or MatrixCalculate. If $\M R$ is not given a unit matrix is assumed. The right hand side $\M b$ may be generated with Gravityfield2SphericalHarmonicsVector. If $\M b$ is not given a zero vector is assumed.

NameTypeAnnotation
inputfileDiagonalMatrix
filenameVector with the diagonal elements of the weight matrix
inputfileBias
filenameMatrix with right hand sides
aprioriSigma
double
startIndex
uintregularization of parameters starts at this index (counting from 0)

RegularizationGeneralized

Generalized regularization which is represented by the observation equation \[ \mathbf{x}_0 = \mathbf{I} \mathbf{x} + \mathbf{v}, \mathbf{v} \sim \mathcal{N}(0, \sum_k \sigma^2_k \mathbf{V}_k). \] There are no requirements for partial covariance matrices $\mathbf{V}_k$ except for them being symmetric. The accumulated covariance matrix $\sum_k \sigma^2_k \mathbf{V}_k$ must be positive definite however. The variance components $\sigma^2_k$ are estimated during the adjustment process and are assumed to be positive. All inputfilePartialCovarianceMatrix must be of same size and must match the dimension of inputfileBiasMatrix (if provided, otherwise a zero vector of appropriate dimensions is created).

The parameter aprioriSigma determines the initial variance factor for the partial covariance matrices. Either one $\sigma_0$ can be supplied or one for each $\mathbf{V}_k$.

The regularization matrix can be applied to a subset of parameters by adjusting startIndex.

NameTypeAnnotation
inputfilePartialCovarianceMatrix
filenamesymmetric matrix (sum of all matrices must be positive definite)
inputfileBiasMatrix
filenamebias vector (default: zero vector)
aprioriSigma
doubleapriori sigmas for initial iteration (default: 1.0)
startIndex
uintregularization of parameters starts at this index (counting from 0)