cgbtrs - solve a system of linear equations A*X=B, A**T*X=B, or A**H*X=B with a general band matrix A using the LU factorization com- puted by CGBTRF
SUBROUTINE CGBTRS(TRANSA, N, KL, KU, NRHS, A, LDA, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA COMPLEX A(LDA,*), B(LDB,*) INTEGER N, KL, KU, NRHS, LDA, LDB, INFO INTEGER IPIVOT(*) SUBROUTINE CGBTRS_64(TRANSA, N, KL, KU, NRHS, A, LDA, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA COMPLEX A(LDA,*), B(LDB,*) INTEGER*8 N, KL, KU, NRHS, LDA, LDB, INFO INTEGER*8 IPIVOT(*) F95 INTERFACE SUBROUTINE GBTRS(TRANSA, N, KL, KU, NRHS, A, LDA, IPIVOT, B, LDB, INFO) CHARACTER(LEN=1) :: TRANSA COMPLEX, DIMENSION(:,:) :: A, B INTEGER :: N, KL, KU, NRHS, LDA, LDB, INFO INTEGER, DIMENSION(:) :: IPIVOT SUBROUTINE GBTRS_64(TRANSA, N, KL, KU, NRHS, A, LDA, IPIVOT, B, LDB, INFO) CHARACTER(LEN=1) :: TRANSA COMPLEX, DIMENSION(:,:) :: A, B INTEGER(8) :: N, KL, KU, NRHS, LDA, LDB, INFO INTEGER(8), DIMENSION(:) :: IPIVOT C INTERFACE #include <sunperf.h> void cgbtrs(char transa, int n, int kl, int ku, int nrhs, complex *a, int lda, int *ipivot, complex *b, int ldb, int *info); void cgbtrs_64(char transa, long n, long kl, long ku, long nrhs, com- plex *a, long lda, long *ipivot, complex *b, long ldb, long *info);
Oracle Solaris Studio Performance Library cgbtrs(3P) NAME cgbtrs - solve a system of linear equations A*X=B, A**T*X=B, or A**H*X=B with a general band matrix A using the LU factorization com- puted by CGBTRF SYNOPSIS SUBROUTINE CGBTRS(TRANSA, N, KL, KU, NRHS, A, LDA, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA COMPLEX A(LDA,*), B(LDB,*) INTEGER N, KL, KU, NRHS, LDA, LDB, INFO INTEGER IPIVOT(*) SUBROUTINE CGBTRS_64(TRANSA, N, KL, KU, NRHS, A, LDA, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA COMPLEX A(LDA,*), B(LDB,*) INTEGER*8 N, KL, KU, NRHS, LDA, LDB, INFO INTEGER*8 IPIVOT(*) F95 INTERFACE SUBROUTINE GBTRS(TRANSA, N, KL, KU, NRHS, A, LDA, IPIVOT, B, LDB, INFO) CHARACTER(LEN=1) :: TRANSA COMPLEX, DIMENSION(:,:) :: A, B INTEGER :: N, KL, KU, NRHS, LDA, LDB, INFO INTEGER, DIMENSION(:) :: IPIVOT SUBROUTINE GBTRS_64(TRANSA, N, KL, KU, NRHS, A, LDA, IPIVOT, B, LDB, INFO) CHARACTER(LEN=1) :: TRANSA COMPLEX, DIMENSION(:,:) :: A, B INTEGER(8) :: N, KL, KU, NRHS, LDA, LDB, INFO INTEGER(8), DIMENSION(:) :: IPIVOT C INTERFACE #include <sunperf.h> void cgbtrs(char transa, int n, int kl, int ku, int nrhs, complex *a, int lda, int *ipivot, complex *b, int ldb, int *info); void cgbtrs_64(char transa, long n, long kl, long ku, long nrhs, com- plex *a, long lda, long *ipivot, complex *b, long ldb, long *info); PURPOSE cgbtrs solves a system of linear equations A * X = B, A**T * X = B, or A**H * X = B with a general band matrix A using the LU factorization computed by CGBTRF. ARGUMENTS TRANSA (input) Specifies the form of the system of equations. = 'N': A * X = B (No transpose) = 'T': A**T * X = B (Transpose) = 'C': A**H * X = B (Conjugate transpose) N (input) The order of the matrix A. N >= 0. KL (input) The number of subdiagonals within the band of A. KL >= 0. KU (input) The number of superdiagonals within the band of A. KU >= 0. NRHS (input) The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. A (input) Details of the LU factorization of the band matrix A, as com- puted by CGBTRF. U is stored as an upper triangular band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and the multipliers used during the factorization are stored in rows KL+KU+2 to 2*KL+KU+1. LDA (input) The leading dimension of the array A. LDA >= 2*KL+KU+1. IPIVOT (input) The pivot indices; for 1 <= i <= N, row i of the matrix was interchanged with row IPIVOT(i). B (input/output) On entry, the right hand side matrix B. On exit, the solu- tion matrix X. LDB (input) The leading dimension of the array B. LDB >= max(1,N). INFO (output) = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value 7 Nov 2015 cgbtrs(3P)