The documentation for the routines uses the generic name and omits the prefix, and hence the entire suite of routines for that subject is documented under the generic name.
Examples that appear in the documentation also use the generic name. To further illustrate this principle, note the lin_sol_gen documentation (see Chapter 1, Linear Systems), for solving general systems of linear algebraic equations. A description is provided for just one data type. There are four documented routines in this subject area: s_lin_sol_gen, d_lin_sol_gen, c_lin_sol_gen, and z_lin_sol_gen.
These routines constitute single-precision, double-precision, complex, and double-complex precision versions of the code.
The Fortran 90 compiler identifies the
appropriate routine. Use of a module is required with the routines. The naming
convention for modules joins the suffix
_int to
the generic routine name. Thus, the line use
lin_sol_gen_int is
inserted near the top of any routine that calls the subprogram
lin_sol_gen.
More inclusive modules are also available, such as
imsl_libraries
and numerical
libraries. To avoid name conflicts, Fortran 90 permits re-labeling names
defined in modules so they do not conflict with names of routines or variables
in the users program. The user can also restrict access to names defined
in IMSL Library modules by use of the : ONLY, <list of names>
qualifier.
When dealing with a complex matrix, all references to the
transpose of a matrix, , are replaced by the
adjoint matrix
where the overstrike denotes complex conjugation.
IMSL Fortran Numerical Library linear algebra software uses this
convention to conserve the utility of generic documentation for that code
subject. All references to orthogonal matrices are to be replaced by
their complex counterparts, unitary matrices. Thus, an n ื
n orthogonal matrix Q satisfies the condition. An n ื n unitary matrix V satisfies the
analogous condition for complex matrices,
.
PHONE: 713.784.3131 FAX:713.781.9260 |