Web pdp-10.trailing-edge.com

Trailing-Edge - PDP-10 Archives - decus_20tap2_198111 - decus/20-0026/dahi.doc
There are 2 other files named dahi.doc in the archive. Click here to see a list.
```SUBROUTINE DAHI

PURPOSE
TO INTERPOLATE FUNCTION VALUE Y FOR A GIVEN ARGUMENT VALUE
X USING A GIVEN TABLE (ARG,VAL) OF ARGUMENT, FUNCTION, AND
DERIVATIVE VALUES.

USAGE
CALL DAHI (X,ARG,VAL,Y,NDIM,EPS,IER)

DESCRIPTION OF PARAMETERS
X	  - DOUBLE PRECISION ARGUMENT VALUE SPECIFIED BY INPUT.
ARG	  - DOUBLE PRECISION INPUT VECTOR (DIMENSION NDIM) OF
ARGUMENT VALUES OF THE TABLE (NOT DESTROYED).
VAL	  - DOUBLE PRECISION INPUT VECTOR (DIMENSION 2*NDIM) OF
FUNCTION AND DERIVATIVE VALUES OF THE TABLE (DES-
TROYED). FUNCTION AND DERIVATIVE VALUES MUST BE
STORED IN PAIRS, THAT MEANS BEGINNING WITH FUNCTION
VALUE AT POINT ARG(1) EVERY FUNCTION VALUE MUST BE
FOLLOWED BY THE DERIVATIVE VALUE AT THE SAME POINT.
Y	  - RESULTING INTERPOLATED DOUBLE PRECISION FUNCTION
VALUE.
NDIM   - AN INPUT VALUE WHICH SPECIFIES THE NUMBER OF
POINTS IN TABLE (ARG,VAL).
EPS	  - SINGLE PRECISION INPUT CONSTANT WHICH IS USED AS
UPPER BOUND FOR THE ABSOLUTE ERROR.
IER	  - A RESULTING ERROR PARAMETER.

REMARKS
(1) TABLE (ARG,VAL) SHOULD REPRESENT A SINGLE-VALUED
FUNCTION AND SHOULD BE STORED IN SUCH A WAY, THAT THE
DISTANCES ABS(ARG(I)-X) INCREASE WITH INCREASING
SUBSCRIPT I. TO GENERATE THIS ORDER IN TABLE (ARG,VAL),
SUBROUTINES DATSG, DATSM OR DATSE COULD BE USED IN A
PREVIOUS STAGE.
(2) NO ACTION BESIDES ERROR MESSAGE IN CASE NDIM LESS
THAN 1.
(3) INTERPOLATION IS TERMINATED EITHER IF THE DIFFERENCE
BETWEEN TWO SUCCESSIVE INTERPOLATED VALUES IS
ABSOLUTELY LESS THAN TOLERANCE EPS, OR IF THE ABSOLUTE
VALUE OF THIS DIFFERENCE STOPS DIMINISHING, OR AFTER
(2*NDIM-2) STEPS. FURTHER IT IS TERMINATED IF THE
PROCEDURE DISCOVERS TWO ARGUMENT VALUES IN VECTOR ARG
WHICH ARE IDENTICAL. DEPENDENT ON THESE FOUR CASES,
ERROR PARAMETER IER IS CODED IN THE FOLLOWING FORM
IER=0 - IT WAS POSSIBLE TO REACH THE REQUIRED
ACCURACY (NO ERROR).
IER=1 - IT WAS IMPOSSIBLE TO REACH THE REQUIRED
ACCURACY BECAUSE OF ROUNDING ERRORS.
IER=2 - IT WAS IMPOSSIBLE TO CHECK ACCURACY BECAUSE
NDIM IS LESS THAN 2, OR THE REQUIRED ACCURACY
COULD NOT BE REACHED BY MEANS OF THE GIVEN
TABLE. NDIM SHOULD BE INCREASED.
IER=3 - THE PROCEDURE DISCOVERED TWO ARGUMENT VALUES
IN VECTOR ARG WHICH ARE IDENTICAL.

SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
NONE

METHOD
INTERPOLATION IS DONE BY MEANS OF AITKENS SCHEME OF
HERMITE INTERPOLATION. ON RETURN Y CONTAINS AN INTERPOLATED
FUNCTION VALUE AT POINT X, WHICH IS IN THE SENSE OF REMARK
(3) OPTIMAL WITH RESPECT TO GIVEN TABLE. FOR REFERENCE, SEE
F.B.HILDEBRAND, INTRODUCTION TO NUMERICAL ANALYSIS,
MCGRAW-HILL, NEW YORK/TORONTO/LONDON, 1956, PP.314-317, AND
GERSHINSKY/LEVINE, AITKEN-HERMITE INTERPOLATION,
JACM, VOL.11, ISS.3 (1964), PP.352-356.

```