DFP算法
   
    在拟牛顿法中取修正矩阵
    
     
      
       D 
k
        \mathbf{D}_k
      
      
       
        
        
        
         
          
           D
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    为秩2矩阵
    
    
     
      
       
        D 
k
=
α
u
k
u
k
T
+
β
v
k
v
k
T
         \mathbf{D}_k=\alpha\mathbf{u}_k\mathbf{u}_k^T+\beta\mathbf{v}_k\mathbf{v}_k^T
       
       
        
         
         
         
          
           
            D
           
          
          
           
            
             
              
               
               
               
                
                 k
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
         
         
         
         
          =
         
         
         
        
        
         
         
         
          α
         
         
          
           
            u
           
          
          
           
            
             
              
               
               
               
                
                 k
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
         
         
          
           
            u
           
          
          
           
            
             
              
               
               
               
                
                 k
                
               
              
              
               
               
               
                
                 T
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
         
         
         
         
          +
         
         
         
        
        
         
         
         
          β
         
         
          
           
            v
           
          
          
           
            
             
              
               
               
               
                
                 k
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
         
         
          
           
            v
           
          
          
           
            
             
              
               
               
               
                
                 k
                
               
              
              
               
               
               
                
                 T
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
         
        
       
      
     
    
    
    于是
    
    
     
      
       
        ( 
H
k
+
α
u
k
u
k
T
+
β
v
k
v
k
T
)
y
k
=
s
k
         \left(\mathbf{H}_k+\alpha\mathbf{u}_k\mathbf{u}_k^T+\beta\mathbf{v}_k\mathbf{v}_k^T\right)\mathbf{y}_k=\mathbf{s}_k
       
       
        
         
         
         
          
           
            (
           
          
          
           
            
             H
            
           
           
            
             
              
               
                
                
                
                 
                  k
                 
                
               
              
              
               
              
             
             
              
               
               
              
             
            
           
          
          
          
          
           +
          
          
          
          
           α
          
          
           
            
             u
            
           
           
            
             
              
               
                
                
                
                 
                  k
                 
                
               
              
              
               
              
             
             
              
               
               
              
             
            
           
          
          
           
            
             u
            
           
           
            
             
              
               
                
                
                
                 
                  k
                 
                
               
               
                
                
                
                 
                  T
                 
                
               
              
              
               
              
             
             
              
               
               
              
             
            
           
          
          
          
          
           +
          
          
          
          
           β
          
          
           
            
             v
            
           
           
            
             
              
               
                
                
                
                 
                  k
                 
                
               
              
              
               
              
             
             
              
               
               
              
             
            
           
          
          
           
            
             v
            
           
           
            
             
              
               
                
                
                
                 
                  k
                 
                
               
               
                
                
                
                 
                  T
                 
                
               
              
              
               
              
             
             
              
               
               
              
             
            
           
          
          
           
            )
           
          
         
         
         
         
          
           
            y
           
          
          
           
            
             
              
               
               
               
                
                 k
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
         
         
         
         
          =
         
         
         
        
        
         
         
         
          
           
            s
           
          
          
           
            
             
              
               
               
               
                
                 k
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
         
        
       
      
     
    
    
    剩下懒得写了
    
    推到和
    
     BFGS算法
    
    基本一样
    
    把
    
     
      
       B 
        \mathbf{B}
      
      
       
        
        
        
         
          B
         
        
       
      
     
    
    换成
    
     
      
       H 
        \mathbf{H}
      
      
       
        
        
        
         
          H
         
        
       
      
     
    
    ,然后
    
     
      
       s 
        \mathbf{s}
      
      
       
        
        
        
         
          s
         
        
       
      
     
    
    和
    
     
      
       y 
        \mathbf{y}
      
      
       
        
        
        
         
          y
         
        
       
      
     
    
    互换,就可以得到结果
    
    
     
      
       
        H 
k
+
1
=
H
k
−
H
k
y
k
y
k
T
H
k
y
k
T
H
k
y
k
+
s
k
s
k
T
s
k
T
y
k
         \mathbf{H}_{k+1}=\mathbf{H}_k-\frac{\mathbf{H}_k\mathbf{y}_k\mathbf{y}_k^T\mathbf{H}_k}{\mathbf{y}_k^T\mathbf{H}_k\mathbf{y}_k}+\frac{\mathbf{s}_k\mathbf{s}_k^T}{\mathbf{s}_k^T\mathbf{y}_k}
       
       
        
         
         
         
          
           
            H
           
          
          
           
            
             
              
               
               
               
                
                 
                  k
                 
                 
                  +
                 
                 
                  1
                 
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
         
         
         
         
          =
         
         
         
        
        
         
         
         
          
           
            H
           
          
          
           
            
             
              
               
               
               
                
                 k
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
         
         
         
         
          −
         
         
         
        
        
         
         
         
          
          
          
           
            
             
              
               
               
               
                
                 
                  
                   y
                  
                 
                 
                  
                   
                    
                     
                      
                      
                      
                       
                        k
                       
                      
                     
                     
                      
                      
                      
                       
                        T
                       
                      
                     
                    
                    
                     
                    
                   
                   
                    
                     
                     
                    
                   
                  
                 
                
                
                 
                  
                   H
                  
                 
                 
                  
                   
                    
                     
                      
                      
                      
                       
                        k
                       
                      
                     
                    
                    
                     
                    
                   
                   
                    
                     
                     
                    
                   
                  
                 
                
                
                 
                  
                   y
                  
                 
                 
                  
                   
                    
                     
                      
                      
                      
                       
                        k
                       
                      
                     
                    
                    
                     
                    
                   
                   
                    
                     
                     
                    
                   
                  
                 
                
               
              
              
               
               
               
               
              
              
               
               
               
                
                 
                  
                   H
                  
                 
                 
                  
                   
                    
                     
                      
                      
                      
                       
                        k
                       
                      
                     
                    
                    
                     
                    
                   
                   
                    
                     
                     
                    
                   
                  
                 
                
                
                 
                  
                   y
                  
                 
                 
                  
                   
                    
                     
                      
                      
                      
                       
                        k
                       
                      
                     
                    
                    
                     
                    
                   
                   
                    
                     
                     
                    
                   
                  
                 
                
                
                 
                  
                   y
                  
                 
                 
                  
                   
                    
                     
                      
                      
                      
                       
                        k
                       
                      
                     
                     
                      
                      
                      
                       
                        T
                       
                      
                     
                    
                    
                     
                    
                   
                   
                    
                     
                     
                    
                   
                  
                 
                
                
                 
                  
                   H
                  
                 
                 
                  
                   
                    
                     
                      
                      
                      
                       
                        k
                       
                      
                     
                    
                    
                     
                    
                   
                   
                    
                     
                     
                    
                   
                  
                 
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
          
          
         
         
         
         
          +
         
         
         
        
        
         
         
         
          
          
          
           
            
             
              
               
               
               
                
                 
                  
                   s
                  
                 
                 
                  
                   
                    
                     
                      
                      
                      
                       
                        k
                       
                      
                     
                     
                      
                      
                      
                       
                        T
                       
                      
                     
                    
                    
                     
                    
                   
                   
                    
                     
                     
                    
                   
                  
                 
                
                
                 
                  
                   y
                  
                 
                 
                  
                   
                    
                     
                      
                      
                      
                       
                        k
                       
                      
                     
                    
                    
                     
                    
                   
                   
                    
                     
                     
                    
                   
                  
                 
                
               
              
              
               
               
               
               
              
              
               
               
               
                
                 
                  
                   s
                  
                 
                 
                  
                   
                    
                     
                      
                      
                      
                       
                        k
                       
                      
                     
                    
                    
                     
                    
                   
                   
                    
                     
                     
                    
                   
                  
                 
                
                
                 
                  
                   s
                  
                 
                 
                  
                   
                    
                     
                      
                      
                      
                       
                        k
                       
                      
                     
                     
                      
                      
                      
                       
                        T
                       
                      
                     
                    
                    
                     
                    
                   
                   
                    
                     
                     
                    
                   
                  
                 
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
          
          
         
        
       
      
     
    
    
    
     
      
       
        B 
k
+
1
=
B
k
−
y
k
s
k
T
B
k
y
k
T
s
k
−
B
k
s
k
y
k
T
y
k
T
s
k
+
y
k
s
k
T
B
k
s
k
y
k
T
(
y
k
T
s
k
)
2
+
y
k
y
k
T
y
k
T
s
k
=
(
I
−
s
k
y
k
T
y
k
T
s
k
)
T
B
k
(
I
−
s
k
y
k
T
y
k
T
s
k
)
+
y
k
y
k
T
y
k
T
s
k
         \begin{aligned} \mathbf{B}_{k+1}&=\mathbf{B}_k-\frac{\mathbf{y}_k\mathbf{s}_k^T\mathbf{B}_k}{\mathbf{y}_k^T\mathbf{s}_k}-\frac{\mathbf{B}_k\mathbf{s}_k\mathbf{y}_k^T}{\mathbf{y}_k^T\mathbf{s}_k}+\frac{\mathbf{y}_k\mathbf{s}_k^T\mathbf{B}_k\mathbf{s}_k\mathbf{y}_k^T}{\left(\mathbf{y}_k^T\mathbf{s}_k\right)^2}+\frac{\mathbf{y}_k\mathbf{y}_k^T}{\mathbf{y}_k^T\mathbf{s}_k}\\ &=\left(\mathbf{I}-\frac{\mathbf{s}_k\mathbf{y}_k^T}{\mathbf{y}_k^T\mathbf{s}_k}\right)^T\mathbf{B}_{k}\left(\mathbf{I}-\frac{\mathbf{s}_k\mathbf{y}_k^T}{\mathbf{y}_k^T\mathbf{s}_k}\right)+\frac{\mathbf{y}_k\mathbf{y}_k^T}{\mathbf{y}_k^T\mathbf{s}_k} \end{aligned}
       
       
        
         
         
         
          
           
            
             
              
               
                
                
                
                 
                  
                   
                    B
                   
                  
                  
                   
                    
                     
                      
                       
                       
                       
                        
                         
                          k
                         
                         
                          +
                         
                         
                          1
                         
                        
                       
                      
                     
                     
                      
                     
                    
                    
                     
                      
                      
                     
                    
                   
                  
                 
                
               
               
                
                
                
                
               
              
              
               
              
             
             
              
               
               
              
             
            
           
           
            
             
              
               
                
                
                
                 
                 
                 
                 
                 
                  =
                 
                 
                 
                 
                  
                   
                    B
                   
                  
                  
                   
                    
                     
                      
                       
                       
                       
                        
                         k
                        
                       
                      
                     
                     
                      
                     
                    
                    
                     
                      
                      
                     
                    
                   
                  
                 
                 
                 
                 
                  −
                 
                 
                 
                 
                  
                  
                  
                   
                    
                     
                      
                       
                       
                       
                        
                         
                          
                           y
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                             
                              
                              
                              
                               
                                T
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           s
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                       
                      
                      
                       
                       
                       
                       
                      
                      
                       
                       
                       
                        
                         
                          
                           y
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           s
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                             
                              
                              
                              
                               
                                T
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           B
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                       
                      
                     
                     
                      
                     
                    
                    
                     
                      
                      
                     
                    
                   
                  
                  
                  
                 
                 
                 
                 
                  −
                 
                 
                 
                 
                  
                  
                  
                   
                    
                     
                      
                       
                       
                       
                        
                         
                          
                           y
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                             
                              
                              
                              
                               
                                T
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           s
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                       
                      
                      
                       
                       
                       
                       
                      
                      
                       
                       
                       
                        
                         
                          
                           B
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           s
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           y
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                             
                              
                              
                              
                               
                                T
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                       
                      
                     
                     
                      
                     
                    
                    
                     
                      
                      
                     
                    
                   
                  
                  
                  
                 
                 
                 
                 
                  +
                 
                 
                 
                 
                  
                  
                  
                   
                    
                     
                      
                       
                       
                       
                        
                         
                          
                           
                            (
                           
                          
                          
                           
                            
                             y
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                               
                                
                                
                                
                                 
                                  T
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                          
                           
                            
                             s
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                          
                           
                            )
                           
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                2
                               
                              
                             
                            
                           
                          
                         
                        
                       
                      
                      
                       
                       
                       
                       
                      
                      
                       
                       
                       
                        
                         
                          
                           y
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           s
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                             
                              
                              
                              
                               
                                T
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           B
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           s
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           y
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                             
                              
                              
                              
                               
                                T
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                       
                      
                     
                     
                      
                     
                    
                    
                     
                      
                      
                     
                    
                   
                  
                  
                  
                 
                 
                 
                 
                  +
                 
                 
                 
                 
                  
                  
                  
                   
                    
                     
                      
                       
                       
                       
                        
                         
                          
                           y
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                             
                              
                              
                              
                               
                                T
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           s
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                       
                      
                      
                       
                       
                       
                       
                      
                      
                       
                       
                       
                        
                         
                          
                           y
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           y
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                             
                              
                              
                              
                               
                                T
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                       
                      
                     
                     
                      
                     
                    
                    
                     
                      
                      
                     
                    
                   
                  
                  
                  
                 
                
               
               
                
                
                
                 
                 
                 
                 
                 
                  =
                 
                 
                 
                 
                  
                   
                    
                     (
                    
                   
                   
                    
                     I
                    
                   
                   
                   
                   
                    −
                   
                   
                   
                   
                    
                    
                    
                     
                      
                       
                        
                         
                         
                         
                          
                           
                            
                             y
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                               
                                
                                
                                
                                 
                                  T
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                          
                           
                            
                             s
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                         
                        
                        
                         
                         
                         
                         
                        
                        
                         
                         
                         
                          
                           
                            
                             s
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                          
                           
                            
                             y
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                               
                                
                                
                                
                                 
                                  T
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                         
                        
                       
                       
                        
                       
                      
                      
                       
                        
                        
                       
                      
                     
                    
                    
                    
                   
                   
                    
                     )
                    
                   
                  
                  
                   
                    
                     
                      
                       
                       
                       
                        
                         T
                        
                       
                      
                     
                    
                   
                  
                 
                 
                 
                 
                  
                   
                    B
                   
                  
                  
                   
                    
                     
                      
                       
                       
                       
                        
                         
                          k
                         
                        
                       
                      
                     
                     
                      
                     
                    
                    
                     
                      
                      
                     
                    
                   
                  
                 
                 
                 
                 
                  
                   
                    (
                   
                  
                  
                   
                    I
                   
                  
                  
                  
                  
                   −
                  
                  
                  
                  
                   
                   
                   
                    
                     
                      
                       
                        
                        
                        
                         
                          
                           
                            y
                           
                          
                          
                           
                            
                             
                              
                               
                               
                               
                                
                                 k
                                
                               
                              
                              
                               
                               
                               
                                
                                 T
                                
                               
                              
                             
                             
                              
                             
                            
                            
                             
                              
                              
                             
                            
                           
                          
                         
                         
                          
                           
                            s
                           
                          
                          
                           
                            
                             
                              
                               
                               
                               
                                
                                 k
                                
                               
                              
                             
                             
                              
                             
                            
                            
                             
                              
                              
                             
                            
                           
                          
                         
                        
                       
                       
                        
                        
                        
                        
                       
                       
                        
                        
                        
                         
                          
                           
                            s
                           
                          
                          
                           
                            
                             
                              
                               
                               
                               
                                
                                 k
                                
                               
                              
                             
                             
                              
                             
                            
                            
                             
                              
                              
                             
                            
                           
                          
                         
                         
                          
                           
                            y
                           
                          
                          
                           
                            
                             
                              
                               
                               
                               
                                
                                 k
                                
                               
                              
                              
                               
                               
                               
                                
                                 T
                                
                               
                              
                             
                             
                              
                             
                            
                            
                             
                              
                              
                             
                            
                           
                          
                         
                        
                       
                      
                      
                       
                      
                     
                     
                      
                       
                       
                      
                     
                    
                   
                   
                   
                  
                  
                   
                    )
                   
                  
                 
                 
                 
                 
                  +
                 
                 
                 
                 
                  
                  
                  
                   
                    
                     
                      
                       
                       
                       
                        
                         
                          
                           y
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                             
                              
                              
                              
                               
                                T
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           s
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                       
                      
                      
                       
                       
                       
                       
                      
                      
                       
                       
                       
                        
                         
                          
                           y
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                        
                         
                          
                           y
                          
                         
                         
                          
                           
                            
                             
                              
                              
                              
                               
                                k
                               
                              
                             
                             
                              
                              
                              
                               
                                T
                               
                              
                             
                            
                            
                             
                            
                           
                           
                            
                             
                             
                            
                           
                          
                         
                        
                       
                      
                     
                     
                      
                     
                    
                    
                     
                      
                      
                     
                    
                   
                  
                  
                  
                 
                
               
              
              
               
              
             
             
              
               
               
              
             
            
           
          
         
        
       
      
     
    
   
    
    
    性质
   
    
    
    性质1
   
    设
    
     
      
       H 
k
        \mathbf{H}_k
      
      
       
        
        
        
         
          
           H
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    对称正定,
    
     
      
       H 
k
+
1
        \mathbf{H}_{k+1}
      
      
       
        
        
        
         
          
           H
          
         
         
          
           
            
             
              
              
              
               
                
                 k
                
                
                 +
                
                
                 1
                
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    由DFP校正公式确定,则
    
     
      
       H 
k
+
1
        \mathbf{H}_{k+1}
      
      
       
        
        
        
         
          
           H
          
         
         
          
           
            
             
              
              
              
               
                
                 k
                
                
                 +
                
                
                 1
                
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    对称正定的充要条件是
    
     
      
       s 
k
T
y
k
>
0
        \mathbf{s}_k^T \mathbf{y}_k>0
      
      
       
        
        
        
         
          
           s
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
             
              
              
              
               
                T
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
        
         
          
           y
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
        
        
        
         >
        
        
        
       
       
        
        
        
         0
        
       
      
     
    
    
    证明:
    
    和BFGS那篇一样
   
    
    
    性质2
   
    DFP中采用精确线搜索或者Wolfe搜索准则,则有
    
     
      
       s 
k
T
y
k
>
0
        \mathbf{s}_k^T\mathbf{y}_k>0
      
      
       
        
        
        
         
          
           s
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
             
              
              
              
               
                T
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
        
         
          
           y
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
        
        
        
         >
        
        
        
       
       
        
        
        
         0
        
       
      
     
    
   
    尽管Armijo准则(回溯法)一般不能保证
    
     
      
       s 
k
T
y
k
>
0
        \mathbf{s}_k^T\mathbf{y}_k>0
      
      
       
        
        
        
         
          
           s
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
             
              
              
              
               
                T
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
        
         
          
           y
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
        
        
        
         >
        
        
        
       
       
        
        
        
         0
        
       
      
     
    
    
    但是因为简单,所以可以采用
    
    
     
      
       
        H 
k
+
1
=
{
H
k
,
s
k
T
y
k
≤
0
H
k
+
1
=
H
k
−
H
k
y
k
y
k
T
H
k
y
k
T
B
k
y
k
+
s
k
s
k
T
s
k
T
y
k
s
k
T
y
k
>
0
         \mathbf{H}_{k+1}=\begin{cases} \mathbf{H}_k,&\mathbf{s}_k^T\mathbf{y}_k\le 0\\ \mathbf{H}_{k+1}=\mathbf{H}_k-\frac{\mathbf{H}_k\mathbf{y}_k\mathbf{y}_k^T\mathbf{H}_k}{\mathbf{y}_k^T\mathbf{B}_k\mathbf{y}_k}+\frac{\mathbf{s}_k\mathbf{s}_k^T}{\mathbf{s}_k^T\mathbf{y}_k}&\mathbf{s}_k^T\mathbf{y}_k>0 \end{cases}
       
       
        
         
         
         
          
           
            H
           
          
          
           
            
             
              
               
               
               
                
                 
                  k
                 
                 
                  +
                 
                 
                  1
                 
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
         
         
         
         
          =
         
         
         
        
        
         
         
         
          
           
            {
            
           
          
          
           
            
             
              
               
                
                 
                 
                 
                  
                   
                    
                     H
                    
                   
                   
                    
                     
                      
                       
                        
                        
                        
                         
                          k
                         
                        
                       
                      
                      
                       
                      
                     
                     
                      
                       
                       
                      
                     
                    
                   
                  
                  
                   ,
                  
                 
                
                
                 
                 
                 
                  
                   
                    
                     H
                    
                   
                   
                    
                     
                      
                       
                        
                        
                        
                         
                          
                           k
                          
                          
                           +
                          
                          
                           1
                          
                         
                        
                       
                      
                      
                       
                      
                     
                     
                      
                       
                       
                      
                     
                    
                   
                  
                  
                  
                  
                   =
                  
                  
                  
                  
                   
                    
                     H
                    
                   
                   
                    
                     
                      
                       
                        
                        
                        
                         
                          k
                         
                        
                       
                      
                      
                       
                      
                     
                     
                      
                       
                       
                      
                     
                    
                   
                  
                  
                  
                  
                   −
                  
                  
                  
                  
                   
                   
                   
                    
                     
                      
                       
                        
                        
                        
                         
                          
                           
                            
                             y
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                               
                                
                                
                                
                                 
                                  T
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                          
                           
                            
                             B
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                          
                           
                            
                             y
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                         
                        
                       
                       
                        
                        
                        
                        
                       
                       
                        
                        
                        
                         
                          
                           
                            
                             H
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                          
                           
                            
                             y
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                          
                           
                            
                             y
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                               
                                
                                
                                
                                 
                                  T
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                          
                           
                            
                             H
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                         
                        
                       
                      
                      
                       
                      
                     
                     
                      
                       
                       
                      
                     
                    
                   
                   
                   
                  
                  
                  
                  
                   +
                  
                  
                  
                  
                   
                   
                   
                    
                     
                      
                       
                        
                        
                        
                         
                          
                           
                            
                             s
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                               
                                
                                
                                
                                 
                                  T
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                          
                           
                            
                             y
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                         
                        
                       
                       
                        
                        
                        
                        
                       
                       
                        
                        
                        
                         
                          
                           
                            
                             s
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                          
                           
                            
                             s
                            
                           
                           
                            
                             
                              
                               
                                
                                
                                
                                 
                                  k
                                 
                                
                               
                               
                                
                                
                                
                                 
                                  T
                                 
                                
                               
                              
                              
                               
                              
                             
                             
                              
                               
                               
                              
                             
                            
                           
                          
                         
                        
                       
                      
                      
                       
                      
                     
                     
                      
                       
                       
                      
                     
                    
                   
                   
                   
                  
                 
                
               
               
                
               
              
              
               
                
                
               
              
             
            
            
            
            
             
              
               
                
                 
                 
                 
                  
                   
                    
                     s
                    
                   
                   
                    
                     
                      
                       
                        
                        
                        
                         
                          k
                         
                        
                       
                       
                        
                        
                        
                         
                          T
                         
                        
                       
                      
                      
                       
                      
                     
                     
                      
                       
                       
                      
                     
                    
                   
                  
                  
                   
                    
                     y
                    
                   
                   
                    
                     
                      
                       
                        
                        
                        
                         
                          k
                         
                        
                       
                      
                      
                       
                      
                     
                     
                      
                       
                       
                      
                     
                    
                   
                  
                  
                  
                  
                   ≤
                  
                  
                  
                  
                   0
                  
                 
                
                
                 
                 
                 
                  
                   
                    
                     s
                    
                   
                   
                    
                     
                      
                       
                        
                        
                        
                         
                          k
                         
                        
                       
                       
                        
                        
                        
                         
                          T
                         
                        
                       
                      
                      
                       
                      
                     
                     
                      
                       
                       
                      
                     
                    
                   
                  
                  
                   
                    
                     y
                    
                   
                   
                    
                     
                      
                       
                        
                        
                        
                         
                          k
                         
                        
                       
                      
                      
                       
                      
                     
                     
                      
                       
                       
                      
                     
                    
                   
                  
                  
                  
                  
                   >
                  
                  
                  
                  
                   0
                  
                 
                
               
               
                
               
              
              
               
                
                
               
              
             
            
           
          
          
          
         
        
       
      
     
    
    
    只要
    
     
      
       B 
0
        \mathbf{B}_0
      
      
       
        
        
        
         
          
           B
          
         
         
          
           
            
             
              
              
              
               
                0
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    时正定的,
    
     
      
       B 
k
+
1
        \mathbf{B}_{k+1}
      
      
       
        
        
        
         
          
           B
          
         
         
          
           
            
             
              
              
              
               
                
                 k
                
                
                 +
                
                
                 1
                
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    也是正定的
   
    
    
    步骤
   
    初始化:选择起点
    
     
      
       x 
0
        \mathbf{x}_0
      
      
       
        
        
        
         
          
           x
          
         
         
          
           
            
             
              
              
              
               
                0
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    ,
    
    选择
    
     
      
       H 
0
        \mathbf{H}_0
      
      
       
        
        
        
         
          
           H
          
         
         
          
           
            
             
              
              
              
               
                0
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    (一般取
    
     
      
       ∇ 
−
2
f
(
x
0
)
        \nabla^{-2} f\left(\mathbf{x}_0\right)
      
      
       
        
        
        
         
          ∇
         
         
          
           
            
             
              
              
              
               
                
                 −
                
                
                 2
                
               
              
             
            
           
          
         
        
        
         f
        
        
        
        
         
          (
         
         
          
           
            x
           
          
          
           
            
             
              
               
               
               
                
                 0
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
         
         
          )
         
        
       
      
     
    
    或者
    
     
      
       I 
        \mathbf{I}
      
      
       
        
        
        
         
          I
         
        
       
      
     
    
    )
   
    步骤
    
    1.若
    
     
      
       ∥ 
g
k
∥
≤
ϵ
        \|\mathbf{g}_k\|\le \epsilon
      
      
       
        
        
        
         ∥
        
        
         
          
           g
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
        
         ∥
        
        
        
        
         ≤
        
        
        
       
       
        
        
        
         ϵ
        
       
      
     
    
    ,停止,输出
    
     
      
       x 
k
        \mathbf{x}_k
      
      
       
        
        
        
         
          
           x
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    
    2.计算
    
     
      
       d 
k
=
−
H
k
g
k
        \mathbf{d}_k=-\mathbf{H}_k\mathbf{g}_k
      
      
       
        
        
        
         
          
           d
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
        
        
        
         =
        
        
        
       
       
        
        
        
         −
        
        
         
          
           H
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
        
         
          
           g
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    
    3.求步长
    
     
      
       α 
k
        \alpha_k
      
      
       
        
        
        
         
          α
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    
    4.
    
     
      
       x 
k
+
1
=
x
k
+
α
k
d
k
        \mathbf{x}_{k+1}=\mathbf{x}_k+\alpha_k\mathbf{d}_k
      
      
       
        
        
        
         
          
           x
          
         
         
          
           
            
             
              
              
              
               
                
                 k
                
                
                 +
                
                
                 1
                
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
        
        
        
         =
        
        
        
       
       
        
        
        
         
          
           x
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
        
        
        
         +
        
        
        
       
       
        
        
        
         
          α
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
        
         
          
           d
          
         
         
          
           
            
             
              
              
              
               
                k
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    ,矫正
    
     
      
       H 
k
        \mathbf{H}_{k}
      
      
       
        
        
        
         
          
           H
          
         
         
          
           
            
             
              
              
              
               
                
                 k
                
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    得到
    
     
      
       H 
k
+
1
        \mathbf{H}_{k+1}
      
      
       
        
        
        
         
          
           H
          
         
         
          
           
            
             
              
              
              
               
                
                 k
                
                
                 +
                
                
                 1
                
               
              
             
            
            
             
            
           
           
            
             
             
            
           
          
         
        
       
      
     
    
    
    5.k=k+1,转1