I have a 3D point with a covariance matrix, and an associated 3D vector that begins at the point. I would like to be able to consider alternative points for the starting position of the vector, consistent with the uncertainties I'm calculating. I've been stuck on this for a while and any help would be greatly appreciated!

From the covariance matrix I'm able to calculate the eigenvalues and the eigenvectors to give me an error ellipsoid around the point, and what I'd like to do is understand how the output relates to the direction of the 3D vector.

Specifically, my 3D point in an xyz plane is at (35.5, -37.3, 22.5) and the associated vector is (26.9, -28.8, 15.8).

I calculate the eigenvalues ($\lambda$) and the eigenvectors ($\nu$) to be:

$\lambda_1 = 24.1034$
$\lambda_2 = 0.0853368$
$\lambda_3 = 0.000148282$

$\nu_1 = (0.644336, -0.687594, 0.334732)$
$\nu_2 = (0.228651, -0.244468, -0.942313)$
$\nu_3 = (-0.72976, -0.683703, 0.000300472 )$

Is there a way to combine the knowledge of these eigenvector and eigenvalues with the direction of the vector in order to consider alternative, valid positions for the starting point, or, working under the assumption that the eigenvectors already include information about the 3D vector is there a way to translate this to new, valid point positions?

Many thanks in advance!


If you want to sample from a Gaussian with a given covariance matrix, then one of the easiest ways is to compute the so-called Cholesky decomposition of the matrix and then sample Gaussian with identity matrix as the covariance (easy to do by sampling each coordinate as a Gaussian) and then apply the linear transformation from the Cholesky decomposition matrix to get your sampled point from the ellipsoid covariance Gaussian.

  • $\begingroup$ Thank you very much - I'm trying to implement your suggestion at the moment but just so that I understand, are these the correct steps (sorry for naiveté, this is very new to me): 1) Calculate the Cholesky decomposition of the covariance matrix. 2) Sample each initial vertex point as a Gaussian with width 1 to generate (x', y', z') 3) Multiply (x',y',z') by Cholesky decomposition matrix for the newly generated point. Thanks again. $\endgroup$ – anthr Jun 6 '14 at 23:29

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.