Global orientation ambiguity in a rank-one covariance fit means that covariance identifies an axis without identifying its positive direction. For and ,because . Adding an isotropic transverse-noise term does not remove this equality. The angular resolution set by transverse spectral noise can make each local orientation lobe narrow while leaving the two directed orientations indistinguishable.
For an original example, let and . Both and giveThe eigenvalues are four and zero, and the principal eigenvector can be written as either or its negative. More samples can improve estimation of this matrix without choosing between those signs.
In a zero-mean Gaussian covariance model, equal covariance gives equal probability laws, including the supported line in the singular case.[ref]
SciPy 1.16.2 documentation. scipy.stats.multivariate_normal, mean/cov parameters and Notes on singular covariance
No fitting procedure using only that law can distinguish the two parameter labels. A fitting range removes duplicate labels by convention; it does not measure the sign of a physical direction.For example, local high-likelihood neighborhoods around and may each span only a few degrees. Reporting only the first as uncertainty in a directed angle discards an equally supported region unless additional information rules it out. A prior or coordinate convention that selects one sign should be distinguished from an experimental observation.
Sign-sensitive measurements that resolve a covariance-axis ambiguity can supply information outside the covariance-only model, such as an independently calibrated signed mean or phase reference. If the scientific quantity is genuinely an unoriented axis, an angle modulo is already the appropriate parameter. The interpretation of the parameter determines whether the ambiguity needs resolving.
The transverse-noise limit of a rotating rank-one covariance model describes how an ordinary two-dimensional noise distribution concentrates onto a line as one physical noise scale tends to zero. For orthonormal vectors , setA zero-mean Gaussian observation has densityThe pseudoinverse fitting with a parameter-dependent covariance range article explains the range restriction at the exactly singular endpoint.
For a fixed point off the line, , the exponential drives this density to zero as . On the line the two-dimensional density grows like . There is no finite pointwise two-dimensional density limit: probability concentrates onto a one-dimensional Gaussian measure. A density on that line uses a different reference measure. Simply substituting zero for in the full-rank density formula is invalid.
For an original angular example, let an observed vector have length along orientation , with and . At angular displacement ,At radians the density ratio is about . The angular resolution set by transverse spectral noise has characteristic small-angle scale radians, or , when the transverse noise is much smaller than the longitudinal noise.
SciPy's pinned implementation treats singular covariance using its rank and a separate numerical support check, rather than only discarding zero eigenvalues in a quadratic.[ref]
SciPy 1.16.2 documentation. scipy.stats.multivariate_normal, Notes; v1.16.2 scipy/stats/_multivariate.py, _PSD._support_mask and pdf/logpdf
Numerical support tolerance and actual transverse measurement noise are different quantities. Choose the latter from the detector and processing model; a tiny arbitrary regularization can otherwise imply unjustified angular precision.