Provided by: liblapack-doc_3.3.1-1_all

**NAME**

LAPACK-3 - convert A given by TRF into L and D and vice-versa

**SYNOPSIS**

SUBROUTINE CSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO ) CHARACTER UPLO, WAY INTEGER INFO, LDA, N INTEGER IPIV( * ) COMPLEX A( LDA, * ), WORK( * )

**PURPOSE**

CSYCONV convert A given by TRF into L and D and vice-versa. Get Non-diag elements of D (returned in workspace) and apply or reverse permutation done in TRF.

**ARGUMENTS**

UPLO (input) CHARACTER*1 Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. = 'U': Upper triangular, form is A = U*D*U**T; = 'L': Lower triangular, form is A = L*D*L**T. WAY (input) CHARACTER*1 = 'C': Convert = 'R': Revert N (input) INTEGER The order of the matrix A. N >= 0. A (input) COMPLEX array, dimension (LDA,N) The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CSYTRF. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). IPIV (input) INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by CSYTRF. The length of WORK. LWORK >=1. LWORK = N If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value LAPACK PROTOTYPE routine (version 3.2.2) April 2011 CSYCONV(3lapack)