NAG fl90, Release 4

FNSG604DB

Silicon Graphics (IRIX 6), SGI f90

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

This implementation includes libraries for the following combinations of Application Binary Interfaces (ABI) and Instruction Set Architectures (ISA):

64-bit mode using -mips4
64-bit mode using -mips3
high performance 32-bit (-n32) mode using -mips4
high performance 32-bit (-n32) mode using -mips3

3.1. Accessing the Library

Assuming that the symbolic links for libnagfl90.a and libnagfl90_noblas.a have been created in the appropriate system library directories which appear in the search path of the linker and that the module information files have been moved to /usr/local/lib/fl90_modules, then you may link to NAG fl90 in the following manner:

f90 switches -I/usr/local/lib/fl90_modules driver.f90 -lnagfl90
where driver.f90 is your application program and switches is one of the following:
-64  -mips4 (for MIPS  IV ISA / n64 ABI)
-64  -mips3 (for MIPS III ISA / n64 ABI)
-n32 -mips4 (for MIPS  IV ISA / n32 ABI)
-n32 -mips3 (for MIPS III ISA / n32 ABI)
In this case you will be using the BLAS and LAPACK procedures provided by NAG.

Alternatively you can use:

f90 switches -I/usr/local/lib/fl90_modules driver.f90 -lnagfl90_noblas \
    -lcomplib.sgimath

In this case you will be using the BLAS and LAPACK procedures provided by the Silicon Graphics complib.sgimath library.

3.2. Example Programs

The example programs are most easily accessed by the commands nagexample or nagexample_noblas, which will provide you with a copy of an example program (and its data, if any), compile the program and link it with the library (showing you the compile command so that you can recompile your own version of the program). Finally, the executable program will be run, presenting its output to stdout. The example program concerned is specified by the argument to nagexample, e.g.
nagexample 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 (using the compiled library libnagfl90.a).

Alternatively, to use the compiled library libnagfl90_noblas.a:

nagexample_noblas nag_gen_lin_sys_ex01

3.3. User Documentation

The following machine-readable information file is provided in the doc directory:

A full on-line version of the NAG fl90 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.

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 > 170.
               error%code  = 202 if abs(x) < 2.23E-308
               error%code  = 203 if x < -170.
nag_log_gamma  error%code  = 201 if x > 2.55E+305

nag_erfc       x(hi)  = 26.6
               x(low) = -6.25
nag_erf        x(hi)  = 6.25

nag_bessel_y0  error%code  = 201 if x > 5.6E+14
nag_bessel_y1  error%code  = 202 if x > 5.6E+14
               error%code  = 201 if 0.0 < x <= 2.23E-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) > 5.6E+14
nag_bessel_j1  error%code  = 201 if abs(x) > 5.6E+14
nag_bessel_j   error%code  = 201 if imag(z) > 700.
               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) < 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) > 711.6
nag_bessel_i1  error%code  = 201 if abs(x) > 711.6
nag_bessel_i   error%code  = 201 if real(z) > 700.
               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 > 103.8
               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 > 104.1
               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 > 997.26
nag_kelvin_kei error%code  = 201 if x > 997.26

5. Documentation

Each supported NAG fl90 site is currently provided with a printed copy of the NAG fl90 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 please quote your NAG site reference and NAG product code (in this case FNSG604DB).

(c) NAG Websites

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

http://www.nag.co.uk/

or

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 you may want to register to receive our electronic newsletter, which will alert you to special offers, announcements about new products or product/service enhancements, case studies and NAG's event diary. To register visit one of our websites or contact 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 pleased to receive your comments by email at feedback@nag.co.uk. Alternatively contact the appropriate NAG Response Centre who will be happy to record your comments.

Appendix - Contact Addresses

NAG Ltd
Wilkinson House
Jordan Hill Road
OXFORD  OX2 8DR                         NAG Ltd Response Centre
United Kingdom                          email: infodesk@nag.co.uk
 
Tel: +44 (0)1865 511245                 Tel: +44 (0)1865 311744
Fax: +44 (0)1865 310139                 Fax: +44 (0)1865 311755
 
NAG Inc
1400 Opus Place, Suite 200
Downers Grove
IL 60515-5702                           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 2346
 
NAG GmbH
Schleissheimerstrasse 5
85748 Garching
Deutschland
email: info@naggmbh.de
 
Tel: +49 (0)89 320 7395
Fax: +49 (0)89 320 7396

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