NAG fl90, Release 4

FNW3204DSL - License Managed

Windows 98/NT/ME/2000/XP, Salford FTN95

Users' Note



Contents


1. Introduction

This document is essential reading for every user of the NAG fl90 implementation specified in the title. It provides implementation-specific detail that augments the information provided in the NAG fl90 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 procedure:

(a) Essential Introduction
(b) Chapter Introduction
(c) Procedure Document
(d) Implementation-specific Users' Note

Items (a), (b) and (c) are included in the NAG fl90 Manual; item (d) is this document which is provided in HTML form.

2. Availability of Procedures

All procedures listed in the chapter contents documents of the NAG fl90 Manual, Release 4 are available in this implementation. At Release 4, 43 new primary ("user-callable") generic procedures have been introduced. Please consult the Release 4 News document in the fl90 Manual for lists of these procedures and for a list of procedures scheduled for withdrawal at future Releases. Your suggestions for new algorithms for future releases of the Library are welcomed (see Section 7).

3. General Information

3.1. Accessing the Library

The installation procedure provides a shortcut which starts a Command Prompt with local environment variables set to access the modules and link with the the NAG library. This shortcut is placed in the Start Menu under Start|Programs|Numerical Algorithms Group|FN04. The local environment variables are:

FTN95CFG        to simplify using the interface blocks
NAGFL90LIB      to simplify linking to the static library
NAGFL90DLL      to simplify linking to the DLL
NAGFNDIR        this is needed by the batch files nagex and nagex_dll

These environment variables will simplify creating executable files. If the shortcut is not used, you need to set these environment variables.

To find the values of these environment variables for your installation, use the shortcut to start a Command Prompt. They are given in the file "%naglibdir%"\batch\envvars.bat.

You may compile and link to the NAG fl90 Library on the command line in the following manner:

ftn95 driver.f90 /link /libr %NAGFL90LIB%
ftn95 driver.f90 /link /libr %NAGFL90DLL%
where driver.f90 is your application program. The first command will use the static library while the second will use the DLL. If you want to use slink you need first to compile driver.f90 to create driver.obj as follows:
ftn95 driver.f90
If you want to use the static library, you then need to create a file, say naglink.bat, containing the following:
echo load %1 > slink.lst 
echo load %NAGFL90LIB% >> slink.lst 
echo file >> slink.lst
slink slink.lst 
Using the DLL, the file naglink.bat, need to contain:
echo load %1 > slink.lst
echo load %NAGFL90DLL% >> slink.lst
echo file >> slink.lst
slink slink.lst
Then give the command
naglink driver
to create the executable file driver.exe.

3.2. Example Programs

The example programs are most easily accessed by the batch file nagex.bat or nagex_dll.bat.

nagex.bat will provide you with a copy of an example program (and its data, if any), compile the program and link it with the static library nagfl90.lib. Finally, the executable program will be run. The example program concerned is specified by the argument to nagex.bat, e.g.

nagex nag_gen_lin_sys_ex01
will copy the example program and its data into the files nag_gen_lin_sys_ex01.f90 and nag_gen_lin_sys_ex01.dat in the current directory and process them to produce the example program results in the file nag_gen_lin_sys_ex01.r.

The only difference between nagex.bat and nagex_dll.bat is that while nagex.bat uses the static library nagfl90.lib, nagex_dll.bat uses the DLL nagfl90.dll.

4. Procedure-specific Information

Any further information which applies to one or more procedures in this implementation is listed below.

(a) Special Functions

Special functions will give error messages if called with illegal or unsafe arguments. General details are given in the NAG fl90 Manual, but parameter limits which are implementation-specific are given below:
 nag_gamma      error%code  = 201 if x > 1.70E+2
                error%code  = 202 if abs(x) < 2.58E-308
                error%code  = 203 if x < -1.70E+2
 nag_log_gamma  error%code  = 201 if x > 2.55E+305
 
 nag_erfc       x(hi)  = 2.66E+1
                x(low) = -6.25E+0
 nag_erf        x(hi)  = 6.25E+0
 
 nag_bessel_y0  error%code  = 201 if x > 1.0E+16
 nag_bessel_y1  error%code  = 202 if x > 1.0E+16
                error%code  = 201 if 0.0 < x <= 2.58E-308
 nag_bessel_y   error%code  = 201 if abs(z) < 3.93E-305
                error%code  = 202 if abs(z) or NU+N-1 > 1.07E+9
                error%code  = 203 if abs(z) or NU+N-1 > 3.27E+4
 nag_bessel_j0  error%code  = 201 if abs(x) > 1.0E+16
 nag_bessel_j1  error%code  = 201 if abs(x) > 1.0E+16
 nag_bessel_j   error%code  = 201 if imag(z) > 7.00E+2
                error%code  = 202 if abs(z) or NU+N-1 > 1.07E+9
                error%code  = 203 if abs(z) or NU+N-1 > 3.27E+4
 nag_bessel_k1  error%code  = 201 if 0.0 < x <= 2.58E-308
 nag_bessel_k   error%code  = 201 if abs(z) < 3.93E-305
                error%code  = 202 if abs(z) or NU+N-1 > 1.07E+9
                error%code  = 203 if abs(z) or NU+N-1 > 3.27E+4
 nag_bessel_i0  error%code  = 201 if abs(x) > 7.115E+2
 nag_bessel_i1  error%code  = 201 if abs(x) > 7.115E+2
 nag_bessel_i   error%code  = 201 if real(z) > 7.00E+2
                error%code  = 202 if abs(z) or NU+N-1 > 1.07E+9
                error%code  = 203 if abs(z) or NU+N-1 > 3.27E+4
 
 nag_ell_rd     error%code  = 201 if an argument < 1.740E-205
                error%code  = 202 if an argument < 3.424E+202
 nag_ell_rj     error%code  = 201 if an argument < 2.960E-103
                error%code  = 202 if an argument < 1.337E+102
 
 nag_airy_ai    error%code  = 201 if z is REAL and z > 1.038E+2
                error%code  = 202 if z is REAL and z < -1.8E+9
                error%code  = 203 if abs(z) > 1.02E+3
                error%code  = 204 if abs(z) > 1.04E+6
 nag_airy_bi    error%code  = 201 if z is REAL and z > 1.041E+2
                error%code  = 202 if z is REAL and z < -1.8E+9
                error%code  = 203 if abs(z) > 1.02E+3
                error%code  = 204 if abs(z) > 1.04E+6
 
 nag_kelvin_ber error%code  = 201 if abs(x) > 49.50
 nag_kelvin_bei error%code  = 201 if abs(x) > 49.50
 nag_kelvin_ker error%code  = 201 if x > 9.9706E+2
 nag_kelvin_kei error%code  = 201 if x > 9.9706E+2

5. Documentation

Each supported NAG fl90 Library site is ordinarily provided with a printed copy of the NAG fl90 Library Introductory Guide. Additional documentation is available for purchase; please refer to the NAG websites or contact your local NAG Response Centre for current prices (see Section 6).

A full online version of the NAG fl90 Library Manual is supplied in the form of Portable Document Format (PDF) files, with an HTML index. The introductory material is also provided as HTML files. By default, these are installed beneath the directory C:\Program Files\NAG\FN04\Manual\, and may be accessed using the shortcut Start|Programs|Numerical Algorithms Group|FN04|Manual.

The PDF Manual may be viewed from the installation CD. The main index file is \Manual\html\release4.html. In addition the following machine-readable information file is provided in the doc directory:

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 please quote your NAG site reference and NAG product code (in this case FNW3204DSL).

(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