# Covariance of an uncertain vector going through an uncertain transformation

Let's have two vectors $$\mathbf \omega \in \mathbb R^3$$, $$\mathbf \theta \in \mathbb R^3$$ and their associated covariance, $$\Sigma_{\omega} \in \mathbb R^{3\times3}$$ and $$\Sigma_{\theta} \in \mathbb R^{3\times3}$$ respectively. A function $$\mathbf{R}(\cdot): \mathbb{R}^3 \mapsto \mathbb{R}^{3\times3}$$ defined as :

$$\mathbf{R}(\mathbf{x})=\: \mathbf{I}_{3} \:+ \: \sin \left \| \mathbf{x} \right \| \left [ \frac{\mathbf{x}}{\left \| \mathbf{x} \right \|} \right ]_{\times} \:+ \: (1-\cos \left \| \mathbf{x} \right \|) \left [ \frac{\mathbf{x}}{\left \| \mathbf{x} \right \|} \right ]_{\times}$$

with $$\left [\cdot \right ]_{\times}$$ the "cross product matrix". (Function R is known as Rodrigues' formulae for 3D rotations).

Given that $$\mathbf{\alpha}= \mathbf{R}(\mathbf{\theta})\,*\,\mathbf \omega$$, $$\mathbf \;\alpha \in \mathbb R^3$$, what is the covariance of $$\mathbf{\alpha}$$, $$\:\Sigma_{\mathbf{\alpha}}$$?

I'm a bit puzzled on how to handle this problem. Shoud I introduce little perturbations and come back to the very definition of the covariance? In that case, how do I compute $$E[\mathbf{X}\mathbf{X}^{\intercal}]$$?

Thank you very much for your help.

• Because$$\alpha:\mathbb{R}^6 \approx\mathbb{R}^3\otimes \mathbb{R}^3 \to \operatorname{Mat}(\mathbb{R}^3,\mathbb{R}^3)\approx\mathbb{R}^9,$$and--assuming your vectors are uncorrelated--the covariance is$$\operatorname{Cov}(\omega,\theta)=\Sigma=\pmatrix{\Sigma_\omega&\mathbf{0}\\\mathbf{0}&\Sigma_\theta},$$this is a standard instance of a differentiable map $\alpha:\mathbb{R}^n\to\mathbb{R}^m$ and, assuming $\left\|\mathbf{x}\right\|$ has little chance of being near $0$ and $\Sigma$ is small, apply the usual delta method machinery.
– whuber
Nov 24 '20 at 13:15
• @gung This question doesn't look like the kind of routine exercise we would treat as self-study.
– whuber
Nov 24 '20 at 15:11
• Thanks a lot @whuber for you answer. I'm a bit puzzled because $\alpha$ is a vector of dimension 3x1 resulting of the matrix operation $\mathbf{R} * \omega$. Therefore, its covariance should be a 3x3 matrix. This problem is not self-study as I encounter it while propagating covariances of the angular speed of a robot joint to other frames. Nov 24 '20 at 15:26
• That's right. I was thinking of your function $R$ instead of $\alpha.$ The image of $\alpha$ is indeed in $\mathbb{R}^3$ and its covariance will be a $3\times 3$ matrix. But the general point still holds and it appears the delta method is what you are looking for.
– whuber
Nov 24 '20 at 15:47

On a general basis, given a function $$f: \mathbb{R}^m\to \mathbb{R}^n$$ and a vector $$\mathbf x \in \mathbb R^m$$ and its associated covariance $$\Sigma_{\mathbf x} \in \mathbb R^{m \times m}$$, if $$\mathbf y = f(\mathbf x)$$ then:
$$\Sigma_{\mathbf y} \simeq \left . \frac{\partial f}{\partial \mathbf x}\right |_{\mathbf x} \Sigma_{\mathbf x} \left . \frac{\partial f}{\partial \mathbf x}\right |_{\mathbf x} ^\intercal$$
Here our function $$f$$ is a vectorized version of the Rodrigues' formulae of 3D rotation. The Jacobians can be a bit tedious to compute by hand, hence I used a software to analytically derive the equation.