hetri_rook - {he,sy}tri_rook: triangular inverse
Contents
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
