sils_control_type structure#

    struct sils_control_type{T}
      f_indexing::Bool
      ICNTL::NTuple{30,Cint}
      lp::Int32
      wp::Int32
      mp::Int32
      sp::Int32
      ldiag::Int32
      la::Int32
      liw::Int32
      maxla::Int32
      maxliw::Int32
      pivoting::Int32
      nemin::Int32
      factorblocking::Int32
      solveblocking::Int32
      thresh::Int32
      ordering::Int32
      scaling::Int32
      CNTL::NTuple{5,T}
      multiplier::T
      reduce::T
      u::T
      static_tolerance::T
      static_level::T
      tolerance::T
      convergence::T

detailed documentation#

control derived type as a Julia structure

components#

Bool f_indexing

use C or Fortran sparse matrix indexing

Int32 ICNTL[30]

MA27 internal integer controls.

Int32 lp

Unit for error messages.

Int32 wp

Unit for warning messages.

Int32 mp

Unit for monitor output.

Int32 sp

Unit for statistical output.

Int32 ldiag

Controls level of diagnostic output.

Int32 la

Initial size for real array for the factors. If less than nrlnec, default size used.

Int32 liw

Initial size for integer array for the factors. If less than nirnec, default size used.

Int32 maxla

Max. size for real array for the factors.

Int32 maxliw

Max. size for integer array for the factors.

Int32 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.

Int32 nemin

Minimum number of eliminations in a step (unused)

Int32 factorblocking

Level 3 blocking in factorize (unused)

Int32 solveblocking

Level 2 and 3 blocking in solve.

Int32 thresh

Controls threshold for detecting full rows in analyse, registered as percentage of N, 100 Only fully dense rows detected (default)

Int32 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

Int32 scaling

Controls scaling: Possible values are:

  • 0 No scaling

  • >0 Scaling using HSL’s MC64 but may change for > 1

T CNTL[5]

MA27 internal real controls.

T multiplier

Factor by which arrays sizes are to be increased if they are too small.

T reduce

If previously allocated internal workspace arrays are greater than reduce times the currently required sizes, they are reset to current requirment.

T u

Pivot threshold.

T static_tolerance

used for setting static pivot level

T static_level

used for switch to static

T tolerance

Anything less than this is considered zero.

T convergence

used to monitor convergence in iterative refinement