SPLINE_PRB Test SPLINE routines. TEST01 PARABOLA_VAL2 evaluates parabolas through 3 points in a table Our data tables will actually be parabolas: A: 2*x**2 + 3 * x + 1. B: 4*x**2 - 2 * x + 5. 0 2.000000 15.000000 17.000000 1 4.000000 45.000000 61.000000 2 6.000000 91.000000 137.000000 3 8.000000 153.000000 245.000000 4 10.000000 231.000000 385.000000 Interpolated data: LEFT, X, Y1, Y2 0 1.000000 6.000000 7.000000 1 3.000000 28.000000 35.000000 2 5.000000 66.000000 95.000000 2 7.000000 120.000000 187.000000 2 9.000000 190.000000 311.000000 TEST02 RVEC_BRACKET finds a pair of entries in a sorted real array which bracket a value. Sorted array: 0 0.000000 1 1.000000 2 2.000000 3 3.000000 4 4.000000 5 4.000000 6 6.000000 7 7.000000 8 8.000000 9 9.000000 Search for XVAL = -10.000000 Left = 0 Right = 1 X[RIGHT] = 1.000000 Search for XVAL = 1.000000 Left = 1 Right = 2 X[LEFT] = 1.000000 X[RIGHT] = 2.000000 Search for XVAL = 4.500000 Left = 5 Right = 6 X[LEFT] = 4.000000 X[RIGHT] = 6.000000 Search for XVAL = 5.000000 Left = 5 Right = 6 X[LEFT] = 4.000000 X[RIGHT] = 6.000000 Search for XVAL = 10.000000 Left = 8 Right = 9 X[LEFT] = 8.000000 X[RIGHT] = 9.000000 Search for XVAL = 12.000000 Left = 8 Right = 9 X[LEFT] = 8.000000 X[RIGHT] = 9.000000 TEST03 RVEC_BRACKET3 finds a pair of entries in a sorted real array which bracket a value. Sorted array: 0 1.000000 1 2.000000 2 3.000000 3 4.000000 4 5.000000 5 5.000000 6 7.000000 7 8.000000 8 9.000000 9 10.000000 Search for XVAL = -10.000000 Starting guess for interval is = 4 Nearest interval: X[0]= 1.000000 X[1]= 2.000000 Search for XVAL = 1.000000 Starting guess for interval is = 0 Nearest interval: X[0]= 1.000000 X[1]= 2.000000 Search for XVAL = 4.500000 Starting guess for interval is = 0 Nearest interval: X[3]= 4.000000 X[4]= 5.000000 Search for XVAL = 5.000000 Starting guess for interval is = 3 Nearest interval: X[3]= 4.000000 X[4]= 5.000000 Search for XVAL = 10.000000 Starting guess for interval is = 3 Nearest interval: X[8]= 9.000000 X[9]= 10.000000 Search for XVAL = 12.000000 Starting guess for interval is = 8 Nearest interval: X[8]= 9.000000 X[9]= 10.000000 TEST04 RVEC_ORDER_TYPE classifies a real vector as -1: no order 0: all equal; 1: ascending; 2: strictly ascending; 3: descending; 4: strictly descending. Vector of order type -1: 0 1.000000 1 3.000000 2 2.000000 3 4.000000 Vector of order type 0: 0 2.000000 1 2.000000 2 2.000000 3 2.000000 Vector of order type 1: 0 1.000000 1 2.000000 2 2.000000 3 4.000000 Vector of order type 2: 0 1.000000 1 2.000000 2 3.000000 3 4.000000 Vector of order type 3: 0 4.000000 1 4.000000 2 3.000000 3 1.000000 Vector of order type 4: 0 9.000000 1 7.000000 2 3.000000 3 0.000000 TEST05 S3_FS factors and solves a tridiagonal linear system. Computed solution: 0 1.000000 1 2.000000 2 3.000000 3 3.999999 4 4.999999 5 5.999999 6 7.000000 7 8.000000 8 9.000000 9 10.000000 TEST06 SPLINE_CUBIC_SET sets up a cubic spline; SPLINE_CUBIC_VAL evaluates it. Runge's function, evenly spaced knots. T, Y 0 -1.0000 0.0385 1 -0.8000 0.0588 2 -0.6000 0.1000 3 -0.4000 0.2000 4 -0.2000 0.5000 5 0.0000 1.0000 6 0.2000 0.5000 7 0.4000 0.2000 8 0.6000 0.1000 9 0.8000 0.0588 10 1.0000 0.0385 Boundary condition 0 at both ends: Spline is quadratic in boundary intervals. SPLINE''(T), F''(T): 0.3234 0.2105 0.3234 0.4783 1.5052 1.3000 2.4794 4.4000 18.5773 12.5000 -46.7887 -50.0000 18.5773 12.5000 2.4794 4.4000 1.5052 1.3000 0.3234 0.4783 0.3234 0.2105 T, SPLINE(T), F(T) -2.0000 0.1307 0.0099 -1.0000 0.0385 0.0385 -0.9000 0.0470 0.0471 -0.8000 0.0588 0.0588 -0.7000 0.0748 0.0755 -0.6000 0.1000 0.1000 -0.5000 0.1400 0.1379 -0.4000 0.2000 0.2000 -0.3000 0.2974 0.3077 -0.2000 0.5000 0.5000 -0.1000 0.8205 0.8000 0.0000 1.0000 1.0000 0.1000 0.8205 0.8000 0.2000 0.5000 0.5000 0.3000 0.2974 0.3077 0.4000 0.2000 0.2000 0.5000 0.1400 0.1379 0.6000 0.1000 0.1000 0.7000 0.0748 0.0755 0.8000 0.0588 0.0588 0.9000 0.0470 0.0471 1.0000 0.0385 0.0385 2.0000 0.1307 0.0099 Boundary condition 1 at both ends: Y'(left) = 0.080000 Y'(right) = -0.080000 SPLINE''(T), F''(T): 0.1410 0.2105 0.3723 0.4783 1.4921 1.3000 2.4829 4.4000 18.5763 12.5000 -46.7882 -50.0000 18.5763 12.5000 2.4829 4.4000 1.4921 1.3000 0.3723 0.4783 0.1410 0.2105 T, SPLINE(T), F(T) -2.0000 -0.1637 0.0099 -1.0000 0.0385 0.0385 -0.9000 0.0474 0.0471 -0.8000 0.0588 0.0588 -0.7000 0.0748 0.0755 -0.6000 0.1000 0.1000 -0.5000 0.1401 0.1379 -0.4000 0.2000 0.2000 -0.3000 0.2974 0.3077 -0.2000 0.5000 0.5000 -0.1000 0.8205 0.8000 0.0000 1.0000 1.0000 0.1000 0.8205 0.8000 0.2000 0.5000 0.5000 0.3000 0.2974 0.3077 0.4000 0.2000 0.2000 0.5000 0.1401 0.1379 0.6000 0.1000 0.1000 0.7000 0.0748 0.0755 0.8000 0.0588 0.0588 0.9000 0.0474 0.0471 1.0000 0.0385 0.0385 2.0000 -0.1637 0.0099 Boundary condition 2 at both ends: YP''(left) = 0.210514 YP''(right) = 0.210514 SPLINE''(T), F''(T): 0.2105 0.2105 0.3536 0.4783 1.4971 1.3000 2.4816 4.4000 18.5767 12.5000 -46.7883 -50.0000 18.5767 12.5000 2.4816 4.4000 1.4971 1.3000 0.3536 0.4783 0.2105 0.2105 T, SPLINE(T), F(T) -2.0000 -0.0515 0.0099 -1.0000 0.0385 0.0385 -0.9000 0.0472 0.0471 -0.8000 0.0588 0.0588 -0.7000 0.0748 0.0755 -0.6000 0.1000 0.1000 -0.5000 0.1401 0.1379 -0.4000 0.2000 0.2000 -0.3000 0.2974 0.3077 -0.2000 0.5000 0.5000 -0.1000 0.8205 0.8000 0.0000 1.0000 1.0000 0.1000 0.8205 0.8000 0.2000 0.5000 0.5000 0.3000 0.2974 0.3077 0.4000 0.2000 0.2000 0.5000 0.1401 0.1379 0.6000 0.1000 0.1000 0.7000 0.0748 0.0755 0.8000 0.0588 0.0588 0.9000 0.0472 0.0471 1.0000 0.0385 0.0385 2.0000 -0.0515 0.0099 TEST07 SPLINE_CUBIC_SET sets up a cubic spline; SPLINE_CUBIC_VAL evaluates it. Cubic function, unevenly spaced knots. T, Y 0 0.0000 4.0000 1 0.0100 4.0302 2 0.0400 4.1233 3 0.0900 4.2869 4 0.1600 4.5353 5 0.2500 4.8906 6 0.3600 5.3859 7 0.4900 6.0678 8 0.6400 7.0013 9 0.8100 8.2736 10 1.0000 10.0000 Boundary condition 0 at both ends: Spline is quadratic in boundary intervals. SPLINE''(T), F''(T): 4.0527 4.0000 4.0527 4.0600 4.2419 4.2400 4.5395 4.5400 4.9597 4.9600 5.5017 5.5000 6.1540 6.1600 6.9606 6.9400 7.7684 7.8400 9.1114 8.8600 9.1114 10.0000 T, SPLINE(T), F(T) -1.0000 3.0265 2.0000 0.0000 4.0000 4.0000 0.0050 4.0150 4.0150 0.0100 4.0302 4.0302 0.0250 4.0763 4.0763 0.0400 4.1233 4.1233 0.0650 4.2037 4.2037 0.0900 4.2869 4.2869 0.1250 4.4082 4.4082 0.1600 4.5353 4.5353 0.2050 4.7077 4.7077 0.2500 4.8906 4.8906 0.3050 5.1294 5.1294 0.3600 5.3859 5.3859 0.4250 5.7130 5.7130 0.4900 6.0678 6.0678 0.5650 6.5139 6.5138 0.6400 7.0013 7.0013 0.7250 7.6070 7.6073 0.8100 8.2736 8.2736 0.9050 9.0957 9.0943 1.0000 10.0000 10.0000 2.0000 24.5074 26.0000 Boundary condition 1 at both ends: Y'(left) = 3.000000 Y'(right) = 10.000000 SPLINE''(T), F''(T): 3.9987 4.0000 4.0600 4.0600 4.2405 4.2400 4.5396 4.5400 4.9602 4.9600 5.5000 5.5000 6.1599 6.1600 6.9400 6.9400 7.8400 7.8400 8.8600 8.8600 10.0000 10.0000 T, SPLINE(T), F(T) -1.0000 1.9773 2.0000 0.0000 4.0000 4.0000 0.0050 4.0150 4.0150 0.0100 4.0302 4.0302 0.0250 4.0763 4.0763 0.0400 4.1233 4.1233 0.0650 4.2037 4.2037 0.0900 4.2869 4.2869 0.1250 4.4082 4.4082 0.1600 4.5353 4.5353 0.2050 4.7077 4.7077 0.2500 4.8906 4.8906 0.3050 5.1294 5.1294 0.3600 5.3859 5.3859 0.4250 5.7130 5.7130 0.4900 6.0678 6.0678 0.5650 6.5138 6.5138 0.6400 7.0013 7.0013 0.7250 7.6073 7.6073 0.8100 8.2736 8.2736 0.9050 9.0943 9.0943 1.0000 10.0000 10.0000 2.0000 26.0000 26.0000 Boundary condition 2 at both ends: YP''(left) = 4.000000 YP''(right) = 10.000000 SPLINE''(T), F''(T): 4.0000 4.0000 4.0598 4.0600 4.2405 4.2400 4.5396 4.5400 4.9602 4.9600 5.5000 5.5000 6.1600 6.1600 6.9400 6.9400 7.8400 7.8400 8.8600 8.8600 10.0000 10.0000 T, SPLINE(T), F(T) -1.0000 2.0030 2.0000 0.0000 4.0000 4.0000 0.0050 4.0150 4.0150 0.0100 4.0302 4.0302 0.0250 4.0763 4.0763 0.0400 4.1233 4.1233 0.0650 4.2037 4.2037 0.0900 4.2869 4.2869 0.1250 4.4082 4.4082 0.1600 4.5353 4.5353 0.2050 4.7077 4.7077 0.2500 4.8906 4.8906 0.3050 5.1294 5.1294 0.3600 5.3859 5.3859 0.4250 5.7130 5.7130 0.4900 6.0678 6.0678 0.5650 6.5138 6.5138 0.6400 7.0013 7.0013 0.7250 7.6073 7.6073 0.8100 8.2736 8.2736 0.9050 9.0943 9.0943 1.0000 10.0000 10.0000 2.0000 26.0000 26.0000 TEST08 SPLINE_CUBIC_SET sets up a cubic spline; SPLINE_CUBIC_VAL evaluates it. Cubic function, evenly spaced knots. T, Y 0 0.0000 4.0000 1 0.1000 4.3210 2 0.2000 4.6880 3 0.3000 5.1070 4 0.4000 5.5840 5 0.5000 6.1250 6 0.6000 6.7360 7 0.7000 7.4230 8 0.8000 8.1920 9 0.9000 9.0490 10 1.0000 10.0000 Boundary condition 0 at both ends: Spline is quadratic in boundary intervals. SPLINE''(T), F''(T): 4.4732 4.0000 4.4732 4.6000 5.2338 5.2000 5.7911 5.8000 6.4022 6.4000 7.0000 7.0000 7.5977 7.6000 8.2091 8.2000 8.7659 8.8000 9.5269 9.4000 9.5269 10.0000 T, SPLINE(T), F(T) -1.0000 3.2503 2.0000 -1.4869 2.0000 4.4732 -2.0000 0.0000 4.0000 4.0000 2.9863 3.0000 4.4732 4.0000 0.0500 4.1549 4.1551 3.2100 3.2075 4.4732 4.3000 0.1000 4.3210 4.3210 3.4337 3.4300 4.4732 4.6000 0.1500 4.4984 4.4984 3.6668 3.6675 4.8535 4.9000 0.2000 4.6880 4.6880 3.9190 3.9200 5.2338 5.2000 0.2500 4.8906 4.8906 4.1877 4.1875 5.5125 5.5000 0.3000 5.1070 5.1070 4.4703 4.4700 5.7911 5.8000 0.3500 5.3379 5.3379 4.7675 4.7675 6.0966 6.1000 0.4000 5.5840 5.5840 5.0799 5.0800 6.4022 6.4000 0.4500 5.8461 5.8461 5.4075 5.4075 6.7011 6.7000 0.5000 6.1250 6.1250 5.7500 5.7500 7.0000 7.0000 0.5500 6.4214 6.4214 6.1075 6.1075 7.2989 7.3000 0.6000 6.7360 6.7360 6.4799 6.4800 7.5977 7.6000 0.6500 7.0696 7.0696 6.8675 6.8675 7.9034 7.9000 0.7000 7.4230 7.4230 7.2703 7.2700 8.2091 8.2000 0.7500 7.7969 7.7969 7.6877 7.6875 8.4875 8.5000 0.8000 8.1920 8.1920 8.1190 8.1200 8.7659 8.8000 0.8500 8.6091 8.6091 8.5668 8.5675 9.1464 9.1000 0.9000 9.0490 9.0490 9.0337 9.0300 9.5269 9.4000 0.9500 9.5126 9.5124 9.5100 9.5075 9.5269 9.7000 1.0000 10.0000 10.0000 9.9863 10.0000 9.5269 10.0000 2.0000 24.7498 26.0000 19.5132 23.0000 9.5269 16.0000 Boundary condition 1 at both ends: Y'(left) = 3.000000 Y'(right) = 10.000000 SPLINE''(T), F''(T): 4.0000 4.0000 4.6000 4.6000 5.1999 5.2000 5.8002 5.8000 6.3999 6.4000 7.0000 7.0000 7.6000 7.6000 8.2001 8.2000 8.7999 8.8000 9.4001 9.4000 9.9999 10.0000 T, SPLINE(T), F(T) -1.0000 2.0000 2.0000 2.0000 2.0000 -2.0001 -2.0000 0.0000 4.0000 4.0000 3.0000 3.0000 4.0000 4.0000 0.0500 4.1551 4.1551 3.2075 3.2075 4.3000 4.3000 0.1000 4.3210 4.3210 3.4300 3.4300 4.6000 4.6000 0.1500 4.4984 4.4984 3.6675 3.6675 4.9000 4.9000 0.2000 4.6880 4.6880 3.9200 3.9200 5.1999 5.2000 0.2500 4.8906 4.8906 4.1875 4.1875 5.5000 5.5000 0.3000 5.1070 5.1070 4.4700 4.4700 5.8002 5.8000 0.3500 5.3379 5.3379 4.7675 4.7675 6.1000 6.1000 0.4000 5.5840 5.5840 5.0800 5.0800 6.3999 6.4000 0.4500 5.8461 5.8461 5.4075 5.4075 6.7000 6.7000 0.5000 6.1250 6.1250 5.7500 5.7500 7.0000 7.0000 0.5500 6.4214 6.4214 6.1075 6.1075 7.3000 7.3000 0.6000 6.7360 6.7360 6.4800 6.4800 7.6000 7.6000 0.6500 7.0696 7.0696 6.8675 6.8675 7.9000 7.9000 0.7000 7.4230 7.4230 7.2700 7.2700 8.2001 8.2000 0.7500 7.7969 7.7969 7.6875 7.6875 8.5000 8.5000 0.8000 8.1920 8.1920 8.1200 8.1200 8.7999 8.8000 0.8500 8.6091 8.6091 8.5675 8.5675 9.1000 9.1000 0.9000 9.0490 9.0490 9.0300 9.0300 9.4001 9.4000 0.9500 9.5124 9.5124 9.5075 9.5075 9.7000 9.7000 1.0000 10.0000 10.0000 10.0000 10.0000 9.9999 10.0000 2.0000 25.9997 26.0000 22.9991 23.0000 15.9983 16.0000 Boundary condition 2 at both ends: YP''(left) = 4.000000 YP''(right) = 10.000000 SPLINE''(T), F''(T): 4.0000 4.0000 4.6000 4.6000 5.1999 5.2000 5.8002 5.8000 6.3999 6.4000 7.0000 7.0000 7.6000 7.6000 8.2001 8.2000 8.7999 8.8000 9.4001 9.4000 10.0000 10.0000 T, SPLINE(T), F(T) -1.0000 1.9999 2.0000 2.0002 2.0000 -2.0003 -2.0000 0.0000 4.0000 4.0000 3.0000 3.0000 4.0000 4.0000 0.0500 4.1551 4.1551 3.2075 3.2075 4.3000 4.3000 0.1000 4.3210 4.3210 3.4300 3.4300 4.6000 4.6000 0.1500 4.4984 4.4984 3.6675 3.6675 4.9000 4.9000 0.2000 4.6880 4.6880 3.9200 3.9200 5.1999 5.2000 0.2500 4.8906 4.8906 4.1875 4.1875 5.5000 5.5000 0.3000 5.1070 5.1070 4.4700 4.4700 5.8002 5.8000 0.3500 5.3379 5.3379 4.7675 4.7675 6.1000 6.1000 0.4000 5.5840 5.5840 5.0800 5.0800 6.3999 6.4000 0.4500 5.8461 5.8461 5.4075 5.4075 6.7000 6.7000 0.5000 6.1250 6.1250 5.7500 5.7500 7.0000 7.0000 0.5500 6.4214 6.4214 6.1075 6.1075 7.3000 7.3000 0.6000 6.7360 6.7360 6.4800 6.4800 7.6000 7.6000 0.6500 7.0696 7.0696 6.8675 6.8675 7.9000 7.9000 0.7000 7.4230 7.4230 7.2700 7.2700 8.2001 8.2000 0.7500 7.7969 7.7969 7.6875 7.6875 8.5000 8.5000 0.8000 8.1920 8.1920 8.1200 8.1200 8.7999 8.8000 0.8500 8.6091 8.6091 8.5675 8.5675 9.1000 9.1000 0.9000 9.0490 9.0490 9.0300 9.0300 9.4001 9.4000 0.9500 9.5124 9.5124 9.5075 9.5075 9.7000 9.7000 1.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 2.0000 25.9999 26.0000 22.9996 23.0000 15.9991 16.0000 TEST09 SPLINE_CUBIC_SET sets up a cubic spline; SPLINE_CUBIC_VAL evaluates it. Cubic function, evenly spaced knots. T, Y 0 0.0000 4.0000 1 1.0000 10.0000 Boundary condition 0 at left end. Boundary condition 0 at right end. SPLINE''(T), F''(T): 0.0000 4.0000 0.0000 10.0000 T, SPLINE(T), F(T) -1.0000 -2.0000 2.0000 6.0000 2.0000 0.0000 -2.0000 0.0000 4.0000 4.0000 6.0000 3.0000 0.0000 4.0000 0.5000 7.0000 6.1250 6.0000 5.7500 0.0000 7.0000 1.0000 10.0000 10.0000 6.0000 10.0000 0.0000 10.0000 2.0000 16.0000 26.0000 6.0000 23.0000 0.0000 16.0000 Boundary condition 1 at right end. Y'(right) = 10.000000 SPLINE''(T), F''(T): 8.0000 4.0000 8.0000 10.0000 T, SPLINE(T), F(T) -1.0000 6.0000 2.0000 -6.0000 2.0000 8.0000 -2.0000 0.0000 4.0000 4.0000 2.0000 3.0000 8.0000 4.0000 0.5000 6.0000 6.1250 6.0000 5.7500 8.0000 7.0000 1.0000 10.0000 10.0000 10.0000 10.0000 8.0000 10.0000 2.0000 24.0000 26.0000 18.0000 23.0000 8.0000 16.0000 Boundary condition 2 at right end. YP''(right) = 10.000000 SPLINE''(T), F''(T): 10.0000 4.0000 10.0000 10.0000 T, SPLINE(T), F(T) -1.0000 8.0000 2.0000 -9.0000 2.0000 10.0000 -2.0000 0.0000 4.0000 4.0000 1.0000 3.0000 10.0000 4.0000 0.5000 5.7500 6.1250 6.0000 5.7500 10.0000 7.0000 1.0000 10.0000 10.0000 11.0000 10.0000 10.0000 10.0000 2.0000 26.0000 26.0000 21.0000 23.0000 10.0000 16.0000 Boundary condition 1 at left end. Y'(left) = 3.000000 Boundary condition 0 at right end. SPLINE''(T), F''(T): 6.0000 4.0000 6.0000 10.0000 T, SPLINE(T), F(T) -1.0000 4.0000 2.0000 -3.0000 2.0000 6.0000 -2.0000 0.0000 4.0000 4.0000 3.0000 3.0000 6.0000 4.0000 0.5000 6.2500 6.1250 6.0000 5.7500 6.0000 7.0000 1.0000 10.0000 10.0000 9.0000 10.0000 6.0000 10.0000 2.0000 22.0000 26.0000 15.0000 23.0000 6.0000 16.0000 Boundary condition 1 at right end. Y'(right) = 10.000000 SPLINE''(T), F''(T): 4.0000 4.0000 10.0000 10.0000 T, SPLINE(T), F(T) -1.0000 2.0000 2.0000 2.0000 2.0000 -2.0000 -2.0000 0.0000 4.0000 4.0000 3.0000 3.0000 4.0000 4.0000 0.5000 6.1250 6.1250 5.7500 5.7500 7.0000 7.0000 1.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 2.0000 26.0000 26.0000 23.0000 23.0000 16.0000 16.0000 Boundary condition 2 at right end. YP''(right) = 10.000000 SPLINE''(T), F''(T): 4.0000 4.0000 10.0000 10.0000 T, SPLINE(T), F(T) -1.0000 2.0000 2.0000 2.0000 2.0000 -2.0000 -2.0000 0.0000 4.0000 4.0000 3.0000 3.0000 4.0000 4.0000 0.5000 6.1250 6.1250 5.7500 5.7500 7.0000 7.0000 1.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 2.0000 26.0000 26.0000 23.0000 23.0000 16.0000 16.0000 Boundary condition 2 at left end. YP''(left) = 4.000000 Boundary condition 0 at right end. SPLINE''(T), F''(T): 4.0000 4.0000 4.0000 10.0000 T, SPLINE(T), F(T) -1.0000 2.0000 2.0000 0.0000 2.0000 4.0000 -2.0000 0.0000 4.0000 4.0000 4.0000 3.0000 4.0000 4.0000 0.5000 6.5000 6.1250 6.0000 5.7500 4.0000 7.0000 1.0000 10.0000 10.0000 8.0000 10.0000 4.0000 10.0000 2.0000 20.0000 26.0000 12.0000 23.0000 4.0000 16.0000 Boundary condition 1 at right end. Y'(right) = 10.000000 SPLINE''(T), F''(T): 4.0000 4.0000 10.0000 10.0000 T, SPLINE(T), F(T) -1.0000 2.0000 2.0000 2.0000 2.0000 -2.0000 -2.0000 0.0000 4.0000 4.0000 3.0000 3.0000 4.0000 4.0000 0.5000 6.1250 6.1250 5.7500 5.7500 7.0000 7.0000 1.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 2.0000 26.0000 26.0000 23.0000 23.0000 16.0000 16.0000 Boundary condition 2 at right end. YP''(right) = 10.000000 SPLINE''(T), F''(T): 4.0000 4.0000 10.0000 10.0000 T, SPLINE(T), F(T) -1.0000 2.0000 2.0000 2.0000 2.0000 -2.0000 -2.0000 0.0000 4.0000 4.0000 3.0000 3.0000 4.0000 4.0000 0.5000 6.1250 6.1250 5.7500 5.7500 7.0000 7.0000 1.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 2.0000 26.0000 26.0000 23.0000 23.0000 16.0000 16.0000 TEST10 SPLINE_CUBIC_SET sets up a cubic spline; SPLINE_CUBIC_VAL2 evaluates it. Runge's function, evenly spaced knots. T, Y 0 -1.0000 0.0385 1 -0.8000 0.0588 2 -0.6000 0.1000 3 -0.4000 0.2000 4 -0.2000 0.5000 5 0.0000 1.0000 6 0.2000 0.5000 7 0.4000 0.2000 8 0.6000 0.1000 9 0.8000 0.0588 10 1.0000 0.0385 Boundary condition 0 at both ends: Spline is quadratic in boundary intervals. SPLINE''(T), F''(T): 0.3234 0.2105 0.3234 0.4783 1.5052 1.3000 2.4794 4.4000 18.5773 12.5000 -46.7887 -50.0000 18.5773 12.5000 2.4794 4.4000 1.5052 1.3000 0.3234 0.4783 0.3234 0.2105 T, SPLINE(T), F(T), LEFT_IN, LEFT_OUT -2.0000 0.1307 0.0099 0 0 -1.0000 0.0385 0.0385 0 0 -0.9000 0.0470 0.0471 0 0 -0.8000 0.0588 0.0588 0 0 -0.7000 0.0748 0.0755 0 1 -0.6000 0.1000 0.1000 1 1 -0.5000 0.1400 0.1379 1 2 -0.4000 0.2000 0.2000 2 2 -0.3000 0.2974 0.3077 2 3 -0.2000 0.5000 0.5000 3 3 -0.1000 0.8205 0.8000 3 4 0.0000 1.0000 1.0000 4 4 0.1000 0.8205 0.8000 4 5 0.2000 0.5000 0.5000 5 5 0.3000 0.2974 0.3077 5 6 0.4000 0.2000 0.2000 6 6 0.5000 0.1400 0.1379 6 7 0.6000 0.1000 0.1000 7 7 0.7000 0.0748 0.0755 7 8 0.8000 0.0588 0.0588 8 8 0.9000 0.0470 0.0471 8 9 1.0000 0.0385 0.0385 9 9 2.0000 0.1307 0.0099 9 9 Boundary condition 1 at both ends: Y'(left) = 0.080000 Y'(right) = -0.080000 SPLINE''(T), F''(T): 0.1410 0.2105 0.3723 0.4783 1.4921 1.3000 2.4829 4.4000 18.5763 12.5000 -46.7882 -50.0000 18.5763 12.5000 2.4829 4.4000 1.4921 1.3000 0.3723 0.4783 0.1410 0.2105 T, SPLINE(T), F(T), LEFT_IN, LEFT_OUT -2.0000 -0.1637 0.0099 0 0 -1.0000 0.0385 0.0385 0 0 -0.9000 0.0474 0.0471 0 0 -0.8000 0.0588 0.0588 0 0 -0.7000 0.0748 0.0755 0 1 -0.6000 0.1000 0.1000 1 1 -0.5000 0.1401 0.1379 1 2 -0.4000 0.2000 0.2000 2 2 -0.3000 0.2974 0.3077 2 3 -0.2000 0.5000 0.5000 3 3 -0.1000 0.8205 0.8000 3 4 0.0000 1.0000 1.0000 4 4 0.1000 0.8205 0.8000 4 5 0.2000 0.5000 0.5000 5 5 0.3000 0.2974 0.3077 5 6 0.4000 0.2000 0.2000 6 6 0.5000 0.1401 0.1379 6 7 0.6000 0.1000 0.1000 7 7 0.7000 0.0748 0.0755 7 8 0.8000 0.0588 0.0588 8 8 0.9000 0.0474 0.0471 8 9 1.0000 0.0385 0.0385 9 9 2.0000 -0.1637 0.0099 9 9 Boundary condition 2 at both ends: YP''(left) = 0.210514 YP''(right) = 0.210514 SPLINE''(T), F''(T): 0.2105 0.2105 0.3536 0.4783 1.4971 1.3000 2.4816 4.4000 18.5767 12.5000 -46.7883 -50.0000 18.5767 12.5000 2.4816 4.4000 1.4971 1.3000 0.3536 0.4783 0.2105 0.2105 T, SPLINE(T), F(T), LEFT_IN, LEFT_OUT -2.0000 -0.0515 0.0099 0 0 -1.0000 0.0385 0.0385 0 0 -0.9000 0.0472 0.0471 0 0 -0.8000 0.0588 0.0588 0 0 -0.7000 0.0748 0.0755 0 1 -0.6000 0.1000 0.1000 1 1 -0.5000 0.1401 0.1379 1 2 -0.4000 0.2000 0.2000 2 2 -0.3000 0.2974 0.3077 2 3 -0.2000 0.5000 0.5000 3 3 -0.1000 0.8205 0.8000 3 4 0.0000 1.0000 1.0000 4 4 0.1000 0.8205 0.8000 4 5 0.2000 0.5000 0.5000 5 5 0.3000 0.2974 0.3077 5 6 0.4000 0.2000 0.2000 6 6 0.5000 0.1401 0.1379 6 7 0.6000 0.1000 0.1000 7 7 0.7000 0.0748 0.0755 7 8 0.8000 0.0588 0.0588 8 8 0.9000 0.0472 0.0471 8 9 1.0000 0.0385 0.0385 9 9 2.0000 -0.0515 0.0099 9 9 TEST11 SPLINE_OVERHAUSER_VAL evaluates the Overhauser spline. Data TDATA[I], YDATA[I], ZDATA[I] 1.000000 0.000000 0.000000 2.000000 1.000000 1.000000 3.000000 2.000000 -1.000000 4.000000 3.000000 0.000000 T, Spline value 0.000000 -1.000000 -4.000000 0.166667 -0.833333 -3.125000 0.333333 -0.666667 -2.333333 0.500000 -0.500000 -1.625000 0.666667 -0.333333 -1.000000 0.833333 -0.166667 -0.458333 1.000000 0.000000 0.000000 1.166667 0.166667 0.375000 1.333333 0.333333 0.666667 1.500000 0.500000 0.875000 1.666667 0.666667 1.000000 1.833333 0.833333 1.041667 2.000000 1.000000 1.000000 2.166667 1.166667 0.805555 2.333333 1.333333 0.444445 2.500000 1.500000 0.000000 2.666667 1.666667 -0.444445 2.833333 1.833333 -0.805555 3.000000 2.000000 -1.000000 3.166667 2.166667 -1.041667 3.333333 2.333333 -1.000000 3.500000 2.500000 -0.875000 3.666667 2.666667 -0.666667 3.833333 2.833333 -0.375000 4.000000 3.000000 0.000000 4.166667 3.166667 0.458333 4.333333 3.333333 1.000001 4.500000 3.500000 1.625000 TEST12 SPLINE_LINEAR_VAL evaluates a linear spline. Runge's function, evenly spaced knots. Data: T, Y -1.000000 0.038462 -0.800000 0.058824 -0.600000 0.100000 -0.400000 0.200000 -0.200000 0.500000 0.000000 1.000000 0.200000 0.500000 0.400000 0.200000 0.600000 0.100000 0.800000 0.058824 1.000000 0.038462 Interpolation: T, Y(Interp) -2.000000 -0.063348 -1.000000 0.038462 -0.900000 0.048643 -0.800000 0.058824 -0.700000 0.079412 -0.600000 0.100000 -0.500000 0.150000 -0.400000 0.200000 -0.300000 0.350000 -0.200000 0.500000 -0.100000 0.750000 0.000000 1.000000 0.100000 0.750000 0.200000 0.500000 0.300000 0.350000 0.400000 0.200000 0.500000 0.150000 0.600000 0.100000 0.700000 0.079412 0.800000 0.058824 0.900000 0.048643 1.000000 0.038462 2.000000 -0.063348 TEST13 SPLINE_HERMITE_SET sets up a Hermite spline; SPLINE_HERMITE_VAL evaluates it. Data TDATA(I), YDATA[I]. Y'DATA[I] 0.000000 0.000000 1.000000 0.523599 0.500000 0.866025 1.047198 0.866025 0.500000 1.570796 1.000000 0.000000 T, Spline value * 0.000000 0.000000 0.174533 0.173611 0.349066 0.341978 * 0.523599 0.500000 0.698132 0.642681 0.872665 0.765934 * 1.047198 0.866025 1.221730 0.939545 1.396263 0.984658 * 1.570796 1.000000 TEST14 SPLINE_B_VAL evaluates the B spline. TDATA YDATA 0.000000 0.000000 1.000000 0.587785 2.000000 0.951057 3.000000 0.951057 4.000000 0.587785 5.000000 0.000000 6.000000 -0.587785 7.000000 -0.951057 8.000000 -0.951057 9.000000 -0.587785 10.000000 0.000000 T, Spline(T) 0.500000 0.289215 0.625000 0.358230 0.750000 0.425053 0.875000 0.489244 * 0.000000 0.000000 0.250000 0.146362 0.500000 0.289215 0.750000 0.425053 * 1.000000 0.550366 1.250000 0.661871 1.500000 0.757175 1.750000 0.834112 * 2.000000 0.890511 2.250000 0.924568 2.500000 0.935920 2.750000 0.924568 * 3.000000 0.890511 3.250000 0.834112 3.500000 0.757175 3.750000 0.661871 * 4.000000 0.550366 4.250000 0.425053 4.500000 0.289215 4.750000 0.146362 * 5.000000 0.000000 5.250000 -0.146362 5.500000 -0.289215 5.750000 -0.425053 * 6.000000 -0.550366 6.250000 -0.661871 6.500000 -0.757175 6.750000 -0.834112 * 7.000000 -0.890511 7.250000 -0.924568 7.500000 -0.935920 7.750000 -0.924568 * 8.000000 -0.890511 8.250000 -0.834112 8.500000 -0.757175 8.750000 -0.661871 * 9.000000 -0.550366 9.250000 -0.425053 9.500000 -0.289215 9.750000 -0.146362 * 10.000000 0.000000 10.125000 0.073400 10.250000 0.146362 10.375000 0.218446 10.500000 0.289215 TEST15 SPLINE_BETA_VAL evaluates the BETA spline. TDATA YDATA 0.000000 0.000000 1.000000 0.587785 2.000000 0.951057 3.000000 0.951057 4.000000 0.587785 5.000000 0.000000 6.000000 -0.587785 7.000000 -0.951057 8.000000 -0.951057 9.000000 -0.587785 10.000000 0.000000 BETA1 = 1.000000 BETA2 = 0.000000 T, Spline(T) -0.500000 -0.289215 -0.375000 -0.218446 -0.250000 -0.146362 -0.125000 -0.073400 * 0.000000 0.000000 0.250000 0.146362 0.500000 0.289215 0.750000 0.425053 * 1.000000 0.550366 1.250000 0.661871 1.500000 0.757175 1.750000 0.834112 * 2.000000 0.890511 2.250000 0.924568 2.500000 0.935920 2.750000 0.924568 * 3.000000 0.890511 3.250000 0.834112 3.500000 0.757175 3.750000 0.661871 * 4.000000 0.550366 4.250000 0.425053 4.500000 0.289215 4.750000 0.146362 * 5.000000 0.000000 5.250000 -0.146362 5.500000 -0.289215 5.750000 -0.425053 * 6.000000 -0.550366 6.250000 -0.661871 6.500000 -0.757175 6.750000 -0.834112 * 7.000000 -0.890511 7.250000 -0.924568 7.500000 -0.935920 7.750000 -0.924568 * 8.000000 -0.890511 8.250000 -0.834112 8.500000 -0.757175 8.750000 -0.661871 * 9.000000 -0.550366 9.250000 -0.425053 9.500000 -0.289215 9.750000 -0.146362 * 10.000000 0.000000 10.125000 0.073400 10.250000 0.146362 10.375000 0.218446 10.500000 0.289215 BETA1 = 1.000000 BETA2 = 100.000000 T, Spline(T) -0.500000 0.493821 -0.375000 0.253349 -0.250000 0.099120 -0.125000 0.018786 * 0.000000 0.000000 0.250000 0.097683 0.500000 0.293391 0.750000 0.488348 * 1.000000 0.583776 1.250000 0.646403 1.500000 0.768109 1.750000 0.887847 * 2.000000 0.944570 2.250000 0.948218 2.500000 0.949435 2.750000 0.948218 * 3.000000 0.944570 3.250000 0.887847 3.500000 0.768109 3.750000 0.646403 * 4.000000 0.583776 4.250000 0.488348 4.500000 0.293391 4.750000 0.097683 * 5.000000 0.000000 5.250000 -0.097683 5.500000 -0.293391 5.750000 -0.488348 * 6.000000 -0.583776 6.250000 -0.646403 6.500000 -0.768109 6.750000 -0.887847 * 7.000000 -0.944570 7.250000 -0.948218 7.500000 -0.949435 7.750000 -0.948218 * 8.000000 -0.944570 8.250000 -0.887847 8.500000 -0.768109 8.750000 -0.646403 * 9.000000 -0.583776 9.250000 -0.488348 9.500000 -0.293391 9.750000 -0.097683 * 10.000000 0.000000 10.125000 -0.018786 10.250000 -0.099120 10.375000 -0.253349 10.500000 -0.493821 BETA1 = 100.000000 BETA2 = 0.000000 T, Spline(T) -0.500000 -1.939532 -0.375000 -1.495083 -0.250000 -1.124158 -0.125000 -0.820073 * 0.000000 -0.576146 0.250000 -0.242029 0.500000 -0.068338 0.750000 -0.001604 * 1.000000 0.011639 1.250000 0.345362 1.500000 0.518042 1.750000 0.583355 * 2.000000 0.594978 2.250000 0.800836 2.500000 0.906547 2.750000 0.945493 * 3.000000 0.951056 3.250000 0.950418 3.500000 0.948782 3.750000 0.946484 * 4.000000 0.943863 4.250000 0.736973 4.500000 0.628614 4.750000 0.585951 * 5.000000 0.576146 5.250000 0.242029 5.500000 0.068338 5.750000 0.001604 * 6.000000 -0.011639 6.250000 -0.345362 6.500000 -0.518042 6.750000 -0.583355 * 7.000000 -0.594978 7.250000 -0.800836 7.500000 -0.906547 7.750000 -0.945493 * 8.000000 -0.951056 8.250000 -0.950418 8.500000 -0.948782 8.750000 -0.946484 * 9.000000 -0.943863 9.250000 -0.736973 9.500000 -0.628614 9.750000 -0.585951 * 10.000000 -0.576146 10.125000 -0.573304 10.250000 -0.566362 10.375000 -0.551217 10.500000 -0.523763 SPLINE_PRB Normal end of SPLINE tests.