在有了梯度的概念和对流形约束下的移动概念后,人们可能会想要开始某种优化程序。仅从这些概念出发,可以实现一种最速下降法。然而,为了进行复杂的优化,通常需要关于函数的二阶导数信息。
特别是,人们可能想知道,如果从Y移动到Y+\epsilon H,梯度会变化多少。在流形上,这实际上可能是一个难以回答的问题。从技术上讲,Y处的梯度是T_Y(\mathrm{Stief}(n,k))的一个成员,而Y+\epsilon H处的梯度是T_{Y+\epsilon H}(\mathrm{Stief}(n,k))的一个成员。虽然在平坦空间中取它们的差值没有问题(见图9.8),但如果这在弯曲空间中进行,可能会得到一个不属于任一点切空间的向量(见图9.9)。
一种更复杂的方法是首先以某种方式将Y+\epsilon H处的梯度移动到Y,使其以平行方式从Y+\epsilon H翻译到Y,然后在相同的切空间中比较这两个梯度。可以检查,对于V \in T_{Y+\epsilon H}(\mathrm{Stief}(n,k)),规则
使用这个规则来比较相邻向量,然后有以下规则来取向量场的导数:
dgrad
实现的函数。
在无约束最小化中,梯度g = \nabla f沿向量\vec{h}的二阶导数是Hessian [\frac{\partial^2 f}{\partial x_i \partial x_j}]乘以\vec{h}。协变地,我们有类似的规则,