?hetri2x
?hetri2x
Computes the inverse of a Hermitian indefinite matrix after
?hetri2
allocates memory
.Syntax
lapack_int
LAPACKE_chetri2x
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_complex_float
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
lapack_int
nb
);
lapack_int
LAPACKE_zhetri2x
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_complex_double
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
lapack_int
nb
);
Include Files
- mkl.h
Description
The routine computes the inverse or computed by
inv(
of a Hermitian indefinite matrix A
)A
using the factorization A
= U*D*U
H
A
= L*D*L
H
?hetrf
.The
?hetri2x
actually computes the inverse after the ?hetri2
routine allocates memory
before calling ?hetri2x
.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 matrixAhas been factored:If, the arrayuplo='U'astores the factorization.A=U*D*UHIf, the arrayuplo='L'astores the factorization.A=L*D*LH
- n
- The order of the matrixA;.n≥0
- a
- Arraysa(size max(1,contains thelda*n))nb(block size) diagonal matrixDand the multipliers used to obtain the factorUorLas returned by?hetrf.
- lda
- The leading dimension ofa;.lda≥max(1,n)
- ipiv
- Array, size at leastmax(1,.n)Details of the interchanges and thenbstructure ofDas returned by?hetrf.
- nb
- Block size.
Output Parameters
- a
- Ifinfo= 0, the symmetric inverse of the original matrix.Ifinfo='U', the upper triangular part of the inverse is formed and the part ofAbelow the diagonal is not referenced.Ifinfo='L', the lower triangular part of the inverse is formed and the part ofAabove the diagonal is not referenced.
Return Values
This function returns a value
info
.If
info
= 0, the execution is successful. If
info
=-i
, parameter i
had an illegal value.If = 0;
info
= i
, D
i
i
D
is singular and its inversion could not be computed.