1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<!--Converted with LaTeX2HTML 96.1-h (September 30, 1996) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds -->
<HTML>
<HEAD>
<TITLE>Naming Scheme</TITLE>
<META NAME="description" CONTENT="Naming Scheme">
<META NAME="keywords" CONTENT="slug">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<LINK REL=STYLESHEET HREF="slug.css">
</HEAD>
<BODY LANG="EN" >
<A NAME="tex2html2667" HREF="node43.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://www.netlib.org/utk/icons/next_motif.gif"></A> <A NAME="tex2html2665" HREF="node39.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://www.netlib.org/utk/icons/up_motif.gif"></A> <A NAME="tex2html2661" HREF="node41.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://www.netlib.org/utk/icons/previous_motif.gif"></A> <A NAME="tex2html2669" HREF="node1.html"><IMG WIDTH=65 HEIGHT=24 ALIGN=BOTTOM ALT="contents" SRC="http://www.netlib.org/utk/icons/contents_motif.gif"></A> <A NAME="tex2html2670" HREF="node190.html"><IMG WIDTH=43 HEIGHT=24 ALIGN=BOTTOM ALT="index" SRC="http://www.netlib.org/utk/icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME="tex2html2668" HREF="node43.html">Driver Routines</A>
<B>Up:</B> <A NAME="tex2html2666" HREF="node39.html">Structure of ScaLAPACK</A>
<B> Previous:</B> <A NAME="tex2html2662" HREF="node41.html">Data Types and Precision</A>
<BR> <P>
<H2><A NAME="SECTION04313000000000000000">Naming Scheme</A></H2>
<A NAME="subsecnaming"> </A><A NAME="879"> </A>
<P>
Each subroutine name in ScaLAPACK, which has an LAPACK equivalent, is
simply the LAPACK name prepended by a <TT>P</TT>. Thus, we have relaxed
(violated) the Fortran 77 standard by allowing subroutine names to
be greater than 6-characters in length
and allowing an underscore _ in the names of certain TOOLS routines.
<P>
All driver and computational routines<A NAME="881"> </A> have names
of the form <B>PXYYZZZ</B>, where for
some driver routines the seventh character is blank.
<P>
The second letter, <B>X</B>, indicates the data type as follows:
<P>
<BLOCKQUOTE> <BR><IMG WIDTH=346 HEIGHT=79 ALIGN=BOTTOM ALT="tabular885" SRC="img52.gif"><BR></BLOCKQUOTE>
<P>
When we wish to refer to a ScaLAPACK routine generically, regardless
of data type, we replace the second letter by ``x''. Thus PxGESV refers
to any or all of the routines PSGESV, PCGESV, PDGESV, and PZGESV.
<P>
The next two letters, <B>YY</B>, indicate the type of matrix (or
of the most significant matrix).
Most of these two-letter codes apply to both real and complex matrices;
a few apply specifically to one or the other, as indicated in table
<A HREF="node42.html#tabtypes">3.1</A>.
<P>
<P><A NAME="892"> </A><A NAME="tabtypes"> </A><IMG WIDTH=578 HEIGHT=320 ALIGN=BOTTOM ALT="table891" SRC="img53.gif"><BR>
<STRONG>Table 3.1:</STRONG> Matrix types in the ScaLAPACK naming scheme<BR>
<P>
<P>
A <B>diagonally dominant-like</B><A NAME="901"> </A> matrix
is one for which it is known
<EM>a priori</EM> that pivoting for stability is NOT required in the <I>LU</I>
factorization of the matrix. Diagonally dominant matrices themselves are
examples of diagonally dominant-like matrices.
<P>
When we wish to refer to a class of routines that performs the
same function on different types of matrices, we replace the second, third,
and fourth letters by ``xyy''. Thus, PxyySVX refers to all the expert driver
routines for
systems of linear equations that are listed in table <A HREF="node44.html#tabdrivelineq">3.2</A>.
<P>
The last three letters <B>ZZZ</B> indicate the computation performed.
Their meanings will be explained in section <A HREF="node50.html#seccomp">3.3</A>.
For example, PSGEBRD is a single-precision routine that performs a
bidiagonal reduction (BRD) of a real general matrix.
<P>
The names of auxiliary routines<A NAME="906"> </A> follow a
similar scheme except that the
third and fourth characters YY are usually LA (for example, PSLASCL
or PCLARFG). There are two kinds of exception.
Auxiliary routines that implement an unblocked version of a block-partitioned
algorithm<A NAME="907"> </A> have similar names to the routines that perform
the block-partitioned algorithm, with the seventh character being ``2'' (for example,
PSGETF2 is the unblocked version of PSGETRF).
A few routines that may be
regarded as extensions to the BLAS are named similar to the BLAS
naming schemes (for example, PCMAX1, PSCSUM1).
<P>
<HR><A NAME="tex2html2667" HREF="node43.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://www.netlib.org/utk/icons/next_motif.gif"></A> <A NAME="tex2html2665" HREF="node39.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://www.netlib.org/utk/icons/up_motif.gif"></A> <A NAME="tex2html2661" HREF="node41.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://www.netlib.org/utk/icons/previous_motif.gif"></A> <A NAME="tex2html2669" HREF="node1.html"><IMG WIDTH=65 HEIGHT=24 ALIGN=BOTTOM ALT="contents" SRC="http://www.netlib.org/utk/icons/contents_motif.gif"></A> <A NAME="tex2html2670" HREF="node190.html"><IMG WIDTH=43 HEIGHT=24 ALIGN=BOTTOM ALT="index" SRC="http://www.netlib.org/utk/icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME="tex2html2668" HREF="node43.html">Driver Routines</A>
<B>Up:</B> <A NAME="tex2html2666" HREF="node39.html">Structure of ScaLAPACK</A>
<B> Previous:</B> <A NAME="tex2html2662" HREF="node41.html">Data Types and Precision</A>
<P><ADDRESS>
<I>Susan Blackford <BR>
Tue May 13 09:21:01 EDT 1997</I>
</ADDRESS>
</BODY>
</HTML>
|