table of contents
hetrs_3(3) | Library Functions Manual | hetrs_3(3) |
NAME¶
hetrs_3 - {he,sy}trs_3: solve using factor
SYNOPSIS¶
Functions¶
subroutine CHETRS_3 (uplo, n, nrhs, a, lda, e, ipiv, b,
ldb, info)
CHETRS_3 subroutine CSYTRS_3 (uplo, n, nrhs, a, lda, e, ipiv, b,
ldb, info)
CSYTRS_3 subroutine DSYTRS_3 (uplo, n, nrhs, a, lda, e, ipiv, b,
ldb, info)
DSYTRS_3 subroutine SSYTRS_3 (uplo, n, nrhs, a, lda, e, ipiv, b,
ldb, info)
SSYTRS_3 subroutine ZHETRS_3 (uplo, n, nrhs, a, lda, e, ipiv, b,
ldb, info)
ZHETRS_3 subroutine ZSYTRS_3 (uplo, n, nrhs, a, lda, e, ipiv, b,
ldb, info)
ZSYTRS_3
Detailed Description¶
Function Documentation¶
subroutine CHETRS_3 (character uplo, integer n, integer nrhs, complex, dimension( lda, * ) a, integer lda, complex, dimension( * ) e, integer, dimension( * ) ipiv, complex, dimension( ldb, * ) b, integer ldb, integer info)¶
CHETRS_3
Purpose:
!> CHETRS_3 solves a system of linear equations A * X = B with a complex !> Hermitian matrix A using the factorization computed !> by CHETRF_RK or CHETRF_BK: !> !> A = P*U*D*(U**H)*(P**T) or A = P*L*D*(L**H)*(P**T), !> !> where U (or L) is unit upper (or lower) triangular matrix, !> U**H (or L**H) is the conjugate of U (or L), P is a permutation !> matrix, P**T is the transpose of P, and D is Hermitian and block !> diagonal with 1-by-1 and 2-by-2 diagonal blocks. !> !> This algorithm is using Level 3 BLAS. !>
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 = P*U*D*(U**H)*(P**T); !> = 'L': Lower triangular, form is A = P*L*D*(L**H)*(P**T). !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
NRHS
!> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrix B. NRHS >= 0. !>
A
!> A is COMPLEX array, dimension (LDA,N) !> Diagonal of the block diagonal matrix D and factors U or L !> as computed by CHETRF_RK and CHETRF_BK: !> a) ONLY diagonal elements of the Hermitian block diagonal !> matrix D on the diagonal of A, i.e. D(k,k) = A(k,k); !> (superdiagonal (or subdiagonal) elements of D !> should be provided on entry 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. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
E
!> E is COMPLEX array, dimension (N) !> On entry, contains the superdiagonal (or subdiagonal) !> elements of the Hermitian 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. !> !> NOTE: For 1-by-1 diagonal block D(k), where !> 1 <= k <= N, the element E(k) is not referenced in both !> UPLO = 'U' or UPLO = 'L' cases. !>
IPIV
!> IPIV is INTEGER array, dimension (N) !> Details of the interchanges and the block structure of D !> as determined by CHETRF_RK or CHETRF_BK. !>
B
!> B is COMPLEX array, dimension (LDB,NRHS) !> On entry, the right hand side matrix B. !> On exit, the solution matrix X. !>
LDB
!> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !>
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:
!> !> June 2017, 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 163 of file chetrs_3.f.
subroutine CSYTRS_3 (character uplo, integer n, integer nrhs, complex, dimension( lda, * ) a, integer lda, complex, dimension( * ) e, integer, dimension( * ) ipiv, complex, dimension( ldb, * ) b, integer ldb, integer info)¶
CSYTRS_3
Purpose:
!> CSYTRS_3 solves a system of linear equations A * X = B with a complex !> symmetric matrix A using the factorization computed !> by CSYTRF_RK or CSYTRF_BK: !> !> A = P*U*D*(U**T)*(P**T) or A = P*L*D*(L**T)*(P**T), !> !> where U (or L) is unit upper (or lower) triangular matrix, !> U**T (or L**T) is the transpose of U (or L), P is a permutation !> matrix, P**T is the transpose of P, and D is symmetric and block !> diagonal with 1-by-1 and 2-by-2 diagonal blocks. !> !> This algorithm is using Level 3 BLAS. !>
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 = P*U*D*(U**T)*(P**T); !> = 'L': Lower triangular, form is A = P*L*D*(L**T)*(P**T). !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
NRHS
!> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrix B. NRHS >= 0. !>
A
!> A is COMPLEX array, dimension (LDA,N) !> Diagonal of the block diagonal matrix D and factors U or L !> as computed by CSYTRF_RK and 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 !> should be provided on entry 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. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
E
!> E is COMPLEX array, dimension (N) !> 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. !> !> NOTE: For 1-by-1 diagonal block D(k), where !> 1 <= k <= N, the element E(k) is not referenced in both !> UPLO = 'U' or UPLO = 'L' cases. !>
IPIV
!> IPIV is INTEGER array, dimension (N) !> Details of the interchanges and the block structure of D !> as determined by CSYTRF_RK or CSYTRF_BK. !>
B
!> B is COMPLEX array, dimension (LDB,NRHS) !> On entry, the right hand side matrix B. !> On exit, the solution matrix X. !>
LDB
!> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !>
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:
!> !> June 2017, 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 163 of file csytrs_3.f.
subroutine DSYTRS_3 (character uplo, integer n, integer nrhs, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( * ) e, integer, dimension( * ) ipiv, double precision, dimension( ldb, * ) b, integer ldb, integer info)¶
DSYTRS_3
Purpose:
!> DSYTRS_3 solves a system of linear equations A * X = B with a real !> symmetric matrix A using the factorization computed !> by DSYTRF_RK or DSYTRF_BK: !> !> A = P*U*D*(U**T)*(P**T) or A = P*L*D*(L**T)*(P**T), !> !> where U (or L) is unit upper (or lower) triangular matrix, !> U**T (or L**T) is the transpose of U (or L), P is a permutation !> matrix, P**T is the transpose of P, and D is symmetric and block !> diagonal with 1-by-1 and 2-by-2 diagonal blocks. !> !> This algorithm is using Level 3 BLAS. !>
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 = P*U*D*(U**T)*(P**T); !> = 'L': Lower triangular, form is A = P*L*D*(L**T)*(P**T). !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
NRHS
!> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrix B. NRHS >= 0. !>
A
!> A is DOUBLE PRECISION array, dimension (LDA,N) !> Diagonal of the block diagonal matrix D and factors U or L !> as computed by DSYTRF_RK and 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 !> should be provided on entry 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. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
E
!> E is DOUBLE PRECISION array, dimension (N) !> 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. !> !> NOTE: For 1-by-1 diagonal block D(k), where !> 1 <= k <= N, the element E(k) is not referenced in both !> UPLO = 'U' or UPLO = 'L' cases. !>
IPIV
!> IPIV is INTEGER array, dimension (N) !> Details of the interchanges and the block structure of D !> as determined by DSYTRF_RK or DSYTRF_BK. !>
B
!> B is DOUBLE PRECISION array, dimension (LDB,NRHS) !> On entry, the right hand side matrix B. !> On exit, the solution matrix X. !>
LDB
!> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !>
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:
!> !> June 2017, 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 163 of file dsytrs_3.f.
subroutine SSYTRS_3 (character uplo, integer n, integer nrhs, real, dimension( lda, * ) a, integer lda, real, dimension( * ) e, integer, dimension( * ) ipiv, real, dimension( ldb, * ) b, integer ldb, integer info)¶
SSYTRS_3
Purpose:
!> SSYTRS_3 solves a system of linear equations A * X = B with a real !> symmetric matrix A using the factorization computed !> by SSYTRF_RK or SSYTRF_BK: !> !> A = P*U*D*(U**T)*(P**T) or A = P*L*D*(L**T)*(P**T), !> !> where U (or L) is unit upper (or lower) triangular matrix, !> U**T (or L**T) is the transpose of U (or L), P is a permutation !> matrix, P**T is the transpose of P, and D is symmetric and block !> diagonal with 1-by-1 and 2-by-2 diagonal blocks. !> !> This algorithm is using Level 3 BLAS. !>
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 = P*U*D*(U**T)*(P**T); !> = 'L': Lower triangular, form is A = P*L*D*(L**T)*(P**T). !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
NRHS
!> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrix B. NRHS >= 0. !>
A
!> A is REAL array, dimension (LDA,N) !> Diagonal of the block diagonal matrix D and factors U or L !> as computed by SSYTRF_RK and 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 !> should be provided on entry 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. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
E
!> E is REAL array, dimension (N) !> 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. !> !> NOTE: For 1-by-1 diagonal block D(k), where !> 1 <= k <= N, the element E(k) is not referenced in both !> UPLO = 'U' or UPLO = 'L' cases. !>
IPIV
!> IPIV is INTEGER array, dimension (N) !> Details of the interchanges and the block structure of D !> as determined by SSYTRF_RK or SSYTRF_BK. !>
B
!> B is REAL array, dimension (LDB,NRHS) !> On entry, the right hand side matrix B. !> On exit, the solution matrix X. !>
LDB
!> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !>
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:
!> !> June 2017, 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 163 of file ssytrs_3.f.
subroutine ZHETRS_3 (character uplo, integer n, integer nrhs, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( * ) e, integer, dimension( * ) ipiv, complex*16, dimension( ldb, * ) b, integer ldb, integer info)¶
ZHETRS_3
Purpose:
!> ZHETRS_3 solves a system of linear equations A * X = B with a complex !> Hermitian matrix A using the factorization computed !> by ZHETRF_RK or ZHETRF_BK: !> !> A = P*U*D*(U**H)*(P**T) or A = P*L*D*(L**H)*(P**T), !> !> where U (or L) is unit upper (or lower) triangular matrix, !> U**H (or L**H) is the conjugate of U (or L), P is a permutation !> matrix, P**T is the transpose of P, and D is Hermitian and block !> diagonal with 1-by-1 and 2-by-2 diagonal blocks. !> !> This algorithm is using Level 3 BLAS. !>
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 = P*U*D*(U**H)*(P**T); !> = 'L': Lower triangular, form is A = P*L*D*(L**H)*(P**T). !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
NRHS
!> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrix B. NRHS >= 0. !>
A
!> A is COMPLEX*16 array, dimension (LDA,N) !> Diagonal of the block diagonal matrix D and factors U or L !> as computed by ZHETRF_RK and ZHETRF_BK: !> a) ONLY diagonal elements of the Hermitian block diagonal !> matrix D on the diagonal of A, i.e. D(k,k) = A(k,k); !> (superdiagonal (or subdiagonal) elements of D !> should be provided on entry 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. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
E
!> E is COMPLEX*16 array, dimension (N) !> On entry, contains the superdiagonal (or subdiagonal) !> elements of the Hermitian 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. !> !> NOTE: For 1-by-1 diagonal block D(k), where !> 1 <= k <= N, the element E(k) is not referenced in both !> UPLO = 'U' or UPLO = 'L' cases. !>
IPIV
!> IPIV is INTEGER array, dimension (N) !> Details of the interchanges and the block structure of D !> as determined by ZHETRF_RK or ZHETRF_BK. !>
B
!> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side matrix B. !> On exit, the solution matrix X. !>
LDB
!> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !>
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:
!> !> June 2017, 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 163 of file zhetrs_3.f.
subroutine ZSYTRS_3 (character uplo, integer n, integer nrhs, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( * ) e, integer, dimension( * ) ipiv, complex*16, dimension( ldb, * ) b, integer ldb, integer info)¶
ZSYTRS_3
Purpose:
!> ZSYTRS_3 solves a system of linear equations A * X = B with a complex !> symmetric matrix A using the factorization computed !> by ZSYTRF_RK or ZSYTRF_BK: !> !> A = P*U*D*(U**T)*(P**T) or A = P*L*D*(L**T)*(P**T), !> !> where U (or L) is unit upper (or lower) triangular matrix, !> U**T (or L**T) is the transpose of U (or L), P is a permutation !> matrix, P**T is the transpose of P, and D is symmetric and block !> diagonal with 1-by-1 and 2-by-2 diagonal blocks. !> !> This algorithm is using Level 3 BLAS. !>
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 = P*U*D*(U**T)*(P**T); !> = 'L': Lower triangular, form is A = P*L*D*(L**T)*(P**T). !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
NRHS
!> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrix B. NRHS >= 0. !>
A
!> A is COMPLEX*16 array, dimension (LDA,N) !> Diagonal of the block diagonal matrix D and factors U or L !> as computed by ZSYTRF_RK and 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 !> should be provided on entry 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. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
E
!> E is COMPLEX*16 array, dimension (N) !> 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. !> !> NOTE: For 1-by-1 diagonal block D(k), where !> 1 <= k <= N, the element E(k) is not referenced in both !> UPLO = 'U' or UPLO = 'L' cases. !>
IPIV
!> IPIV is INTEGER array, dimension (N) !> Details of the interchanges and the block structure of D !> as determined by ZSYTRF_RK or ZSYTRF_BK. !>
B
!> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side matrix B. !> On exit, the solution matrix X. !>
LDB
!> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !>
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:
!> !> June 2017, 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 163 of file zsytrs_3.f.
Author¶
Generated automatically by Doxygen for LAPACK from the source code.
Version 3.12.0 | LAPACK |