SUBROUTINE DGBTRF( M, N, NSUB, NSUPER, A, LDA, IPIVOT, INFO) INTEGER M, N, NSUB, NSUPER, LDA, INFO INTEGER IPIVOT(*) DOUBLE PRECISION A(LDA,*) SUBROUTINE DGBTRF_64( M, N, NSUB, NSUPER, A, LDA, IPIVOT, INFO) INTEGER*8 M, N, NSUB, NSUPER, LDA, INFO INTEGER*8 IPIVOT(*) DOUBLE PRECISION A(LDA,*)
SUBROUTINE GBTRF( [M], [N], NSUB, NSUPER, A, [LDA], IPIVOT, [INFO]) INTEGER :: M, N, NSUB, NSUPER, LDA, INFO INTEGER, DIMENSION(:) :: IPIVOT REAL(8), DIMENSION(:,:) :: A SUBROUTINE GBTRF_64( [M], [N], NSUB, NSUPER, A, [LDA], IPIVOT, [INFO]) INTEGER(8) :: M, N, NSUB, NSUPER, LDA, INFO INTEGER(8), DIMENSION(:) :: IPIVOT REAL(8), DIMENSION(:,:) :: A
void dgbtrf(int m, int n, int nsub, int nsuper, double *a, int lda, int *ipivot, int *info);
void dgbtrf_64(long m, long n, long nsub, long nsuper, double *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.