# Routine Naming Conventions

For each routine introduced in this chapter, you can use the ScaLAPACK name. The naming convention for ScaLAPACK routines is similar to that used for LAPACK routines. A general rule is that each routine name in ScaLAPACK, which has an LAPACK equivalent, is simply the LAPACK name prefixed by initial letter p.

ScaLAPACK names have the structure p?yyzzz or p?yyzz, which is described below.

The initial letter p is a distinctive prefix of ScaLAPACK routines and is present in each such routine.

The second symbol ? indicates the data type:

s

real, single precision

d

real, double precision

c

complex, single precision

z

complex, double precision

The second and third letters yy indicate the matrix type as:

ge

general

gb

general band

gg

a pair of general matrices (for a generalized problem)

dt

general tridiagonal (diagonally dominant-like)

db

general band (diagonally dominant-like)

po

symmetric or Hermitian positive-definite

pb

symmetric or Hermitian positive-definite band

pt

symmetric or Hermitian positive-definite tridiagonal

sy

symmetric

st

symmetric tridiagonal (real)

he

Hermitian

or

orthogonal

tr

triangular (or quasi-triangular)

tz

trapezoidal

un

unitary

For computational routines, the last three letters zzz indicate the computation performed and have the same meaning as for LAPACK routines.

For driver routines, the last two letters zz or three letters zzz have the following meaning:

sv

a simple driver for solving a linear system

svx

an expert driver for solving a linear system

ls

a driver for solving a linear least squares problem

ev

a simple driver for solving a symmetric eigenvalue problem

evd

a simple driver for solving an eigenvalue problem using a divide and conquer algorithm

evx

an expert driver for solving a symmetric eigenvalue problem

svd

a driver for computing a singular value decomposition

gvx

an expert driver for solving a generalized symmetric definite eigenvalue problem

Simple driver here means that the driver just solves the general problem, whereas an expert driver is more versatile and can also optionally perform some related computations (such, for example, as refining the solution and computing error bounds after the linear system is solved).

For more complete information about compiler optimizations, see our Optimization Notice.