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 in HTML form.
Assuming that the object library (libnagc.a or libnagc.so) has been installed in a directory in the search path of the linker, such as /usr/lib, and that the NAG include files have been moved to /usr/include, then you may link to the NAG C Library in the following manner:
gcc driver.c -lnagc -lpthread -lmwhere driver.c is your application program,
and run with the command
a.out < data > results
Note that the NAG C Library is supplied in both static and shareable versions (libnagc.a and libnagc.so.6 respectively), and also that libnagc.so.6 should have a link to it called libnagc.so in the same directory. The shareable library will be used by default.
It is possible that the NAG C Library include files have been placed in a directory, such as /usr/local/include, other than the default path /usr/include. In this case, if /usr/local/include is not normally searched by your C/C++ compiler, then your typical compilation command should be, for example
gcc -I/usr/local/include driver.c -lnagc -lpthread -lm
nagexample c06eacwill copy the example program and its data into the files c06eace.c and c06eafe.d in the current directory and process them to produce the example program results.
A full on-line version of the NAG C Manual is supplied in the form of Portable Document (PDF) files. You will need to check how this version has been made available at your site.
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.500 s10abc fail.code = NE_REAL_ARG_GT if X > 708.0 s10acc fail.code = NE_REAL_ARG_GT if X > 708.0 s13aac x(hi) = 708.3 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) < 2.23e-308 s14abc fail.code = NE_REAL_ARG_GT if X > 2.55e+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 <= 2.23e-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.8 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+9 s17akc fail.code = NE_REAL_ARG_GT if X > 104.1 fail.code = NE_REAL_ARG_LT if X < -1.8e+9 s18adc fail.code = NE_REAL_ARG_TOO_SMALL if 0.0 < X <= 2.23e-308 s18aec fail.code = NE_REAL_ARG_GT if ABS(X) > 711.6 s18afc fail.code = NE_REAL_ARG_GT if ABS(X) > 711.6 s18cdc fail.code = NE_REAL_ARG_TOO_SMALL if 0.0 < X <= 2.23e-308 s19aac fail.code = NE_REAL_ARG_GT if ABS(X) >= 49.5000 s19abc fail.code = NE_REAL_ARG_GT if ABS(X) >= 49.5000 s19acc fail.code = NE_REAL_ARG_GT if X > 997.26 s19adc fail.code = NE_REAL_ARG_GT if X > 997.26 s21bcc fail.code = NE_REAL_ARG_LT if an argument < 1.579e-205 fail.code = NE_REAL_ARG_GE if an argument >= 3.774e+202 s21bdc fail.code = NE_REAL_ARG_LT if an argument < 2.820e-103 fail.code = NE_REAL_ARG_GT if an argument > 1.404e+102
X01AAC (pi) = 3.14159265358979323846 X01ABC (gamma) = 0.5772156649015328606
The basic parameters of the model
X02BHC = 2 X02BJC = 53 X02BKC = -1021 X02BLC = 1024 X02DJC = TRUEDerived parameters of the floating-point arithmetic
X02AJC = 0x000000013ca00000 ( 1.11022302462516e-16 ) X02AKC = 0x0000000000100000 ( 2.22507385850721e-308 ) X02ALC = 0xffffffff7fefffff ( 1.79769313486231e+308 ) X02AMC = 0x0000000000100000 ( 2.22507385850721e-308 ) X02ANC = 0x0000000000100000 ( 2.22507385850721e-308 )Parameters of other aspects of the computing environment
X02AHC = 0x0000000049500000 ( 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 please quote your NAG site reference and NAG product code (in this case CLSOL06DG).
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