Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?hetrs2
Solves a system of linear equations with a UDU- or LDL-factored Hermitian coefficient matrix.
Syntax
call chetrs2 ( uplo , n , nrhs , a , lda , ipiv , b , ldb , work , info )
call zhetrs2 ( uplo , n , nrhs , a , lda , ipiv , b , ldb , work , info )
call hetrs2 ( a , b , ipiv [ , uplo ] [ , info ] )
Include Files
mkl.fi , mkl_lapack.f90
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
uplo
CHARACTER*1 . 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
INTEGER . The order of matrix A ; n ≥ 0.
nrhs
INTEGER . The number of right-hand sides; nrhs ≥ 0.
a , b
COMPLEX for chetrs2
DOUBLE COMPLEX for zhetrs2
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
INTEGER . The leading dimension of a ; lda≥ max(1, n) .
ldb
INTEGER . The leading dimension of b ; ldb≥ max(1, n) .
ipiv
INTEGER . Array of size n . The ipiv array contains details of the interchanges and the block structure of D as determined by ?hetrf .
work
COMPLEX for chetrs2
DOUBLE COMPLEX for zhetrs2
Workspace array, size n .
Output Parameters
b
Overwritten by the solution matrix X .
info
INTEGER .
If info = 0 , the execution is successful.
If info = -i , the i -th parameter had an illegal value.
Return Values
No return value, info is an Output Parameter.
LAPACK 95 Interface Notes
Routines in Fortran 95 interface have fewer arguments in the calling sequence than their FORTRAN 77 counterparts. For general conventions applied to skip redundant or reconstructible arguments, see LAPACK 95 Interface Conventions .
Specific details for the routine hetrs2 interface are as follows:
a
Holds the matrix A of size ( n , n ).
b
Holds the matrix B of size ( n , nrhs ).
ipiv
Holds the vector of length n .
uplo
Must be ‘U’ or ‘L’ . The default value is ‘U’ .