@@ -45,6 +45,23 @@ module stdlib_linalg
45
45
public :: linalg_state_type, linalg_error_handling
46
46
47
47
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
+ !!
48
65
#:for rk,rt,ri in RC_KINDS_TYPES
49
66
#:if rk!="xdp"
50
67
pure module function stdlib_linalg_${ri}$_cholesky_fun(a,lower,other_zeroed) result(c)
@@ -62,6 +79,27 @@ module stdlib_linalg
62
79
end interface chol
63
80
64
81
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
+ !!
65
103
#:for rk,rt,ri in RC_KINDS_TYPES
66
104
#:if rk!="xdp"
67
105
pure module subroutine stdlib_linalg_${ri}$_cholesky_inplace(a,lower,other_zeroed,err)
0 commit comments