table of contents
hetri_rook(3) | Library Functions Manual | hetri_rook(3) |
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
Detailed Description¶
Function Documentation¶
subroutine CHETRI_ROOK (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex, dimension( * ) work, integer info)¶
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. !>
Parameters
!> 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 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 !>
Definition at line 127 of file chetri_rook.f.
subroutine CSYTRI_ROOK (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex, dimension( * ) work, integer info)¶
CSYTRI_ROOK
Purpose:
!> !> 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. !>
Parameters
!> 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 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 !> !>
Definition at line 128 of file csytri_rook.f.
subroutine DSYTRI_ROOK (character uplo, integer n, double precision, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision, dimension( * ) work, integer info)¶
DSYTRI_ROOK
Purpose:
!> !> 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. !>
Parameters
!> 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 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 !> !>
Definition at line 128 of file dsytri_rook.f.
subroutine SSYTRI_ROOK (character uplo, integer n, real, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, real, dimension( * ) work, integer info)¶
SSYTRI_ROOK
Purpose:
!> !> 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. !>
Parameters
!> 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 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 !> !>
Definition at line 128 of file ssytri_rook.f.
subroutine ZHETRI_ROOK (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension( * ) work, integer info)¶
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. !>
Parameters
!> 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 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 !>
Definition at line 127 of file zhetri_rook.f.
subroutine ZSYTRI_ROOK (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension( * ) work, integer info)¶
ZSYTRI_ROOK
Purpose:
!> !> 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. !>
Parameters
!> 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 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 !> !>
Definition at line 128 of file zsytri_rook.f.
Author¶
Generated automatically by Doxygen for LAPACK from the source code.
Version 3.12.0 | LAPACK |