bsc_control_type structure#

#include <galahad_bsc.h>

struct bsc_control_type {
    // fields

    bool f_indexing;
    ipc_ error;
    ipc_ out;
    ipc_ print_level;
    ipc_ max_col;
    ipc_ new_a;
    ipc_ extra_space_s;
    bool s_also_by_column;
    bool space_critical;
    bool deallocate_error_fatal;
    char prefix[31];
};

detailed documentation#

control derived type as a C struct

components#

bool f_indexing

use C or Fortran sparse matrix indexing

ipc_ error

error and warning diagnostics occur on stream error

ipc_ out

general output occurs on stream out

ipc_ print_level

the level of output required is specified by print_level

ipc_ max_col

maximum permitted number of nonzeros in a column of \(A\); -ve means unlimit

ipc_ new_a

how much has \(A\) changed since it was last accessed:

  • 0 = not changed,

  • 1 = values changed,

  • 2 = structure changed

  • 3 = structure changed but values not required

ipc_ extra_space_s

how much extra space is to be allocated in \(S\) above that needed to hold the Schur complement

bool s_also_by_column

should s.ptr also be set to indicate the first entry in each column of \(S\)

bool space_critical

if .space_critical true, every effort will be made to use as little space as possible. This may result in longer computation time

bool deallocate_error_fatal

if .deallocate_error_fatal is true, any array/pointer deallocation error will terminate execution. Otherwise, computation will continue

char prefix[31]

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’