Diagonalizing a 3x3 second derivative matrix

1. Mar 1, 2005

SpaceTiger

Staff Emeritus
I've been working on this problem lately where I've been looking at the second derivatives of 2D and 3D density fields. Now, the second derivatives of the field can be represented in a matrix, which can be thought of as an N-dimensional ellipse with the principal axes aligned along some angle in which the second derivative matrix is diagonal.

Anyway, I've solved the full problem in 2D (angle and all), but in 3D, I've only been able to diagonalize the matrix. I haven't yet figured out how to determine the angle that represents. Does an easy analytic solution exist for this or will I have to resort to numerical guesstimations?

2. Mar 2, 2005

robphy

Did you determine the eigenvectors of this matrix?
Knowing those, you can use the dot-product to determine the various direction cosines.

3. Mar 3, 2005

SpaceTiger

Staff Emeritus
Well, I probably wasn't very clear. I don't need a solution for an individual matrix, but rather a more general one (for simulation purposes). I've since been pointed to a fortran library that can do the job, however, so everything is taken care of. Thanks, though.

4. Mar 3, 2005

mathwonk

the answer he gave you was for a general situation. the eigenvalues are roots of the characteristic polynomial, which has a general formula, the same for all matrices.

5. Mar 3, 2005

SpaceTiger

Staff Emeritus
I understand that, but it wasn't the method I was looking for, it was the result. Also, as I said, I already have a general result for the eigenvalues, it's the eigenvectors I need now. The book I have at hand only gives a general outline for determining eigenvectors on a case-by-case basis (parameterizations and such), but I was hoping I could avoid generalizing that numerically and just jump to a single formula. A friend of mine pointed me to LAPACK, a library for solving these things numerically, so it's taken care of now. My apologies if my question wasn't very clear.

6. Mar 3, 2005

mathwonk

i still do not understand how a general method does not give you a general result. do you mean you wanted someone to write down the characteristic polynomial for you?

if so, it is just the determinant of the matrix [A - XId], where A is the matrix of second partials, or do you also want me to write down the determinant?

7. Mar 4, 2005

SpaceTiger

Staff Emeritus
Alright, now you're just not paying attention. How would the characteristic polynomial get me the eigenvectors? That's what I use to get the eigenvalues. I told you that I already have those. For a 3X3, it gave me a cubic equation that I could easily write a routine to solve.

However, to find the eigenvectors, I then need to solve a linear system of equations which is usually singular. Since I can't do this with a simple inverse, writing a routine to do it is tricky. I can do it with gauss-jordan elimination, but that's not so simple to program, so I needed the fortran library to do that. I was hoping there was a simple general solution for the rotation angle in this problem (assuming the eigenvectors make up the rotation matrix), but I have yet to find one in 3-D.

8. Mar 5, 2005

mathwonk

gosh how could I have been so careless. Please forgive me, i just lost my head.

now that i know you want eigenvectors, perhaps (in case your matrix is invertible) the formula involving determinants could help you.

I guess you knolw there is a formula for the, solution of an invertible linear system called cramers rule.

but i wouldn't want to waste your time, so just feel free to ignore this if it is not helpful.

In case it m,ay be useful, here is a other short characterizatioon of an eigenvector for a symmetric matrix A, which however requires you to solve for thew points on the unit sphere where a derivative is zero:

let v be a unit vector such that the function Ax.x is minimized over the unit sphere at x = v. Then v is an elgenvector for A.

Last edited: Mar 5, 2005