************80
! SUBFOR carries out the forward pass of substitution for the current block.
Discussion:
The forward pass is the action on the right hand side corresponding to the
elimination carried out in FACTRB for this block.
At the end, X(1:NROW) contains the right hand side of the transformed
IPIVOT(1:NROW)-th equation in this block.
Then, since for I=1,...,NROW-LAST, B(NROW+I) is going to be used as
the right hand side of equation I in the next block (shifted over there
from this block during factorization), it is set equal to X(LAST+I) here.
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(NROW,LAST), integer IPIVOT(NROW),
integer ( kind = 4 ) NROW, integer LAST, are as on return from FACTRB.
Output, real ( kind = 8 ) B(2*NROW-LAST). On input, B(1:NROW)
contains the right hand sides for this block. On output,
B(NROW+1:2*NROW-LAST) contains the appropriately modified right
hand sides for the next block.
Output, real X(NROW), contains, on output, the appropriately modified
right hand sides of equations IPIVOT(1:NROW).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=8) | :: | w(nrow,last) | ||||
integer(kind=4) | :: | ipivot(nrow) | ||||
integer(kind=4) | :: | nrow | ||||
integer(kind=4) | :: | last | ||||
real(kind=8) | :: | b(nrow+nrow-last) | ||||
real(kind=8) | :: | x(nrow) |