Documentation de la routine DGTSV

```DGTSV(l)                                                              DGTSV(l)

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( * )

PURPOSE
DGTSV  solves the equation

where A is an N-by-N tridiagonal matrix, by Gaussian elimination with
partial pivoting.

Note that the equation  A'*X = B  may be solved by interchanging 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
factorization 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).

Page 1

DGTSV(l)                                                              DGTSV(l)

INFO    (output)
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal 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.
```

EPFL-IACS-ASN