SUBROUTINE DPBSV( UPLO, N, NDIAG, NRHS, A, LDA, B, LDB, INFO) CHARACTER * 1 UPLO INTEGER N, NDIAG, NRHS, LDA, LDB, INFO DOUBLE PRECISION A(LDA,*), B(LDB,*) SUBROUTINE DPBSV_64( UPLO, N, NDIAG, NRHS, A, LDA, B, LDB, INFO) CHARACTER * 1 UPLO INTEGER*8 N, NDIAG, NRHS, LDA, LDB, INFO DOUBLE PRECISION A(LDA,*), B(LDB,*)
SUBROUTINE PBSV( UPLO, [N], NDIAG, [NRHS], A, [LDA], B, [LDB], [INFO]) CHARACTER(LEN=1) :: UPLO INTEGER :: N, NDIAG, NRHS, LDA, LDB, INFO REAL(8), DIMENSION(:,:) :: A, B SUBROUTINE PBSV_64( UPLO, [N], NDIAG, [NRHS], A, [LDA], B, [LDB], * [INFO]) CHARACTER(LEN=1) :: UPLO INTEGER(8) :: N, NDIAG, NRHS, LDA, LDB, INFO REAL(8), DIMENSION(:,:) :: A, B
void dpbsv(char uplo, int n, int ndiag, int nrhs, double *a, int lda, double *b, int ldb, int *info);
void dpbsv_64(char uplo, long n, long ndiag, long nrhs, double *a, long lda, double *b, long ldb, long *info);
The Cholesky decomposition is used to factor A as
A = U**T * U, if UPLO = 'U', or A = L * L**T, if UPLO = 'L',
where U is an upper triangular band matrix, and L is a lower triangular band matrix, with the same number of superdiagonals or subdiagonals as A. The factored form of A is then used to solve the system of equations A * X = B.
On exit, if INFO = 0, the triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T of the band matrix A, in the same storage format as A.