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

?hetrs_aa

BSolves a system of linear equations A*X = with a complex Hermitian matrix.

LAPACK_DECL lapack_int LAPACKE_chetrs_aa (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_DECL lapack_int LAPACKE_zhetrs_aa (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 );

Description

?hetrs_aa solves a system of linear equations A*X = X with a complex Hermitian matrix A using the factorization A = U * T * UH or A = L * T * LH computed by ?hetrf_aa.

Input Parameters

matrix_layout

Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).

uplo

Specifies whether the details of the factorization are stored as an upper or lower triangular matrix.

If uplo = 'U': Upper triangular of the form A = U * T * UH.

If uplo= 'L': Lower triangular of the form A = L * T * LH.

n

The order of the matrix A. n 0.

nrhs

The number of right hand sides: the number of columns of the matrix b. nrhs 0.

a

Array of size lda*n. Details of factors computed by ?hetrf_aa.

lda

The leading dimension of the array a. lda max(1,n).

ipiv

Array of size (n). Details of the interchanges as computed by ?hetrf_aa.

b

Array of size ldb*nrhs. On entry, the right hand side matrix B.

ldb

The leading dimension of the array b. ldb max(1, n).

work

See Syntax - Workspace. Array of size (max(1, lwork)).

lwork

See Syntax - Workspace. lwork max(1, 3*n-2).

Output Parameters

b

On exit, the solution matrix X.

Return Values

This function returns a value info.

If info = 0: successful exit.

If info < 0: if info = -i, the i-th argument had an illegal value.

Syntax - Workspace

Use this interface if you want to explicitly provide the workspace array.

LAPACK_DECL lapack_int LAPACKE_chetrs_aa_work (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_complex_float * work, lapack_int lwork );

LAPACK_DECL lapack_int LAPACKE_zhetrs_aa_work (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, lapack_complex_double * work, lapack_int lwork );