Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?syconv
Converts a symmetric matrix given by a triangular matrix factorization into two matrices and vice versa.
Syntax
call ssyconv ( uplo , way , n , a , lda , ipiv , e , info )
call dsyconv ( uplo , way , n , a , lda , ipiv , e , info )
call csyconv ( uplo , way , n , a , lda , ipiv , e , info )
call zsyconv ( uplo , way , n , a , lda , ipiv , e , info )
call syconv ( a [ , uplo ] [ , way ] [ , ipiv ] [ , info ] [ , e ] )
Include Files
mkl.fi , mkl_lapack.f90
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
uplo
CHARACTER*1 . 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*U^{T} . If uplo = 'L' : the lower triangular, A = L*D*L^{T} .
way
CHARACTER*1 . Must be ‘C’ or ‘R’ .
n
INTEGER . The order of matrix A ; n ≥ 0.
- a
-
REAL for ssyconv DOUBLE PRECISION for dsyconv COMPLEX for csyconv DOUBLE COMPLEX for zsyconv
Array of size lda by n .
The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ?sytrf .
lda
INTEGER . The leading dimension of a ; lda≥ max(1, n) .
ipiv
INTEGER . Array, size at least max(1, n) .
Details of the interchanges and the block structure of D , as returned by ?sytrf .
Output Parameters
- e
-
REAL for ssyconv DOUBLE PRECISION for dsyconv COMPLEX for csyconv DOUBLE COMPLEX for zsyconv 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 .
info
INTEGER .
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.
Return Values
No return value, info is an Output Parameter.
LAPACK 95 Interface Notes
Routines in Fortran 95 interface have fewer arguments in the calling sequence than their FORTRAN 77 counterparts. For general conventions applied to skip redundant or reconstructible arguments, see LAPACK 95 Interface Conventions .
Specific details for the routine syconv interface are as follows:
a
Holds the matrix A of size ( n , n ).
uplo
Must be ‘U’ or ‘L’ .
way
Must be ‘C’ or ‘R’ .
ipiv
Holds the vector of length n .
e
Holds the vector of length n .