************80
! CHOL1D sets up and solves linear systems needed by SMOOTH.
Discussion:
This routine constructs the upper three diagonals of
V(I,J), I = 2 to NPOINT-1, J=1,3,
of the matrix
6 * (1-P) * Q' * (D**2) * Q + P * R.
It then computes its L*L' decomposition and stores it also
in V, then applies forward and back substitution to the right hand side
Q'*Y
in QTY to obtain the solution in U.
Modified:
16 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 ) P, the smoothing parameter that defines
the linear system.
Input/output, real ( kind = 8 ) V(NPOINT,7), contains data used
to define the linear system, some of which is determined by
routine SETUPQ.
Input, real ( kind = 8 ) QTY(NPOINT), the value of Q' * Y.
Input, integer ( kind = 4 ) NPOINT, the number of equations.
Input, integer ( kind = 4 ) NCOL, an unused parameter, which may be
set to 1.
Output, real ( kind = 8 ) U(NPOINT), the solution.
Output, real ( kind = 8 ) QU(NPOINT), the value of Q * U.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=8) | :: | p | ||||
real(kind=8) | :: | v(npoint,7) | ||||
real(kind=8) | :: | qty(npoint) | ||||
integer(kind=4) | :: | npoint | ||||
integer(kind=4) | :: | ncol | ||||
real(kind=8) | :: | u(npoint) | ||||
real(kind=8) | :: | qu(npoint) |