Fortran toolkit
Borja Petit
broyden
subroutine broyden(j1,j0,x1,x0,f1,f0)
implicit none
real(kind=8) , intent(in) :: x1(:) ! input: initial value of x
real(kind=8) , intent(in) :: x0(:) ! input: final value of x
real(kind=8) , intent(in) :: f1(:) ! input: value of function at x = x0
real(kind=8) , intent(in) :: f0(:) ! input: value of function at x = x1
real(kind=8) , intent(in) :: j0(:,:) ! input: jacobian at x = x0
real(kind=8) , intent(out) :: j1(:,:) ! output: updated jacobian
This subroutine applies the Boryden’s method to update a Jacobian matrix. You can learn more about this method in this link. In particular, this subroutine returns an opproximation to the jacobian matrix around the point x = x1
, without function evaluations.
The user must supply a pair of points x0
and x1
, the value of the function evaluated at those points f0
and f1
, and the jacobian matrix j0
evaluated at x0
.
Note: this function is used in lmmin
Dependencies: none
–