Developer Reference for Intel® oneAPI Math Kernel Library for C
?hetrs2
Solves a system of linear equations with a UDU- or LDL-factored Hermitian coefficient matrix.
Syntax
lapack_int LAPACKE_chetrs2(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_zhetrs2(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 a system of linear equations A*X = B with a complex Hermitian matrix A using the factorization of A :
if uplo='U' ,
\(A = U*D*U^{H}\)
if uplo='L' ,
\(A = L*D*L^{H}\)
where
U and L are upper and lower triangular matrices with unit diagonal
D is a Hermitian block-diagonal matrix.
The factorization is computed by ?hetrf .
Input Parameters
matrix_layout
Specifies whether matrix storage layout 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 array a stores the upper triangular factor \(U\) of the factorization \(A = U*D*U^{H}\) .
If uplo = 'L' , the array a stores the lower triangular factor \(L\) of the factorization \(A = L*D*L^{H}\) .
- n
-
Specifies the order of the matrix A . The value of n must be at least zero.
nrhs
The number of right-hand sides; nrhs ≥ 0.
a , b
Arrays: a(lda,*) , b(ldb,*) .
The array a contains the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ?hetrf .
The array b contains the right-hand side matrix B .
The second dimension of a must be at least max(1,n) , and the second dimension of b at least max(1,nrhs) .
a
The array a of size max(1, lda * n ) contains the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ?hetrf .
b
The array b of size max(1, ldb * nrhs ) for column major layout and max(1, ldb * n ) for row major layout contains the right-hand side matrix B .
lda
The leading dimension of a ; lda≥ max(1, n) .
ldb
The leading dimension of b ; ldb≥ max(1, n)ldb ≥ max(1, n ) for column major layout and ldb ≥ nrhs for row major layout .
ipiv
Array of size n . The ipiv array contains details of the interchanges and the block structure of D as determined by ?hetrf .
work
Workspace array, size n .
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 , parameter i had an illegal value.
LAPACK 95 Interface Notes
There exist FORTRAN 77 and FORTRAN 95 interfaces for this routine. See the Intel® oneMKL Fortran Developer Reference for details.