6 October 2025 6:20:46.438 PM hermite_product_polynomial_test(): Fortran90 version Test hermite_product_polynomial(). HPP_TEST01: COMP_NEXT_GRLEX is given a composition, and computes the next composition in grlex order. Rank Sum Components 1 0: 0 0 2 1: 0 1 3 1: 1 0 4 2: 0 2 5 2: 1 1 6 2: 2 0 7 3: 0 3 8 3: 1 2 9 3: 2 1 10 3: 3 0 11 4: 0 4 12 4: 1 3 13 4: 2 2 14 4: 3 1 15 4: 4 0 16 5: 0 5 17 5: 1 4 18 5: 2 3 19 5: 3 2 20 5: 4 1 COMP_UNRANK_GRLEX is given a rank and returns the corresponding set of multinomial exponents. Rank Sum Components 11 4: 0 4 3 1: 1 0 2 1: 0 1 10 3: 3 0 14 4: 3 1 COMP_RANDOM_GRLEX randomly selects a composition between given lower and upper ranks. Rank Sum Components 16 5: 0 5 15 4: 4 0 18 5: 2 3 6 2: 2 0 9 3: 2 1 COMP_RANK_GRLEX returns the rank of a given composition. Rank Sum Components 15 4: 4 0 148 16: 11 5 HPP_TEST015: HEP_COEFFICIENTS computes the coefficients and exponents of the Hermite polynomial He(n,x). He(1,x) = + 1.00000 * x^( 1). He(2,x) = - 1.00000 * x^( 0) + 1.00000 * x^( 2). He(3,x) = - 3.00000 * x^( 1) + 1.00000 * x^( 3). He(4,x) = + 3.00000 * x^( 0) - 6.00000 * x^( 2) + 1.00000 * x^( 4). He(5,x) = + 15.0000 * x^( 1) - 10.0000 * x^( 3) + 1.00000 * x^( 5). HPP_TEST02: HEP_VALUES stores values of the Hermite polynomial He(n,x). HEP_VALUE evaluates a Hermite polynomial. Tabulated Computed O X He(O,X) He(O,X) Error 0 5.00000000 1.000000000000000 1.000000000000000 0.0 1 5.00000000 5.000000000000000 5.000000000000000 0.0 2 5.00000000 24.00000000000000 24.00000000000000 0.0 3 5.00000000 110.0000000000000 110.0000000000000 0.0 4 5.00000000 478.0000000000000 478.0000000000000 0.0 5 5.00000000 1950.000000000000 1950.000000000000 0.0 6 5.00000000 7360.000000000000 7360.000000000000 0.0 7 5.00000000 25100.00000000000 25100.00000000000 0.0 8 5.00000000 73980.00000000000 73980.00000000000 0.0 9 5.00000000 169100.0000000000 169100.0000000000 0.0 10 5.00000000 179680.0000000000 179680.0000000000 0.0 11 5.00000000 -792600.0000000000 -792600.0000000000 0.0 12 5.00000000 -5939480.000000000 -5939480.000000000 0.0 5 0.00000000 0.000000000000000 0.000000000000000 0.0 5 0.50000000 6.281250000000000 6.281250000000000 0.0 5 1.00000000 6.000000000000000 6.000000000000000 0.0 5 3.00000000 18.00000000000000 18.00000000000000 0.0 5 10.00000000 90150.00000000000 90150.00000000000 0.0 HPP_TEST03: HEPP_VALUE evaluates a Hermite product polynomial. POLYNOMIAL_VALUE evaluates a polynomial. Evaluate at X = 0.267019 -0.469088 0.684489 Rank I1 I2 I3: He(I1,X1)*He(I2,X2)*He(I3,X3) P(X1,X2,X3) 1 0 0 0 1.00000 1.00000 2 0 0 1 0.684489 0.684489 3 0 1 0 -0.469088 -0.469088 4 1 0 0 0.267019 0.267019 5 0 0 2 -0.531475 -0.531475 6 0 1 1 -0.321086 -0.321086 7 0 2 0 -0.779956 -0.779956 8 1 0 1 0.182772 0.182772 9 1 1 0 -0.125256 -0.125256 10 2 0 0 -0.928701 -0.928701 11 0 0 3 -1.73277 -1.73277 12 0 1 2 0.249309 0.249309 13 0 2 1 -0.533871 -0.533871 14 0 3 0 1.30405 1.30405 15 1 0 2 -0.141914 -0.141914 16 1 1 1 -0.857361E-01 -0.857361E-01 17 1 2 0 -0.208263 -0.208263 18 2 0 1 -0.635686 -0.635686 19 2 1 0 0.435643 0.435643 20 3 0 0 -0.782019 -0.782019 HPP_TEST04: HEPP_TO_POLYNOMIAL is given a Hermite product polynomial and determines its polynomial representation. Using spatial dimension M = 2 HePP # 1 = L( 0,X)*L( 0,Y) = + 1.00000 * x^( 0, 0). HePP # 2 = L( 0,X)*L( 1,Y) = + 1.00000 * x^( 0, 1). HePP # 3 = L( 1,X)*L( 0,Y) = + 1.00000 * x^( 1, 0). HePP # 4 = L( 0,X)*L( 2,Y) = - 1.00000 * x^( 0, 0) + 1.00000 * x^( 0, 2). HePP # 5 = L( 1,X)*L( 1,Y) = + 1.00000 * x^( 1, 1). HePP # 6 = L( 2,X)*L( 0,Y) = - 1.00000 * x^( 0, 0) + 1.00000 * x^( 2, 0). HePP # 7 = L( 0,X)*L( 3,Y) = - 3.00000 * x^( 0, 1) + 1.00000 * x^( 0, 3). HePP # 8 = L( 1,X)*L( 2,Y) = - 1.00000 * x^( 1, 0) + 1.00000 * x^( 1, 2). HePP # 9 = L( 2,X)*L( 1,Y) = - 1.00000 * x^( 0, 1) + 1.00000 * x^( 2, 1). HePP #10 = L( 3,X)*L( 0,Y) = - 3.00000 * x^( 1, 0) + 1.00000 * x^( 3, 0). HePP #11 = L( 0,X)*L( 4,Y) = + 3.00000 * x^( 0, 0) - 6.00000 * x^( 0, 2) + 1.00000 * x^( 0, 4). hermite_product_polynomial_test(): Normal end of execution. 6 October 2025 6:20:46.439 PM