SUBROUTINE DGTTRF( N, LOW, DIAG, UP1, UP2, IPIVOT, INFO) INTEGER N, INFO INTEGER IPIVOT(*) DOUBLE PRECISION LOW(*), DIAG(*), UP1(*), UP2(*) SUBROUTINE DGTTRF_64( N, LOW, DIAG, UP1, UP2, IPIVOT, INFO) INTEGER*8 N, INFO INTEGER*8 IPIVOT(*) DOUBLE PRECISION LOW(*), DIAG(*), UP1(*), UP2(*)
SUBROUTINE GTTRF( [N], LOW, DIAG, UP1, UP2, IPIVOT, [INFO]) INTEGER :: N, INFO INTEGER, DIMENSION(:) :: IPIVOT REAL(8), DIMENSION(:) :: LOW, DIAG, UP1, UP2 SUBROUTINE GTTRF_64( [N], LOW, DIAG, UP1, UP2, IPIVOT, [INFO]) INTEGER(8) :: N, INFO INTEGER(8), DIMENSION(:) :: IPIVOT REAL(8), DIMENSION(:) :: LOW, DIAG, UP1, UP2
void dgttrf(int n, double *low, double *diag, double *up1, double *up2, int *ipivot, int *info);
void dgttrf_64(long n, double *low, double *diag, double *up1, double *up2, long *ipivot, long *info);
The factorization has the form
A = L * U
where L is a product of permutation and unit lower bidiagonal matrices and U is upper triangular with nonzeros in only the main diagonal and first two superdiagonals.
On exit, LOW is overwritten by the (n-1) multipliers that define the matrix L from the LU factorization of A.
On exit, DIAG is overwritten by the n diagonal elements of the upper triangular matrix U from the LU factorization of A.
On exit, UP1 is overwritten by the (n-1) elements of the first super-diagonal of U.