Expand description
Linear Algebra eXtension (LAX)
ndarray-free safe Rust wrapper for LAPACK FFI
Linear equation, Inverse matrix, Condition number
As the property of $A$, several types of triangular factorization are used:
- LU-decomposition for general matrix
- $PA = LU$, where $L$ is lower matrix, $U$ is upper matrix, and $P$ is permutation matrix
- Bunch-Kaufman diagonal pivoting method for nonpositive-definite Hermitian matrix
- $A = U D U^\dagger$, where $U$ is upper matrix, $D$ is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks.
matrix type | Triangler factorization (TRF) | Solve (TRS) | Inverse matrix (TRI) | Reciprocal condition number (CON) |
---|---|---|---|---|
General (GE) | lu | solve | inv | rcond |
Symmetric (SY) / Hermitian (HE) | bk | solveh | invh | - |
Eigenvalue Problem
Solve eigenvalue problem for a matrix $A$
$$ Av_i = \lambda_i v_i $$
or generalized eigenvalue problem
$$ Av_i = \lambda_i B v_i $$
matrix type | Eigenvalue (EV) | Generalized Eigenvalue Problem (EG) |
---|---|---|
General (GE) | eig | - |
Symmetric (SY) / Hermitian (HE) | eigh | eigh_generalized |
Singular Value Decomposition (SVD), Least square problem
matrix type | Singular Value Decomposition (SVD) | SVD with divided-and-conquer (SDD) | Least square problem (LSD) |
---|---|---|---|
General (GE) | svd | svddc | least_squares |
Modules
Structs
Represents the LU factorization of a tridiagonal matrix A
as A = P*L*U
.
Result of LeastSquares
Result of SVD
Represents a tridiagonal matrix as 3 one-dimensional vectors.
Enums
Upper/Lower specification for seveal usages
Specifies how many of the columns of U and rows of Vᵀ are computed and returned.
Traits
Wraps *geev
for general matrices
Trait for primitive types which implements LAPACK subroutines
Wraps *gelsd
Wraps *gesvd
Wraps *trtri
and *trtrs
Wraps *gttrf
, *gtcon
and *gttrs