logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

hetri_rook - {he,sy}tri_rook: triangular inverse

Author

Generated automatically by Doxygen for LAPACK from the source code. Version 3.12.0 Thu Aug 7 2025 17:26:25 hetri_rook(3)

Detailed Description

Function Documentation

subroutinechetri_rook(characteruplo,integern,complex,dimension(lda,*)a,integerlda,integer,dimension(*)ipiv,complex,dimension(*)work,integerinfo)CHETRI_ROOK computes the inverse of HE matrix using the factorization obtained with the bounded Bunch- Kaufman ('rook') diagonal pivoting method. Purpose: CHETRI_ROOK computes the inverse of a complex Hermitian indefinite matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by CHETRF_ROOK. ParametersUPLO 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**H; = 'L': Lower triangular, form is A = L*D*L**H. N N is INTEGER The order of the matrix A. N >= 0. A 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_ROOK. On exit, if INFO = 0, the (Hermitian) 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. LDA LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N). IPIV IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by CHETRF_ROOK. WORK WORK is COMPLEX array, dimension (N) INFO 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. Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. Contributors: November 2013, Igor Kozachenko, Computer Science Division, University of California, Berkeley September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester subroutinecsytri_rook(characteruplo,integern,complex,dimension(lda,*)a,integerlda,integer,dimension(*)ipiv,complex,dimension(*)work,integerinfo)CSYTRI_ROOKPurpose: CSYTRI_ROOK computes the inverse of a complex symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by CSYTRF_ROOK. ParametersUPLO 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. N N is INTEGER The order of the matrix A. N >= 0. A 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_ROOK. 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. LDA LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N). IPIV IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by CSYTRF_ROOK. WORK WORK is COMPLEX array, dimension (N) INFO 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. Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. Contributors: December 2016, Igor Kozachenko, Computer Science Division, University of California, Berkeley September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester subroutinedsytri_rook(characteruplo,integern,doubleprecision,dimension(lda,*)a,integerlda,integer,dimension(*)ipiv,doubleprecision,dimension(*)work,integerinfo)DSYTRI_ROOKPurpose: DSYTRI_ROOK computes the inverse of a real symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by DSYTRF_ROOK. ParametersUPLO 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. N N is INTEGER The order of the matrix A. N >= 0. A 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_ROOK. 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. LDA LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N). IPIV IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by DSYTRF_ROOK. WORK WORK is DOUBLE PRECISION array, dimension (N) INFO 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. Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. Contributors: April 2012, Igor Kozachenko, Computer Science Division, University of California, Berkeley September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester subroutinessytri_rook(characteruplo,integern,real,dimension(lda,*)a,integerlda,integer,dimension(*)ipiv,real,dimension(*)work,integerinfo)SSYTRI_ROOKPurpose: SSYTRI_ROOK computes the inverse of a real symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by SSYTRF_ROOK. ParametersUPLO 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. N N is INTEGER The order of the matrix A. N >= 0. A 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_ROOK. 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. LDA LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N). IPIV IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by SSYTRF_ROOK. WORK WORK is REAL array, dimension (N) INFO 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. Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. Contributors: April 2012, Igor Kozachenko, Computer Science Division, University of California, Berkeley September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester subroutinezhetri_rook(characteruplo,integern,complex*16,dimension(lda,*)a,integerlda,integer,dimension(*)ipiv,complex*16,dimension(*)work,integerinfo)ZHETRI_ROOK computes the inverse of HE matrix using the factorization obtained with the bounded Bunch- Kaufman ('rook') diagonal pivoting method. Purpose: ZHETRI_ROOK computes the inverse of a complex Hermitian indefinite matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHETRF_ROOK. ParametersUPLO 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**H; = 'L': Lower triangular, form is A = L*D*L**H. N N is INTEGER The order of the matrix A. N >= 0. A 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_ROOK. On exit, if INFO = 0, the (Hermitian) 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. LDA LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N). IPIV IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by ZHETRF_ROOK. WORK WORK is COMPLEX*16 array, dimension (N) INFO 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. Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. Contributors: November 2013, Igor Kozachenko, Computer Science Division, University of California, Berkeley September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester subroutinezsytri_rook(characteruplo,integern,complex*16,dimension(lda,*)a,integerlda,integer,dimension(*)ipiv,complex*16,dimension(*)work,integerinfo)ZSYTRI_ROOKPurpose: ZSYTRI_ROOK computes the inverse of a complex symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by ZSYTRF_ROOK. ParametersUPLO 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. N N is INTEGER The order of the matrix A. N >= 0. A 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_ROOK. 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. LDA LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N). IPIV IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by ZSYTRF_ROOK. WORK WORK is COMPLEX*16 array, dimension (N) INFO 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. Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. Contributors: December 2016, Igor Kozachenko, Computer Science Division, University of California, Berkeley September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester

Name

hetri_rook - {he,sy}tri_rook: triangular inverse

Synopsis

Functions subroutine chetri_rook (uplo, n, a, lda, ipiv, work, info) CHETRI_ROOK computes the inverse of HE matrix using the factorization obtained with the bounded Bunch-Kaufman ('rook') diagonal pivoting method. subroutine csytri_rook (uplo, n, a, lda, ipiv, work, info) CSYTRI_ROOK subroutine dsytri_rook (uplo, n, a, lda, ipiv, work, info) DSYTRI_ROOK subroutine ssytri_rook (uplo, n, a, lda, ipiv, work, info) SSYTRI_ROOK subroutine zhetri_rook (uplo, n, a, lda, ipiv, work, info) ZHETRI_ROOK computes the inverse of HE matrix using the factorization obtained with the bounded Bunch-Kaufman ('rook') diagonal pivoting method. subroutine zsytri_rook (uplo, n, a, lda, ipiv, work, info) ZSYTRI_ROOK

See Also