By unwinding the matrix recurrence for B k {\displaystyle B_{k}} , the DFP formula can be expressed as a compact matrix representation. Specifically, defining
S k = [ s 0 s 1 … s k − 1 ] , {\displaystyle S_{k}={\begin{bmatrix}s_{0}&s_{1}&\ldots &s_{k-1}\end{bmatrix}},} Y k = [ y 0 y 1 … y k − 1 ] , {\displaystyle Y_{k}={\begin{bmatrix}y_{0}&y_{1}&\ldots &y_{k-1}\end{bmatrix}},}
and upper triangular and diagonal matrices
( R k ) i j := ( R k SY ) i j = s i − 1 T y j − 1 , ( R k YS ) i j = y i − 1 T s j − 1 , ( D k ) i i := ( D k SY ) i i = s i − 1 T y i − 1 for 1 ≤ i ≤ j ≤ k {\displaystyle {\big (}R_{k}{\big )}_{ij}:={\big (}R_{k}^{\text{SY}}{\big )}_{ij}=s_{i-1}^{T}y_{j-1},\quad {\big (}R_{k}^{\text{YS}}{\big )}_{ij}=y_{i-1}^{T}s_{j-1},\quad (D_{k})_{ii}:={\big (}D_{k}^{\text{SY}}{\big )}_{ii}=s_{i-1}^{T}y_{i-1}\quad \quad {\text{ for }}1\leq i\leq j\leq k}
the DFP matrix has the equivalent formula
B k = B 0 + J k N k − 1 J k T , {\displaystyle B_{k}=B_{0}+J_{k}N_{k}^{-1}J_{k}^{T},}
J k = [ Y k Y k − B 0 S k ] {\displaystyle J_{k}={\begin{bmatrix}Y_{k}&Y_{k}-B_{0}S_{k}\end{bmatrix}}}
N k = [ 0 k × k R k YS ( R k YS ) T R k + R k T − ( D k + S k T B 0 S k ) ] {\displaystyle N_{k}={\begin{bmatrix}0_{k\times k}&R_{k}^{\text{YS}}\\{\big (}R_{k}^{\text{YS}}{\big )}^{T}&R_{k}+R_{k}^{T}-(D_{k}+S_{k}^{T}B_{0}S_{k})\end{bmatrix}}}
The inverse compact representation can be found by applying the Sherman-Morrison-Woodbury inverse to B k {\displaystyle B_{k}} . The compact representation is particularly useful for limited-memory and constrained problems.2
Avriel, Mordecai (1976). Nonlinear Programming: Analysis and Methods. Prentice-Hall. pp. 352–353. ISBN 0-13-623603-0. 0-13-623603-0 ↩
Brust, J. J. (2024). "Useful Compact Representations for Data-Fitting". arXiv:2403.12206 [math.OC]. /wiki/ArXiv_(identifier) ↩