Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?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, 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*UT.

If uplo = 'L': the lower triangular, A = L*D*LT.

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.

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.

See Also