16 January 2017 07:14:53 PM

HPP_PRB:
  C version
  Test the HERMITE_PRODUCT_POLYNOMIAL library.

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

     5     2:   1   1
    20     5:   4   1
    17     5:   1   4
    12     4:   1   3
     9     3:   2   1

  COMP_RANDOM_GRLEX randomly selects a composition
  between given lower and upper ranks.

  Rank   Sum   Components

     8     3:   1   2
    20     5:   4   1
    18     5:   2   3
    13     4:   2   2
    11     4:   0   4

  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 * x^(1).

  He(2,x) =
    - 1 * x^(0)
    + 1 * x^(2).

  He(3,x) =
    - 3 * x^(1)
    + 1 * x^(3).

  He(4,x) =
    + 3 * x^(0)
    - 6 * x^(2)
    + 1 * x^(4).

  He(5,x) =
    + 15 * x^(1)
    - 10 * x^(3)
    + 1 * x^(5).

HPP_TEST02:
  HEP_VALUES stores values of
  the Hermite polynomial He(o,x).
  HEP_VALUE evaluates a Hermite polynomial.

                        Tabulated                 Computed
     O        X          He(O,X)                   He(O,X)                   Error

     0    5.00000000                         1                         1         0
     1    5.00000000                         5                         5         0
     2    5.00000000                        24                        24         0
     3    5.00000000                       110                       110         0
     4    5.00000000                       478                       478         0
     5    5.00000000                      1950                      1950         0
     6    5.00000000                      7360                      7360         0
     7    5.00000000                     25100                     25100         0
     8    5.00000000                     73980                     73980         0
     9    5.00000000                    169100                    169100         0
    10    5.00000000                    179680                    179680         0
    11    5.00000000                   -792600                   -792600         0
    12    5.00000000                  -5939480                  -5939480         0
     5    0.00000000                         0                         0         0
     5    0.50000000                   6.28125                   6.28125         0
     5    1.00000000                         6                         6         0
     5    3.00000000                        18                        18         0
     5   10.00000000                     90150                     90150         0

HPP_TEST03:
  HEPP_VALUE evaluates a Hermite product polynomial.
  POLYNOMIAL_VALUE evaluates a polynomial.

  Evaluate at X = -0.563163  0.912635  0.659018  

  Rank  I1  I2  I3: He(I1,X1)*He(I2,X2)*He(I3,X3)    P(X1,X2,X3)

     1   0   0   0               1               1
     2   0   0   1        0.659018        0.659018
     3   0   1   0        0.912635        0.912635
     4   1   0   0       -0.563163       -0.563163
     5   0   0   2       -0.565695       -0.565695
     6   0   1   1        0.601443        0.601443
     7   0   2   0       -0.167097       -0.167097
     8   1   0   1       -0.371135       -0.371135
     9   1   1   0       -0.513963       -0.513963
    10   2   0   0       -0.682847       -0.682847
    11   0   0   3        -1.69084        -1.69084
    12   0   1   2       -0.516273       -0.516273
    13   0   2   1        -0.11012        -0.11012
    14   0   3   0        -1.97777        -1.97777
    15   1   0   2        0.318579        0.318579
    16   1   1   1       -0.338711       -0.338711
    17   1   2   0        0.094103        0.094103
    18   2   0   1       -0.450009       -0.450009
    19   2   1   0        -0.62319        -0.62319
    20   3   0   0         1.51088         1.51088

HPP_TEST04:
  HEPP_TO_POLYNOMIAL is given a Hermite product polynomial
  and determines its polynomial representation.

  Using spatial dimension M = 2

  HePP #1 = He(0,X)*He(0,Y) = 
    + 1 * x^(0,0).

  HePP #2 = He(0,X)*He(1,Y) = 
    + 1 * x^(0,1).

  HePP #3 = He(1,X)*He(0,Y) = 
    + 1 * x^(1,0).

  HePP #4 = He(0,X)*He(2,Y) = 
    - 1 * x^(0,0)
    + 1 * x^(0,2).

  HePP #5 = He(1,X)*He(1,Y) = 
    + 1 * x^(1,1).

  HePP #6 = He(2,X)*He(0,Y) = 
    - 1 * x^(0,0)
    + 1 * x^(2,0).

  HePP #7 = He(0,X)*He(3,Y) = 
    - 3 * x^(0,1)
    + 1 * x^(0,3).

  HePP #8 = He(1,X)*He(2,Y) = 
    - 1 * x^(1,0)
    + 1 * x^(1,2).

  HePP #9 = He(2,X)*He(1,Y) = 
    - 1 * x^(0,1)
    + 1 * x^(2,1).

  HePP #10 = He(3,X)*He(0,Y) = 
    - 3 * x^(1,0)
    + 1 * x^(3,0).

  HePP #11 = He(0,X)*He(4,Y) = 
    + 3 * x^(0,0)
    - 6 * x^(0,2)
    + 1 * x^(0,4).

HPP_PRB:
  Normal end of execution.

16 January 2017 07:14:53 PM