Linear Systems

Solvers for systems of linear equations: Ax = b or AX = B

LAPACK++ provides direct methods for solving linear systems through factorization approaches. All routines are templated on scalar type and support both real and complex arithmetic.

General (Non-Symmetric) Systems

gesv - General linear system solve (simple driver)

Computes LU factorization with partial pivoting then solves Ax = b

gesvx - General linear system solve (expert driver)

Extended version with equilibration, condition estimates, and error bounds

getrf - LU factorization with partial pivoting

Computes \(A = PLU\) where P is permutation, L is unit lower triangular, U is upper triangular

getrs - Solve using LU factorization

Solves \(A x = b\), \(A^T x = b\), or \(A^H x = b\) using factorization from getrf

getri - Matrix inverse using LU factorization

Computes \(A^{-1}\) using factorization from getrf

gecon - Condition number estimate

Estimates reciprocal condition number in 1-norm or infinity-norm

geequ - Row/column equilibration

Computes row and column scalings to equilibrate the matrix

Symmetric/Hermitian Positive Definite

posv - Positive definite solve (simple driver)

Cholesky factorization then solve

posvx - Positive definite solve (expert driver)

With equilibration and condition estimates

potrf - Cholesky factorization

Computes \(A = U^H U\) (upper) or \(A = L L^H\) (lower)

potrs - Solve using Cholesky factorization

Solves \(A x = b\) using factorization from potrf

potri - Inverse using Cholesky factorization

Computes \(A^{-1}\) using factorization from potrf

pocon - Condition number estimate for positive definite

poequ - Equilibration for positive definite

pbtrf - Band Cholesky factorization

For positive definite band matrices

pbtrs - Band triangular solve

pbcon - Band condition estimate

Symmetric/Hermitian Indefinite

sysv / hesv - Symmetric/Hermitian solve (simple driver)

Bunch-Kaufman factorization (\(A = U D U^T\) or \(A = L D L^T\)) then solve

sysvx / hesvx - Expert driver with condition estimates

sytrf / hetrf - Bunch-Kaufman factorization

Computes \(A = U D U^T\) or \(A = L D L^T\) with D block diagonal

sytrs / hetrs - Solve using symmetric factorization

sytri / hetri - Inverse using symmetric factorization

sycon / hecon - Condition estimate for symmetric/Hermitian

syrfs / herfs - Iterative refinement

sytrs2 / hetrs2 - Solve with rook pivoting

Triangular Systems

trtrs - Triangular solve

Solves \(op(A) x = b\) where A is triangular

trtri - Triangular inverse

Computes \(A^{-1}\) where A is triangular

trcon - Triangular condition estimate

Band Matrices

gbtrf - Band LU factorization

gbtrs - Band triangular solve

gbcon - Band condition estimate

Tridiagonal Systems

gtsv - Tridiagonal solve (simple driver)

gtsvx - Tridiagonal solve (expert driver)

gttrf - Tridiagonal LU factorization

gttrs - Tridiagonal solve using factorization

gtcon - Tridiagonal condition estimate

Symmetric Positive Definite Tridiagonal

ptsv - SPD tridiagonal solve

ptsvx - SPD tridiagonal expert driver

pttrf - SPD tridiagonal factorization

pttrs - SPD tridiagonal solve

ptcon - SPD tridiagonal condition estimate

See Also