NAG fl90, Release 4

FNL6A04DDL - License Managed

AMD64, Linux 64, Sun Fortran, Double Precision

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 refers 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. Post Release Information

Please check the following URL: Post Release Information for details of any new information related to the applicability or usage of this implementation.

3. General Information

3.1. Accessing the Library

This section shows two ways of accessing the library depending on the location of the compiled libraries.

3.1.1. Libraries NOT in the linker search path

In this section we assume that the library has been installed in the directory [INSTALL_DIR].

By default [INSTALL_DIR] (see Installer's Note (in.html)) is /opt/NAG/fnl6a04ddl or /usr/local/NAG/fnl6a04ddl depending on your system; however it could have been changed by the installer. To identify [INSTALL_DIR] for this installation:

To use the the NAG fl90 Library and the BLAS/LAPACK routines in the Sun Performance Library (SPL), you may link in the following manner:
  f95 -M[INSTALL_DIR]/nagfl90_modules driver.f90 \
            [INSTALL_DIR]/lib/libnagfl90_spl.a -xlic_lib=sunperf
where driver.f90 is your application program;

or

  f95 -M[INSTALL_DIR]/nagfl90_modules driver.f90 \
            [INSTALL_DIR]/lib/libnagfl90_spl.so -xlic_lib=sunperf
if the shareable library is required.

However, if you prefer to link to a version of the NAG fl90 library which does not require the use of the SPL, you may wish to use the self-contained libraries as follows:

  f95 -M[INSTALL_DIR]/nagfl90_modules driver.f90 \
            [INSTALL_DIR]/lib/libnagfl90_nag.a
or
  f95 -M[INSTALL_DIR]/nagfl90_modules driver.f90 \
            [INSTALL_DIR]/lib/libnagfl90_nag.so

if the shareable library is required.

Please note that using a self-contained library may result in some degradation in the performance of your application.

If your application has been linked with the shareable NAG library then the environment variable LD_LIBRARY_PATH must be set (or extended) to allow run time linkage.

In the C shell type:

   setenv LD_LIBRARY_PATH [INSTALL_DIR]/lib
to set LD_LIBRARY_PATH, or
   setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:[INSTALL_DIR]/lib
to extend LD_LIBRARY_PATH if you already have it set.

In the Bourne shell, type:

   LD_LIBRARY_PATH=[INSTALL_DIR]/lib
   export LD_LIBRARY_PATH
to set LD_LIBRARY_PATH, or
   LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:[INSTALL_DIR]/lib
   export LD_LIBRARY_PATH
to extend LD_LIBRARY_PATH if you already have it set.

3.1.2. Libraries in the linker search path

To use the the NAG fl90 Library and the SPL, you may link in the following manner:
  f95 -M[INSTALL_DIR]/nagfl90_modules driver.f90 \
            -lnagfl90_spl -xlic_lib=sunperf
To use the static libnagfl90_spl.a you need the -Bstatic loader flag to switch static binding on for the static library libnagfl90_spl.a and the -Bdynamic loader flag to switch dynamic binding on for other libraries:
  f95 -M[INSTALL_DIR]/nagfl90_modules driver.f90 \
            -Bstatic -lnagfl90_spl -Bdynamic -xlic_lib=sunperf

However, if you prefer to link to a version of the NAG library which does not require the use of the SPL, you may wish to use the self-contained libraries as follows:

  f95 -M[INSTALL_DIR]/nagfl90_modules driver.f90 -lnagfl90_nag
This will usually link to the shareable library in preference to the static library if both the libraries are at the same location.

To use the static library libnagfl90_nag.a you need the -Bstatic loader flag to switch static binding on for the static library libnagfl90_nag.a and the -Bdynamic loader flag to switch dynamic binding on for other libraries:

  f95 -M[INSTALL_DIR]/nagfl90_modules driver.f90 \
            -Bstatic -lnagfl90_nag -Bdynamic 
In this case the -Bdynamic is needed so that the compiler can use its shareable libraries which results in smaller executable codes.

Please note that using a self-contained library may result in some degradation in the performance of your application.

If your application has been linked with the shareable NAG library then the environment variable LD_LIBRARY_PATH must be set (or extended) to allow run time linkage.

In the C shell type:

   setenv LD_LIBRARY_PATH [INSTALL_DIR]/lib
to set LD_LIBRARY_PATH, or
   setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:[INSTALL_DIR]/lib
to extend LD_LIBRARY_PATH if you already have it set.

In the Bourne shell, type:

   LD_LIBRARY_PATH=[INSTALL_DIR]/lib
   export LD_LIBRARY_PATH
to set LD_LIBRARY_PATH, or

   LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:[INSTALL_DIR]/lib
   export LD_LIBRARY_PATH
to extend LD_LIBRARY_PATH if you already have it set.

3.2. Example Programs

The directory [INSTALL_DIR]/scripts contains four scripts nagfl90_example_spl, nagfl90_example_shar_spl, nagfl90_example and nagfl90_example_shar.

The example programs are most easily accessed by one of the commands

Each command will provide you with a copy of an example program (and its data, if any), compile the program and link it with the appropriate libraries (showing you the compile command so that you can recompile your own version of the program). Finally, the executable program will be run, and its output saved.

The example program concerned is specified by the argument to the command, e.g.

nagfl90_example nag_nlp_ex01
will copy the example program and its data into the files nag_nlp_ex01.f90 and nag_nlp_ex01.dat in the current directory and process them to produce the example program results (using the compiled library libnagfl90_nag.a).

The example programs are supplied in machine-readable form. They are suitable for immediate usage. Note that the distributed example programs are those used in this implementation and may not correspond exactly with the programs published in the manual. The distributed example programs should be used in preference wherever possible.

The distributed example results are those obtained with the NAG self-contained static library libnagfl90_nag.a, (using the NAG BLAS and LAPACK routines). Running the examples with the SPL may give slightly different results.

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.23E-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.23E-308
 nag_bessel_y   error%code  = 201 if abs(z) < 1.50E-300
                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.23E-308
 nag_bessel_k   error%code  = 201 if abs(z) < 1.50E-300
                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.116E+2
 nag_bessel_i1  error%code  = 201 if abs(x) > 7.116E+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.579E-205
                error%code  = 202 if an argument < 3.774E+202
 nag_ell_rj     error%code  = 201 if an argument < 2.820E-103
                error%code  = 202 if an argument < 1.404E+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.9726E+2
 nag_kelvin_kei error%code  = 201 if x > 9.9726E+2

5. Documentation

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, in the nagdoc_fn04 directory.

A main index file has been provided (nagdoc_fn04/fn/html/library_contents/c00s08_libcon_fn04.html) which contains a fully linked contents document pointing to all the available PDF (and where available HTML) files. Use your HTML browser to navigate from here.

In addition the following are provided:

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

(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 the following URLs:

http://www.nag.co.uk/, http://www.nag.com/ or http://www.nag-j.co.jp/

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

(e) Product Registration

To ensure that you receive information on updates and other relevant announcements, please register this product with us. For NAG Library products this may be accomplished by filling in the online registration form at http://www.nag.co.uk/numeric/Library_Registration.asp.

7. User Feedback

Many factors influence the way that 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 any of the NAG Response Centres (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
801 Warrenville Road
Suite 185
Lisle, IL  60532-4332                   NAG Inc Response Centre
USA                                     email: support@nag.com
Tel: +1 630 971 2337                    Tel: +1 630 971 2337
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