1+ ! *****************************************************************************************
2+ ! >
3+ ! Modernized Minpack
4+ module minpack_module
15
2- subroutine chkder (m ,n ,x ,Fvec ,Fjac ,Ldfjac ,Xp ,Fvecp ,Mode ,Err )
6+ implicit none
7+
8+ contains
9+ ! *****************************************************************************************
10+
11+ subroutine chkder (m ,n ,x ,Fvec ,Fjac ,Ldfjac ,Xp ,Fvecp ,Mode ,Err )
312 implicit none
413
514 integer m , n , Ldfjac , Mode
@@ -89,8 +98,7 @@ subroutine chkder(m,n,x,Fvec,Fjac,Ldfjac,Xp,Fvecp,Mode,Err)
8998 integer i , j
9099 double precision eps , epsf , epslog , epsmch , factor , one , &
91100 & temp , zero
92- double precision dpmpar
93- data factor , one , zero/ 1.0d2 , 1.0d0 , 0.0d0 /
101+ data factor , one , zero/ 1.0d2 , 1.0d0 , 0.0d0 /
94102!
95103! epsmch is the machine precision.
96104!
@@ -207,7 +215,6 @@ subroutine dogleg(n,r,Lr,Diag,Qtb,Delta,x,Wa1,Wa2)
207215 integer i , j , jj , jp1 , k , l
208216 double precision alpha , bnorm , epsmch , gnorm , one , qnorm , &
209217 & sgnorm , sum , temp , zero
210- double precision dpmpar , enorm
211218 data one , zero/ 1.0d0 , 0.0d0 /
212219!
213220! epsmch is the machine precision.
@@ -692,8 +699,7 @@ subroutine fdjac1(fcn,n,x,Fvec,Fjac,Ldfjac,Iflag,Ml,Mu,Epsfcn,Wa1,&
692699! **********
693700 integer i , j , k , msum
694701 double precision eps , epsmch , h , temp , zero
695- double precision dpmpar
696- data zero/ 0.0d0 /
702+ data zero/ 0.0d0 /
697703!
698704! epsmch is the machine precision.
699705!
@@ -747,7 +753,7 @@ subroutine fdjac1(fcn,n,x,Fvec,Fjac,Ldfjac,Iflag,Ml,Mu,Epsfcn,Wa1,&
747753!
74875499999 end
749755
750-
756+
751757 subroutine fdjac2 (fcn ,m ,n ,x ,Fvec ,Fjac ,Ldfjac ,Iflag ,Epsfcn ,Wa )
752758 implicit none
753759
@@ -831,8 +837,7 @@ subroutine fdjac2(fcn,m,n,x,Fvec,Fjac,Ldfjac,Iflag,Epsfcn,Wa)
831837! **********
832838 integer i , j
833839 double precision eps , epsmch , h , temp , zero
834- double precision dpmpar
835- data zero/ 0.0d0 /
840+ data zero/ 0.0d0 /
836841!
837842! epsmch is the machine precision.
838843!
@@ -1031,7 +1036,6 @@ subroutine hybrd(fcn,n,x,Fvec,Xtol,Maxfev,Ml,Mu,Epsfcn,Diag,Mode, &
10311036 double precision actred , delta , epsmch , fnorm , fnorm1 , one , &
10321037 & pnorm , prered , p1 , p5 , p001 , p0001 , ratio ,&
10331038 & sum , temp , xnorm , zero
1034- double precision dpmpar , enorm
10351039 data one , p1 , p5 , p001 , p0001 , zero/ 1.0d0 , 1.0d-1 , 5.0d-1 ,&
10361040 & 1.0d-3 , 1.0d-4 , 0.0d0 /
10371041!
@@ -1599,7 +1603,6 @@ subroutine hybrj(fcn,n,x,Fvec,Fjac,Ldfjac,Xtol,Maxfev,Diag,Mode, &
15991603 double precision actred , delta , epsmch , fnorm , fnorm1 , one , &
16001604 & pnorm , prered , p1 , p5 , p001 , p0001 , ratio ,&
16011605 & sum , temp , xnorm , zero
1602- double precision dpmpar , enorm
16031606 data one , p1 , p5 , p001 , p0001 , zero/ 1.0d0 , 1.0d-1 , 5.0d-1 ,&
16041607 & 1.0d-3 , 1.0d-4 , 0.0d0 /
16051608!
@@ -2200,7 +2203,6 @@ subroutine lmder(fcn,m,n,x,Fvec,Fjac,Ldfjac,Ftol,Xtol,Gtol,Maxfev,&
22002203 & fnorm1 , gnorm , one , par , pnorm , prered , &
22012204 & p1 , p5 , p25 , p75 , p0001 , ratio , sum , &
22022205 & temp , temp1 , temp2 , xnorm , zero
2203- double precision dpmpar , enorm
22042206 data one , p1 , p5 , p25 , p75 , p0001 , zero/ 1.0d0 , 1.0d-1 , &
22052207 & 5.0d-1 , 2.5d-1 , 7.5d-1 , 1.0d-4 , 0.0d0 /
22062208!
@@ -2819,8 +2821,7 @@ subroutine lmdif(fcn,m,n,x,Fvec,Ftol,Xtol,Gtol,Maxfev,Epsfcn,Diag,&
28192821 & fnorm1 , gnorm , one , par , pnorm , prered , &
28202822 & p1 , p5 , p25 , p75 , p0001 , ratio , sum , &
28212823 & temp , temp1 , temp2 , xnorm , zero
2822- double precision dpmpar , enorm
2823- data one , p1 , p5 , p25 , p75 , p0001 , zero/ 1.0d0 , 1.0d-1 , &
2824+ data one , p1 , p5 , p25 , p75 , p0001 , zero/ 1.0d0 , 1.0d-1 , &
28242825 & 5.0d-1 , 2.5d-1 , 7.5d-1 , 1.0d-4 , 0.0d0 /
28252826!
28262827! epsmch is the machine precision.
@@ -3325,8 +3326,7 @@ subroutine lmpar(n,r,Ldr,Ipvt,Diag,Qtb,Delta,Par,x,Sdiag,Wa1,Wa2)
33253326 integer i , iter , j , jm1 , jp1 , k , l , nsing
33263327 double precision dxnorm , dwarf , fp , gnorm , parc , parl , &
33273328 & paru , p1 , p001 , sum , temp , zero
3328- double precision dpmpar , enorm
3329- data p1 , p001 , zero/ 1.0d-1 , 1.0d-3 , 0.0d0 /
3329+ data p1 , p001 , zero/ 1.0d-1 , 1.0d-3 , 0.0d0 /
33303330!
33313331! dwarf is the smallest positive magnitude.
33323332!
@@ -3680,8 +3680,7 @@ subroutine lmstr(fcn,m,n,x,Fvec,Fjac,Ldfjac,Ftol,Xtol,Gtol,Maxfev,&
36803680 & fnorm1 , gnorm , one , par , pnorm , prered , &
36813681 & p1 , p5 , p25 , p75 , p0001 , ratio , sum , &
36823682 & temp , temp1 , temp2 , xnorm , zero
3683- double precision dpmpar , enorm
3684- data one , p1 , p5 , p25 , p75 , p0001 , zero/ 1.0d0 , 1.0d-1 , &
3683+ data one , p1 , p5 , p25 , p75 , p0001 , zero/ 1.0d0 , 1.0d-1 , &
36853684 & 5.0d-1 , 2.5d-1 , 7.5d-1 , 1.0d-4 , 0.0d0 /
36863685!
36873686! epsmch is the machine precision.
@@ -4292,8 +4291,7 @@ subroutine qrfac(m,n,a,Lda,Pivot,Ipvt,Lipvt,Rdiag,Acnorm,Wa)
42924291! **********
42934292 integer i , j , jp1 , k , kmax , minmn
42944293 double precision ajnorm , epsmch , one , p05 , sum , temp , zero
4295- double precision dpmpar , enorm
4296- data one , p05 , zero/ 1.0d0 , 5.0d-2 , 0.0d0 /
4294+ data one , p05 , zero/ 1.0d0 , 5.0d-2 , 0.0d0 /
42974295!
42984296! epsmch is the machine precision.
42994297!
@@ -4745,7 +4743,6 @@ subroutine r1updt(m,n,s,Ls,u,v,w,Sing)
47454743 integer i , j , jj , l , nmj , nm1
47464744 double precision cos , cotan , giant , one , p5 , p25 , sin , &
47474745 & tan , tau , temp , zero
4748- double precision dpmpar
47494746 data one , p5 , p25 , zero/ 1.0d0 , 5.0d-1 , 2.5d-1 , 0.0d0 /
47504747!
47514748! giant is the largest magnitude.
@@ -4988,3 +4985,7 @@ subroutine rwupdt(n,r,Ldr,w,b,Alpha,Cos,Sin)
49884985! last card of subroutine rwupdt.
49894986!
49904987 end
4988+
4989+ ! *****************************************************************************************
4990+ end module minpack_module
4991+ ! *****************************************************************************************
0 commit comments