13 September 2021 8:48:23.818 AM HERMITE_CUBIC_TEST FORTRAN90 version Test HERMITE_CUBIC(). HERMITE_CUBIC_TEST01: HERMITE_CUBIC_VALUE evaluates a Hermite cubic polynomial. Try out four sets of data: (F1,D1,F2,D2) = (1,0,0,0), (0,1,0,0), (0,0,1,0), (0,0,0,1) on [0,1] and [1.0,-2.0] (interval reversed) J X F D -3 -0.3000 0.6760 2.3400 -2 -0.2000 0.8640 1.4400 -1 -0.1000 0.9680 0.6600 *Data 0.0000 1.0000 0.0000 0 0.0000 1.0000 0.0000 1 0.1000 0.9720 -0.5400 2 0.2000 0.8960 -0.9600 3 0.3000 0.7840 -1.2600 4 0.4000 0.6480 -1.4400 5 0.5000 0.5000 -1.5000 6 0.6000 0.3520 -1.4400 7 0.7000 0.2160 -1.2600 8 0.8000 0.1040 -0.9600 9 0.9000 0.0280 -0.5400 10 1.0000 0.0000 0.0000 *Data 1.0000 0.0000 0.0000 11 1.1000 0.0320 0.6600 12 1.2000 0.1360 1.4400 J X F D -3 -0.3000 -0.5070 2.4700 -2 -0.2000 -0.2880 1.9200 -1 -0.1000 -0.1210 1.4300 *Data 0.0000 0.0000 1.0000 0 0.0000 0.0000 1.0000 1 0.1000 0.0810 0.6300 2 0.2000 0.1280 0.3200 3 0.3000 0.1470 0.0700 4 0.4000 0.1440 -0.1200 5 0.5000 0.1250 -0.2500 6 0.6000 0.0960 -0.3200 7 0.7000 0.0630 -0.3300 8 0.8000 0.0320 -0.2800 9 0.9000 0.0090 -0.1700 10 1.0000 0.0000 0.0000 *Data 1.0000 0.0000 0.0000 11 1.1000 0.0110 0.2300 12 1.2000 0.0480 0.5200 J X F D -3 -0.3000 0.3240 -2.3400 -2 -0.2000 0.1360 -1.4400 -1 -0.1000 0.0320 -0.6600 *Data 0.0000 0.0000 0.0000 0 0.0000 0.0000 0.0000 1 0.1000 0.0280 0.5400 2 0.2000 0.1040 0.9600 3 0.3000 0.2160 1.2600 4 0.4000 0.3520 1.4400 5 0.5000 0.5000 1.5000 6 0.6000 0.6480 1.4400 7 0.7000 0.7840 1.2600 8 0.8000 0.8960 0.9600 9 0.9000 0.9720 0.5400 10 1.0000 1.0000 0.0000 *Data 1.0000 1.0000 0.0000 11 1.1000 0.9680 -0.6600 12 1.2000 0.8640 -1.4400 J X F D -3 -0.3000 -0.1170 0.8700 -2 -0.2000 -0.0480 0.5200 -1 -0.1000 -0.0110 0.2300 *Data 0.0000 0.0000 0.0000 0 0.0000 0.0000 0.0000 1 0.1000 -0.0090 -0.1700 2 0.2000 -0.0320 -0.2800 3 0.3000 -0.0630 -0.3300 4 0.4000 -0.0960 -0.3200 5 0.5000 -0.1250 -0.2500 6 0.6000 -0.1440 -0.1200 7 0.7000 -0.1470 0.0700 8 0.8000 -0.1280 0.3200 9 0.9000 -0.0810 0.6300 10 1.0000 0.0000 1.0000 *Data 1.0000 0.0000 1.0000 11 1.1000 0.1210 1.4300 12 1.2000 0.2880 1.9200 J X F D -3 1.9000 0.6760 -0.7800 -2 1.6000 0.8640 -0.4800 -1 1.3000 0.9680 -0.2200 *Data 1.0000 1.0000 0.0000 0 1.0000 1.0000 0.0000 1 0.7000 0.9720 0.1800 2 0.4000 0.8960 0.3200 3 0.1000 0.7840 0.4200 4 -0.2000 0.6480 0.4800 5 -0.5000 0.5000 0.5000 6 -0.8000 0.3520 0.4800 7 -1.1000 0.2160 0.4200 8 -1.4000 0.1040 0.3200 9 -1.7000 0.0280 0.1800 10 -2.0000 0.0000 0.0000 *Data -2.0000 0.0000 0.0000 11 -2.3000 0.0320 -0.2200 12 -2.6000 0.1360 -0.4800 J X F D -3 1.9000 1.5210 2.4700 -2 1.6000 0.8640 1.9200 -1 1.3000 0.3630 1.4300 *Data 1.0000 0.0000 1.0000 0 1.0000 0.0000 1.0000 1 0.7000 -0.2430 0.6300 2 0.4000 -0.3840 0.3200 3 0.1000 -0.4410 0.0700 4 -0.2000 -0.4320 -0.1200 5 -0.5000 -0.3750 -0.2500 6 -0.8000 -0.2880 -0.3200 7 -1.1000 -0.1890 -0.3300 8 -1.4000 -0.0960 -0.2800 9 -1.7000 -0.0270 -0.1700 10 -2.0000 0.0000 0.0000 *Data -2.0000 0.0000 0.0000 11 -2.3000 -0.0330 0.2300 12 -2.6000 -0.1440 0.5200 J X F D -3 1.9000 0.3240 0.7800 -2 1.6000 0.1360 0.4800 -1 1.3000 0.0320 0.2200 *Data 1.0000 0.0000 0.0000 0 1.0000 0.0000 0.0000 1 0.7000 0.0280 -0.1800 2 0.4000 0.1040 -0.3200 3 0.1000 0.2160 -0.4200 4 -0.2000 0.3520 -0.4800 5 -0.5000 0.5000 -0.5000 6 -0.8000 0.6480 -0.4800 7 -1.1000 0.7840 -0.4200 8 -1.4000 0.8960 -0.3200 9 -1.7000 0.9720 -0.1800 10 -2.0000 1.0000 0.0000 *Data -2.0000 1.0000 0.0000 11 -2.3000 0.9680 0.2200 12 -2.6000 0.8640 0.4800 J X F D -3 1.9000 0.3510 0.8700 -2 1.6000 0.1440 0.5200 -1 1.3000 0.0330 0.2300 *Data 1.0000 0.0000 0.0000 0 1.0000 0.0000 0.0000 1 0.7000 0.0270 -0.1700 2 0.4000 0.0960 -0.2800 3 0.1000 0.1890 -0.3300 4 -0.2000 0.2880 -0.3200 5 -0.5000 0.3750 -0.2500 6 -0.8000 0.4320 -0.1200 7 -1.1000 0.4410 0.0700 8 -1.4000 0.3840 0.3200 9 -1.7000 0.2430 0.6300 10 -2.0000 0.0000 1.0000 *Data -2.0000 0.0000 1.0000 11 -2.3000 -0.3630 1.4300 12 -2.6000 -0.8640 1.9200 HERMITE_CUBIC_TEST02: HERMITE_CUBIC_VALUE evaluates a Hermite cubic polynomial. Try out data from a cubic function: on [0,10] and [-1.0,1.0] and [0.5,0.75] J X F D S T Exact -3.0000 -120.0000 79.0000 -32.0000 6.0000 -3 -3.0000 -120.0000 79.0000 -32.0000 6.0000 Exact -2.0000 -56.0000 50.0000 -26.0000 6.0000 -2 -2.0000 -56.0000 50.0000 -26.0000 6.0000 Exact -1.0000 -18.0000 27.0000 -20.0000 6.0000 -1 -1.0000 -18.0000 27.0000 -20.0000 6.0000 *Data 0.0000 0.0000 10.0000 Exact 0.0000 0.0000 10.0000 -14.0000 6.0000 0 0.0000 0.0000 10.0000 -14.0000 6.0000 Exact 1.0000 4.0000 -1.0000 -8.0000 6.0000 1 1.0000 4.0000 -1.0000 -8.0000 6.0000 Exact 2.0000 0.0000 -6.0000 -2.0000 6.0000 2 2.0000 0.0000 -6.0000 -2.0000 6.0000 Exact 3.0000 -6.0000 -5.0000 4.0000 6.0000 3 3.0000 -6.0000 -5.0000 4.0000 6.0000 Exact 4.0000 -8.0000 2.0000 10.0000 6.0000 4 4.0000 -8.0000 2.0000 10.0000 6.0000 Exact 5.0000 0.0000 15.0000 16.0000 6.0000 5 5.0000 0.0000 15.0000 16.0000 6.0000 Exact 6.0000 24.0000 34.0000 22.0000 6.0000 6 6.0000 24.0000 34.0000 22.0000 6.0000 Exact 7.0000 70.0000 59.0000 28.0000 6.0000 7 7.0000 70.0000 59.0000 28.0000 6.0000 Exact 8.0000 144.0000 90.0000 34.0000 6.0000 8 8.0000 144.0000 90.0000 34.0000 6.0000 Exact 9.0000 252.0000 127.0000 40.0000 6.0000 9 9.0000 252.0000 127.0000 40.0000 6.0000 Exact 10.0000 400.0000 170.0000 46.0000 6.0000 10 10.0000 400.0000 170.0000 46.0000 6.0000 *Data 10.0000 400.0000 170.0000 Exact 11.0000 594.0000 219.0000 52.0000 6.0000 11 11.0000 594.0000 219.0000 52.0000 6.0000 Exact 12.0000 840.0000 274.0000 58.0000 6.0000 12 12.0000 840.0000 274.0000 58.0000 6.0000 J X F D S T Exact -1.6000 -38.0160 40.0800 -23.6000 6.0000 -3 -1.6000 -38.0160 40.0800 -23.6000 6.0000 Exact -1.4000 -30.4640 35.4800 -22.4000 6.0000 -2 -1.4000 -30.4640 35.4800 -22.4000 6.0000 Exact -1.2000 -23.8080 31.1200 -21.2000 6.0000 -1 -1.2000 -23.8080 31.1200 -21.2000 6.0000 *Data -1.0000 -18.0000 27.0000 Exact -1.0000 -18.0000 27.0000 -20.0000 6.0000 0 -1.0000 -18.0000 27.0000 -20.0000 6.0000 Exact -0.8000 -12.9920 23.1200 -18.8000 6.0000 1 -0.8000 -12.9920 23.1200 -18.8000 6.0000 Exact -0.6000 -8.7360 19.4800 -17.6000 6.0000 2 -0.6000 -8.7360 19.4800 -17.6000 6.0000 Exact -0.4000 -5.1840 16.0800 -16.4000 6.0000 3 -0.4000 -5.1840 16.0800 -16.4000 6.0000 Exact -0.2000 -2.2880 12.9200 -15.2000 6.0000 4 -0.2000 -2.2880 12.9200 -15.2000 6.0000 Exact 0.0000 0.0000 10.0000 -14.0000 6.0000 5 0.0000 0.0000 10.0000 -14.0000 6.0000 Exact 0.2000 1.7280 7.3200 -12.8000 6.0000 6 0.2000 1.7280 7.3200 -12.8000 6.0000 Exact 0.4000 2.9440 4.8800 -11.6000 6.0000 7 0.4000 2.9440 4.8800 -11.6000 6.0000 Exact 0.6000 3.6960 2.6800 -10.4000 6.0000 8 0.6000 3.6960 2.6800 -10.4000 6.0000 Exact 0.8000 4.0320 0.7200 -9.2000 6.0000 9 0.8000 4.0320 0.7200 -9.2000 6.0000 Exact 1.0000 4.0000 -1.0000 -8.0000 6.0000 10 1.0000 4.0000 -1.0000 -8.0000 6.0000 *Data 1.0000 4.0000 -1.0000 Exact 1.2000 3.6480 -2.4800 -6.8000 6.0000 11 1.2000 3.6480 -2.4800 -6.8000 6.0000 Exact 1.4000 3.0240 -3.7200 -5.6000 6.0000 12 1.4000 3.0240 -3.7200 -5.6000 6.0000 J X F D S T Exact 0.4250 3.0624 4.5919 -11.4500 6.0000 -3 0.4250 3.0624 4.5919 -11.4500 6.0000 Exact 0.4500 3.1736 4.3075 -11.3000 6.0000 -2 0.4500 3.1736 4.3075 -11.3000 6.0000 Exact 0.4750 3.2778 4.0269 -11.1500 6.0000 -1 0.4750 3.2778 4.0269 -11.1500 6.0000 *Data 0.5000 3.3750 3.7500 Exact 0.5000 3.3750 3.7500 -11.0000 6.0000 0 0.5000 3.3750 3.7500 -11.0000 6.0000 Exact 0.5250 3.4653 3.4769 -10.8500 6.0000 1 0.5250 3.4653 3.4769 -10.8500 6.0000 Exact 0.5500 3.5489 3.2075 -10.7000 6.0000 2 0.5500 3.5489 3.2075 -10.7000 6.0000 Exact 0.5750 3.6257 2.9419 -10.5500 6.0000 3 0.5750 3.6257 2.9419 -10.5500 6.0000 Exact 0.6000 3.6960 2.6800 -10.4000 6.0000 4 0.6000 3.6960 2.6800 -10.4000 6.0000 Exact 0.6250 3.7598 2.4219 -10.2500 6.0000 5 0.6250 3.7598 2.4219 -10.2500 6.0000 Exact 0.6500 3.8171 2.1675 -10.1000 6.0000 6 0.6500 3.8171 2.1675 -10.1000 6.0000 Exact 0.6750 3.8682 1.9169 -9.9500 6.0000 7 0.6750 3.8682 1.9169 -9.9500 6.0000 Exact 0.7000 3.9130 1.6700 -9.8000 6.0000 8 0.7000 3.9130 1.6700 -9.8000 6.0000 Exact 0.7250 3.9517 1.4269 -9.6500 6.0000 9 0.7250 3.9517 1.4269 -9.6500 6.0000 Exact 0.7500 3.9844 1.1875 -9.5000 6.0000 10 0.7500 3.9844 1.1875 -9.5000 6.0000 *Data 0.7500 3.9844 1.1875 Exact 0.7750 4.0111 0.9519 -9.3500 6.0000 11 0.7750 4.0111 0.9519 -9.3500 6.0000 Exact 0.8000 4.0320 0.7200 -9.2000 6.0000 12 0.8000 4.0320 0.7200 -9.2000 6.0000 HERMITE_CUBIC_TEST03: HERMITE_CUBIC_INTEGRATE integrates a Hermite cubic polynomial from A to B. Exact Computed J A B Integral Integral -3 -1.0000 -3.0000 120.667 120.667 -2 -1.0000 -2.0000 35.0833 35.0833 -1 -1.0000 -1.0000 0.00000 0.00000 0 -1.0000 0.0000 -7.58333 -7.58333 1 -1.0000 1.0000 -4.66667 -4.66667 2 -1.0000 2.0000 -2.25000 -2.25000 3 -1.0000 3.0000 -5.33333 -5.33333 4 -1.0000 4.0000 -12.9167 -12.9167 5 -1.0000 5.0000 -18.0000 -18.0000 6 -1.0000 6.0000 -7.58333 -7.58333 7 -1.0000 7.0000 37.3333 37.3333 8 -1.0000 8.0000 141.750 141.750 9 -1.0000 9.0000 336.667 336.667 10 -1.0000 10.0000 659.083 659.083 11 -1.0000 11.0000 1152.00 1152.00 12 -1.0000 12.0000 1864.42 1864.42 Exact Computed J A B Integral Integral -3 -2.0000 -1.6000 -18.6709 -18.6709 -2 -2.0000 -1.4000 -25.5036 -25.5036 -1 -2.0000 -1.2000 -30.9163 -30.9163 0 -2.0000 -1.0000 -35.0833 -35.0833 1 -2.0000 -0.8000 -38.1696 -38.1696 2 -2.0000 -0.6000 -40.3303 -40.3303 3 -2.0000 -0.4000 -41.7109 -41.7109 4 -2.0000 -0.2000 -42.4476 -42.4476 5 -2.0000 0.0000 -42.6667 -42.6667 6 -2.0000 0.2000 -42.4849 -42.4849 7 -2.0000 0.4000 -42.0096 -42.0096 8 -2.0000 0.6000 -41.3383 -41.3383 9 -2.0000 0.8000 -40.5589 -40.5589 10 -2.0000 1.0000 -39.7500 -39.7500 11 -2.0000 1.2000 -38.9803 -38.9803 12 -2.0000 1.4000 -38.3089 -38.3089 Exact Computed J A B Integral Integral -3 -0.5000 0.4250 -0.825130 -0.825130 -2 -0.5000 0.4500 -0.747165 -0.747165 -1 -0.5000 0.4750 -0.666508 -0.666508 0 -0.5000 0.5000 -0.583333 -0.583333 1 -0.5000 0.5250 -0.497815 -0.497815 2 -0.5000 0.5500 -0.410123 -0.410123 3 -0.5000 0.5750 -0.320427 -0.320427 4 -0.5000 0.6000 -0.228892 -0.228892 5 -0.5000 0.6250 -0.135681 -0.135681 6 -0.5000 0.6500 -0.409568E-01 -0.409568E-01 7 -0.5000 0.6750 0.551225E-01 0.551225E-01 8 -0.5000 0.7000 0.152400 0.152400 9 -0.5000 0.7250 0.250721 0.250721 10 -0.5000 0.7500 0.349935 0.349935 11 -0.5000 0.7750 0.449891 0.449891 12 -0.5000 0.8000 0.550442 0.550442 HERMITE_CUBIC_TEST04: HERMITE_CUBIC_SPLINE_VALUE evaluates a Hermite cubic spline. I X F computed F exact Error 1 0.0000 0.0000 0.0000 0.00000 2 0.2000 0.1982 0.1987 0.446022E-03 3 0.4000 0.3883 0.3894 0.108958E-02 4 0.6000 0.5635 0.5646 0.117281E-02 5 0.8000 0.7168 0.7174 0.556784E-03 6 1.0000 0.8415 0.8415 0.222045E-15 7 1.2000 0.9310 0.9320 0.103876E-02 8 1.4000 0.9831 0.9854 0.235021E-02 9 1.6000 0.9972 0.9996 0.235692E-02 10 1.8000 0.9728 0.9738 0.104769E-02 11 2.0000 0.9093 0.9093 0.00000 12 2.2000 0.8078 0.8085 0.676464E-03 13 2.4000 0.6740 0.6755 0.145007E-02 14 2.6000 0.5141 0.5155 0.137409E-02 15 2.8000 0.3344 0.3350 0.575350E-03 16 3.0000 0.1411 0.1411 0.138778E-15 17 3.2000 -0.0581 -0.0584 0.307767E-03 18 3.4000 -0.2548 -0.2555 0.783257E-03 19 3.6000 -0.4416 -0.4425 0.872071E-03 20 3.8000 -0.6114 -0.6119 0.425960E-03 21 4.0000 -0.7568 -0.7568 0.111022E-15 22 4.2000 -0.8706 -0.8716 0.100904E-02 23 4.4000 -0.9493 -0.9516 0.229646E-02 24 4.6000 -0.9914 -0.9937 0.231645E-02 25 4.8000 -0.9951 -0.9962 0.103564E-02 26 5.0000 -0.9589 -0.9589 0.00000 27 5.2000 -0.8827 -0.8835 0.782604E-03 28 5.4000 -0.7711 -0.7728 0.169831E-02 29 5.6000 -0.6296 -0.6313 0.163110E-02 30 5.8000 -0.4639 -0.4646 0.693162E-03 31 6.0000 -0.2794 -0.2794 0.111022E-15 32 6.2000 -0.0833 -0.0831 0.163353E-03 33 6.4000 0.1161 0.1165 0.461260E-03 34 6.6000 0.3110 0.3115 0.553880E-03 35 6.8000 0.4938 0.4941 0.286610E-03 36 7.0000 0.6570 0.6570 0.00000 37 7.2000 0.7927 0.7937 0.959124E-03 38 7.4000 0.8965 0.8987 0.219675E-02 39 7.6000 0.9657 0.9679 0.222962E-02 40 7.8000 0.9975 0.9985 0.100287E-02 41 8.0000 0.9894 0.9894 0.00000 42 8.2000 0.9399 0.9407 0.873081E-03 43 8.4000 0.8527 0.8546 0.191256E-02 44 8.6000 0.7325 0.7344 0.185546E-02 45 8.8000 0.5841 0.5849 0.797100E-03 46 9.0000 0.4121 0.4121 0.166533E-15 47 9.2000 0.2229 0.2229 0.156686E-04 48 9.4000 0.0249 0.0248 0.130031E-03 49 9.6000 -0.1741 -0.1743 0.224603E-03 50 9.8000 -0.3663 -0.3665 0.141524E-03 51 10.0000 -0.5440 -0.5440 0.222045E-15 I X D computed D exact Error 1 0.0000 1.0000 1.0000 0.00000 2 0.2000 0.9765 0.9801 0.353908E-02 3 0.4000 0.9188 0.9211 0.223951E-02 4 0.6000 0.8269 0.8253 0.154633E-02 5 0.8000 0.7007 0.6967 0.400217E-02 6 1.0000 0.5403 0.5403 0.444089E-15 7 1.2000 0.3545 0.3624 0.782652E-02 8 1.4000 0.1660 0.1700 0.396636E-02 9 1.6000 -0.0253 -0.0292 0.391048E-02 10 1.8000 -0.2193 -0.2272 0.786385E-02 11 2.0000 -0.4161 -0.4161 0.555112E-16 12 2.2000 -0.5934 -0.5885 0.491829E-02 13 2.4000 -0.7394 -0.7374 0.204655E-02 14 2.6000 -0.8542 -0.8569 0.267936E-02 15 2.8000 -0.9377 -0.9422 0.449553E-02 16 3.0000 -0.9900 -0.9900 0.222045E-15 17 3.2000 -0.9958 -0.9983 0.251179E-02 18 3.4000 -0.9650 -0.9668 0.175485E-02 19 3.6000 -0.8978 -0.8968 0.101516E-02 20 3.8000 -0.7940 -0.7910 0.300595E-02 21 4.0000 -0.6536 -0.6536 0.222045E-15 22 4.2000 -0.4826 -0.4903 0.763254E-02 23 4.4000 -0.3034 -0.3073 0.394284E-02 24 4.6000 -0.1159 -0.1122 0.377634E-02 25 4.8000 0.0798 0.0875 0.774378E-02 26 5.0000 0.2837 0.2837 0.555112E-16 27 5.2000 0.4743 0.4685 0.573597E-02 28 5.4000 0.6372 0.6347 0.250581E-02 29 5.6000 0.7725 0.7756 0.306557E-02 30 5.8000 0.8802 0.8855 0.536201E-02 31 6.0000 0.9602 0.9602 0.111022E-15 32 6.2000 0.9951 0.9965 0.143422E-02 33 6.4000 0.9919 0.9932 0.123505E-02 34 6.6000 0.9507 0.9502 0.463665E-03 35 6.8000 0.8713 0.8694 0.194956E-02 36 7.0000 0.7539 0.7539 0.00000 37 7.2000 0.6011 0.6084 0.728580E-02 38 7.4000 0.4347 0.4385 0.384041E-02 39 7.6000 0.2548 0.2513 0.356661E-02 40 7.8000 0.0614 0.0540 0.746872E-02 41 8.0000 -0.1455 -0.1455 0.00000 42 8.2000 -0.3456 -0.3392 0.643885E-02 43 8.4000 -0.5222 -0.5193 0.291491E-02 44 8.6000 -0.6753 -0.6787 0.339043E-02 45 8.8000 -0.8050 -0.8111 0.612117E-02 46 9.0000 -0.9111 -0.9111 0.333067E-15 47 9.2000 -0.9745 -0.9748 0.327953E-03 48 9.4000 -0.9990 -0.9997 0.690544E-03 49 9.6000 -0.9846 -0.9847 0.971047E-04 50 9.8000 -0.9313 -0.9304 0.854156E-03 51 10.0000 -0.8391 -0.8391 0.777156E-15 HERMITE_CUBIC_TEST05: HERMITE_CUBIC_TO_POWER_CUBIC converts the Hermite data to the coefficients of the power form of the polynomial POWER_CUBIC_TO_HERMITE_CUBIC converts the power form to Hermite form Hermite data: X1, F1, D1: -1.0000 -18.0000 27.0000 X2, F2, D2: 1.0000 4.0000 -1.0000 Power form: p(x) = 0.000 + 10.000 * x + -7.000 * x^2 + 1.000 * x^3 X F (Hermite) F (power) -1.6000 -38.0160 -38.0160 -1.4000 -30.4640 -30.4640 -1.2000 -23.8080 -23.8080 -1.0000 -18.0000 -18.0000 -0.8000 -12.9920 -12.9920 -0.6000 -8.7360 -8.7360 -0.4000 -5.1840 -5.1840 -0.2000 -2.2880 -2.2880 0.0000 0.0000 0.0000 0.2000 1.7280 1.7280 0.4000 2.9440 2.9440 0.6000 3.6960 3.6960 0.8000 4.0320 4.0320 1.0000 4.0000 4.0000 1.2000 3.6480 3.6480 1.4000 3.0240 3.0240 Use POWER_CUBIC_TO_HERMITE_CUBIC to recover the original Hermite data: Original Recovered F1: -18.0000 -18.0000 D1: 27.0000 27.0000 F2: 4.0000 4.0000 D2: -1.0000 -1.0000 HERMITE_CUBIC_TEST06: HERMITE_CUBIC_INTEGRATE integrates a Hermite cubic polynomial from A to B. Use A, B vectors for the calculation. Exact Computed J A B Integral Integral -3 -1.0000 -3.0000 120.667 120.667 -2 -1.0000 -2.0000 35.0833 35.0833 -1 -1.0000 -1.0000 0.00000 0.00000 0 -1.0000 0.0000 -7.58333 -7.58333 1 -1.0000 1.0000 -4.66667 -4.66667 2 -1.0000 2.0000 -2.25000 -2.25000 3 -1.0000 3.0000 -5.33333 -5.33333 4 -1.0000 4.0000 -12.9167 -12.9167 5 -1.0000 5.0000 -18.0000 -18.0000 6 -1.0000 6.0000 -7.58333 -7.58333 7 -1.0000 7.0000 37.3333 37.3333 8 -1.0000 8.0000 141.750 141.750 9 -1.0000 9.0000 336.667 336.667 10 -1.0000 10.0000 659.083 659.083 11 -1.0000 11.0000 1152.00 1152.00 12 -1.0000 12.0000 1864.42 1864.42 HERMITE_CUBIC_TEST07: HERMITE_CUBIC_INTEGRAL integrates a Hermite cubic polynomial over the definition interval [X1,X2]. Exact Computed X1 X2 Integral Integral 0.0000 10.0000 666.667 666.667 -1.0000 1.0000 -4.66667 -4.66667 0.5000 0.7500 0.933268 0.933268 HERMITE_CUBIC_TEST08: HERMITE_CUBIC_SPLINE_INTEGRAL integrates a Hermite cubic spline over the definition interval [X1,XNN]. Exact Computed X1 XNN Integral Integral 0.0000 1.0000 -0.166667 -0.166667 0.0000 1.0000 -0.166667 -0.166667 0.0000 3.1416 2.00000 1.99997 HERMITE_CUBIC_TEST09: HERMITE_CUBIC_SPLINE_INTEGRATE integrates a Hermite cubic spline from A to B. Exact Computed I A B Integral Integral 1 2.5000 -1.0000 3.02604 3.02604 2 2.5000 -0.5000 -3.00000 -3.00000 3 2.5000 0.0000 -4.55729 -4.55729 4 2.5000 0.5000 -3.58333 -3.58333 5 2.5000 1.0000 -1.64062 -1.64062 6 2.5000 1.5000 0.833333E-01 0.833333E-01 7 2.5000 2.0000 0.776042 0.776042 8 2.5000 2.5000 0.00000 0.00000 9 2.5000 3.0000 -2.30729 -2.30729 10 2.5000 3.5000 -5.83333 -5.83333 11 2.5000 4.0000 -9.89063 -9.89062 12 2.5000 4.5000 -13.4167 -13.4167 13 2.5000 5.0000 -14.9740 -14.9740 14 2.5000 5.5000 -12.7500 -12.7500 15 2.5000 6.0000 -4.55729 -4.55729 16 2.5000 6.5000 12.1667 12.1667 17 2.5000 7.0000 40.3594 40.3594 18 2.5000 7.5000 83.3333 83.3333 19 2.5000 8.0000 144.776 144.776 20 2.5000 8.5000 228.750 228.750 21 2.5000 9.0000 339.693 339.693 22 2.5000 9.5000 482.417 482.417 23 2.5000 10.0000 662.109 662.109 24 2.5000 10.5000 884.333 884.333 25 2.5000 11.0000 1155.03 1155.03 HERMITE_CUBIC_TEST10: HERMITE_CUBIC_SPLINE_INTEGRAL integrates a Hermite cubic spline over the definition interval [X1,XNN]. If the subintervals are equally spaced, the derivative information has no effect on the result, except for the first and last values, DN(1) and DN(NN). Exact Computed X1 XNN Integral Integral Comment 0.0000 3.1416 2.00000 1.99997 Equal spacing, correct DN 0.0000 3.1416 2.00000 1.99997 Equal spacing, DN(2:N-1) random 0.0000 3.1416 2.00000 4.29071 Equal spacing, DN(1:N) random 0.0000 3.1416 2.00000 1.99935 Variable spacing, correct DN 0.0000 3.1416 2.00000 1.32985 Variable spacing, a single internal DN randomized. HERMITE_CUBIC_TEST11: HERMITE_CUBIC_LAGRANGE_VALUE evaluates the four Lagrange basis functions associated with F1, D1, F2 and D2 such that P(X) = F1 * LF1(X) + D1 * LD1(X) + F2 * LF2(X) + D2 * LD2(X). The first, second and third derivatives of these four Lagrange basis functions are also computed. The Lagrange basis functions: I X LF1 LD1 LF2 LD2 1 0.0000 -4.0000 -4.0000 5.0000 -2.0000 2 0.2500 -1.5312 -2.2969 2.5312 -0.9844 3 0.5000 0.0000 -1.1250 1.0000 -0.3750 4 0.7500 0.7812 -0.3906 0.2188 -0.0781 5 1.0000 1.0000 0.0000 0.0000 -0.0000 6 1.2500 0.8438 0.1406 0.1562 -0.0469 7 1.5000 0.5000 0.1250 0.5000 -0.1250 8 1.7500 0.1562 0.0469 0.8438 -0.1406 9 2.0000 0.0000 0.0000 1.0000 0.0000 10 2.2500 0.2188 0.0781 0.7812 0.3906 11 2.5000 1.0000 0.3750 0.0000 1.1250 The derivative of the Lagrange basis functions: I X LF1 LD1 LF2 LD2 1 0.0000 12.0000 8.0000 -12.0000 5.0000 2 0.2500 7.8750 5.6875 -7.8750 3.1875 3 0.5000 4.5000 3.7500 -4.5000 1.7500 4 0.7500 1.8750 2.1875 -1.8750 0.6875 5 1.0000 -0.0000 1.0000 0.0000 -0.0000 6 1.2500 -1.1250 0.1875 1.1250 -0.3125 7 1.5000 -1.5000 -0.2500 1.5000 -0.2500 8 1.7500 -1.1250 -0.3125 1.1250 0.1875 9 2.0000 0.0000 0.0000 0.0000 1.0000 10 2.2500 1.8750 0.6875 -1.8750 2.1875 11 2.5000 4.5000 1.7500 -4.5000 3.7500 HERMITE_CUBIC_TEST12: HERMITE_CUBIC_LAGRANGE_INTEGRAL returns the integrals of the four Lagrange basis functions associated with F1, D1, F2 and D2 such that P(X) = F1 * LF1(X) + D1 * LD1(X) + F2 * LF2(X) + D2 * LD2(X). The Lagrange basis function integrals: X1 X2 LF1 LD1 LF2 LD2 -6.0000 1.0000 3.5000 4.0833 3.5000 -4.0833 -5.0000 1.0000 3.0000 3.0000 3.0000 -3.0000 -4.0000 1.0000 2.5000 2.0833 2.5000 -2.0833 -3.0000 1.0000 2.0000 1.3333 2.0000 -1.3333 -2.0000 1.0000 1.5000 0.7500 1.5000 -0.7500 -1.0000 1.0000 1.0000 0.3333 1.0000 -0.3333 0.0000 1.0000 0.5000 0.0833 0.5000 -0.0833 1.0000 1.0000 0.0000 0.0000 0.0000 -0.0000 2.0000 1.0000 -0.5000 0.0833 -0.5000 -0.0833 HERMITE_CUBIC_TEST13: HERMITE_CUBIC_LAGRANGE_INTEGRATE integrates a Hermite cubic Lagrange polynomial from A to B. Compute each result TWICE: First row computed using HERMITE_CUBIC_INTEGRATE. Second row computed using HERMITE_CUBIC_LAGRANGE_INTEGRATE. A B LF1 LD1 LF2 LD2 -1.0000 -3.0000 -1.7000 5.9333 -0.3000 1.0667 -1.7000 5.9333 -0.3000 1.0667 -1.0000 -2.0000 -0.9225 2.0042 -0.0775 0.2708 -0.9225 2.0042 -0.0775 0.2708 -1.0000 -1.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -1.0000 0.0000 0.9895 -0.5692 0.0105 -0.0358 0.9895 -0.5692 0.0105 -0.0358 -1.0000 1.0000 1.9800 -0.1333 0.0200 -0.0667 1.9800 -0.1333 0.0200 -0.0667 -1.0000 2.0000 2.9175 0.9375 0.0825 -0.2625 2.9175 0.9375 0.0825 -0.2625 -1.0000 3.0000 3.7600 2.3333 0.2400 -0.7333 3.7600 2.3333 0.2400 -0.7333 -1.0000 4.0000 4.4775 3.8042 0.5225 -1.5292 4.4775 3.8042 0.5225 -1.5292 -1.0000 5.0000 5.0520 5.1600 0.9480 -2.6400 5.0520 5.1600 0.9480 -2.6400 -1.0000 6.0000 5.4775 6.2708 1.5225 -3.9958 5.4775 6.2708 1.5225 -3.9958 -1.0000 7.0000 5.7600 7.0667 2.2400 -5.4667 5.7600 7.0667 2.2400 -5.4667 -1.0000 8.0000 5.9175 7.5375 3.0825 -6.8625 5.9175 7.5375 3.0825 -6.8625 -1.0000 9.0000 5.9800 7.7333 4.0200 -7.9333 5.9800 7.7333 4.0200 -7.9333 -1.0000 10.0000 5.9895 7.7642 5.0105 -8.3692 5.9895 7.7642 5.0105 -8.3692 -1.0000 11.0000 6.0000 7.8000 6.0000 -7.8000 6.0000 7.8000 6.0000 -7.8000 -1.0000 12.0000 6.0775 8.0708 6.9225 -5.7958 6.0775 8.0708 6.9225 -5.7958 HERMITE_CUBIC_TEST14: HERMITE_CUBIC_SPLINE_QUAD_RULE returns a quadrature rule for Hermite cubic splines. Case 1: Random spacing I J X W Q 1 1 0.3349 0.101574 0.101574 1 2 0.5381 0.354469 0.354469 1 3 1.0439 0.319732 0.319732 1 4 1.1775 0.399658 0.399658 1 5 1.8432 0.581528 0.581528 1 6 2.3406 0.630146 0.630146 1 7 3.1035 0.834170 0.834170 1 8 4.0089 0.545586 0.545586 1 9 4.1946 0.265918 0.265918 1 10 4.5408 0.175418 0.175418 1 11 4.5455 0.235592E-02 0.235592E-02 2 1 0.3349 0.343906E-02 0.343906E-02 2 2 0.5381 0.178797E-01 0.178797E-01 2 3 1.0439 -0.198297E-01 -0.198297E-01 2 4 1.1775 0.354344E-01 0.354344E-01 2 5 1.8432 -0.163051E-01 -0.163051E-01 2 6 2.3406 0.278805E-01 0.278805E-01 2 7 3.1035 0.198228E-01 0.198228E-01 2 8 4.0089 -0.654475E-01 -0.654475E-01 2 9 4.1946 0.710945E-02 0.710945E-02 2 10 4.5408 -0.998168E-02 -0.998168E-02 2 11 4.5455 -0.185012E-05 -0.185012E-05 Case 2: Uniform spacing F(2:N-1) have equal weight. D(2:N-1) have zero weight. I J X W Q 1 1 0.5000 0.250000E-01 0.250000E-01 1 2 0.5500 0.500000E-01 0.500000E-01 1 3 0.6000 0.500000E-01 0.500000E-01 1 4 0.6500 0.500000E-01 0.500000E-01 1 5 0.7000 0.500000E-01 0.500000E-01 1 6 0.7500 0.500000E-01 0.500000E-01 1 7 0.8000 0.500000E-01 0.500000E-01 1 8 0.8500 0.500000E-01 0.500000E-01 1 9 0.9000 0.500000E-01 0.500000E-01 1 10 0.9500 0.500000E-01 0.500000E-01 1 11 1.0000 0.250000E-01 0.250000E-01 2 1 0.5000 0.208333E-03 0.208333E-03 2 2 0.5500 -0.925186E-18 -0.894467E-18 2 3 0.6000 0.925186E-18 0.894467E-18 2 4 0.6500 -0.925186E-18 -0.894467E-18 2 5 0.7000 0.925186E-18 0.894467E-18 2 6 0.7500 0.00000 0.00000 2 7 0.8000 -0.925186E-18 -0.894467E-18 2 8 0.8500 0.925186E-18 0.894467E-18 2 9 0.9000 -0.925186E-18 -0.894467E-18 2 10 0.9500 0.925186E-18 0.894467E-18 2 11 1.0000 -0.208333E-03 -0.208333E-03 HERMITE_CUBIC_TEST15: HERMITE_CUBIC_SPLINE_QUAD_RULE returns a quadrature rule for Hermite cubic splines. Random spacing Number of points N = 11 Interval = [ 0.475664 , 3.91985 ] Q = -5.57949 Q (exact) = -5.57949 HERMITE_CUBIC_TEST Normal end of execution. 13 September 2021 8:48:23.819 AM