F64Lapacke
The host LAPACKE through java.lang.foreign. Every shared routine lives in F64DecompositionsAdapter; this supplies the JVM's entry points and measured gates.
Constructors
F64Lapacke
Properties
isAvailable
LAPACKE resolves separately from CBLAS, either inside OpenBLAS or as its own library.
name
priority
Relative preference among the backends offered for one half (F64Blas, F64Decompositions, F64Kernels or a sparse counterpart). registerBackend picks the highest; the portable reference is 0.
Functions
Reads only the lower triangle of the input, and falls back to the portable path on a positive info, which CholeskyPolicy.Regularize needs.
dpotri writes only the triangle it is given, so the result is mirrored, and it overwrites the factor, so the factor is copied first.
Invert a general matrix from its LU factorization, returning A⁻¹ given P·A = L·U (LAPACK dgetri). Prefer solve to apply A⁻¹, which costs less and is more accurate.
Symmetric indefinite factorization A = L·D·Lᵀ with Bunch-Kaufman pivoting (LAPACK dsytrf, lower). Reads only the lower triangle of a, so an upper-only matrix factors to silent nonsense.
QR with column pivoting, A·P = Q·R (LAPACK dgeqp3), reporting F64PivotedQrDecomposition.rank as the count of leading diagonal entries with |R_kk| > tolerance · |R₀₀|. tolerance is a fraction of |R₀₀|; AUTOMATIC_RANK_TOLERANCE derives one from the shape, max(m, n) · ε, and a negative value is rejected.
Solve A · X = B for all right-hand-side columns of b at once against a symmetric indefinite factorization (LAPACK dsytrs with nrhs).
Solve A · x = b for a symmetric indefinite factorization ldl (LAPACK dsytrs).
Solve A · X = B, or Aᵀ · X = B when transpose, for all right-hand-side columns of b at once (LAPACK dgetrs with nrhs).
Least-squares solve from a pivoted factorization, with the column permutation undone. A rank-deficient factorization returns the basic solution, not the minimum-norm one: zero outside the pivoted rank.
Solve from a QR factorization. By default, finds the least-squares solution min ‖A·x − b‖₂ for a tall or square A; it requires full column rank and returns R⁻¹·(Qᵀb). With minimumNorm, finds the minimum-norm solution of a consistent wide system from qr(Aᵀ); it requires full row rank.
The vector solve stays portable on both bindings: one dsytrs call does not cover its own cost.
Native only from the configured right-hand-side count, as for the LU multi-RHS solve above.
Solve A · X = B, or Aᵀ · X = B when transpose, into out, which is returned. out may be b, and a workspace lends the transposed direction's n·nrhs staging block.
Delegated to the portable path for the same reason as a small gemv, the per-call cost.
solve into out, which is returned. Its length is n by default and m with minimumNorm. A workspace lends the intermediate for applying Q or Qᵀ.