Developer Reference

Intel® oneAPI Math Kernel Library LAPACK Examples

ID 766877
Date 10/31/2024
Public
Document Table of Contents

?posv function

Computes the solution to the system of linear equations with a symmetric or Hermitian positive-definite coefficient matrix A and multiple right-hand sides.

NOTE:

For a detailed description and reference information on this function, see the Intel® oneAPI Math Kernel Library Developer Reference.

Fortran-77 Interface

Calling from Fortran:

call sposv(uplo, n, nrhs, a, lda, b, ldb, info)
call dposv(uplo, n, nrhs, a, lda, b, ldb, info)
call cposv(uplo, n, nrhs, a, lda, b, ldb, info)
call zposv(uplo, n, nrhs, a, lda, b, ldb, info)
call dsposv(uplo, n, nrhs, a, lda, b, ldb, x, ldx, work, swork, iter, info)
call zcposv(uplo, n, nrhs, a, lda, b, ldb, x, ldx, work, swork, rwork, iter, info)

Calling from C:

sposv(uplo, n, nrhs, a, lda, b, ldb, info);
dposv(uplo, n, nrhs, a, lda, b, ldb, info);
cposv(uplo, n, nrhs, a, lda, b, ldb, info);
zposv(uplo, n, nrhs, a, lda, b, ldb, info);
dsposv(uplo, n, nrhs, a, lda, b, ldb, x, ldx, work, swork, iter, info)
zcposv(uplo, n, nrhs, a, lda, b, ldb, x, ldx, work, swork, rwork, iter, info)

C Interface

lapack_int LAPACKE_sposv(int matrix_layout, char uplo, lapack_int n, lapack_int nrhs, float* a, lapack_int lda, float* b, lapack_int ldb);
lapack_int LAPACKE_dposv(int matrix_layout, char uplo, lapack_int n, lapack_int nrhs, double* a, lapack_int lda, double* b, lapack_int ldb);
lapack_int LAPACKE_cposv(int matrix_layout, char uplo, lapack_int n, lapack_int nrhs, lapack_complex_float* a, lapack_int lda, lapack_complex_float* b, lapack_int ldb);
lapack_int LAPACKE_zposv(int matrix_layout, char uplo, lapack_int n, lapack_int nrhs, lapack_complex_double* a, lapack_int lda, lapack_complex_double* b, lapack_int ldb);
lapack_int LAPACKE_dsposv(int matrix_layout, char uplo, lapack_int n, lapack_int nrhs, double * a, lapack_int lda, double * b, lapack_int ldb, double * x, lapack_int ldx, lapack_int * iter);
lapack_int LAPACKE_zcposv(int matrix_layout, char uplo, lapack_int n, lapack_int nrhs, lapack_complex_double * a, lapack_int lda, lapack_complex_double * b, lapack_int ldb, lapack_complex_double * x, lapack_int ldx, lapack_int * iter);