@@ -232,7 +232,7 @@ module stdlib_linalg
232
232
!! version: experimental
233
233
!!
234
234
!! Solves the linear system \( A \cdot x = b \) for the unknown vector \( x \) from a square matrix \( A \).
235
- !! ([Specification](../page/specs/stdlib_linalg.html#solve-solves-a-linear-matrix-equation-or-a-linear-system-of-scalar- equations))
235
+ !! ([Specification](../page/specs/stdlib_linalg.html#solve-solves-a-linear-matrix-equation-or-a-linear-system-of-equations))
236
236
!!
237
237
!!### Summary
238
238
!! Interface for solving a linear system arising from a general matrix.
@@ -276,7 +276,29 @@ module stdlib_linalg
276
276
#:endfor
277
277
end interface solve
278
278
279
+ ! Solve linear system Ax = b using LU decomposition (subroutine interface).
279
280
interface solve_lu
281
+ !! version: experimental
282
+ !!
283
+ !! Solves the linear system \( A \cdot x = b \) for the unknown vector \( x \) from a square matrix \( A \).
284
+ !! ([Specification](../page/specs/stdlib_linalg.html#solve-lu-solves-a-linear-matrix-equation-or-a-linear-system-of-equations-subroutine-interface))
285
+ !!
286
+ !!### Summary
287
+ !! Subroutine interface for solving a linear system using LU decomposition.
288
+ !!
289
+ !!### Description
290
+ !!
291
+ !! This interface provides methods for computing the solution of a linear matrix system using
292
+ !! a subroutine. Supported data types include `real` and `complex`. No assumption is made on the matrix
293
+ !! structure. Preallocated space for the solution vector `x` is user-provided, and it may be provided
294
+ !! for the array of pivot indices, `pivot`. If all pre-allocated work spaces are provided, no internal
295
+ !! memory allocations take place when using this interface.
296
+ !! The function can solve simultaneously either one (from a 1-d right-hand-side vector `b(:)`)
297
+ !! or several (from a 2-d right-hand-side vector `b(:,:)`) systems.
298
+ !!
299
+ !!@note The solution is based on LAPACK's generic LU decomposition based solvers `*GESV`.
300
+ !!@note BLAS/LAPACK backends do not currently support extended precision (``xdp``).
301
+ !!
280
302
#:for nd,ndsuf,nde in ALL_RHS
281
303
#:for rk,rt,ri in RC_KINDS_TYPES
282
304
#:if rk!="xdp"
0 commit comments