GESV - 5.2 English - 68552

AOCL API Guide (68552)

Document ID
68552
Release Date
2025-12-29
Version
5.2 English
template<typename T>
void gesv(integer *n, integer *nrhs, T *a, integer *lda, integer *ipiv, T *b, integer *ldb, integer *info)#

GESV computes the solution to a real system of linear equations.

Purpose:

  GESV computes the solution to a real system of linear equations
     A * X = B,
  where A is an N-by-N matrix and X and B are N-by-NRHS matrices.

  The LU decomposition with partial pivoting and row interchanges is
  used to factor A as
     A = P * L * U,
  where P is a permutation matrix, L is unit lower triangular, and U is
  upper triangular.  The factored form of A is then used to solve the
  system of equations A * X = B.
Parameters:
  • N[in]

    N is INTEGER

    The number of linear equations, i.e., the order of the matrix A. N >= 0.

  • NRHS[in]

    NRHS is INTEGER

    The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.

    @parm[in,out] A A is REAL array, dimension (LDA,N)

    On entry, the N-by-N coefficient matrix A. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored.

  • LDA[in]

    LDA is INTEGER

    The leading dimension of the array A. LDA >= fla_max(1,N).

  • IPIV[out]

    IPIV is INTEGER array, dimension (N)

    The pivot indices that define the permutation matrix P; row i of the matrix was interchanged with row IPIV(i).

  • B[inout]

    B is REAL array, dimension (LDB,NRHS)

    On entry, the N-by-NRHS matrix of right hand side matrix B. On exit, if INFO = 0, the N-by-NRHS solution matrix X.

  • LDB[in]

    LDB is INTEGER

    The leading dimension of the array B. LDB >= fla_max(1,N).

  • INFO[out]

    INFO is INTEGER

    = 0: successful exit

    < 0: if INFO = -i, the i-th argument had an illegal value

    > 0: if INFO = i, U(i,i) is exactly zero. The factorization has been completed, but the factor U is exactly singular, so the solution could not be computed.