Developer Reference for Intel® oneAPI Math Kernel Library for C
?hetrs_rook
Solves a system of linear equations with a UDU- or LDL-factored Hermitian coefficient matrix.
Syntax
lapack_int LAPACKE_chetrs_rook (int matrix_layout, char uplo, lapack_int n, lapack_int nrhs, const lapack_complex_float * a, lapack_int lda, const lapack_int * ipiv, lapack_complex_float * b, lapack_int ldb);
lapack_int LAPACKE_zhetrs_rook (int matrix_layout, char uplo, lapack_int n, lapack_int nrhs, const lapack_complex_double * a, lapack_int lda, const lapack_int * ipiv, lapack_complex_double * b, lapack_int ldb);
Include Files
- mkl.h
Description
The routine solves for a system of linear equations A*X = B with a complex Hermitian matrix A using the factorization A = U*D*UH or A = L*D*LH computed by ?hetrf_rook.
Input Parameters
| matrix_layout | Specifies whether matrix storage layout for array b is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR). | 
| uplo | Must be 'U' or 'L'. Indicates how the input matrix A has been factored: If uplo = 'U', the factorization is of the form A = U*D*UH. If uplo = 'L', the factorization is of the form A = L*D*LH. | 
| n | The order of matrix A; n≥ 0. | 
| nrhs | The number of right-hand sides; nrhs≥ 0. | 
| ipiv | Array, size at least max(1, n). The ipiv array, as returned by ?hetrf_rook. | 
| a, b | Arrays: a (lda*n)), b(ldb*nrhs). The array a contains the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ?hetrf_rook (see uplo). The array b contains the matrix B whose columns are the right-hand sides for the system of equations. | 
| lda | The leading dimension of a; lda≥ max(1, n). | 
| ldb | The leading dimension of b; ldb≥ max(1, n) for column major layout and ldb≥nrhs) for row major layout. | 
Output Parameters
| b | Overwritten by the solution matrix X. | 
Return Values
This function returns a value info.
If info=0, the execution is successful.
If info = -i, the i-th parameter had an illegal value.