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.

  • $\begingroup$ 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. $\endgroup$
    – whuber
    Nov 24 '20 at 13:15
  • $\begingroup$ Please add the self-study tag & read its wiki. $\endgroup$ Nov 24 '20 at 14:10
  • $\begingroup$ @gung This question doesn't look like the kind of routine exercise we would treat as self-study. $\endgroup$
    – whuber
    Nov 24 '20 at 15:11
  • $\begingroup$ 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. $\endgroup$
    – Maltergate
    Nov 24 '20 at 15:26
  • $\begingroup$ 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. $\endgroup$
    – whuber
    Nov 24 '20 at 15:47

Turns out, it is not as complicated as it seems.

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.