一般说jacobian矩阵是指向量对另外一个向量的一阶导数。而Hessian矩阵是一个标量对一个向量的二阶导数。前者在离散pde 中常用,后者在优化中常用,但是都是作为线性或者非线形系统的系数矩阵, 即A*x=b。
在优化中根据hessian的特性(nonsingularity, indefiniteness/positive-definiteness, ),还可以判断优化问题的适定性(well-posedness),second-order sufficent optimility conditions.
当然你可以说hessian是nabla J的Jacobian矩阵。
二者都可以看成是taylor series中的一部分,所以主要是用来线性化或者Quadratic Programming中,本质上是为了计算某种correction. 记住在离散的世界,我们基本只能处理linear or quadratic systems, 所以对于其他非线性系统,只能采用taylor 展开,然后上newton.
实际问题中hessian可能会很难计算,所以经常采取近似,这就是quasi-newtion, inexact newton。常用的bfgs就是其一。或者只计算matrix-vector product,这样就是所谓的matrix-free approach, 难点在于构造高效的预处理。可以使用finite-difference, complex-step, auto-differentiation, 或者second-order adjoint.