- #1
roger1318
- 3
- 0
There is a surface defined by setting implicit function g(x)=0, where x is a 3 by 1 column vector, denoting a point on the surface;
3X1 vector [tex]\nabla[/tex]g(x) is the Gradient(surface normal at point x;
3X3 matrix H(g(x)) = [tex]\nabla^2[/tex](g(x)) is the Hessian Matrix;
3X3X3 tensor [tex]\nabla^3g(\bold{x})[/tex] is [tex]\frac{\partial \bold{H}}{\partial \bold{x}}[/tex]
The goal is to find [tex]{\color{red}\frac{\partial (det(\bold{H}))}{\partial \bold{x}}}[/tex] ; which should be a 3X1 vector since the determinant of H is a scalar.
I found the formula for calculating the derivative of the determinant of a square matrix with respect to itself at (http://en.wikipedia.org/wiki/Matrix_calculus" ), which in my case here is a 3X3 matrix.
[tex]\frac{\partial (det(\bold{H}))}{\partial \bold{H}}=det(\bold{H})\cdot\bold{H}^-^1}[/tex]
But what I want is the derivative with respect to that point x, not with respect to the matrix itself in the conventional sense.
So I attempted to use chain rule as we do in most cases:
[tex]\frac{\partial (det(\bold{H}))}{\partial \bold{x}}=\frac{\partial (det(\bold{H}))}{\partial \bold{H}}\cdot\frac{\partial \bold{H}}{\partial \bold{x}}=det(\bold{H})\cdot \underline{\bold{H}^-^1}}\cdot \underline{\underline{\nabla^3 g(\bold{x})}} [/tex]
Now here comes the problem:
[tex]{\color{blue}\bold{H}^-^1}}[/tex] is a 3X3 matrix and [tex]{\color{blue}\nabla^3g(\bold{x})}[/tex] is 3X3X3 tensor; their multiplication product is still a 3X3X3 tensor but not the 3X1 vector as expected.
I am pretty sure something must've gone wrong; anybody could tell me where? And how am I supposed to deal with this determinant derivative issue? If for some reason the chain rule doesn't apply here, what rule should I use to get the 3X1 vector?
Any comments are much appreciated!
3X1 vector [tex]\nabla[/tex]g(x) is the Gradient(surface normal at point x;
3X3 matrix H(g(x)) = [tex]\nabla^2[/tex](g(x)) is the Hessian Matrix;
3X3X3 tensor [tex]\nabla^3g(\bold{x})[/tex] is [tex]\frac{\partial \bold{H}}{\partial \bold{x}}[/tex]
The goal is to find [tex]{\color{red}\frac{\partial (det(\bold{H}))}{\partial \bold{x}}}[/tex] ; which should be a 3X1 vector since the determinant of H is a scalar.
I found the formula for calculating the derivative of the determinant of a square matrix with respect to itself at (http://en.wikipedia.org/wiki/Matrix_calculus" ), which in my case here is a 3X3 matrix.
[tex]\frac{\partial (det(\bold{H}))}{\partial \bold{H}}=det(\bold{H})\cdot\bold{H}^-^1}[/tex]
But what I want is the derivative with respect to that point x, not with respect to the matrix itself in the conventional sense.
So I attempted to use chain rule as we do in most cases:
[tex]\frac{\partial (det(\bold{H}))}{\partial \bold{x}}=\frac{\partial (det(\bold{H}))}{\partial \bold{H}}\cdot\frac{\partial \bold{H}}{\partial \bold{x}}=det(\bold{H})\cdot \underline{\bold{H}^-^1}}\cdot \underline{\underline{\nabla^3 g(\bold{x})}} [/tex]
Now here comes the problem:
[tex]{\color{blue}\bold{H}^-^1}}[/tex] is a 3X3 matrix and [tex]{\color{blue}\nabla^3g(\bold{x})}[/tex] is 3X3X3 tensor; their multiplication product is still a 3X3X3 tensor but not the 3X1 vector as expected.
I am pretty sure something must've gone wrong; anybody could tell me where? And how am I supposed to deal with this determinant derivative issue? If for some reason the chain rule doesn't apply here, what rule should I use to get the 3X1 vector?
Any comments are much appreciated!
Last edited by a moderator: