Skip to content

Commit 7aab844

Browse files
committed
document solve_lu interface
1 parent b288520 commit 7aab844

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

src/stdlib_linalg.fypp

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ module stdlib_linalg
232232
!! version: experimental
233233
!!
234234
!! 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))
236236
!!
237237
!!### Summary
238238
!! Interface for solving a linear system arising from a general matrix.
@@ -276,7 +276,29 @@ module stdlib_linalg
276276
#:endfor
277277
end interface solve
278278

279+
! Solve linear system Ax = b using LU decomposition (subroutine interface).
279280
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+
!!
280302
#:for nd,ndsuf,nde in ALL_RHS
281303
#:for rk,rt,ri in RC_KINDS_TYPES
282304
#:if rk!="xdp"

0 commit comments

Comments
 (0)