next up previous 196
Next: PDA_DC2NAG - Convert FFTPACK complex Fourier transform array into equivalent NAG arrays
Up: User-callable routines
Previous: PDA_DBSQAD - Integral of a B-spline using the B-representation.


PDA_DBVALU - Evaluate a B-spline for the function value or a derivative.

Origin
SLATEC / CAMSUN
Implementation Status:
The routine and its subsidiaries will now return an error status as supplied by PDA_XERMSG.

      DOUBLE PRECISION FUNCTION PDA_DBVALU (T, A, N, K, IDERIV, X, INBV,
     +   WORK, STATUS)


***BEGIN PROLOGUE  PDA_DBVALU
***PURPOSE  Evaluate the B-representation of a B-spline at X for the
            function value or any of its derivatives.
***LIBRARY   SLATEC
***CATEGORY  E3, K6
***TYPE      DOUBLE PRECISION (BVALU-S, PDA_DBVALU-D)
***KEYWORDS  DIFFERENTIATION OF B-SPLINE, EVALUATION OF B-SPLINE
***AUTHOR  Amos, D. E., (SNLA)
***DESCRIPTION

     Written by Carl de Boor and modified by D. E. Amos

     Abstract   **** a double precision routine ****
         PDA_DBVALU is the BVALUE function of the reference.

         PDA_DBVALU evaluates the B-representation (T,A,N,K) of a B-spline
         at X for the function value on IDERIV=0 or any of its
         derivatives on IDERIV=1,2,...,K-1.  Right limiting values
         (right derivatives) are returned except at the right end
         point X=T(N+1) where left limiting values are computed.  The
         spline is defined on T(K) .LE. X .LE. T(N+1).  PDA_DBVALU returns
         a fatal error message when X is outside of this interval.

         To compute left derivatives or left limiting values at a
         knot T(I), replace N by I-1 and set X=T(I), I=K+1,N+1.

         PDA_DBVALU calls PDA_DINTRV

     Description of Arguments

         Input      T,A,X are double precision
          T       - knot vector of length N+K
          A       - B-spline coefficient vector of length N
          N       - number of B-spline coefficients
                    N = sum of knot multiplicities-K
          K       - order of the B-spline, K .GE. 1
          IDERIV  - order of the derivative, 0 .LE. IDERIV .LE. K-1
                    IDERIV = 0 returns the B-spline value
          X       - argument, T(K) .LE. X .LE. T(N+1)
          INBV    - an initialization parameter which must be set
                    to 1 the first time PDA_DBVALU is called.

         Output     WORK,PDA_DBVALU are double precision
          INBV    - INBV contains information for efficient process-
                    ing after the initial call and INBV must not
                    be changed by the user.  Distinct splines require
                    distinct INBV parameters.
          WORK    - work vector of length 3*K.
      PDA_DBVALU  - value of the IDERIV-th derivative at X
          STATUS  - Returned error status.
                    The status must be zero on entry. This
                    routine does not check the status on entry.

     Error Conditions
         An improper input is a fatal error

***REFERENCES  Carl de Boor, Package for calculating with B-splines,
                 SIAM Journal on Numerical Analysis 14, 3 (June 1977),
                 pp. 441-472.
***ROUTINES CALLED  PDA_DINTRV, PDA_XERMSG
***REVISION HISTORY  (YYMMDD)
   800901  DATE WRITTEN
   890831  Modified array declarations.  (WRB)
   890911  Removed unnecessary intrinsics.  (WRB)
   890911  REVISION DATE from Version 3.2
   891214  Prologue converted to Version 4.0 format.  (BAB)
   900315  CALLs to XERROR changed to CALLs to PDA_XERMSG.  (THJ)
   920501  Reformatted the REFERENCES section.  (WRB)
   950403  Implement status.  (HME)
***END PROLOGUE  PDA_DBVALU



next up previous 196
Next: PDA_DC2NAG - Convert FFTPACK complex Fourier transform array into equivalent NAG arrays
Up: User-callable routines
Previous: PDA_DBSQAD - Integral of a B-spline using the B-representation.

PDA [1ex
Starlink User Note 194
H. Meyerdierks, D. Berry, P. W. Draper, G. Privett, M. Currie
12th October 2005
E-mail:ussc@star.rl.ac.uk

Copyright © 2009 Science and Technology Facilities Council