@@ -87,6 +87,12 @@ module nlesolver_module
8787 integer ,parameter ,public :: NLESOLVER_INF_NORM = 2 ! ! [[nlesolver_type:norm_mode]] : infinity-norm
8888 integer ,parameter ,public :: NLESOLVER_1_NORM = 3 ! ! [[nlesolver_type:norm_mode]] : 1-norm
8989
90+ ! options for linesearch step mode:
91+ integer ,parameter ,public :: NLESOLVER_LINESEARCH_SIMPLE = 1 ! ! [[nlesolver_type:linesearch]] : use the specified `alpha` (0,1]
92+ integer ,parameter ,public :: NLESOLVER_LINESEARCH_BACKTRACKING = 2 ! ! [[nlesolver_type:linesearch]] : backtracking linesearch (between `alpha_min` and `alpha_max`)
93+ integer ,parameter ,public :: NLESOLVER_LINESEARCH_EXACT = 3 ! ! [[nlesolver_type:linesearch]] : exact linesearch (between `alpha_min` and `alpha_max`)
94+ integer ,parameter ,public :: NLESOLVER_LINESEARCH_FIXEDPOINT = 4 ! ! [[nlesolver_type:linesearch]] : evaluate function at specified fixed points (between `alpha_min` and `alpha_max`)
95+
9096 ! *********************************************************
9197 type,public :: nlesolver_type
9298
@@ -577,14 +583,10 @@ subroutine initialize_nlesolver_variables(me,&
577583
578584 if (present (step_mode)) then
579585 select case (step_mode)
580- case (1 ) ! = use the specified `alpha` (0,1]
581- me% linesearch = > simple_step
582- case (2 ) ! = backtracking linesearch (between `alpha_min` and `alpha_max`)
583- me% linesearch = > backtracking_linesearch
584- case (3 ) ! = exact linesearch (between `alpha_min` and `alpha_max`)
585- me% linesearch = > exact_linesearch
586- case (4 ) ! = evaluate function at specified fixed points (between `alpha_min` and `alpha_max`)
587- me% linesearch = > fixed_point_linesearch
586+ case (NLESOLVER_LINESEARCH_SIMPLE); me% linesearch = > simple_step
587+ case (NLESOLVER_LINESEARCH_BACKTRACKING); me% linesearch = > backtracking_linesearch
588+ case (NLESOLVER_LINESEARCH_EXACT); me% linesearch = > exact_linesearch
589+ case (NLESOLVER_LINESEARCH_FIXEDPOINT); me% linesearch = > fixed_point_linesearch
588590 case default
589591 status_ok = .false.
590592 call me% set_status(istat = - 5 , string = ' Error: invalid step_mode:' ,i= step_mode)
0 commit comments