table of contents
syconvf_rook(3) | LAPACK | syconvf_rook(3) |
NAME¶
syconvf_rook - syconvf_rook: convert to/from hetrf_rook to hetrf_rk format
SYNOPSIS¶
Functions¶
subroutine csyconvf_rook (uplo, way, n, a, lda, e, ipiv,
info)
CSYCONVF_ROOK subroutine dsyconvf_rook (uplo, way, n, a, lda, e,
ipiv, info)
DSYCONVF_ROOK subroutine ssyconvf_rook (uplo, way, n, a, lda, e,
ipiv, info)
SSYCONVF_ROOK subroutine zsyconvf_rook (uplo, way, n, a, lda, e,
ipiv, info)
ZSYCONVF_ROOK
Detailed Description¶
Function Documentation¶
subroutine csyconvf_rook (character uplo, character way, integer n, complex, dimension( lda, * ) a, integer lda, complex, dimension( * ) e, integer, dimension( * ) ipiv, integer info)¶
CSYCONVF_ROOK
Purpose:
If parameter WAY = 'C':
CSYCONVF_ROOK converts the factorization output format used in
CSYTRF_ROOK provided on entry in parameter A into the factorization
output format used in CSYTRF_RK (or CSYTRF_BK) that is stored
on exit in parameters A and E. IPIV format for CSYTRF_ROOK and
CSYTRF_RK (or CSYTRF_BK) is the same and is not converted.
If parameter WAY = 'R':
CSYCONVF_ROOK performs the conversion in reverse direction, i.e.
converts the factorization output format used in CSYTRF_RK
(or CSYTRF_BK) provided on entry in parameters A and E into
the factorization output format used in CSYTRF_ROOK that is stored
on exit in parameter A. IPIV format for CSYTRF_ROOK and
CSYTRF_RK (or CSYTRF_BK) is the same and is not converted.
CSYCONVF_ROOK can also convert in Hermitian matrix case, i.e. between
formats used in CHETRF_ROOK and CHETRF_RK (or CHETRF_BK).
Parameters
UPLO is CHARACTER*1
Specifies whether the details of the factorization are
stored as an upper or lower triangular matrix A.
= 'U': Upper triangular
= 'L': Lower triangular
WAY
WAY is CHARACTER*1
= 'C': Convert
= 'R': Revert
N
N is INTEGER
The order of the matrix A. N >= 0.
A
A is COMPLEX array, dimension (LDA,N)
1) If WAY ='C':
On entry, contains factorization details in format used in
CSYTRF_ROOK:
a) all elements of the symmetric block diagonal
matrix D on the diagonal of A and on superdiagonal
(or subdiagonal) of A, and
b) If UPLO = 'U': multipliers used to obtain factor U
in the superdiagonal part of A.
If UPLO = 'L': multipliers used to obtain factor L
in the superdiagonal part of A.
On exit, contains factorization details in format used in
CSYTRF_RK or CSYTRF_BK:
a) ONLY diagonal elements of the symmetric block diagonal
matrix D on the diagonal of A, i.e. D(k,k) = A(k,k);
(superdiagonal (or subdiagonal) elements of D
are stored on exit in array E), and
b) If UPLO = 'U': factor U in the superdiagonal part of A.
If UPLO = 'L': factor L in the subdiagonal part of A.
2) If WAY = 'R':
On entry, contains factorization details in format used in
CSYTRF_RK or CSYTRF_BK:
a) ONLY diagonal elements of the symmetric block diagonal
matrix D on the diagonal of A, i.e. D(k,k) = A(k,k);
(superdiagonal (or subdiagonal) elements of D
are stored on exit in array E), and
b) If UPLO = 'U': factor U in the superdiagonal part of A.
If UPLO = 'L': factor L in the subdiagonal part of A.
On exit, contains factorization details in format used in
CSYTRF_ROOK:
a) all elements of the symmetric block diagonal
matrix D on the diagonal of A and on superdiagonal
(or subdiagonal) of A, and
b) If UPLO = 'U': multipliers used to obtain factor U
in the superdiagonal part of A.
If UPLO = 'L': multipliers used to obtain factor L
in the superdiagonal part of A.
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >= max(1,N).
E
E is COMPLEX array, dimension (N)
1) If WAY ='C':
On entry, just a workspace.
On exit, contains the superdiagonal (or subdiagonal)
elements of the symmetric block diagonal matrix D
with 1-by-1 or 2-by-2 diagonal blocks, where
If UPLO = 'U': E(i) = D(i-1,i), i=2:N, E(1) is set to 0;
If UPLO = 'L': E(i) = D(i+1,i), i=1:N-1, E(N) is set to 0.
2) If WAY = 'R':
On entry, contains the superdiagonal (or subdiagonal)
elements of the symmetric block diagonal matrix D
with 1-by-1 or 2-by-2 diagonal blocks, where
If UPLO = 'U': E(i) = D(i-1,i),i=2:N, E(1) not referenced;
If UPLO = 'L': E(i) = D(i+1,i),i=1:N-1, E(N) not referenced.
On exit, is not changed
IPIV
IPIV is INTEGER array, dimension (N)
On entry, details of the interchanges and the block
structure of D as determined:
1) by CSYTRF_ROOK, if WAY ='C';
2) by CSYTRF_RK (or CSYTRF_BK), if WAY ='R'.
The IPIV format is the same for all these routines.
On exit, is not changed.
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
November 2017, Igor Kozachenko,
Computer Science Division,
University of California, Berkeley
subroutine dsyconvf_rook (character uplo, character way, integer n, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( * ) e, integer, dimension( * ) ipiv, integer info)¶
DSYCONVF_ROOK
Purpose:
If parameter WAY = 'C':
DSYCONVF_ROOK converts the factorization output format used in
DSYTRF_ROOK provided on entry in parameter A into the factorization
output format used in DSYTRF_RK (or DSYTRF_BK) that is stored
on exit in parameters A and E. IPIV format for DSYTRF_ROOK and
DSYTRF_RK (or DSYTRF_BK) is the same and is not converted.
If parameter WAY = 'R':
DSYCONVF_ROOK performs the conversion in reverse direction, i.e.
converts the factorization output format used in DSYTRF_RK
(or DSYTRF_BK) provided on entry in parameters A and E into
the factorization output format used in DSYTRF_ROOK that is stored
on exit in parameter A. IPIV format for DSYTRF_ROOK and
DSYTRF_RK (or DSYTRF_BK) is the same and is not converted.
Parameters
UPLO is CHARACTER*1
Specifies whether the details of the factorization are
stored as an upper or lower triangular matrix A.
= 'U': Upper triangular
= 'L': Lower triangular
WAY
WAY is CHARACTER*1
= 'C': Convert
= 'R': Revert
N
N is INTEGER
The order of the matrix A. N >= 0.
A
A is DOUBLE PRECISION array, dimension (LDA,N)
1) If WAY ='C':
On entry, contains factorization details in format used in
DSYTRF_ROOK:
a) all elements of the symmetric block diagonal
matrix D on the diagonal of A and on superdiagonal
(or subdiagonal) of A, and
b) If UPLO = 'U': multipliers used to obtain factor U
in the superdiagonal part of A.
If UPLO = 'L': multipliers used to obtain factor L
in the superdiagonal part of A.
On exit, contains factorization details in format used in
DSYTRF_RK or DSYTRF_BK:
a) ONLY diagonal elements of the symmetric block diagonal
matrix D on the diagonal of A, i.e. D(k,k) = A(k,k);
(superdiagonal (or subdiagonal) elements of D
are stored on exit in array E), and
b) If UPLO = 'U': factor U in the superdiagonal part of A.
If UPLO = 'L': factor L in the subdiagonal part of A.
2) If WAY = 'R':
On entry, contains factorization details in format used in
DSYTRF_RK or DSYTRF_BK:
a) ONLY diagonal elements of the symmetric block diagonal
matrix D on the diagonal of A, i.e. D(k,k) = A(k,k);
(superdiagonal (or subdiagonal) elements of D
are stored on exit in array E), and
b) If UPLO = 'U': factor U in the superdiagonal part of A.
If UPLO = 'L': factor L in the subdiagonal part of A.
On exit, contains factorization details in format used in
DSYTRF_ROOK:
a) all elements of the symmetric block diagonal
matrix D on the diagonal of A and on superdiagonal
(or subdiagonal) of A, and
b) If UPLO = 'U': multipliers used to obtain factor U
in the superdiagonal part of A.
If UPLO = 'L': multipliers used to obtain factor L
in the superdiagonal part of A.
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >= max(1,N).
E
E is DOUBLE PRECISION array, dimension (N)
1) If WAY ='C':
On entry, just a workspace.
On exit, contains the superdiagonal (or subdiagonal)
elements of the symmetric block diagonal matrix D
with 1-by-1 or 2-by-2 diagonal blocks, where
If UPLO = 'U': E(i) = D(i-1,i), i=2:N, E(1) is set to 0;
If UPLO = 'L': E(i) = D(i+1,i), i=1:N-1, E(N) is set to 0.
2) If WAY = 'R':
On entry, contains the superdiagonal (or subdiagonal)
elements of the symmetric block diagonal matrix D
with 1-by-1 or 2-by-2 diagonal blocks, where
If UPLO = 'U': E(i) = D(i-1,i),i=2:N, E(1) not referenced;
If UPLO = 'L': E(i) = D(i+1,i),i=1:N-1, E(N) not referenced.
On exit, is not changed
IPIV
IPIV is INTEGER array, dimension (N)
On entry, details of the interchanges and the block
structure of D as determined:
1) by DSYTRF_ROOK, if WAY ='C';
2) by DSYTRF_RK (or DSYTRF_BK), if WAY ='R'.
The IPIV format is the same for all these routines.
On exit, is not changed.
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
November 2017, Igor Kozachenko,
Computer Science Division,
University of California, Berkeley
subroutine ssyconvf_rook (character uplo, character way, integer n, real, dimension( lda, * ) a, integer lda, real, dimension( * ) e, integer, dimension( * ) ipiv, integer info)¶
SSYCONVF_ROOK
Purpose:
If parameter WAY = 'C':
SSYCONVF_ROOK converts the factorization output format used in
SSYTRF_ROOK provided on entry in parameter A into the factorization
output format used in SSYTRF_RK (or SSYTRF_BK) that is stored
on exit in parameters A and E. IPIV format for SSYTRF_ROOK and
SSYTRF_RK (or SSYTRF_BK) is the same and is not converted.
If parameter WAY = 'R':
SSYCONVF_ROOK performs the conversion in reverse direction, i.e.
converts the factorization output format used in SSYTRF_RK
(or SSYTRF_BK) provided on entry in parameters A and E into
the factorization output format used in SSYTRF_ROOK that is stored
on exit in parameter A. IPIV format for SSYTRF_ROOK and
SSYTRF_RK (or SSYTRF_BK) is the same and is not converted.
Parameters
UPLO is CHARACTER*1
Specifies whether the details of the factorization are
stored as an upper or lower triangular matrix A.
= 'U': Upper triangular
= 'L': Lower triangular
WAY
WAY is CHARACTER*1
= 'C': Convert
= 'R': Revert
N
N is INTEGER
The order of the matrix A. N >= 0.
A
A is REAL array, dimension (LDA,N)
1) If WAY ='C':
On entry, contains factorization details in format used in
SSYTRF_ROOK:
a) all elements of the symmetric block diagonal
matrix D on the diagonal of A and on superdiagonal
(or subdiagonal) of A, and
b) If UPLO = 'U': multipliers used to obtain factor U
in the superdiagonal part of A.
If UPLO = 'L': multipliers used to obtain factor L
in the superdiagonal part of A.
On exit, contains factorization details in format used in
SSYTRF_RK or SSYTRF_BK:
a) ONLY diagonal elements of the symmetric block diagonal
matrix D on the diagonal of A, i.e. D(k,k) = A(k,k);
(superdiagonal (or subdiagonal) elements of D
are stored on exit in array E), and
b) If UPLO = 'U': factor U in the superdiagonal part of A.
If UPLO = 'L': factor L in the subdiagonal part of A.
2) If WAY = 'R':
On entry, contains factorization details in format used in
SSYTRF_RK or SSYTRF_BK:
a) ONLY diagonal elements of the symmetric block diagonal
matrix D on the diagonal of A, i.e. D(k,k) = A(k,k);
(superdiagonal (or subdiagonal) elements of D
are stored on exit in array E), and
b) If UPLO = 'U': factor U in the superdiagonal part of A.
If UPLO = 'L': factor L in the subdiagonal part of A.
On exit, contains factorization details in format used in
SSYTRF_ROOK:
a) all elements of the symmetric block diagonal
matrix D on the diagonal of A and on superdiagonal
(or subdiagonal) of A, and
b) If UPLO = 'U': multipliers used to obtain factor U
in the superdiagonal part of A.
If UPLO = 'L': multipliers used to obtain factor L
in the superdiagonal part of A.
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >= max(1,N).
E
E is REAL array, dimension (N)
1) If WAY ='C':
On entry, just a workspace.
On exit, contains the superdiagonal (or subdiagonal)
elements of the symmetric block diagonal matrix D
with 1-by-1 or 2-by-2 diagonal blocks, where
If UPLO = 'U': E(i) = D(i-1,i), i=2:N, E(1) is set to 0;
If UPLO = 'L': E(i) = D(i+1,i), i=1:N-1, E(N) is set to 0.
2) If WAY = 'R':
On entry, contains the superdiagonal (or subdiagonal)
elements of the symmetric block diagonal matrix D
with 1-by-1 or 2-by-2 diagonal blocks, where
If UPLO = 'U': E(i) = D(i-1,i),i=2:N, E(1) not referenced;
If UPLO = 'L': E(i) = D(i+1,i),i=1:N-1, E(N) not referenced.
On exit, is not changed
IPIV
IPIV is INTEGER array, dimension (N)
On entry, details of the interchanges and the block
structure of D as determined:
1) by SSYTRF_ROOK, if WAY ='C';
2) by SSYTRF_RK (or SSYTRF_BK), if WAY ='R'.
The IPIV format is the same for all these routines.
On exit, is not changed.
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
November 2017, Igor Kozachenko,
Computer Science Division,
University of California, Berkeley
subroutine zsyconvf_rook (character uplo, character way, integer n, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( * ) e, integer, dimension( * ) ipiv, integer info)¶
ZSYCONVF_ROOK
Purpose:
If parameter WAY = 'C':
ZSYCONVF_ROOK converts the factorization output format used in
ZSYTRF_ROOK provided on entry in parameter A into the factorization
output format used in ZSYTRF_RK (or ZSYTRF_BK) that is stored
on exit in parameters A and E. IPIV format for ZSYTRF_ROOK and
ZSYTRF_RK (or ZSYTRF_BK) is the same and is not converted.
If parameter WAY = 'R':
ZSYCONVF_ROOK performs the conversion in reverse direction, i.e.
converts the factorization output format used in ZSYTRF_RK
(or ZSYTRF_BK) provided on entry in parameters A and E into
the factorization output format used in ZSYTRF_ROOK that is stored
on exit in parameter A. IPIV format for ZSYTRF_ROOK and
ZSYTRF_RK (or ZSYTRF_BK) is the same and is not converted.
ZSYCONVF_ROOK can also convert in Hermitian matrix case, i.e. between
formats used in ZHETRF_ROOK and ZHETRF_RK (or ZHETRF_BK).
Parameters
UPLO is CHARACTER*1
Specifies whether the details of the factorization are
stored as an upper or lower triangular matrix A.
= 'U': Upper triangular
= 'L': Lower triangular
WAY
WAY is CHARACTER*1
= 'C': Convert
= 'R': Revert
N
N is INTEGER
The order of the matrix A. N >= 0.
A
A is COMPLEX*16 array, dimension (LDA,N)
1) If WAY ='C':
On entry, contains factorization details in format used in
ZSYTRF_ROOK:
a) all elements of the symmetric block diagonal
matrix D on the diagonal of A and on superdiagonal
(or subdiagonal) of A, and
b) If UPLO = 'U': multipliers used to obtain factor U
in the superdiagonal part of A.
If UPLO = 'L': multipliers used to obtain factor L
in the superdiagonal part of A.
On exit, contains factorization details in format used in
ZSYTRF_RK or ZSYTRF_BK:
a) ONLY diagonal elements of the symmetric block diagonal
matrix D on the diagonal of A, i.e. D(k,k) = A(k,k);
(superdiagonal (or subdiagonal) elements of D
are stored on exit in array E), and
b) If UPLO = 'U': factor U in the superdiagonal part of A.
If UPLO = 'L': factor L in the subdiagonal part of A.
2) If WAY = 'R':
On entry, contains factorization details in format used in
ZSYTRF_RK or ZSYTRF_BK:
a) ONLY diagonal elements of the symmetric block diagonal
matrix D on the diagonal of A, i.e. D(k,k) = A(k,k);
(superdiagonal (or subdiagonal) elements of D
are stored on exit in array E), and
b) If UPLO = 'U': factor U in the superdiagonal part of A.
If UPLO = 'L': factor L in the subdiagonal part of A.
On exit, contains factorization details in format used in
ZSYTRF_ROOK:
a) all elements of the symmetric block diagonal
matrix D on the diagonal of A and on superdiagonal
(or subdiagonal) of A, and
b) If UPLO = 'U': multipliers used to obtain factor U
in the superdiagonal part of A.
If UPLO = 'L': multipliers used to obtain factor L
in the superdiagonal part of A.
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >= max(1,N).
E
E is COMPLEX*16 array, dimension (N)
1) If WAY ='C':
On entry, just a workspace.
On exit, contains the superdiagonal (or subdiagonal)
elements of the symmetric block diagonal matrix D
with 1-by-1 or 2-by-2 diagonal blocks, where
If UPLO = 'U': E(i) = D(i-1,i), i=2:N, E(1) is set to 0;
If UPLO = 'L': E(i) = D(i+1,i), i=1:N-1, E(N) is set to 0.
2) If WAY = 'R':
On entry, contains the superdiagonal (or subdiagonal)
elements of the symmetric block diagonal matrix D
with 1-by-1 or 2-by-2 diagonal blocks, where
If UPLO = 'U': E(i) = D(i-1,i),i=2:N, E(1) not referenced;
If UPLO = 'L': E(i) = D(i+1,i),i=1:N-1, E(N) not referenced.
On exit, is not changed
IPIV
IPIV is INTEGER array, dimension (N)
On entry, details of the interchanges and the block
structure of D as determined:
1) by ZSYTRF_ROOK, if WAY ='C';
2) by ZSYTRF_RK (or ZSYTRF_BK), if WAY ='R'.
The IPIV format is the same for all these routines.
On exit, is not changed.
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
November 2017, Igor Kozachenko,
Computer Science Division,
University of California, Berkeley
Author¶
Generated automatically by Doxygen for LAPACK from the source code.
Wed Feb 7 2024 11:30:40 | Version 3.12.0 |