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_option_string (e04wf)

## Purpose

nag_opt_nlp2_option_string (e04wf) may be used to supply individual optional parameters to nag_opt_nlp2_solve (e04wd). The initialization function nag_opt_nlp2_init (e04wc) must have been called before calling nag_opt_nlp2_option_string (e04wf).

## Syntax

[iw, rw, ifail] = e04wf(string, iw, rw)
[iw, rw, ifail] = nag_opt_nlp2_option_string(string, iw, rw)

## Description

nag_opt_nlp2_option_string (e04wf) may be used to supply values for optional parameters to nag_opt_nlp2_solve (e04wd). It is only necessary to call nag_opt_nlp2_option_string (e04wf) for those arguments whose values are to be different from their default values. One call to nag_opt_nlp2_option_string (e04wf) 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_option_string (e04wf), 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
```[iw, rw, ifail] = e04wf('List', 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_solve (e04wd) 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_solve (e04wd).
A complete list of optional parameters, their abbreviations, synonyms and default values is given in Optional Parameters in nag_opt_nlp2_solve (e04wd).

None.

## Parameters

### Compulsory Input Parameters

1:     $\mathrm{string}$ – string
A single valid option string (see Description in nag_opt_nlp2_option_string (e04wf) and Optional Parameters in nag_opt_nlp2_solve (e04wd)).
2:     $\mathrm{iw}\left(:\right)$int64int32nag_int array
The dimension of the array iw must be at least ${\mathbf{leniw}}$ (see nag_opt_nlp2_init (e04wc))
3:     $\mathrm{rw}\left(:\right)$ – double array
The dimension of the array rw must be at least ${\mathbf{lenrw}}$ (see nag_opt_nlp2_init (e04wc))

None.

### Output Parameters

1:     $\mathrm{iw}\left(:\right)$int64int32nag_int array
The dimension of the array iw will be ${\mathbf{leniw}}$ (see nag_opt_nlp2_init (e04wc))
2:     $\mathrm{rw}\left(:\right)$ – double array
The dimension of the array rw will be ${\mathbf{lenrw}}$ (see nag_opt_nlp2_init (e04wc))
3:     $\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_init (e04wc) 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_option_integer_set (e04wg) or nag_opt_nlp2_option_double_set (e04wh) may also be used to supply optional parameters to nag_opt_nlp2_solve (e04wd).

## Example

```function e04wf_example

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

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

% Initialize
[iw, rw, ifail] = e04wc;
% Set option
[iw, rw, ifail] = e04wf( ...
stropt, iw, rw);
% Get option value
[ivalue, iw, rw, ifail] = e04wk( ...
string, iw, rw);

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

```
```e04wf example results

Major iterations limit has been set to    50
```