eqp_control_type structure#

#include <galahad_eqp.h>

struct eqp_control_type {
    // components

    bool f_indexing;
    ipc_ error;
    ipc_ out;
    ipc_ print_level;
    ipc_ factorization;
    ipc_ max_col;
    ipc_ indmin;
    ipc_ valmin;
    ipc_ len_ulsmin;
    ipc_ itref_max;
    ipc_ cg_maxit;
    ipc_ preconditioner;
    ipc_ semi_bandwidth;
    ipc_ new_a;
    ipc_ new_h;
    ipc_ sif_file_device;
    rpc_ pivot_tol;
    rpc_ pivot_tol_for_basis;
    rpc_ zero_pivot;
    rpc_ inner_fraction_opt;
    rpc_ radius;
    rpc_ min_diagonal;
    rpc_ max_infeasibility_relative;
    rpc_ max_infeasibility_absolute;
    rpc_ inner_stop_relative;
    rpc_ inner_stop_absolute;
    rpc_ inner_stop_inter;
    bool find_basis_by_transpose;
    bool remove_dependencies;
    bool space_critical;
    bool deallocate_error_fatal;
    bool generate_sif_file;
    char sif_file_name[31];
    char prefix[31];
    struct fdc_control_type fdc_control;
    struct sbls_control_type sbls_control;
    struct gltr_control_type gltr_control;
};

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_ factorization

the factorization to be used. Possible values are /li 0 automatic /li 1 Schur-complement factorization /li 2 augmented-system factorization (OBSOLETE)

ipc_ max_col

the maximum number of nonzeros in a column of A which is permitted with the Schur-complement factorization (OBSOLETE)

ipc_ indmin

an initial guess as to the integer workspace required by SBLS (OBSOLETE)

ipc_ valmin

an initial guess as to the real workspace required by SBLS (OBSOLETE)

ipc_ len_ulsmin

an initial guess as to the workspace required by ULS (OBSOLETE)

ipc_ itref_max

the maximum number of iterative refinements allowed (OBSOLETE)

ipc_ cg_maxit

the maximum number of CG iterations allowed. If cg_maxit < 0, this number will be reset to the dimension of the system + 1

ipc_ preconditioner

the preconditioner to be used for the CG. Possible values are

  • 0 automatic

  • 1 no preconditioner, i.e, the identity within full factorization

  • 2 full factorization

  • 3 band within full factorization

  • 4 diagonal using the barrier terms within full factorization (OBSOLETE)

  • 5 optionally supplied diagonal, G = D

ipc_ semi_bandwidth

the semi-bandwidth of a band preconditioner, if appropriate (OBSOLETE)

ipc_ new_a

how much has A changed since last problem solved: 0 = not changed, 1 = values changed, 2 = structure changed

ipc_ new_h

how much has H changed since last problem solved: 0 = not changed, 1 = values changed, 2 = structure changed

ipc_ sif_file_device

specifies the unit number to write generated SIF file describing the current problem

rpc_ pivot_tol

the threshold pivot used by the matrix factorization. See the documentation for SBLS for details (OBSOLETE)

rpc_ pivot_tol_for_basis

the threshold pivot used by the matrix factorization when finding the ba See the documentation for ULS for details (OBSOLETE)

rpc_ zero_pivot

any pivots smaller than zero_pivot in absolute value will be regarded to zero when attempting to detect linearly dependent constraints (OBSOLETE)

rpc_ inner_fraction_opt

the computed solution which gives at least inner_fraction_opt times the optimal value will be found (OBSOLETE)

rpc_ radius

an upper bound on the permitted step (-ve will be reset to an appropriat large value by eqp_solve)

rpc_ min_diagonal

diagonal preconditioners will have diagonals no smaller than min_diagonal (OBSOLETE)

rpc_ max_infeasibility_relative

if the constraints are believed to be rank defficient and the residual at a “typical” feasible point is larger than max( max_infeasibility_relative * norm A, max_infeasibility_absolute ) the problem will be marked as infeasible

rpc_ max_infeasibility_absolute

see max_infeasibility_relative

rpc_ inner_stop_relative

the computed solution is considered as an acceptable approximation to th minimizer of the problem if the gradient of the objective in the preconditioning(inverse) norm is less than max( inner_stop_relative * initial preconditioning(inverse) gradient norm, inner_stop_absolute )

rpc_ inner_stop_absolute

see inner_stop_relative

rpc_ inner_stop_inter

see inner_stop_relative

bool find_basis_by_transpose

if .find_basis_by_transpose is true, implicit factorization precondition will be based on a basis of A found by examining A’s transpose (OBSOLETE)

bool remove_dependencies

if .remove_dependencies is true, the equality constraints will be preprocessed to remove any linear dependencies

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

bool generate_sif_file

if .generate_sif_file is .true. if a SIF file describing the current problem is to be generated

char sif_file_name[31]

name of generated SIF file containing input problem

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’

struct fdc_control_type fdc_control

control parameters for FDC

struct sbls_control_type sbls_control

control parameters for SBLS

struct gltr_control_type gltr_control

control parameters for GLTR