![]() |
(git:b77b4be)
|
routines that optimize a functional using the limited memory bfgs quasi-newton method. The process set up so that a master runs the real optimizer and the others help then to calculate the objective function. The arguments for the objective function are physically present in every processor (nedeed in the actual implementation of pao). In the future tha arguments themselves could be distributed. More...
Data Types | |
type | cp_lbfgs_opt_gopt_type |
info for the optimizer (see the description of this module) More... | |
Functions/Subroutines | |
subroutine, public | cp_opt_gopt_create (optimizer, para_env, obj_funct, x0, m, print_every, wanted_relative_f_delta, wanted_projected_gradient, lower_bound, upper_bound, kind_of_bound, master, max_f_per_iter, trust_radius) |
initializes the optimizer | |
subroutine, public | cp_opt_gopt_release (optimizer) |
releases the optimizer (see doc/ReferenceCounting.html) | |
logical function, public | cp_opt_gopt_next (optimizer, n_iter, f, last_f, projected_gradient, converged, geo_section, force_env, gopt_param, spgr) |
goes to the next optimal point (after an optimizer iteration) returns true if converged | |
subroutine, public | cp_opt_gopt_stop (optimizer) |
stops the optimization | |
routines that optimize a functional using the limited memory bfgs quasi-newton method. The process set up so that a master runs the real optimizer and the others help then to calculate the objective function. The arguments for the objective function are physically present in every processor (nedeed in the actual implementation of pao). In the future tha arguments themselves could be distributed.
subroutine, public cp_lbfgs_optimizer_gopt::cp_opt_gopt_create | ( | type(cp_lbfgs_opt_gopt_type), intent(out) | optimizer, |
type(mp_para_env_type), pointer | para_env, | ||
type(gopt_f_type), pointer | obj_funct, | ||
real(kind=dp), dimension(:), intent(in) | x0, | ||
integer, intent(in), optional | m, | ||
integer, intent(in), optional | print_every, | ||
real(kind=dp), intent(in), optional | wanted_relative_f_delta, | ||
real(kind=dp), intent(in), optional | wanted_projected_gradient, | ||
real(kind=dp), dimension(size(x0)), intent(in), optional | lower_bound, | ||
real(kind=dp), dimension(size(x0)), intent(in), optional | upper_bound, | ||
integer, dimension(size(x0)), intent(in), optional | kind_of_bound, | ||
integer, intent(in), optional | master, | ||
integer, intent(in), optional | max_f_per_iter, | ||
real(kind=dp), intent(in), optional | trust_radius | ||
) |
initializes the optimizer
optimizer | ... |
para_env | ... |
obj_funct | ... |
x0 | ... |
m | ... |
print_every | ... |
wanted_relative_f_delta | ... |
wanted_projected_gradient | ... |
lower_bound | ... |
upper_bound | ... |
kind_of_bound | ... |
master | ... |
max_f_per_iter | ... |
trust_radius | ... |
Definition at line 202 of file cp_lbfgs_optimizer_gopt.F.
subroutine, public cp_lbfgs_optimizer_gopt::cp_opt_gopt_release | ( | type(cp_lbfgs_opt_gopt_type), intent(inout) | optimizer | ) |
releases the optimizer (see doc/ReferenceCounting.html)
optimizer | the object that should be released |
Definition at line 303 of file cp_lbfgs_optimizer_gopt.F.
logical function, public cp_lbfgs_optimizer_gopt::cp_opt_gopt_next | ( | type(cp_lbfgs_opt_gopt_type), intent(inout) | optimizer, |
integer, intent(out), optional | n_iter, | ||
real(kind=dp), intent(out), optional | f, | ||
real(kind=dp), intent(out), optional | last_f, | ||
real(kind=dp), intent(out), optional | projected_gradient, | ||
logical, intent(out) | converged, | ||
type(section_vals_type), pointer | geo_section, | ||
type(force_env_type), pointer | force_env, | ||
type(gopt_param_type), pointer | gopt_param, | ||
type(spgr_type), optional, pointer | spgr | ||
) |
goes to the next optimal point (after an optimizer iteration) returns true if converged
optimizer | the optimizer that goes to the next point |
n_iter | ... |
f | ... |
last_f | ... |
projected_gradient | ... |
converged | ... |
geo_section | ... |
force_env | ... |
gopt_param | ... |
spgr | ... |
Definition at line 770 of file cp_lbfgs_optimizer_gopt.F.
subroutine, public cp_lbfgs_optimizer_gopt::cp_opt_gopt_stop | ( | type(cp_lbfgs_opt_gopt_type), intent(inout) | optimizer | ) |
stops the optimization
optimizer | ... |
Definition at line 800 of file cp_lbfgs_optimizer_gopt.F.