This document is essential reading for every user of the NAG C Library Implementation specified in the title. It provides implementation-specific detail that augments the information provided in the NAG C Library Manual. Wherever that manual refer to the "Users' Note for your implementation", you should consult this note.
NAG recommends that you read the following minimum reference material before calling any library function:
(a) Essential Introduction
(b) Chapter Introduction
(c) Function Document
(d) Implementation-specific Users' Note
Items (a), (b) and (c) are included in the NAG C Library Manual; item (d) is this document which is provided both in HTML and plain text forms.
All functions listed in the chapter contents documents of the NAG C Library Manual, Mark 6 are available in this implementation. At Mark 6, 58 new primary ("user-callable") functions have been introduced. Please consult the Mark 6 News document in the C Library Manual for lists of these functions and for a list of functions scheduled for withdrawal at future Marks. Your suggestions for new algorithms for future releases of the Library are welcomed (see Section 7.)
To compile a C program, the user should type
CC /INCLUDE=("INCL") <PROGRAM>
where <PROGRAM> is the name of a ".C" file containing the user's application program and "INCL" is the full directory name of the directory where the NAG C Library include files are stored, e.g.
"USER1:[SYSTEM.SYSLIB.CLDAV06DA.INCLUDE]"
NOTE: if, as recommended to the installer, the include files have been moved to the system directory, usually SYS$SYSROOT:[SYSLIB], and the relevant logical symbol set up, then it should not be necessary to specify the include directory when compiling any of the source files supplied. In that case, the compilation instruction becomes
CC <PROGRAM>
In cases where the user has additional include files to be referenced, however, it would be necessary to specify the path to such additional include files.
To link a program with the NAG Library, assuming that the library has been set up to make the NAG C Object Library accessible and that the include files have been appropriately installed, the user should type
LINK <PROGRAM>
where <PROGRAM> is the name of a ".OBJ" file containing the user's compiled program.
Alternatively, the program can be explicitly linked to the library as the user wishes, specifying the location of the library:
LINK <PROGRAM>,ALPHA$LIBRARY:LIBNAGC06/LIB
To run the program, the user should type
ASSIGN/USER <DATA> SYS$INPUT ASSIGN/USER <RESULTS> SYS$OUTPUT RUN <PROGRAM>
where <PROGRAM> is the name of a ".EXE" file containing the user's linked program, <DATA> is data to be read from STDIN file pointer, and <RESULTS> are results to be written to STDOUT file pointer. If required, an error channel could also be assigned as
ASSIGN/USER <ERRORS> SYS$ERROR
before running the program, where <ERRORS> are errors to be written to STDERR file pointer. If this channel is not defined, the errors, if there are any, would be output to the terminal in an interactive session, or to the log file in a batch job.
The file pointers STDIN, STDOUT and STDERR are defined when the user includes the STDIO definition module using the #include preprocessor directive.
A new optional parameter 'optim_tol' has been introduced to allow users a further means of controlling the optimization process.
e04unc (for all implementations)
A member 'needf' has been added to the comm structure to allow users to provide only one component of fi(x) of the objective function in objfun (instead of having to provide all components systematically). This can significantly reduce the computation time when checking and approximating derivatives.
Note that users are not required to modify their existing programs if these changes are not relevant to them.
Any further information which applies to one or more functions in this implementation is listed below, chapter by chapter.
s10aac E(1) = 18.50 s10abc fail.code = NE_REAL_ARG_GT if X > 709.0 s10acc fail.code = NE_REAL_ARG_GT if X > 709.0 s13aac x(hi) = 709.0 s13acc x(hi) = 1.0e+16 s13adc x(hi) = 1.0e+17 s14aac fail.code = NE_REAL_ARG_GT if X > 170. fail.code = NE_REAL_ARG_LT if X <-170. fail.code = NE_REAL_ARG_TOO_SMALL if ABS(X) < 1.12e-308 s14abc fail.code = NE_REAL_ARG_GT if X > 1.28e+305 s17acc fail.code = NE_REAL_ARG_GT if X > 1.0e+16 s17adc fail.code = NE_REAL_ARG_GT if X > 1.0e+16 fail.code = NE_REAL_ARG_TOO_SMALL if X <= 1.12e-308 s17aec fail.code = NE_REAL_ARG_GT if ABS(X) > 1.0e+16 s17afc fail.code = NE_REAL_ARG_GT if ABS(X) > 1.0e+16 s17agc fail.code = NE_REAL_ARG_GT if X > 103.9 fail.code = NE_REAL_ARG_LT if X <-5.6e+10 s17ahc fail.code = NE_REAL_ARG_GT if X > 104.1 fail.code = NE_REAL_ARG_LT if X <-5.6e+10 s17ajc fail.code = NE_REAL_ARG_GT if X > 104.1 fail.code = NE_REAL_ARG_LT if X <-1.8e+09 s17akc fail.code = NE_REAL_ARG_GT if X > 104.1 fail.code = NE_REAL_ARG_LT if X <-1.8e+09 s18adc fail.code = NE_REAL_ARG_TOO_SMALL if 0.0 < X <= 1.12e-308 s18aec fail.code = NE_REAL_ARG_GT if ABS(X) > 712.3 s18afc fail.code = NE_REAL_ARG_GT if ABS(X) > 712.3 s18cdc fail.code = NE_REAL_ARG_TOO_SMALL if 0.0 < X <= 1.12e-308 s19aac fail.code = NE_REAL_ARG_GT if ABS(X) >= 49.50 s19abc fail.code = NE_REAL_ARG_GT if ABS(X) >= 49.50 s19acc fail.code = NE_REAL_ARG_GT if X > 998.24 s19adc fail.code = NE_REAL_ARG_GT if X > 998.24 s21bcc fail.code = NE_REAL_ARG_LT if an argument < 9.944e-206 fail.code = NE_REAL_ARG_GE if an argument >= 5.990e+202 s21bdc fail.code = NE_REAL_ARG_LT if an argument < 2.2380e-103 fail.code = NE_REAL_ARG_GT if an argument > 1.769e+102
X01AAC (pi) = 3.1415926535897932 X01ABC (gamma) = 0.5772156649015329
The basic parameters of the model
X02BHC = 2 X02BJC = 53 X02BKC = -1023 X02BLC = 1023 X02DJC = TRUEDerived parameters of the floating-point arithmetic
X02AJC = 0x0000000000003cc0 ( 1.11022302462516e-16 ) X02AKC = 0x0000000000000010 ( 5.56268464626804e-309 ) X02ALC = 0xffffffffffff7fff ( 8.98846567431158e+307 ) X02AMC = 0x0074000000000020 ( 1.11253692925364e-308 ) X02ANC = 0x0074000000000020 ( 1.11253692925364e-308 )Parameters of other aspects of the computing environment
X02AHC = 0x0000000000004970 ( 1.42724769270596e+45 ) X02BBC = 2147483647 X02BEC = 15 X02DAC = FALSE
The NAG Response Centres are available for general enquiries from all users and also for technical queries from sites with an annually licensed product or support service.
The Response Centres are open during office hours, but contact is possible by fax, email and phone (answering machine) at all times.
When contacting a Response Centre it helps us deal with your enquiry quickly if you can quote your NAG site reference and NAG product code (in this case CLDAV06DA).
The NAG websites provide information about implementation availability, descriptions of products, downloadable software, product documentation and technical reports. The NAG websites can be accessed at
http://www.nag.co.uk/, http://www.nag.com/ (in North America) or http://www.nag-j.co.jp/ (in Japan)
NAG Ltd Wilkinson House Jordan Hill Road OXFORD OX2 8DR NAG Ltd Response Centre United Kingdom email: support@nag.co.uk Tel: +44 (0)1865 511245 Tel: +44 (0)1865 311744 Fax: +44 (0)1865 310139 Fax: +44 (0)1865 310139 NAG Inc 1431 Opus Place, Suite 220 Downers Grove IL 60515-1362 NAG Inc Response Center USA email: infodesk@nag.com Tel: +1 630 971 2337 Tel: +1 630 971 2345 Fax: +1 630 971 2706 Fax: +1 630 971 2706 Nihon NAG KK Hatchobori Frontier Building 2F 4-9-9 Hatchobori Chuo-ku Tokyo 104-0032 Japan email: help@nag-j.co.jp Tel: +81 (0)3 5542 6311 Fax: +81 (0)3 5542 6312