callable functions#

    function gltr_initialize(T, data, control, status)

Set default control values and initialize private data

Parameters:

data

holds private internal data

control

is a structure containing control information (see gltr_control_type)

status

is a scalar variable of type Int32 that gives the exit status from the package. Possible values are (currently):

  • 0

    The initialization was successful.

    function gltr_read_specfile(T, control, specfile)

Read the content of a specification file, and assign values associated with given keywords to the corresponding control parameters. An in-depth discussion of specification files is available, and a detailed list of keywords with associated default values is provided in $GALAHAD/src/gltr/GLTR.template. See also Table 2.1 in the Fortran documentation provided in $GALAHAD/doc/gltr.pdf for a list of how these keywords relate to the components of the control structure.

Parameters:

control

is a structure containing control information (see gltr_control_type)

specfile

is a one-dimensional array of type Vararg{Cchar} that must give the name of the specification file

    function gltr_import_control(T, control, data, status)

Import control parameters prior to solution.

Parameters:

control

is a structure whose members provide control parameters for the remaining procedures (see gltr_control_type)

data

holds private internal data

status

is a scalar variable of type Int32 that gives the exit status from the package. Possible values are (currently):

  • 1

    The import was successful, and the package is ready for the solve phase

    function gltr_solve_problem(T, data, status, n, radius, x, r, vector)

Solve the trust-region problem using reverse communication.

Parameters:

data

holds private internal data

status

is a scalar variable of type Int32 that gives the entry and exit status from the package.

This must be set to

  • 1

    on initial entry. Set the argument r (below) to \(c\) for this entry.

  • 4

    the iteration is to be restarted with a smaller radius but with all other data unchanged. Set r to \(c\) for this entry.

Possible exit values are:

  • 0

    the solution has been found

  • 2

    the inverse of \(M\) must be applied to the argument vector (below) with the result returned in vector and the function re-entered with all other data unchanged. This will only happen if control.unitm is false

  • 3

    the product of \(H\) with vector must be formed, with the result returned in vector and the function re-entered with all other data unchanged

  • 5

    The iteration must be restarted. Reset r to \(c\) and re-enter with all other data unchanged. This exit will only occur if control.steihaug_toint is false and the solution lies on the trust-region boundary

  • -1

    an array allocation has failed

  • -2

    an array deallocation has failed

  • -3

    n and/or radius is not positive

  • -15

    the matrix \(M\) appears to be indefinite

  • -18

    the iteration limit has been exceeded

  • -30

    the trust-region has been encountered in Steihaug-Toint mode

  • -31

    the function value is smaller than control.f_min

n

is a scalar variable of type Int32 that holds the number of variables

radius

is a scalar of type T that holds the trust-region radius, \(\Delta\), used. radius must be strictly positive

x

is a one-dimensional array of size n and type T that holds the solution \(x\). The j-th component of x, j = 1, … , n, contains \(x_j\).

r

is a one-dimensional array of size n and type T that that must be set to \(c\) on entry (status = 1) and re-entry (status = 4, 5). On exit, r contains the resiual \(H x + c\).

vector

is a one-dimensional array of size n and type T that should be used and reset appropriately when status = 2 and 3 as directed.

    function gltr_information(T, data, inform, status)

Provides output information

Parameters:

data

holds private internal data

inform

is a structure containing output information (see gltr_inform_type)

status

is a scalar variable of type Int32 that gives the exit status from the package. Possible values are (currently):

  • 0

    The values were recorded successfully

    function gltr_terminate(T, data, control, inform)

Deallocate all internal private storage

Parameters:

data

holds private internal data

control

is a structure containing control information (see gltr_control_type)

inform

is a structure containing output information (see gltr_inform_type)