SUBROUTINE DPOSV( UPLO, N, NRHS, A, LDA, B, LDB, INFO) CHARACTER * 1 UPLO INTEGER N, NRHS, LDA, LDB, INFO DOUBLE PRECISION A(LDA,*), B(LDB,*) SUBROUTINE DPOSV_64( UPLO, N, NRHS, A, LDA, B, LDB, INFO) CHARACTER * 1 UPLO INTEGER*8 N, NRHS, LDA, LDB, INFO DOUBLE PRECISION A(LDA,*), B(LDB,*)
SUBROUTINE POSV( UPLO, [N], [NRHS], A, [LDA], B, [LDB], [INFO]) CHARACTER(LEN=1) :: UPLO INTEGER :: N, NRHS, LDA, LDB, INFO REAL(8), DIMENSION(:,:) :: A, B SUBROUTINE POSV_64( UPLO, [N], [NRHS], A, [LDA], B, [LDB], [INFO]) CHARACTER(LEN=1) :: UPLO INTEGER(8) :: N, NRHS, LDA, LDB, INFO REAL(8), DIMENSION(:,:) :: A, B
void dposv(char uplo, int n, int nrhs, double *a, int lda, double *b, int ldb, int *info);
void dposv_64(char uplo, long n, 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 matrix and L is a lower triangular matrix. The factored form of A is then used to solve the system of equations A * X = B.
On exit, if INFO = 0, the factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T.