SUBROUTINE ZGBTRF( M, N, NSUB, NSUPER, A, LDA, IPIVOT, INFO) DOUBLE COMPLEX A(LDA,*) INTEGER M, N, NSUB, NSUPER, LDA, INFO INTEGER IPIVOT(*) SUBROUTINE ZGBTRF_64( M, N, NSUB, NSUPER, A, LDA, IPIVOT, INFO) DOUBLE COMPLEX A(LDA,*) INTEGER*8 M, N, NSUB, NSUPER, LDA, INFO INTEGER*8 IPIVOT(*)
SUBROUTINE GBTRF( [M], [N], NSUB, NSUPER, A, [LDA], IPIVOT, [INFO]) COMPLEX(8), DIMENSION(:,:) :: A INTEGER :: M, N, NSUB, NSUPER, LDA, INFO INTEGER, DIMENSION(:) :: IPIVOT SUBROUTINE GBTRF_64( [M], [N], NSUB, NSUPER, A, [LDA], IPIVOT, [INFO]) COMPLEX(8), DIMENSION(:,:) :: A INTEGER(8) :: M, N, NSUB, NSUPER, LDA, INFO INTEGER(8), DIMENSION(:) :: IPIVOT
void zgbtrf(int m, int n, int nsub, int nsuper, doublecomplex *a, int lda, int *ipivot, int *info);
void zgbtrf_64(long m, long n, long nsub, long nsuper, doublecomplex *a, long lda, long *ipivot, long *info);
This is the blocked version of the algorithm, calling Level 3 BLAS.
On exit, details of the factorization: U is stored as an upper triangular band matrix with NSUB+NSUPER superdiagonals in rows 1 to NSUB+NSUPER+1, and the multipliers used during the factorization are stored in rows NSUB+NSUPER+2 to 2*NSUB+NSUPER+1. See below for further details.