NAME dgtsv - solve the equation A*X = B, SYNOPSIS SUBROUTINE DGTSV( N, NRHS, DL, D, DU, B, LDB, INFO ) INTEGER INFO, LDB, N, NRHS DOUBLE PRECISION B( LDB, * ), D( * ), DL( * ), DU( * ) #include <sunperf.h> void dgtsv(int n, int nrhs, double *dl, double *d, double *du, double *db, int ldb, int *info) ; PURPOSE DGTSV solves the equation where A is an N-by-N tridiagonal matrix, by Gaussian elimi- nation with partial pivoting. Note that the equation A'*X = B may be solved by inter- changing the order of the arguments DU and DL. ARGUMENTS N (input) INTEGER The order of the matrix A. N >= 0. NRHS (input) INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. DL (input/output) DOUBLE PRECISION array, dimension (N-1) On entry, DL must contain the (n-1) subdiagonal elements of A. On exit, DL is overwritten by the (n-2) elements of the second superdiagonal of the upper triangular matrix U from the LU factoriza- tion of A, in DL(1), ..., DL(n-2). D (input/output) DOUBLE PRECISION array, dimension (N) On entry, D must contain the diagonal elements of A. On exit, D is overwritten by the n diagonal elements of U. DU (input/output) DOUBLE PRECISION array, dimension (N-1) On entry, DU must contain the (n-1) superdiagonal elements of A. On exit, DU is overwritten by the (n-1) elements of the first superdiagonal of U. B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) On entry, the N-by-NRHS right hand side matrix B. On exit, if INFO = 0, the N-by-NRHS solution matrix X. LDB (input) INTEGER The leading dimension of the array B. LDB >= max(1,N). INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an ille- gal value > 0: if INFO = i, U(i,i) is exactly zero, and the solution has not been computed. The factorization has not been completed unless i = N.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |