.TH "hetri2" 3 "Wed Feb 7 2024 11:30:40" "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME hetri2 \- {he,sy}tri2: inverse .SH SYNOPSIS .br .PP .SS "Functions" .in +1c .ti -1c .RI "subroutine \fBchetri2\fP (uplo, n, a, lda, ipiv, work, lwork, info)" .br .RI "\fBCHETRI2\fP " .ti -1c .RI "subroutine \fBcsytri2\fP (uplo, n, a, lda, ipiv, work, lwork, info)" .br .RI "\fBCSYTRI2\fP " .ti -1c .RI "subroutine \fBdsytri2\fP (uplo, n, a, lda, ipiv, work, lwork, info)" .br .RI "\fBDSYTRI2\fP " .ti -1c .RI "subroutine \fBssytri2\fP (uplo, n, a, lda, ipiv, work, lwork, info)" .br .RI "\fBSSYTRI2\fP " .ti -1c .RI "subroutine \fBzhetri2\fP (uplo, n, a, lda, ipiv, work, lwork, info)" .br .RI "\fBZHETRI2\fP " .ti -1c .RI "subroutine \fBzsytri2\fP (uplo, n, a, lda, ipiv, work, lwork, info)" .br .RI "\fBZSYTRI2\fP " .in -1c .SH "Detailed Description" .PP .SH "Function Documentation" .PP .SS "subroutine chetri2 (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex, dimension( * ) work, integer lwork, integer info)" .PP \fBCHETRI2\fP .PP \fBPurpose:\fP .RS 4 .PP .nf CHETRI2 computes the inverse of a COMPLEX hermitian indefinite matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by CHETRF\&. CHETRI2 set the LEADING DIMENSION of the workspace before calling CHETRI2X that actually computes the inverse\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf UPLO is 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\&. .fi .PP .br \fIN\fP .PP .nf N is INTEGER The order of the matrix A\&. N >= 0\&. .fi .PP .br \fIA\fP .PP .nf A is COMPLEX array, dimension (LDA,N) On entry, the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CHETRF\&. On exit, if INFO = 0, the (symmetric) inverse of the original matrix\&. If UPLO = 'U', the upper triangular part of the inverse is formed and the part of A below the diagonal is not referenced; if UPLO = 'L' the lower triangular part of the inverse is formed and the part of A above the diagonal is not referenced\&. .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A\&. LDA >= max(1,N)\&. .fi .PP .br \fIIPIV\fP .PP .nf IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by CHETRF\&. .fi .PP .br \fIWORK\fP .PP .nf WORK is COMPLEX array, dimension (N+NB+1)*(NB+3) .fi .PP .br \fILWORK\fP .PP .nf LWORK is INTEGER The dimension of the array WORK\&. WORK is size >= (N+NB+1)*(NB+3) If LWORK = -1, then a workspace query is assumed; the routine 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\&. .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its inverse could not be computed\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .SS "subroutine csytri2 (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex, dimension( * ) work, integer lwork, integer info)" .PP \fBCSYTRI2\fP .PP \fBPurpose:\fP .RS 4 .PP .nf CSYTRI2 computes the inverse of a COMPLEX symmetric indefinite matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by CSYTRF\&. CSYTRI2 sets the LEADING DIMENSION of the workspace before calling CSYTRI2X that actually computes the inverse\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf UPLO is 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\&. .fi .PP .br \fIN\fP .PP .nf N is INTEGER The order of the matrix A\&. N >= 0\&. .fi .PP .br \fIA\fP .PP .nf A is COMPLEX array, dimension (LDA,N) On entry, the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CSYTRF\&. On exit, if INFO = 0, the (symmetric) inverse of the original matrix\&. If UPLO = 'U', the upper triangular part of the inverse is formed and the part of A below the diagonal is not referenced; if UPLO = 'L' the lower triangular part of the inverse is formed and the part of A above the diagonal is not referenced\&. .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A\&. LDA >= max(1,N)\&. .fi .PP .br \fIIPIV\fP .PP .nf IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by CSYTRF\&. .fi .PP .br \fIWORK\fP .PP .nf WORK is COMPLEX array, dimension (N+NB+1)*(NB+3) .fi .PP .br \fILWORK\fP .PP .nf LWORK is INTEGER The dimension of the array WORK\&. WORK is size >= (N+NB+1)*(NB+3) If LWORK = -1, then a workspace query is assumed; the routine 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\&. .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its inverse could not be computed\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .SS "subroutine dsytri2 (character uplo, integer n, double precision, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision, dimension( * ) work, integer lwork, integer info)" .PP \fBDSYTRI2\fP .PP \fBPurpose:\fP .RS 4 .PP .nf DSYTRI2 computes the inverse of a DOUBLE PRECISION symmetric indefinite matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by DSYTRF\&. DSYTRI2 sets the LEADING DIMENSION of the workspace before calling DSYTRI2X that actually computes the inverse\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf UPLO is 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\&. .fi .PP .br \fIN\fP .PP .nf N is INTEGER The order of the matrix A\&. N >= 0\&. .fi .PP .br \fIA\fP .PP .nf A is DOUBLE PRECISION array, dimension (LDA,N) On entry, the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by DSYTRF\&. On exit, if INFO = 0, the (symmetric) inverse of the original matrix\&. If UPLO = 'U', the upper triangular part of the inverse is formed and the part of A below the diagonal is not referenced; if UPLO = 'L' the lower triangular part of the inverse is formed and the part of A above the diagonal is not referenced\&. .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A\&. LDA >= max(1,N)\&. .fi .PP .br \fIIPIV\fP .PP .nf IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by DSYTRF\&. .fi .PP .br \fIWORK\fP .PP .nf WORK is DOUBLE PRECISION array, dimension (N+NB+1)*(NB+3) .fi .PP .br \fILWORK\fP .PP .nf LWORK is INTEGER The dimension of the array WORK\&. WORK is size >= (N+NB+1)*(NB+3) If LWORK = -1, then a workspace query is assumed; the routine 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\&. .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its inverse could not be computed\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .SS "subroutine ssytri2 (character uplo, integer n, real, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, real, dimension( * ) work, integer lwork, integer info)" .PP \fBSSYTRI2\fP .PP \fBPurpose:\fP .RS 4 .PP .nf SSYTRI2 computes the inverse of a REAL symmetric indefinite matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by SSYTRF\&. SSYTRI2 sets the LEADING DIMENSION of the workspace before calling SSYTRI2X that actually computes the inverse\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf UPLO is 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\&. .fi .PP .br \fIN\fP .PP .nf N is INTEGER The order of the matrix A\&. N >= 0\&. .fi .PP .br \fIA\fP .PP .nf A is REAL array, dimension (LDA,N) On entry, the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by SSYTRF\&. On exit, if INFO = 0, the (symmetric) inverse of the original matrix\&. If UPLO = 'U', the upper triangular part of the inverse is formed and the part of A below the diagonal is not referenced; if UPLO = 'L' the lower triangular part of the inverse is formed and the part of A above the diagonal is not referenced\&. .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A\&. LDA >= max(1,N)\&. .fi .PP .br \fIIPIV\fP .PP .nf IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by SSYTRF\&. .fi .PP .br \fIWORK\fP .PP .nf WORK is REAL array, dimension (N+NB+1)*(NB+3) .fi .PP .br \fILWORK\fP .PP .nf LWORK is INTEGER The dimension of the array WORK\&. WORK is size >= (N+NB+1)*(NB+3) If LWORK = -1, then a workspace query is assumed; the routine 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\&. .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its inverse could not be computed\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .SS "subroutine zhetri2 (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension( * ) work, integer lwork, integer info)" .PP \fBZHETRI2\fP .PP \fBPurpose:\fP .RS 4 .PP .nf ZHETRI2 computes the inverse of a COMPLEX*16 hermitian indefinite matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by ZHETRF\&. ZHETRI2 set the LEADING DIMENSION of the workspace before calling ZHETRI2X that actually computes the inverse\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf UPLO is 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\&. .fi .PP .br \fIN\fP .PP .nf N is INTEGER The order of the matrix A\&. N >= 0\&. .fi .PP .br \fIA\fP .PP .nf A is COMPLEX*16 array, dimension (LDA,N) On entry, the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ZHETRF\&. On exit, if INFO = 0, the (symmetric) inverse of the original matrix\&. If UPLO = 'U', the upper triangular part of the inverse is formed and the part of A below the diagonal is not referenced; if UPLO = 'L' the lower triangular part of the inverse is formed and the part of A above the diagonal is not referenced\&. .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A\&. LDA >= max(1,N)\&. .fi .PP .br \fIIPIV\fP .PP .nf IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by ZHETRF\&. .fi .PP .br \fIWORK\fP .PP .nf WORK is COMPLEX*16 array, dimension (N+NB+1)*(NB+3) .fi .PP .br \fILWORK\fP .PP .nf LWORK is INTEGER The dimension of the array WORK\&. WORK is size >= (N+NB+1)*(NB+3) If LWORK = -1, then a workspace query is assumed; the routine 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\&. .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its inverse could not be computed\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .SS "subroutine zsytri2 (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension( * ) work, integer lwork, integer info)" .PP \fBZSYTRI2\fP .PP \fBPurpose:\fP .RS 4 .PP .nf ZSYTRI2 computes the inverse of a COMPLEX*16 symmetric indefinite matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by ZSYTRF\&. ZSYTRI2 sets the LEADING DIMENSION of the workspace before calling ZSYTRI2X that actually computes the inverse\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf UPLO is 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\&. .fi .PP .br \fIN\fP .PP .nf N is INTEGER The order of the matrix A\&. N >= 0\&. .fi .PP .br \fIA\fP .PP .nf A is COMPLEX*16 array, dimension (LDA,N) On entry, the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ZSYTRF\&. On exit, if INFO = 0, the (symmetric) inverse of the original matrix\&. If UPLO = 'U', the upper triangular part of the inverse is formed and the part of A below the diagonal is not referenced; if UPLO = 'L' the lower triangular part of the inverse is formed and the part of A above the diagonal is not referenced\&. .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A\&. LDA >= max(1,N)\&. .fi .PP .br \fIIPIV\fP .PP .nf IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by ZSYTRF\&. .fi .PP .br \fIWORK\fP .PP .nf WORK is COMPLEX*16 array, dimension (N+NB+1)*(NB+3) .fi .PP .br \fILWORK\fP .PP .nf LWORK is INTEGER The dimension of the array WORK\&. WORK is size >= (N+NB+1)*(NB+3) If LDWORK = -1, then a workspace query is assumed; the routine 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 LDWORK is issued by XERBLA\&. .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its inverse could not be computed\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.