@@ -45,6 +45,23 @@ module stdlib_linalg
4545 public :: linalg_state_type, linalg_error_handling
4646
4747 interface chol
48+ !! version: experimental
49+ !!
50+ !! Computes the Cholesky factorization \( A = L \cdot L^T \), or \( A = U^T \cdot U \).
51+ !! ([Specification](../page/specs/stdlib_linalg.html#chol-compute-the-cholesky-factorization-of-a-rank-2-square-array-matrix))
52+ !!
53+ !!### Summary
54+ !! Pure function interface for computing the Cholesky triangular factors.
55+ !!
56+ !!### Description
57+ !!
58+ !! This interface provides methods for computing the lower- or upper- triangular matrix from the
59+ !! Cholesky factorization of a `real` symmetric or `complex` Hermitian matrix.
60+ !! Supported data types include `real` and `complex`.
61+ !!
62+ !!@note The solution is based on LAPACK's `*POTRF` methods.
63+ !!@note BLAS/LAPACK backends do not currently support extended precision (``xdp``).
64+ !!
4865 #:for rk,rt,ri in RC_KINDS_TYPES
4966 #:if rk!="xdp"
5067 pure module function stdlib_linalg_${ri}$_cholesky_fun(a,lower,other_zeroed) result(c)
@@ -62,6 +79,27 @@ module stdlib_linalg
6279 end interface chol
6380
6481 interface cholesky
82+ !! version: experimental
83+ !!
84+ !! Computes the Cholesky factorization \( A = L \cdot L^T \), or \( A = U^T \cdot U \).
85+ !! ([Specification](../page/specs/stdlib_linalg.html#cholesky-compute-the-cholesky-factorization-of-a-rank-2-square-array-matrix))
86+ !!
87+ !!### Summary
88+ !! Pure subroutine interface for computing the Cholesky triangular factors.
89+ !!
90+ !!### Description
91+ !!
92+ !! This interface provides methods for computing the lower- or upper- triangular matrix from the
93+ !! Cholesky factorization of a `real` symmetric or `complex` Hermitian matrix.
94+ !! Supported data types include `real` and `complex`.
95+ !! The factorization is computed in-place if only one matrix argument is present; or returned into
96+ !! a second matrix argument, if present. The `lower` `logical` flag allows to select between upper or
97+ !! lower factorization; the `other_zeroed` optional `logical` flag allows to choose whether the unused
98+ !! part of the triangular matrix should be filled with zeroes.
99+ !!
100+ !!@note The solution is based on LAPACK's `*POTRF` methods.
101+ !!@note BLAS/LAPACK backends do not currently support extended precision (``xdp``).
102+ !!
65103 #:for rk,rt,ri in RC_KINDS_TYPES
66104 #:if rk!="xdp"
67105 pure module subroutine stdlib_linalg_${ri}$_cholesky_inplace(a,lower,other_zeroed,err)
0 commit comments