Visible to Intel only — GUID: GUID-9231C409-4327-4670-A557-98D1318CA2FC
Visible to Intel only — GUID: GUID-9231C409-4327-4670-A557-98D1318CA2FC
?syconv
Converts a symmetric matrix given by a triangular matrix factorization into two matrices and vice versa.
Syntax
lapack_int LAPACKE_ssyconv (int matrix_layout, char uplo, char way, lapack_int n, float * a, lapack_int lda, const lapack_int * ipiv, float * e);
lapack_int LAPACKE_dsyconv (int matrix_layout, char uplo, char way, lapack_int n, double* a, lapack_int lda, const lapack_int * ipiv, double * e);
lapack_int LAPACKE_csyconv (int matrix_layout, char uplo, char way, lapack_int n, lapack_complex_float * a, lapack_int lda, const lapack_int * ipiv, lapack_complex_float * e);
lapack_int LAPACKE_zsyconv (int matrix_layout, char uplo, char way, lapack_int n, lapack_complex_double* a, lapack_int lda, const lapack_int * ipiv, lapack_complex_double * e);
Include Files
- mkl.h
Description
The routine converts matrix A, which results from a triangular matrix factorization, into matrices L and D and vice versa. The routine returns non-diagonalized elements of D and applies or reverses permutation done with the triangular matrix factorization.
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 whether the details of the factorization are stored as an upper or lower triangular matrix:
If uplo = 'U': the upper triangular, A = U*D*UT.
If uplo = 'L': the lower triangular, A = L*D*LT.
- way
-
Must be 'C' or 'R'.
- n
-
The order of matrix A; n≥ 0.
- a
-
Array of size max(1,lda *n).
The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ?sytrf.
- lda
-
The leading dimension of a; lda≥ max(1, n).
- ipiv
-
Array, size at least max(1, n).
Details of the interchanges and the block structure of D, as returned by ?sytrf.
Output Parameters
- e
-
Array of size max(1, n) containing the superdiagonal/subdiagonal of the symmetric 1-by-1 or 2-by-2 block diagonal matrix D in L*D*LT.
Return Values
- info
-
If info = 0, the execution is successful.
If info < 0, the i-th parameter had an illegal value.
If info = -1011, memory allocation error occurred.