Converts a symmetric matrix given by a triangular matrix factorization into two matrices and vice versa.
FORTRAN 77:
call ssyconv( uplo, way, n, a, lda, ipiv, work, info )
call dsyconv( uplo, way, n, a, lda, ipiv, work, info )
call csyconv( uplo, way, n, a, lda, ipiv, work, info )
call zsyconv( uplo, way, n, a, lda, ipiv, work, info )
FORTRAN 95:
call sycon( a[,uplo][,way][,ipiv][,info] )
The routine converts matrix A, which results from a triangular matrix factorization, into matrices L and D and vice versa. The routine gets non-diagonalized elements of D returned in the workspace and applies or reverses permutation done with the triangular matrix factorization.
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'. Indicates whether the routine converts or reverts the matrix: way = 'C' means conversion. way = 'R' means reversion. |
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 DIMENSION (lda,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, DIMENSION at least max(1, n). Details of the interchanges and the block structure of D, as returned by ?sytrf. |
work |
INTEGER. Workspace array, DIMENSION at least max(1, n). |
info |
INTEGER. If info = 0, the execution is successful. If info < 0, the i-th parameter had an illegal value. |
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 Fortran 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. |