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.
This implementation includes libraries in both archive and dynamic share object (DSO) forms for the following combinations of Application Binary Interfaces (ABI) and Instruction Set Architectures (ISA):
high performance 32-bit (-n32) mode using -mips3
high performance 32-bit (-n32) mode using -mips4
64-bit mode using -mips3
64-bit mode using -mips4
Assuming that the symbolic links for libnagc.a and libnagc.so have been created in the appropriate system library directories which appear in the search path of the linker 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:
cc driver.c -lnagc -lm -lpthreadwhere driver.c is your application program.
The specific library used by the linker depends on the compilation options, if any, specified by the user and on the system processor. On systems such as the Silicon Graphics Power Indigo2, based on a R8000 processor, the default, if the SGI_ABI environment variable has not been set, is 64-bit and MIPS IV.
On systems such as the Silicon Graphics Origin 2000, based on a R10000 processor, the default, if the SGI_ABI environment variable has not been set, is high performance 32-bit (-n32) and MIPS IV.
Note that the choice of the library linked to can be overridden by specifying the application binary interface (ABI), that is -n32 or -64, and the instruction set architecture (ISA), that is -mips3 or -mips4.
It may be necessary to append to the high performance 32-bit (-n32) and 64-bit default library search paths the location of the NAG libraries.
In the C shell use the command:
setenv LD_LIBRARYN32_PATH '/usr/lib32/mips3:/usr/lib32/mips4'for high performance 32-bit (-n32) programs and
setenv LD_LIBRARY64_PATH '/usr/lib64/mips3:/usr/lib64/mips4'for 64-bit programs.
In the Bourne shell the equivalent commands would be:
LD_LIBRARYN32_PATH='/usr/lib32/mips3:/usr/lib32/mips4' export LD_LIBRARYN32_PATHand
LD_LIBRARY64_PATH='/usr/lib64/mips3:/usr/lib64/mips4' export LD_LIBRARY64_PATHIf these environment variables are not set, the program may exhibit a fatal error indicating that it is not able to map successfully soname 'libnag.so'. For more information concerning runtime linker options, please refer to the 'rld' man page.
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) = 5.6e+14 s13adc X(hi) = 5.6e+14 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 > 5.6e+14 s17adc fail.code = NE_REAL_ARG_GT if X > 5.6e+14 fail.code = NE_REAL_ARG_TOO_SMALL if X <= 2.23e-308 s17aec fail.code = NE_REAL_ARG_GT if ABS(X) > 5.6e+14 s17afc fail.code = NE_REAL_ARG_GT if ABS(X) > 5.6e+14 s17agc fail.code = NE_REAL_ARG_GT if X > 103.8 fail.code = NE_REAL_ARG_LT if X < -8.9e+9 s17ahc fail.code = NE_REAL_ARG_GT if X > 104.1 fail.code = NE_REAL_ARG_LT if X < -8.9e+9 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.1415926535897932 X01ABC (gamma) = 0.5772156649015329
The basic parameters of the model
X02BHC = 2 X02BJC = 53 X02BKC = -1021 X02BLC = 1024 X02DJC = TRUEDerived parameters of the floating-point arithmetic
X02AJC = 1.1102230246251e-16 X02AKC = 2.2250738585072e-308 X02ALC = 1.7976931348623e+308 X02AMC = 2.2250738585072e-308 X02ANC = 2.2250738585072e-308Parameters of other aspects of the computing environment
X02AHC = 5.62949953421312e+14 X02BBC = 2147483647 (for 32-bit libraries) X02BBC = 9223372036854775807 (for 64-bit libraries) 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 CLSG606DA).
The NAG websites are an information service providing items of interest to users and prospective users of NAG products and services. The information is reviewed and updated regularly and includes implementation availability, descriptions of products, downloadable software, product documentation and technical reports. The NAG websites can be accessed at
or
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 Yaesu Nagaoka Building No. 6 1-9-8 Minato Chuo-ku Tokyo Japan email: help@nag-j.co.jp Tel: +81 (0)3 5542 6311 Fax: +81 (0)3 5542 6312 [NP3562/UN]