Design of Interfaces for Computational Routines

LAPACK95 provides interfaces to all LAPACK computational routines.
(See Part III).
These interfaces are generic with respect to precision (single
or double) and data type (real or complex). In contrast to
the driver interfaces, however, they must employ the same argument list
as the corresponding LAPACK routines. Thus
assumed-shape arrays, automatic allocation of work arrays, and
optional arguments are *not* features of the interfaces to
computational routines. For example, the LAPACK95 interface

corresponds to the four LAPACK computational routinesCALL LA_GEQRF( M, N, A, LDA, TAU, WORK, LWORK, INFO )

There are two advantages to using the LAPACK95 interfaces to LAPACK computational routines rather than calling the latter directly:CALL SGEQRF( M, N, A, LDA, TAU, WORK, LWORK, INFO )

CALL DGEQRF( M, N, A, LDA, TAU, WORK, LWORK, INFO )

CALL CGEQRF( M, N, A, LDA, TAU, WORK, LWORK, INFO )CALL ZGEQRF( M, N, A, LDA, TAU, WORK, LWORK, INFO )

- The generic property can be exploited.

- The argument correctness of the calling program is checked by the interface.