sls_inform_type structure#

#include <galahad_sls.h>

struct sls_inform_type {
    // fields

    ipc_ status;
    ipc_ alloc_status;
    char bad_alloc[81];
    ipc_ more_info;
    ipc_ entries;
    ipc_ out_of_range;
    ipc_ duplicates;
    ipc_ upper;
    ipc_ missing_diagonals;
    ipc_ max_depth_assembly_tree;
    ipc_ nodes_assembly_tree;
    int64_t real_size_desirable;
    int64_t integer_size_desirable;
    int64_t real_size_necessary;
    int64_t integer_size_necessary;
    int64_t real_size_factors;
    int64_t integer_size_factors;
    int64_t entries_in_factors;
    ipc_ max_task_pool_size;
    ipc_ max_front_size;
    ipc_ compresses_real;
    ipc_ compresses_integer;
    ipc_ two_by_two_pivots;
    ipc_ semi_bandwidth;
    ipc_ delayed_pivots;
    ipc_ pivot_sign_changes;
    ipc_ static_pivots;
    ipc_ first_modified_pivot;
    ipc_ rank;
    ipc_ negative_eigenvalues;
    ipc_ num_zero;
    ipc_ iterative_refinements;
    int64_t flops_assembly;
    int64_t flops_elimination;
    int64_t flops_blas;
    rpc_ largest_modified_pivot;
    rpc_ minimum_scaling_factor;
    rpc_ maximum_scaling_factor;
    rpc_ condition_number_1;
    rpc_ condition_number_2;
    rpc_ backward_error_1;
    rpc_ backward_error_2;
    rpc_ forward_error;
    bool alternative;
    char solver[21];
    struct sls_time_type time;
    struct sils_ainfo_type sils_ainfo;
    struct sils_finfo_type sils_finfo;
    struct sils_sinfo_type sils_sinfo;
    struct ma57_ainfo ma57_ainfo;
    struct ma57_finfo ma57_finfo;
    struct ma57_sinfo ma57_sinfo;
    struct ma77_info ma77_info;
    struct ma86_info ma86_info;
    struct ma87_info ma87_info;
    struct ma97_info ma97_info;
    struct spral_ssids_inform ssids_inform;
    ipc_ mc61_info[10];
    rpc_ mc61_rinfo[15];
    struct mc64_info mc64_info;
    struct mc68_info mc68_info;
    ipc_ mc77_info[10];
    rpc_ mc77_rinfo[10];
    ipc_ mumps_error;
    ipc_ mumps_info[80];
    rpc_ mumps_rinfo[40];
    ipc_ pardiso_error;
    ipc_ pardiso_IPARM[64];
    rpc_ pardiso_DPARM[64];
    ipc_ mkl_pardiso_error;
    ipc_ mkl_pardiso_IPARM[64];
    ipc_ pastix_info;
    ipc_ wsmp_error;
    ipc_ wsmp_iparm[64];
    rpc_ wsmp_dparm[64];
    ipc_ mpi_ierr;
    ipc_ lapack_error;
};

detailed documentation#

inform derived type as a C struct

components#

ipc_ status

reported return status: 0 success -1 allocation error -2 deallocation error -3 matrix data faulty (.n < 1, .ne < 0) -20 alegedly +ve definite matrix is not -29 unavailable option -31 input order is not a permutation or is faulty in some other way -32 > control.max_integer_factor_size integer space required for factor -33 > control.max_real_factor_size real space required for factors -40 not possible to alter the diagonals -41 no access to permutation or pivot sequence used -42 no access to diagonal perturbations -43 direct-access file error -50 solver-specific error; see the solver’s info parameter -101 unknown solver

ipc_ alloc_status

STAT value after allocate failure.

char bad_alloc[81]

name of array which provoked an allocate failure

ipc_ more_info

further information on failure

ipc_ entries

number of entries

ipc_ out_of_range

number of indices out-of-range

ipc_ duplicates

number of duplicates

ipc_ upper

number of entries from the strict upper triangle

ipc_ missing_diagonals

number of missing diagonal entries for an allegedly-definite matrix

ipc_ max_depth_assembly_tree

maximum depth of the assembly tree

ipc_ nodes_assembly_tree

nodes in the assembly tree (= number of elimination steps)

int64_t real_size_desirable

desirable or actual size for real array for the factors and other data

int64_t integer_size_desirable

desirable or actual size for integer array for the factors and other dat

int64_t real_size_necessary

necessary size for real array for the factors and other data

int64_t integer_size_necessary

necessary size for integer array for the factors and other data

int64_t real_size_factors

predicted or actual number of reals to hold factors

int64_t integer_size_factors

predicted or actual number of integers to hold factors

int64_t entries_in_factors

number of entries in factors

ipc_ max_task_pool_size

maximum number of tasks in the factorization task pool

ipc_ max_front_size

forecast or actual size of largest front

ipc_ compresses_real

number of compresses of real data

ipc_ compresses_integer

number of compresses of integer data

ipc_ two_by_two_pivots

number of 2x2 pivots

ipc_ semi_bandwidth

semi-bandwidth of matrix following bandwidth reduction

ipc_ delayed_pivots

number of delayed pivots (total)

ipc_ pivot_sign_changes

number of pivot sign changes if no pivoting is used successfully

ipc_ static_pivots

number of static pivots chosen

ipc_ first_modified_pivot

first pivot modification when static pivoting

ipc_ rank

estimated rank of the matrix

ipc_ negative_eigenvalues

number of negative eigenvalues

ipc_ num_zero

number of pivots that are considered zero (and ignored)

ipc_ iterative_refinements

number of iterative refinements performed

int64_t flops_assembly

anticipated or actual number of floating-point operations in assembly

int64_t flops_elimination

anticipated or actual number of floating-point operations in elimination

int64_t flops_blas

additional number of floating-point operations for BLAS

rpc_ largest_modified_pivot

largest diagonal modification when static pivoting or ensuring definiten

rpc_ minimum_scaling_factor

minimum scaling factor

rpc_ maximum_scaling_factor

maximum scaling factor

rpc_ condition_number_1

esimate of the condition number of the matrix (category 1 equations)

rpc_ condition_number_2

estimate of the condition number of the matrix (category 2 equations)

rpc_ backward_error_1

esimate of the backward error (category 1 equations)

rpc_ backward_error_2

esimate of the backward error (category 2 equations)

rpc_ forward_error

estimate of forward error

bool alternative

has an “alternative” y: A y = 0 and yT b > 0 been found when trying to solve A x = b ?

char solver[21]

name of external solver used to factorize and solve

struct sls_time_type time

timings (see above)

struct sils_ainfo_type sils_ainfo

the output structure from sils

struct sils_finfo_type sils_finfo

see sils_ainfo

struct sils_sinfo_type sils_sinfo

see sils_ainfo

struct ma57_ainfo ma57_ainfo

the output structure from ma57

struct ma57_finfo ma57_finfo

see ma57_ainfo

struct ma57_sinfo ma57_sinfo

see ma57_ainfo

struct ma77_info ma77_info

the output structure from ma77

struct ma86_info ma86_info

the output structure from ma86

struct ma87_info ma87_info

the output structure from ma87

struct ma97_info ma97_info

the output structure from ma97

struct spral_ssids_inform ssids_inform

the output structure from ssids

ipc_ mc61_info[10]

the integer and real output arrays from mc61

rpc_ mc61_rinfo[15]

see mc61_info

struct mc64_info mc64_info

the output structure from mc64

struct mc68_info mc68_info

the output structure from mc68

ipc_ mc77_info[10]

the integer output array from mc77

rpc_ mc77_rinfo[10]

the real output status from mc77

ipc_ mumps_error

the output scalars and arrays from mumps

ipc_ mumps_info[80]

see mumps_error

rpc_ mumps_rinfo[40]

see mumps_error

ipc_ pardiso_error

the output scalars and arrays from pardiso

ipc_ pardiso_IPARM[64]

see pardiso_error

rpc_ pardiso_DPARM[64]

see pardiso_error

ipc_ mkl_pardiso_error

the output scalars and arrays from mkl_pardiso

ipc_ mkl_pardiso_IPARM[64]

see mkl_pardiso_error

ipc_ pastix_info

the output flag from pastix

ipc_ wsmp_error

the output scalars and arrays from wsmp

ipc_ wsmp_iparm[64]

see wsmp_error

rpc_ wsmp_dparm[64]

see wsmp_error

ipc_ mpi_ierr

the output flag from MPI routines

ipc_ lapack_error

the output flag from LAPACK routines