# Computational Routines

Table “Computational Routines for Systems of Equations with Real Matrices” lists the LAPACK computational routines (Fortran 77 and Fortran 95 interfaces) for factorizing, equilibrating, and inverting real matrices, estimating their condition numbers, solving systems of equations with real matrices, refining the solution, and estimating its error. Table “Computational Routines for Systems of Equations with Complex Matrices” lists similar routines for complex matrices. Respective routine names in Fortran 95 interface are without the first symbol (see Routine Naming Conventions).

Computational Routines for Systems of Equations with Real Matrices
Matrix type, storage scheme | Factorize matrix | Equilibrate matrix | Solve system | Condition number | Estimate error | Invert matrix
--- | --- | --- | --- | --- | --- | ---
general | ?getrf | ?geequ | ?getrs | ?gecon | ?gerfs | ?getri
general band | ?gbtrf | ?gbequ | ?gbtrs | ?gbcon | ?gbrfs |
general tridiagonal | ?gttrf |  | ?gttrs | ?gtcon | ?gtrfs |
symmetric positive-definite | ?potrf | ?poequ | ?potrs | ?pocon | ?porfs | ?potri
symmetric positive-definite, packed storage | ?pptrf | ?ppequ | ?pptrs | ?ppcon | ?pprfs | ?pptri
symmetric positive-definite, band | ?pbtrf | ?pbequ | ?pbtrs | ?pbcon | ?pbrfs |
symmetric positive-definite, tridiagonal | ?pttrf |  | ?pttrs | ?ptcon | ?ptrfs |
symmetric indefinite | ?sytrf |  | ?sytrs | ?sycon | ?syrfs | ?sytri
symmetric indefinite, packed storage | ?sptrf |  | ?sptrs | ?spcon | ?sprfs | ?sptri
triangular |  |  | ?trtrs | ?trcon | ?trrfs | ?trtri
triangular, packed storage |  |  | ?tptrs | ?tpcon | ?tprfs | ?tptri
triangular band |  |  | ?tbtrs | ?tbcon | ?tbrfs |

In the table above, ? denotes s (single precision) or d (double precision) for Fortran 77 interface.

Computational Routines for Systems of Equations with Complex Matrices
Matrix type, storage scheme | Factorize matrix | Equilibrate matrix | Solve system | Condition number | Estimate error | Invert matrix
--- | --- | --- | --- | --- | --- | ---
general | ?getrf | ?geequ | ?getrs | ?gecon | ?gerfs | ?getri
general band | ?gbtrf | ?gbequ | ?gbtrs | ?gbcon | ?gbrfs |
general tridiagonal | ?gttrf |  | ?gttrs | ?gtcon | ?gtrfs |
Hermitian positive-definite | ?potrf | ?poequ | ?potrs | ?pocon | ?porfs | ?potri
Hermitian positive-definite, packed storage | ?pptrf | ?ppequ | ?pptrs | ?ppcon | ?pprfs | ?pptri
Hermitian positive-definite, band | ?pbtrf | ?pbequ | ?pbtrs | ?pbcon | ?pbrfs |
Hermitian positive-definite, tridiagonal | ?pttrf |  | ?pttrs | ?ptcon | ?ptrfs |
Hermitian indefinite | ?hetrf |  | ?hetrs | ?hecon | ?herfs | ?hetri
symmetric indefinite | ?sytrf |  | ?sytrs | ?sycon | ?syrfs | ?sytri
Hermitian indefinite, packed storage | ?hptrf |  | ?hptrs | ?hpcon | ?hprfs | ?hptri
symmetric indefinite, packed storage | ?sptrf |  | ?sptrs | ?spcon | ?sprfs | ?sptri
triangular |  |  | ?trtrs | ?trcon | ?trrfs | ?trtri
triangular, packed storage |  |  | ?tptrs | ?tpcon | ?tprfs | ?tptri
triangular band |  |  | ?tbtrs | ?tbcon | ?tbrfs |

In the table above, ? stands for c (single precision complex) or z (double precision complex) for Fortran 77 interface.