llsr_control_type structure#
#include <galahad_llsr.h> struct llsr_control_type { // fields bool f_indexing; ipc_ error; ipc_ out; ipc_ print_level; ipc_ new_a; ipc_ new_s; ipc_ max_factorizations; ipc_ taylor_max_degree; rpc_ initial_multiplier; rpc_ lower; rpc_ upper; rpc_ stop_normal; bool use_initial_multiplier; bool space_critical; bool deallocate_error_fatal; char definite_linear_solver[31]; char prefix[31]; struct sbls_control_type sbls_control; struct sls_control_type sls_control; struct ir_control_type ir_control; };
detailed documentation#
control derived type as a C struct
components#
bool f_indexing
use C or Fortran sparse matrix indexing
ipc_ error
unit for error messages
ipc_ out
unit for monitor output
ipc_ print_level
controls level of diagnostic output
ipc_ new_a
how much of \(A\) has changed since the previous call. Possible values are
0 unchanged
1 values but not indices have changed
2 values and indices have changed
ipc_ new_s
how much of \(S\) has changed since the previous call. Possible values are
0 unchanged
1 values but not indices have changed
2 values and indices have changed
ipc_ max_factorizations
the maximum number of factorizations (=iterations) allowed. -ve implies no limit
ipc_ taylor_max_degree
maximum degree of Taylor approximant allowed (<= 3)
rpc_ initial_multiplier
initial estimate of the Lagrange multipler
rpc_ lower
lower and upper bounds on the multiplier, if known
rpc_ upper
see lower
rpc_ stop_normal
stop when \(| \|x\| - (\lambda/\sigma)^{1/(p-2)| \leq\) stop_normal \* max( 1, \(\|x\|\))
bool use_initial_multiplier
ignore initial_multiplier?
bool space_critical
if space is critical, ensure allocated arrays are no bigger than needed
bool deallocate_error_fatal
exit if any deallocation fails
char definite_linear_solver[31]
the name of the definite linear equation solver used. Possible choices are currently: ‘sils’, ‘ma27’, ‘ma57’, ‘ma77’, ‘ma86’, ‘ma87’, ‘ma97’, ‘ssids’, ‘mumps’, ‘pardiso’, ‘mkl_pardiso’, ‘pastix’, ‘wsmp’, ‘potr’, ‘sytr’ and ‘pbtr’, although only ‘potr’, ‘sytr’, ‘pbtr’ and, for OMP 4.0-compliant compilers, ‘ssids’ are installed by default; others are easily installed (see README.external). More details of the capabilities of each solver are provided in the documentation for galahad_sls.
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’
struct sbls_control_type sbls_control
control parameters for the symmetric factorization and related linear solves (see sbls_c documentation)
struct sls_control_type sls_control
control parameters for the factorization of S and related linear solves (see sls_c documentation)
struct ir_control_type ir_control
control parameters for iterative refinement for definite system solves (see ir_c documentation)