bfgs_hessian Subroutine

public subroutine bfgs_hessian(old_step, gradient, old_gradient, old_inv_hessian, inv_hessian)

Broyden-Fletcher-Goldfarb-Shanno (BFGS) method to approximate the inverse hessian by previous step and this step gradient and previous step gradient, and previous estimated hessian

Arguments

Type IntentOptional Attributes Name
real(kind=long), intent(in) :: old_step(:)
real(kind=long), intent(in) :: gradient(:)
real(kind=long), intent(in) :: old_gradient(:)
real(kind=long), intent(in) :: old_inv_hessian(:,:)
real(kind=long), intent(out) :: inv_hessian(size(old_inv_hessian,1),size(old_inv_hessian,1))