The **naming scheme** of each **LAPACK** routine is a coded specification of
its function (within the very tight limits of standard Fortran 77
6-character names).
All driver and computational routines have names of the form **XYYZZZ**,
where for some driver routines the 6th character is blank.

The first letter, **X**, indicates the data type as follows:

S | REAL |

D | DOUBLE PRECISION |

C | COMPLEX |

Z | COMPLEX*16 or DOUBLE COMPLEX |

the two first letters represent the precision used:

DS: Data type in double but solving problem using single precision

ZC: Data type in complex*16 but solving problem using complex precision

The next two letters, **YY**, 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.

BD | bidiagonal |

DI | diagonal |

GB | general band |

GE | general (i.e., unsymmetric, in some cases rectangular) |

GG | general matrices, generalized problem (i.e., a pair of general matrices) |

GT | general tridiagonal |

HB | (complex) Hermitian band |

HE | (complex) Hermitian |

HG | upper Hessenberg matrix, generalized problem (i.e a Hessenberg and a triangular matrix) |

HP | (complex) Hermitian, packed storage |

HS | upper Hessenberg |

OP | (real) orthogonal, packed storage |

OR | (real) orthogonal |

PB | symmetric or Hermitian positive definite band |

PO | symmetric or Hermitian positive definite |

PP | symmetric or Hermitian positive definite, packed storage |

PT | symmetric or Hermitian positive definite tridiagonal |

SB | (real) symmetric band |

SP | symmetric, packed storage |

ST | (real) symmetric tridiagonal |

SY | symmetric |

TB | triangular band |

TG | triangular matrices, generalized problem (i.e., a pair of triangular matrices) |

TP | triangular, packed storage |

TR | triangular (or in some cases quasi-triangular) |

TZ | trapezoidal |

UN | (complex) unitary |

UP | (complex) unitary, packed storage |

The last three letters **ZZZ** indicate the computation performed.
For example, SGEBRD is a single precision routine that performs a
bidiagonal reduction (BRD) of a real general matrix. Their meanings
are fully explained in the LAPACK Users' Guide.

Indexes of routine names are available in four data types. An individual
routine or routine plus dependencies can be selected. For brevity,
only driver and computational routine names are listed on these indexes.
Auxiliary routines are **not** listed, but can be downloaded via ftp in the
respective subdirectories.

- Index of LAPACK Single Precision REAL Routines.
- Index of LAPACK Double Precision REAL Routines.
- Index of LAPACK Single Precision COMPLEX Routines.
- Index of LAPACK Double Precision COMPLEX Routines.