Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

Chapter Contents
Chapter Introduction
NAG Toolbox

# NAG Toolbox: nag_opt_nlp2_sparse_option_string (e04vl)

## Purpose

nag_opt_nlp2_sparse_option_string (e04vl) may be used to supply individual optional parameters to nag_opt_nlp2_sparse_solve (e04vh). The initialization function nag_opt_nlp2_sparse_init (e04vg) must have been called before calling nag_opt_nlp2_sparse_option_string (e04vl).

## Syntax

[cw, iw, rw, ifail] = e04vl(string, cw, iw, rw)
[cw, iw, rw, ifail] = nag_opt_nlp2_sparse_option_string(string, cw, iw, rw)

## Description

nag_opt_nlp2_sparse_option_string (e04vl) may be used to supply values for optional parameters to nag_opt_nlp2_sparse_solve (e04vh). It is only necessary to call nag_opt_nlp2_sparse_option_string (e04vl) for those arguments whose values are to be different from their default values. One call to nag_opt_nlp2_sparse_option_string (e04vl) sets one argument value.
Each optional parameter is defined by a single character string, of up to $72$ characters, consisting of one or more items. The items associated with a given option must be separated by spaces, or equals signs $\left[=\right]$. Alphabetic characters may be upper or lower case. The string
Print Level = 1
is an example of a string used to set an optional parameter. For each option the string contains one or more of the following items:
 – a mandatory keyword; – a phrase that qualifies the keyword; – a number that specifies an integer or double value. Such numbers may be up to $16$ contiguous characters in Fortran's I, F, E or D formats, terminated by a space if this is not the last item on the line.
For nag_opt_nlp2_sparse_option_string (e04vl), each user-specified option is not normally printed as it is defined, but this printing may be turned on using the keyword List. Thus the statement
[cw, iw, rw, ifail] = e04vl('List', cw, iw, rw);
turns on printing of this and subsequent options. Printing may be turned off again using the keyword Nolist.
Optional parameter settings are preserved following a call to nag_opt_nlp2_sparse_solve (e04vh) and so the keyword Defaults is provided to allow you to reset all the optional parameters to their default values before a subsequent call to nag_opt_nlp2_sparse_solve (e04vh).
A complete list of optional parameters, their abbreviations, synonyms and default values is given in Optional Parameters in nag_opt_nlp2_sparse_solve (e04vh).

None.

## Parameters

### Compulsory Input Parameters

1:     $\mathrm{string}$ – string
A single valid option string (see Description in nag_opt_nlp2_sparse_option_string (e04vl) and Optional Parameters in nag_opt_nlp2_sparse_solve (e04vh)).
2:     $\mathrm{cw}\left(:\right)$ – cell array of strings
The dimension of the array cw must be at least ${\mathbf{lencw}}$ (see nag_opt_nlp2_sparse_init (e04vg))
3:     $\mathrm{iw}\left(:\right)$int64int32nag_int array
The dimension of the array iw must be at least ${\mathbf{leniw}}$ (see nag_opt_nlp2_sparse_init (e04vg))
4:     $\mathrm{rw}\left(:\right)$ – double array
The dimension of the array rw must be at least ${\mathbf{lenrw}}$ (see nag_opt_nlp2_sparse_init (e04vg))

None.

### Output Parameters

1:     $\mathrm{cw}\left(:\right)$ – cell array of strings
The dimension of the array cw will be ${\mathbf{lencw}}$ (see nag_opt_nlp2_sparse_init (e04vg))
2:     $\mathrm{iw}\left(:\right)$int64int32nag_int array
The dimension of the array iw will be ${\mathbf{leniw}}$ (see nag_opt_nlp2_sparse_init (e04vg))
3:     $\mathrm{rw}\left(:\right)$ – double array
The dimension of the array rw will be ${\mathbf{lenrw}}$ (see nag_opt_nlp2_sparse_init (e04vg))
4:     $\mathrm{ifail}$int64int32nag_int scalar
${\mathbf{ifail}}={\mathbf{0}}$ unless the function detects an error (see Error Indicators and Warnings).

## Error Indicators and Warnings

Errors or warnings detected by the function:
${\mathbf{ifail}}=1$
The initialization function nag_opt_nlp2_sparse_init (e04vg) has not been called.
${\mathbf{ifail}}=2$
The supplied option is invalid. Check that the keywords are neither ambiguous nor misspelt.
${\mathbf{ifail}}=-99$
${\mathbf{ifail}}=-399$
Your licence key may have expired or may not have been installed correctly.
${\mathbf{ifail}}=-999$
Dynamic memory allocation failed.

## Accuracy

Not applicable.

nag_opt_nlp2_sparse_option_integer_set (e04vm) or nag_opt_nlp2_sparse_option_double_set (e04vn) may also be used to supply optional parameters to nag_opt_nlp2_sparse_solve (e04vh).

## Example

function e04vl_example

fprintf('e04vl example results\n\n');

string = 'Major iterations limit';
itmax = 50;
stropt = sprintf('%s = %4d', string, itmax);

% Initialize
[cw, iw, rw, ifail] = e04vg;

% Set option
[cw, iw, rw, ifail] = e04vl( ...
stropt, cw, iw, rw);
% Get option value
[ivalue, cw, iw, rw, ifail] = e04vr( ...
string, cw, iw, rw);

fprintf('%s has been set to %5d\n', string, ivalue);

e04vl example results

Major iterations limit has been set to    50