rqs_control_type structure#
struct rqs_control_type{T,INT} f_indexing::Bool error::INT out::INT problem::INT print_level::INT dense_factorization::INT new_h::INT new_m::INT new_a::INT max_factorizations::INT inverse_itmax::INT taylor_max_degree::INT initial_multiplier::T lower::T upper::T stop_normal::T stop_hard::T start_invit_tol::T start_invitmax_tol::T use_initial_multiplier::Bool initialize_approx_eigenvector::Bool space_critical::Bool deallocate_error_fatal::Bool problem_file::NTuple{31,Cchar} symmetric_linear_solver::NTuple{31,Cchar} definite_linear_solver::NTuple{31,Cchar} prefix::NTuple{31,Cchar} sls_control::sls_control_type{T,INT} ir_control::ir_control_type{T,INT}
detailed documentation#
control derived type as a Julia structure
components#
Bool f_indexing
use C or Fortran sparse matrix indexing
INT error
unit for error messages
INT out
unit for monitor output
INT problem
unit to write problem data into file problem_file
INT print_level
controls level of diagnostic output
INT dense_factorization
should the problem be solved by dense factorization? Possible values are
0 sparse factorization will be used
1 dense factorization will be used
other the choice is made automatically depending on the dimension and sparsity
INT new_h
how much of \(H\) has changed since the previous call. Possible values are
0 unchanged
1 values but not indices have changed
2 values and indices have changed
INT new_m
how much of \(M\) has changed since the previous call. Possible values are
0 unchanged
1 values but not indices have changed
2 values and indices have changed
INT 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
INT max_factorizations
the maximum number of factorizations (=iterations) allowed. -ve implies no limit
INT inverse_itmax
the number of inverse iterations performed in the “maybe hard” case
INT taylor_max_degree
maximum degree of Taylor approximant allowed
T initial_multiplier
initial estimate of the Lagrange multipler
T lower
lower and upper bounds on the multiplier, if known
T upper
see lower
T stop_normal
stop when \(| \|x\| - (multiplier/\sigma)^(1/(p-2)) | \leq\) stop_normal \* max \(( \|x\|, (multiplier/\sigma)^(1/(p-2)) )\) REAL ( KIND = wp ) :: stop_normal = epsmch \*\* 0.75
T stop_hard
stop when bracket on optimal multiplier <= stop_hard * max( bracket ends ) REAL ( KIND = wp ) :: stop_hard = epsmch ** 0.75
T start_invit_tol
start inverse iteration when bracket on optimal multiplier <= stop_start_invit_tol * max( bracket ends )
T start_invitmax_tol
start full inverse iteration when bracket on multiplier <= stop_start_invitmax_tol * max( bracket ends)
Bool use_initial_multiplier
ignore initial_multiplier?
Bool initialize_approx_eigenvector
should a suitable initial eigenvector should be chosen or should a previous eigenvector may be used?
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 problem_file[31]
name of file into which to write problem data
char symmetric_linear_solver[31]
symmetric (indefinite) linear equation solver
char definite_linear_solver[31]
definite linear equation solver
NTuple{31,Cchar} prefix
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 sls_control_type sls_control
control parameters for the Cholesky factorization and solution (see sls_c documentation)
struct ir_control_type ir_control
control parameters for iterative refinement (see ir_c documentation)