uls_control_type structure#

    struct uls_control_type{T}
      f_indexing::Bool
      error::Int32
      warning::Int32
      out::Int32
      print_level::Int32
      print_level_solver::Int32
      initial_fill_in_factor::Int32
      min_real_factor_size::Int32
      min_integer_factor_size::Int32
      max_factor_size::Int64
      blas_block_size_factorize::Int32
      blas_block_size_solve::Int32
      pivot_control::Int32
      pivot_search_limit::Int32
      minimum_size_for_btf::Int32
      max_iterative_refinements::Int32
      stop_if_singular::Bool
      array_increase_factor::T
      switch_to_full_code_density::T
      array_decrease_factor::T
      relative_pivot_tolerance::T
      absolute_pivot_tolerance::T
      zero_tolerance::T
      acceptable_residual_relative::T
      acceptable_residual_absolute::T
      prefix::NTuple{31,Cchar}

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 warning

unit for warning messages

Int32 out

unit for monitor output

Int32 print_level

controls level of diagnostic output

Int32 print_level_solver

controls level of diagnostic output from external solver

Int32 initial_fill_in_factor

prediction of factor by which the fill-in will exceed the initial number of nonzeros in \(A\)

Int32 min_real_factor_size

initial size for real array for the factors and other data

Int32 min_integer_factor_size

initial size for integer array for the factors and other data

Int64 max_factor_size

maximum size for real array for the factors and other data

Int32 blas_block_size_factorize

level 3 blocking in factorize

Int32 blas_block_size_solve

level 2 and 3 blocking in solve

Int32 pivot_control

pivot control:

  • 1 Threshold Partial Pivoting is desired

  • 2 Threshold Rook Pivoting is desired

  • 3 Threshold Complete Pivoting is desired

  • 4 Threshold Symmetric Pivoting is desired

  • 5 Threshold Diagonal Pivoting is desired

Int32 pivot_search_limit

number of rows/columns pivot selection restricted to (0 = no restriction)

Int32 minimum_size_for_btf

the minimum permitted size of blocks within the block-triangular form

Int32 max_iterative_refinements

maximum number of iterative refinements allowed

Bool stop_if_singular

stop if the matrix is found to be structurally singular

T array_increase_factor

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

T switch_to_full_code_density

switch to full code when the density exceeds this factor

T array_decrease_factor

if previously allocated internal workspace arrays are greater than array_decrease_factor times the currently required sizes, they are reset to current requirements

T relative_pivot_tolerance

pivot threshold

T absolute_pivot_tolerance

any pivot small than this is considered zero

T zero_tolerance

any entry smaller than this in modulus is reset to zero

T acceptable_residual_relative

refinement will cease as soon as the residual \(\|Ax-b\|\) falls below max( acceptable_residual_relative \* \(\|b\|\), acceptable_residual_absolute )

T acceptable_residual_absolute

see acceptable_residual_relative

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’