glrt_control_type structure#
#include <galahad_glrt.h> struct glrt_control_type { // fields bool f_indexing; ipc_ error; ipc_ out; ipc_ print_level; ipc_ itmax; ipc_ stopping_rule; ipc_ freq; ipc_ extra_vectors; ipc_ ritz_printout_device; rpc_ stop_relative; rpc_ stop_absolute; rpc_ fraction_opt; rpc_ rminvr_zero; rpc_ f_0; bool unitm; bool impose_descent; bool space_critical; bool deallocate_error_fatal; bool print_ritz_values; char ritz_file_name[31]; char prefix[31]; };
detailed documentation#
control derived type as a C struct
components#
bool f_indexing
use C or Fortran sparse matrix indexing
ipc_ error
error and warning diagnostics occur on stream error
ipc_ out
general output occurs on stream out
ipc_ print_level
the level of output required is specified by print_level
ipc_ itmax
the maximum number of iterations allowed (-ve = no bound)
ipc_ stopping_rule
the stopping rule used (see below). Possible values are:
1 stopping rule = norm of the step.
2 stopping rule is norm of the step / \(\sigma\).
other. stopping rule = 1.0.
ipc_ freq
frequency for solving the reduced tri-diagonal problem
ipc_ extra_vectors
the number of extra work vectors of length n used
ipc_ ritz_printout_device
the unit number for writing debug Ritz values
rpc_ stop_relative
the iteration stops successfully when the gradient in the \(M^{-1}\) norm is smaller than max( stop_relative \* min( 1, stopping_rule ) \* norm initial gradient, stop_absolute )
rpc_ stop_absolute
see stop_relative
rpc_ fraction_opt
an estimate of the solution that gives at least .fraction_opt times the optimal objective value will be found
rpc_ rminvr_zero
the smallest value that the square of the M norm of the gradient of the objective may be before it is considered to be zero
rpc_ f_0
the constant term, f0, in the objective function
bool unitm
is M the identity matrix ?
bool impose_descent
is descent required i.e., should \(c^T x < 0\)?
bool space_critical
if .space_critical true, every effort will be made to use as little space as possible. This may result in longer computation time
bool deallocate_error_fatal
if .deallocate_error_fatal is true, any array/pointer deallocation error will terminate execution. Otherwise, computation will continue
bool print_ritz_values
should the Ritz values be written to the debug stream?
char ritz_file_name[31]
name of debug file containing the Ritz values
char prefix[31]
all output lines will be prefixed by .prefix(2:LEN(TRIM(.prefix))-1) where .prefix contains the required string enclosed in quotes, e.g. “string” or ‘string’