.TH "Users'_Note" "3NAG" "" "Fortran Library"
.SH "Name"
nag_fl_un \- NAG Fortran Library, Mark 18, Users' Note
.SH "Title"
.B " NAG Fortran Library, Mark 18
.B " FLCRE18SE
.B " Cray T3E Single Precision
.B " Users' Note
.SH "Introduction"
This document is essential reading for every user of the NAG Fortran Library
Implementation specified in the title. It provides implementation-specific
detail that augments the information provided in the NAG Fortran Library Manual
and Introductory Guide. Wherever those manuals refer to the "Users' Note for
your implementation", the user should consult this note.
NAG recommends that users read the following minimum reference material before
calling any library routine:
.in +5
.ti -4
(a) Essential Introduction
.ti -4
(b) Chapter Introduction
.ti -4
(c) Routine Document
.ti -4
(d) Implementation-specific Users' Note
.in -5
Items (a), (b) and (c) are included in the NAG Fortran Library Manual; items
(a) and (b) are also included in the NAG Fortran Library Introductory Guide;
item (d) is this document which is provided in man page form.
Items (a) and (d) are also supplied on the distribution medium. Each NAG
Fortran Library site is supplied with at least one copy of each of the above.
Please ask your NAG Site Contact for further information.
.SH "Availability of Routines"
All routines listed in the chapter contents documents of the NAG Fortran
Library Manual, Mark 18 are available in this implementation. At Mark 18, 35
new primary ('user-callable') routines have been introduced, and 76 deleted.
Please consult the document FORTRAN MARK 18 NEWS in the manual for lists of
these routines and for a list of routines scheduled for withdrawal at Mark 19
or later. The file doc/news supplied to your site on the library
distribution medium (see the section "User Documentation" below) also gives an
outline of the new material available.
.SH "General Information"
.SS "Accessing the Library"
Assuming that libnag.a has been installed in /usr/local/lib or /usr/lib,
then a user may link to the NAG Fortran Library in the following manner:
f90 driver.f -lnag
where driver.f is the user's application program.
.SS "Interpretation of Bold Italicised Terms"
For this single precision implementation, the bold italicised terms used in
the NAG Fortran Library Manual (and shown here as //.....// ) should be
interpreted as:
.nf
//real// - REAL (REAL*8)
//basic precision// - single precision
//complex// - COMPLEX*16
//additional precision// - double precision (REAL*16)
//machine precision// - the machine precision, see the value
returned by X02AJE in the section
"Routine-specific Information" below
.fi
Thus a parameter described as //real// should be declared as REAL in the
user's program. If a routine accumulates an inner product in //additional
precision//, it is using double precision.
In routine documents that have been newly typeset since Mark 12 additional bold
italicised terms are used in the published example programs and they must be
interpreted as follows:
.nf
//real// as an intrinsic function name - REAL
//imag// - AIMAG
//cmplx// - CMPLX
//conjg// - CONJG
//e// in constants, e.g. 1.0//e//-4 - E, e.g. 1.0E-4
//e// in formats, e.g. //e//12.4 - E, e.g. E12.4
.fi
All references to routines in Chapter F07 - Linear Equations (LAPACK) and
Chapter F08 - Least-squares and Eigenvalue Problems (LAPACK) use the LAPACK
name, not the NAG F07/F08 name. The LAPACK name is precision dependent, and
hence the name appears in a bold italicised typeface.
For example:
.nf
//sgetrf// refers to the LAPACK routine name - SGETRF
//cpotrs// - CPOTRS
.fi
.SS "Example Programs"
In the NAG Fortran Library Manual, routine documents that have been typeset
since Mark 12 present the example programs in a generalised form, using bold
italicised terms as described in the section "Interpretation of Bold Italicised
Terms" above.
In other routine documents, the example programs are in single precision. All
printed example programs show routine names ending in F not E, see the section
"Naming of Routines" below.
The example programs supplied to a site in machine-readable form have been
modified as necessary so that they are suitable for immediate execution. Note
that all the distributed example programs have been revised and do not
correspond exactly with the programs published in the manual, unless the
documents have been recently typeset. The distributed example programs should
be used in preference wherever possible.
The example programs are most easily accessed by the command nagexample,
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 c02afe
will copy the example program and its data into the files c02afee.f and
c02afee.d in the current directory and process them to produce the example
program results.
Further usage details may be obtained by using the command nagexample
without arguments.
.SS "Explicit Output from NAG Routines"
Certain routines produce explicit error messages and advisory messages via
output units which either have default values or can be reset by using X04AAE
for error messages and X04ABE for advisory messages. (The default values are
given in the section "Routine-specific Information" below). The maximum record
lengths of error messages and advisory messages (including carriage control
characters) are 80 characters, except where otherwise specified.
.SS "User Documentation"
The following information is provided in man page form:
nag_fl_un.3 - Users' Note (this document)
The following machine-readable information files are provided by NAG on the
library distribution medium. Please consult your local advisory service or NAG
Site Contact for further details:
.nf
essint - the Essential Introduction to the NAG Fortran Library
summary - a brief summary of the routines
news - an outline of the new and enhanced routines available at
Mark 18
replaced - a list of routines available at earlier Marks of the
Library but since withdrawn, together with recommended
replacements
calls - a list of routines called directly or indirectly by each
routine in the library, and by each example program
called - for each routine in the library (including auxiliaries), a
list of routines and example programs which call it
directly or indirectly
.fi
See the section "Additional Services from NAG" below for additional
documentation available from NAG.
.SS "Naming of Routines
To ensure a single precision implementation is completely distinct from any
double precision version also available, all single precision routine names
have been modified by changing the sixth character from F to E. Thus, for
example:
.nf
A02AAF denotes the double precision version
A02AAE denotes the single precision version
.fi
The names of auxiliary routines have also been modified by interchanging the
first three and the last three characters, e.g. C02AFZ has been changed to
AFZC02.
In the NAG Fortran Library Manual all library routine names end in F.
Therefore, when using the manual in conjunction with this single precision
implementation, all such names must be understood to refer to the single
precision versions with names ending in E. Some routines in the Library require
users to specify particular auxiliary routines. Again, when using this
implementation it is necessary to specify the amended names, as given in the
section "Routine-specific Information" below.
The names of COMMON blocks have also been modified, e.g. AC02AF is renamed
AFC02A. This is unlikely to affect the user.
.SH "Routine-specific Information"
Any further information which applies to one or more routines in this
implementation is listed below, chapter by chapter.
.ti -4
(a) D01
.nf
D01BAE Auxiliaries D01BAW, D01BAX, D01BAY and D01BAZ have been
renamed as BAWD01, BAXD01, BAYD01 and BAZD01 respectively.
D01BBE Auxiliaries D01BAW, D01BAX, D01BAY and D01BAZ have been
renamed as BAWD01, BAXD01, BAYD01 and BAZD01 respectively.
D01FDE Auxiliary D01FDV has been renamed as FDVD01.
.fi
.ti -4
(b) D02
.nf
D02BJE Auxiliaries D02BJW and D02BJX have been renamed as BJWD02 and
BJXD02 respectively.
D02EJE Auxiliaries D02EJW, D02EJX and D02EJY have been renamed as
EJWD02, EJXD02 and EJYD02 respectively.
D02NBE Auxiliaries D02NBY and D02NBZ have been renamed as NBYD02 and
NBZD02 respectively.
D02NCE Auxiliaries D02NBY and D02NCZ have been renamed as NBYD02 and
NCZD02 respectively.
D02NDE Auxiliaries D02NBY and D02NDZ have been renamed as NBYD02 and
NDZD02 respectively.
D02NGE Auxiliaries D02NBY and D02NGZ have been renamed as NBYD02 and
NGZD02 respectively.
D02NHE Auxiliaries D02NBY and D02NHZ have been renamed as NBYD02 and
NHZD02 respectively.
D02NJE Auxiliaries D02NBY and D02NJZ have been renamed as NBYD02 and
NJZD02 respectively.
D02RAE Auxiliaries D02GAX and D02GAZ have been renamed as GAXD02 and
GAZD02 respectively.
D02SAE Auxiliaries D02HBW, D02HBX, D02HBY and D02HBZ have been
renamed as HBWD02, HBXD02, HBYD02 and HBZD02 respectively.
.fi
.ti -4
(c) D03
The example programs for D03RAE and D03RBE take much longer to run than other
examples: D03RAE takes about seven minutes and D03RBE about twenty
minutes to run on a Silicon Graphics Iris Indigo in double precision.
.nf
D03PFE Auxiliary D03PFP has been renamed as PFPD03.
D03PHE Auxiliary D03PCK has been renamed as PCKD03.
D03PJE Auxiliary D03PCK has been renamed as PCKD03.
D03PKE Auxiliary D03PEK has been renamed as PEKD03.
D03PLE Auxiliaries D03PEK and D03PLP have been renamed as PEKD03 and
PLPD03 respectively.
D03PPE Auxiliaries D03PCK and D03PCL have been renamed as PCKD03 and
PCLD03 respectively.
D03PRE Auxiliaries D03PEK and D03PEL have been renamed as PEKD03 and
PELD03 respectively.
D03PSE Auxiliaries D03PEK, D03PEL and D03PLP have been renamed as
PEKD03, PELD03 and PLPD03 respectively.
D03PWE Auxiliaries D03PEK and D03PLP have been renamed as PEKD03 and
PLPD03 respectively.
D03PXE Auxiliaries D03PEK and D03PLP have been renamed as PEKD03 and
PLPD03 respectively.
.fi
.ti -4
(d) E04
.nf
E04GBE Auxiliaries E04FCV and E04HEV have been renamed as FCVE04 and
HEVE04 respectively.
E04NFE Auxiliary E04NFU has been renamed as NFUE04.
E04NKE Auxiliary E04NKU has been renamed as NKUE04.
E04UCE Auxiliary E04UDM has been renamed as UDME04.
E04UNE Auxiliary E04UDM has been renamed as UDME04.
E04UPE Auxiliary E04UDM has been renamed as UDME04.
E04ZCE Auxiliary E04VDM has been renamed as VDME04.
.fi
.ti -4
(e) F02
.nf
F02FJE Auxiliary F02FJZ has been renamed as FJZF02.
.fi
.ti -4
(f) F06, F07 and F08
In this implementation calls to the Basic Linear Algebra Subprograms
(BLAS) and linear algebra routines (LAPACK) are implemented by calls to
the Cray Research libsci.a subroutine library. All calls to BLAS and
LAPACK routines use the code in libsci.a except the following, which
use NAG versions:
.nf
SGETRI CGETRI SSTEIN CSTEIN SGEBAK CGEBAK
.fi
.ti -4
(g) G02
The value of ACC, the machine-dependent constant mentioned in several documents
in the chapter, is 1.0E-13.
.ti -4
(h) P01
On hard failure, P01ABE writes the error message to the error message unit
specified by X04AAE and then stops.
.ti -4
(i) S07 - S21
The constants referred to in the NAG Fortran Library Manual have the following
values in this implementation:
.nf
.in +4
S07AAE F(1) = 1.0E+13
F(2) = 1.0E-14
S10AAE E(1) = 18.50
S10ABE E(1) = 708.0
S10ACE E(1) = 708.0
S13AAE x(hi) = 708.3
S13ACE x(hi) = 3.3E+7
S13ADE x(hi) = 3.3E+7
S14AAE IFAIL = 1 if X > 170.0
IFAIL = 2 if X < -170.0
IFAIL = 3 if abs(X) < 2.23E-308
S14ABE IFAIL = 2 if X > 2.55E+305
S15ADE x(hi) = 26.6
x(low) = -6.25
S15AEE x(hi) = 6.25
S17ACE IFAIL = 1 if X > 3.3E+7
S17ADE IFAIL = 1 if X > 3.3E+7
IFAIL = 3 if 0.0 < X <= 2.23E-308
S17AEE IFAIL = 1 if abs(X) > 3.3E+7
S17AFE IFAIL = 1 if abs(X) > 3.3E+7
S17AGE IFAIL = 1 if X > 103.8
IFAIL = 2 if X < -1.3E+5
S17AHE IFAIL = 1 if X > 104.1
IFAIL = 2 if X < -1.3E+5
S17AJE IFAIL = 1 if X > 104.1
IFAIL = 2 if X < -1.3E+5
S17AKE IFAIL = 1 if X > 104.1
IFAIL = 2 if X < -1.3E+5
S17DCE IFAIL = 2 if abs (Z) < 5.97E-154
IFAIL = 4 if abs (Z) or FNU+N-1 > 6.71E+7
IFAIL = 5 if abs (Z) or FNU+N-1 > 4.50E+15
S17DEE IFAIL = 2 if imag (Z) > 700.0
IFAIL = 3 if abs (Z) or FNU+N-1 > 6.71E+7
IFAIL = 4 if abs (Z) or FNU+N-1 > 4.50E+15
S17DGE IFAIL = 3 if abs (Z) > 1.65E+5
IFAIL = 4 if abs (Z) > 2.72E+10
S17DHE IFAIL = 3 if abs (Z) > 1.65E+5
IFAIL = 4 if abs (Z) > 2.72E+10
S17DLE IFAIL = 2 if abs (Z) < 5.97E-154
IFAIL = 4 if abs (Z) or FNU+N-1 > 6.71E+7
IFAIL = 5 if abs (Z) or FNU+N-1 > 4.50E+15
S18ADE IFAIL = 2 if 0.0 < X <= 2.23E-308
S18AEE IFAIL = 1 if abs(X) > 711.6
S18AFE IFAIL = 1 if abs(X) > 711.6
S18CDE IFAIL = 2 if 0.0 < X <= 2.23E-308
S18DCE IFAIL = 2 if abs (Z) < 5.97E-154
IFAIL = 4 if abs (Z) or FNU+N-1 > 6.71E+7
IFAIL = 5 if abs (Z) or FNU+N-1 > 4.50E+15
S18DEE IFAIL = 2 if real (Z) > 700.0
IFAIL = 3 if abs (Z) or FNU+N-1 > 6.71E+7
IFAIL = 4 if abs (Z) or FNU+N-1 > 4.50E+15
S19AAE IFAIL = 1 if abs(x) >= 49.50
S19ABE IFAIL = 1 if abs(x) >= 49.50
S19ACE IFAIL = 1 if X > 997.26
S19ADE IFAIL = 1 if X > 997.26
S21BCE IFAIL = 3 if an argument < 1.579E-205
IFAIL = 4 if an argument >= 3.774E+202
S21BDE IFAIL = 3 if an argument < 2.820E-103
IFAIL = 4 if an argument >= 1.404E+102
.in -4
.fi
.ti -4
(j) X01
The values of the mathematical constants are:
.nf
.in +4
X01AAE (PI) = 3.1415926535897932
X01ABE (GAMMA) = 0.5772156649015329
.in -4
.fi
.ti -4
(k) X02
The values of the machine constants are:
The basic parameters of the model
.nf
.in +4
X02BHE = 2
X02BJE = 53
X02BKE = -1021
X02BLE = 1024
X02DJE = .TRUE.
.ti -4
Derived parameters of floating-point arithmetic
X02AJE = Z'3CA0000000000001' ( 1.11022302462516E-16 )
X02AKE = Z'0010000000000000' ( 2.22507385850720E-308 )
X02ALE = Z'7FEFFFFFFFFFFFFF' ( 1.79769313486232E+308 )
X02AME = Z'0010000000000000' ( 2.22507385850720E-308 )
X02ANE = Z'2010000000000043' ( 2.98333629248013E-154 )
.ti -4
Parameters of other aspects of the computing environment
X02AHE = Z'4180000000000000' ( 3.35544320000000E+7 )
X02BBE = 9223372036854775807
X02BEE = 15
X02DAE = .FALSE.
.in -4
.fi
.ti -4
(l) X04
The default output units for error and advisory messages for those routines
which can produce explicit output are Fortran Units 0 and 6, respectively.
.SH "Additional Services from NAG"
.ti -4
(a) Documentation
Each NAG Fortran Library site is provided with a printed copy of the NAG
Fortran Library Manual. Additional manuals are available at prices published
in the NAG documentation order form.
NAG Fortran Library TextWare, a hypertext version of the full manual, is
bundled with this implementation. For a list of supported platforms, see the
Installers' Note for the TextWare product.
.ti -4
(b) On-line Information Supplement
The NAG On-line Information Supplement provides a system to assist with
routine selection and gives abbreviated on-line documentation of the
routines. It is available in a generic UNIX version.
.SH "Support from NAG"
.ti -4
(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 write to NAG directly, at one of the supplied
addresses. Users subscribing to the support service are encouraged to contact
one of the NAG Response Centres (see below).
.ti -4
(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 user reference and NAG
product code.
.ti -4
(c) Network
Network, NAG's newsletter, is produced periodically and sent free of charge to
sites with a supported product or service.
.ti -4
(d) NAG Website
The NAG Website is an information service providing items of interest to users
and prospective users of NAG products and services. The information is
regularly updated and reviewed and includes implementation availability,
descriptions of products, downloadable software and technical reports. The NAG
Website can be accessed at
.nf
http://www.nag.co.uk/ or
http://www.nag.com/ (in the USA)
.fi
.SH "NAG Users Association"
NAGUA, the NAG Users Association, is a self-financing, non-profitmaking body.
It exists to promote communications between NAG and users of its products and
services. It provides information to NAG on the requirements of users, who are
in turn kept informed of developments in services. Membership is available to
any institution or individual holding a licence for any NAG product or service.
Members receive discounts on the registration fees at conferences and
workshops.
For an information pack and membership application form, please contact NAGUA
at the supplied address.
.SH "Appendix - supplied addresses"
.nf
NAG Ltd
Wilkinson House
Jordan Hill Road
OXFORD OX2 8DR NAG Ltd Response Centre
United Kingdom email: infodesk@nag.co.uk
Tel: +44 1865 511245 Tel: +44 1865 311744
Fax: +44 1865 310139 Fax: +44 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
D-85748 Garching
Deutschland
email: naggmbh@nag.co.uk
Tel: +49 89 3207395
Fax: +49 89 3207396
NAG Users Association
PO Box 426
OXFORD OX2 8SD
United Kingdom
email: nagua@nag.co.uk
Tel: +44 1865 311102