Davidon–Fletcher–Powell法(ダビドン=フレッチャー=パウエル法)またはDFP法とは、あるセカント方程式を満たす解のうち、現在の推定値に最も近く、曲率条件を満たす解を与える式(DFP公式)を用いる準ニュートン法である。名称はウィリアム・ダビドン(英語版)、ロジャー・フレッチャー、マイケル・パウエル(英語版)に因む。セカント法を多次元問題に一般化したものであり、準ニュートン法としては初めての解法だった。この公式によりヘッセ行列を更新すれば、対称性と正定性が保証される。
所与の関数 f ( x ) {\displaystyle f(x)} のテイラー展開は、その勾配( ∇ f {\displaystyle \nabla f} )、正定値ヘッセ行列 B {\displaystyle B} 、を用いて以下のように書ける。
また、勾配自体のテイラー展開(セカント方程式)は以下のように書ける。
これを B {\displaystyle B} の更新に用いる。
下に示すDFP公式は、対称かつ正定値であり、現在の近似値 B k {\displaystyle B_{k}} に最も近い解を与える。
ここで、
とし、 B k {\displaystyle B_{k}} は対称正定値行列とした。
対応する逆ヘッセ行列 H k = B k − 1 {\displaystyle H_{k}=B_{k}^{-1}} の近似値は、以下の式により与えられる。
B {\displaystyle B} は正定値行列と仮定されるため、 s k T {\displaystyle s_{k}^{T}} と y {\displaystyle y} は以下の曲率条件を満たす必要がある。
DFP法は非常に効果的だったものの、すぐにその双対である(yとsの役割が入れ替わっている)BFGS法に置き換えられた[1]。