?sytri2x
?sytri2x
Computes the inverse of a symmetric indefinite matrix after
?sytri2
allocates memory
.Syntax
lapack_int
LAPACKE_ssytri2x
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
float
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
lapack_int
nb
);
lapack_int
LAPACKE_dsytri2x
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
double
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
lapack_int
nb
);
lapack_int
LAPACKE_csytri2x
(
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_zsytri2x
(
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 symmetric indefinite matrix A
)A
using the factorization A
= U*D*U
T
A
= L*D*L
T
?sytrf
.The
?sytri2x
actually computes the inverse after the ?sytri2
routine allocates memory
before calling ?sytri2x
.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*UTIf, the arrayuplo='L'astores the factorization.A=L*D*LT
- n
- The order of the matrixA;.n≥0
- a
- Arraya(size max(1,lda*n)) contains thenb(block size) diagonal matrixDand the multipliers used to obtain the factorUorLas returned by?sytrf. The second dimension ofamust be at leastmax(1,.n)
- 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?sytrf.
- nb
- Block size.
Output Parameters
- a
- If, the symmetric inverse of the original matrix.info= 0If, the upper triangular part of the inverse is formed and the part ofinfo='U'Abelow the diagonal is not referenced.If, the lower triangular part of the inverse is formed and the part ofinfo='L'Aabove 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.