Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
LAPACK
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Naming scheme== Subroutines in LAPACK have a naming convention which makes the identifiers very compact. This was necessary as the first [[Fortran]] standards only supported identifiers up to six characters long, so the names had to be shortened to fit into this limit.<ref name="LAPACK User Manual" />{{rp|at=[https://www.netlib.org/lapack/lug/node24.html "Naming Scheme"]}} A LAPACK subroutine name is in the form <code>pmmaaa</code>, where: * <code>p</code> is a one-letter code denoting the type of numerical constants used. <code>S</code>, <code>D</code> stand for real [[floating-point arithmetic]] respectively in single and double precision, while <code>C</code> and <code>Z</code> stand for [[complex number|complex arithmetic]] with respectively single and double precision. The newer version, LAPACK95, uses [[generic function|generic]] subroutines in order to overcome the need to explicitly specify the data type. * <code>mm</code> is a two-letter code denoting the kind of matrix expected by the algorithm. The codes for the different kind of matrices are reported below; the actual data are stored in a different format depending on the specific kind; e.g., when the code <code>DI</code> is given, the subroutine expects a vector of length <code>n</code> containing the elements on the diagonal, while when the code <code>GE</code> is given, the subroutine expects an {{math|''n''Γ''n''}} array containing the entries of the matrix. * <code>aaa</code> is a one- to three-letter code describing the actual algorithm implemented in the subroutine, e.g. <code>SV</code> denotes a subroutine to solve [[linear system]], while <code>R</code> denotes a rank-1 update. For example, the subroutine to solve a linear system with a general (non-structured) matrix using real double-precision arithmetic is called <code>DGESV</code>.<ref name="LAPACK User Manual" />{{Rp|at=[https://www.netlib.org/lapack/lug/node26.html "Linear Equations"]}} {|class="wikitable" |+ Matrix types in the LAPACK naming scheme |- ! Name ! Description |- | BD | [[bidiagonal matrix]] |- | DI | [[diagonal matrix]] |- | GB | general [[band matrix]] |- | GE | general [[matrix (mathematics)|matrix]] (i.e., [[symmetric matrix|unsymmetric]], in some cases rectangular) |- | GG | general matrices, generalized problem (i.e., a pair of general matrices) |- | GT | general [[tridiagonal matrix]] |- | HB | ([[Complex number|complex]]) [[Hermitian matrix|Hermitian]] [[band matrix]] |- | HE | ([[Complex number|complex]]) [[Hermitian matrix]] |- | HG | [[upper Hessenberg matrix]], generalized problem (i.e. a Hessenberg and a [[triangular matrix]]) |- | HP | ([[Complex number|complex]]) [[Hermitian matrix|Hermitian]], [[packed storage matrix]] |- | HS | [[upper Hessenberg matrix]] |- | OP | ([[Real number|real]]) [[orthogonal matrix]], [[packed storage matrix]] |- | OR | ([[Real number|real]]) [[orthogonal matrix]] |- | PB | [[symmetric matrix]] or [[Hermitian matrix]] [[positive definite matrix|positive definite]] band |- | PO | [[symmetric matrix]] or [[Hermitian matrix]] [[positive definite matrix|positive definite]] |- | PP | [[symmetric matrix]] or [[Hermitian matrix]] [[positive definite matrix|positive definite]], [[packed storage matrix]] |- | PT | [[symmetric matrix]] or [[Hermitian matrix]] [[positive definite matrix|positive definite]] [[tridiagonal matrix]] |- | SB | ([[Real number|real]]) [[symmetric matrix|symmetric]] [[band matrix]] |- | SP | [[Symmetric matrix|symmetric]], [[packed storage matrix]] |- | ST | ([[Real number|real]]) [[symmetric matrix]] [[tridiagonal matrix]] |- | SY | [[symmetric matrix]] |- | TB | [[Triangular matrix|triangular]] [[band matrix]] |- | TG | [[Triangular matrix|triangular matrices]], generalized problem (i.e., a pair of [[triangular matrix|triangular matrices]]) |- | TP | [[Triangular matrix|triangular]], [[packed storage matrix]] |- | TR | [[triangular matrix]] (or in some cases quasi-triangular) |- | TZ | [[trapezoidal matrix]] |- | UN | ([[Complex number|complex]]) [[unitary matrix]] |- | UP | ([[Complex number|complex]]) [[unitary matrix|unitary]], [[packed storage matrix]] |}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)