bchslv Subroutine

subroutine bchslv(w, nbands, nrow, b)

************80

! BCHSLV solves a banded symmetric positive definite system.

Discussion:

The system is of the form:

  C * X = B

and the Cholesky factorization of C has been constructed 
by BCHFAC.

With the factorization

  C = L * D * L'

available, where L is unit lower triangular and D is diagonal, 
the triangular system

  L * Y = B

is solved for Y (forward substitution), Y is stored in B, the 
vector D**(-1)*Y is computed and stored in B, then the 
triangular system L'*X = D**(-1)*Y is solved for X 
(back substitution).

Modified:

14 February 2007

Author:

Carl DeBoor

Reference:

Carl DeBoor,
A Practical Guide to Splines,
Springer, 2001,
ISBN: 0387953663,
LC: QA1.A647.v27.

Parameters:

Input, real ( kind = 8 ) W(NBANDS,NROW), the Cholesky factorization for C, 
as computed by BCHFAC.

Input, integer ( kind = 4 ) NBANDS, the bandwidth of C.

Input, integer ( kind = 4 ) NROW, the order of the matrix C.

Input/output, real ( kind = 8 ) B(NROW).
On input, the right hand side.
On output, the solution.

Arguments

Type IntentOptional Attributes Name
real(kind=8) :: w(nbands,nrow)
integer(kind=4) :: nbands
integer(kind=4) :: nrow
real(kind=8) :: b(nrow)