NAG C Library, Mark 6

CLDAV06DA

DEC Alpha AXP OpenVMS

Users' Note



Contents

1. Introduction

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.

2. Availability of Functions

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.)

3. General Information

3.1. Accessing the Library

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.

3.2. Example Programs

The example programs and data and the results obtained during the preparation of this specific implementation are supplied so you can try them yourself, or use one as a template for your own program. Note that the example material has been adapted, if necessary, from that printed in the NAG C Library Manual, so that programs are suitable for execution with this implementation. Similarily, the results supplied may not be exactly as published in the manual, due to differences in computer hardware and compiler supplied run-time libraries.

3.3. User Documentation

The following machine-readable information files are provided in the DOC directory:

4. Function-specific Information

e04mfc, e04nfc (for all implementations)

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.

(a) s10 - s21

Functions in this chapter will give error messages if called with illegal or unsafe arguments. General details are given in the NAG C Library Manual, but parameter limits which are implementation-specific are given below:
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

(b) x01

The values of the mathematical constants are provided in the header file nagx01.h:
X01AAC (pi)    = 3.1415926535897932
X01ABC (gamma) = 0.5772156649015329

(c) x02

The values of the machine constants are provided in the header file nagx02.h:

The basic parameters of the model

X02BHC = 2
X02BJC = 53
X02BKC = -1023
X02BLC = 1023
X02DJC = TRUE
Derived 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

5. Documentation

Each supported NAG C Library site is currently provided with a printed copy of the NAG C Library Manual (or Update). Additional copies are available for purchase; please refer to the NAG documentation order form (available on the NAG websites, see Section 6 (c)) for details of current prices.

6. Support from NAG

(a) Contact with NAG

Queries concerning this document or the implementation generally should be directed initially to your local Advisory Service. If you have difficulty in making contact locally, you can contact NAG directly at one of the addresses given in the Appendix. Users subscribing to the support service are encouraged to contact one of the NAG Response Centres (see below).

(b) NAG Response Centres

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).

(c) NAG Websites

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)

(d) NAG Electronic Newsletter

If you would like to be kept up to date with news from NAG then please register to receive our free electronic newsletter, which will alert you to special offers, announcements about new products or product/service enhancements, customer stories and NAG's event diary. You can register via one of our websites, or by contacting us at nagnews@nag.co.uk.

7. User Feedback

Many factors influence the way NAG's products and services evolve and your ideas are invaluable in helping us to ensure that we meet your needs. If you would like to contribute to this process we would be delighted to receive your comments. Please contact your local NAG Response Centre (shown below).

Appendix - Contact Addresses

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