rqs_control_type structure#
struct rqs_control_type{T} f_indexing::Bool error::Int32 out::Int32 problem::Int32 print_level::Int32 dense_factorization::Int32 new_h::Int32 new_m::Int32 new_a::Int32 max_factorizations::Int32 inverse_itmax::Int32 taylor_max_degree::Int32 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} ir_control::ir_control_type{T}
detailed documentation#
control derived type as a Julia structure
components#
Bool f_indexing
use C or Fortran sparse matrix indexing
Int32 error
unit for error messages
Int32 out
unit for monitor output
Int32 problem
unit to write problem data into file problem_file
Int32 print_level
controls level of diagnostic output
Int32 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
Int32 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
Int32 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
Int32 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
Int32 max_factorizations
the maximum number of factorizations (=iterations) allowed. -ve implies no limit
Int32 inverse_itmax
the number of inverse iterations performed in the “maybe hard” case
Int32 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)