Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?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*UH

if uplo='L',

A = L*D*LH

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*UH.

If uplo = 'L', the array a stores the lower triangular factor L of the factorization A = L*D*LH.

n

The order of matrix A; n 0.

nrhs

The number of right-hand sides; nrhs 0.

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) for column major layout and ldbnrhs 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.

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.