= Transverse-noise limit of a rotating rank-one covariance model
{title2=$C_{\theta,\epsilon}=\sigma^2\mathbf u_\theta\mathbf u_\theta^T+\epsilon^2\mathbf v_\theta\mathbf v_\theta^T$}
The \b[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 $\mathbf u_\theta,\mathbf v_\theta$, set
$$
C_{\theta,\epsilon}=\sigma^2\mathbf u_\theta\mathbf u_\theta^T+\epsilon^2\mathbf v_\theta\mathbf v_\theta^T,\qquad \sigma,\epsilon>0.
$$
A zero-mean Gaussian observation has density
$$
p_\epsilon(\mathbf y\mid\theta)=\frac1{2\pi\sigma\epsilon}
\exp\left[-\frac12\left(\frac{(\mathbf u_\theta^T\mathbf y)^2}{\sigma^2}+\frac{(\mathbf v_\theta^T\mathbf y)^2}{\epsilon^2}\right)\right].
$$
The <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, $\mathbf v_\theta^T\mathbf y\ne0$, the exponential drives this density to zero as $\epsilon\downarrow0$. On the line the two-dimensional density grows like $1/\epsilon$. 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 $\epsilon$ in the full-rank density formula is invalid.
For an original angular example, let an observed vector have length $R=3$ along orientation $\theta_0$, with $\sigma=1$ and $\epsilon=0.06$. At angular displacement $\delta=\theta-\theta_0$,
$$
\log\frac{p_\epsilon(\mathbf y\mid\theta)}{p_\epsilon(\mathbf y\mid\theta_0)}
=-\frac{R^2\sin^2\delta}{2}\left(\epsilon^{-2}-\sigma^{-2}\right).
$$
At $\delta=0.02$ radians the density ratio is about $0.608$. The <angular resolution set by transverse spectral noise> has characteristic small-angle scale $\epsilon/R\approx0.02$ radians, or $1.15^{\circ}$, 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.<SciPy 1.16.2 documentation>[scipy.stats.multivariate_normal, Notes; v1.16.2 scipy/stats/_multivariate.py, _PSD._support_mask and pdf/logpdf]{ref} 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.
Back to article page