************80
! PUTIT puts together one block of the collocation equation system.
Method:
The K collocation equations for the interval ( T(LEFT), T(LEFT+1) )
are constructed with the aid of the subroutine DIFEQU( 2, ., . )
and interspersed (in order) with the side conditions, if any, in
this interval, using DIFEQU ( 3, ., . ) for the information.
The block Q has KPM columns, corresponding to the KPM B-splines of order
KPM which have the interval ( T(LEFT), T(LEFT+1) ) in their support.
The block's diagonal is part of the diagonal of the total system.
The first equation in this block not overlapped by the preceding block
is therefore equation LOWROW, with LOWROW = number of side conditions
in preceding intervals (or blocks).
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 ) T(LEFT+KPM), the knot sequence.
Input, integer ( kind = 4 ) KPM, the order of the spline.
Input, integer ( kind = 4 ) LEFT, indicates the interval of interest,
that is, the interval ( T(LEFT), T(LEFT+1) ).
Workspace, real ( kind = 8 ) SCRTCH(KPM,KPM).
Workspace, real ( kind = 8 ) DBIATX(KPM,M+1), derivatives of B-splines,
with DBIATX(J,I+1) containing the I-th derivative of the J-th B-spline
of interest.
Output, real ( kind = 8 ) Q(NROW,KPM), the block.
Input, integer ( kind = 4 ) NROW, number of rows in block to be
! put together.
Output, real ( kind = 8 ) B(NROW), the corresponding piece of
the right hand side.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=8) | :: | t(left+kpm) | ||||
integer(kind=4) | :: | kpm | ||||
integer(kind=4) | :: | left | ||||
real(kind=8) | :: | scrtch(kpm,kpm) | ||||
real(kind=8) | :: | dbiatx(kpm,*) | ||||
real(kind=8) | :: | q(nrow,kpm) | ||||
integer(kind=4) | :: | nrow | ||||
real(kind=8) | :: | b(nrow) |