sils_control_type structure#
#include <galahad_sils.h> struct sils_control_type { // fields bool f_indexing; ipc_ ICNTL[30]; ipc_ lp; ipc_ wp; ipc_ mp; ipc_ sp; ipc_ ldiag; ipc_ la; ipc_ liw; ipc_ maxla; ipc_ maxliw; ipc_ pivoting; ipc_ nemin; ipc_ factorblocking; ipc_ solveblocking; ipc_ thresh; ipc_ ordering; ipc_ scaling; rpc_ CNTL[5]; rpc_ multiplier; rpc_ reduce; rpc_ u; rpc_ static_tolerance; rpc_ static_level; rpc_ tolerance; rpc_ convergence; };
detailed documentation#
control derived type as a C struct
components#
bool f_indexing
use C or Fortran sparse matrix indexing
ipc_ ICNTL[30]
MA27 internal integer controls.
ipc_ lp
Unit for error messages.
ipc_ wp
Unit for warning messages.
ipc_ mp
Unit for monitor output.
ipc_ sp
Unit for statistical output.
ipc_ ldiag
Controls level of diagnostic output.
ipc_ la
Initial size for real array for the factors. If less than nrlnec, default size used.
ipc_ liw
Initial size for integer array for the factors. If less than nirnec, default size used.
ipc_ maxla
Max. size for real array for the factors.
ipc_ maxliw
Max. size for integer array for the factors.
ipc_ pivoting
Controls pivoting. Possible values are:
1 Numerical pivoting will be performed.
2 No pivoting will be performed and an error exit will occur immediately a pivot sign change is detected.
3 No pivoting will be performed and an error exit will occur if a zero pivot is detected.
4 No pivoting is performed but pivots are changed to all be positive.
ipc_ nemin
Minimum number of eliminations in a step (unused)
ipc_ factorblocking
Level 3 blocking in factorize (unused)
ipc_ solveblocking
Level 2 and 3 blocking in solve.
ipc_ thresh
Controls threshold for detecting full rows in analyse, registered as percentage of N, 100 Only fully dense rows detected (default)
ipc_ ordering
Controls ordering: Possible values are:
0 AMD using HSL’s MC47
1 User defined
2 AMD using HSL’s MC50
3 Min deg as in HSL’s MA57
4 Metis_nodend ordering
5 Ordering chosen depending on matrix characteristics. At the moment choices are HSL’s MC50 or Metis_nodend
>5 Presently equivalent to 5 but may chnage
ipc_ scaling
Controls scaling: Possible values are:
0 No scaling
>0 Scaling using HSL’s MC64 but may change for > 1
rpc_ CNTL[5]
MA27 internal real controls.
rpc_ multiplier
Factor by which arrays sizes are to be increased if they are too small.
rpc_ reduce
If previously allocated internal workspace arrays are greater than reduce times the currently required sizes, they are reset to current requirment.
rpc_ u
Pivot threshold.
rpc_ static_tolerance
used for setting static pivot level
rpc_ static_level
used for switch to static
rpc_ tolerance
Anything less than this is considered zero.
rpc_ convergence
used to monitor convergence in iterative refinement