Tue Oct 19 17:23:06 2021 simplex_gm_rule_test(): Python version: 3.6.9 Test simplex_gm_rule(). comp_next_test Python version: 3.6.9 comp_next() generates compositions. Seeking all compositions of N = 6 using 3 parts. 6 0 0 5 1 0 4 2 0 3 3 0 2 4 0 1 5 0 0 6 0 5 0 1 4 1 1 3 2 1 2 3 1 1 4 1 0 5 1 4 0 2 3 1 2 2 2 2 1 3 2 0 4 2 3 0 3 2 1 3 1 2 3 0 3 3 2 0 4 1 1 4 0 2 4 1 0 5 0 1 5 0 0 6 comp_next_test() Normal end of execution. gm_general_rule_set_test01 gm_general_rule_set determines the weights and abscissas of a Grundmann-Moeller quadrature rule for the M dimensional general simplex, using a rule of in index RULE, which will have degree of exactness 2*RULE+1. Here we use M = 3 RULE = 2 DEGREE = 5 Simplex vertices: 1 0 0 2 0 0 1 2 0 1 0 3 POINT W X Y Z 0 0.304762 1.125000 0.250000 0.375000 1 0.304762 1.375000 0.250000 0.375000 2 0.304762 1.625000 0.250000 0.375000 3 0.304762 1.125000 0.750000 0.375000 4 0.304762 1.375000 0.750000 0.375000 5 0.304762 1.125000 1.250000 0.375000 6 0.304762 1.125000 0.250000 1.125000 7 0.304762 1.375000 0.250000 1.125000 8 0.304762 1.125000 0.750000 1.125000 9 0.304762 1.125000 0.250000 1.875000 10 -0.578571 1.166667 0.333333 0.500000 11 -0.578571 1.500000 0.333333 0.500000 12 -0.578571 1.166667 1.000000 0.500000 13 -0.578571 1.166667 0.333333 1.500000 14 0.266667 1.250000 0.500000 0.750000 gm_general_rule_set_test02 gm_general_rule_set determines the weights and abscissas of a Grundmann-Moeller quadrature rule for the M dimensional general simplex, using a rule of index RULE, which will have degree of exactness 2*RULE+1. In this test, look at all the monomials up to some maximum degree, choose a few low order rules and determine the quadrature error for each. Simplex vertices: 1 0 0 2 0 0 1 2 0 1 0 3 Simplex volume = 1 N 1 X Y Z X^2 XY XZ Y^2 YZ Z^2 1 1 1.25 0.5 0.75 1.5625 0.625 0.9375 0.25 0.375 0.5625 5 1 1.25 0.5 0.75 1.6 0.6 0.9 0.4 0.3 0.9 15 1 1.25 0.5 0.75 1.6 0.6 0.9 0.4 0.3 0.9 35 1 1.25 0.5 0.75 1.6 0.6 0.9 0.4 0.3 0.9 70 1 1.25 0.5 0.75 1.6 0.6 0.9 0.4 0.3 0.9 126 1 1.25 0.5 0.75 1.6 0.6 0.9 0.4 0.3 0.9 gm_rule_size_test gm_rule_size returns N, the number of points associated with a Grundmann-Moeller quadrature rule for the unit simplex of dimension M with rule index RULE and degree of exactness DEGREE = 2*RULE+1. M RULE DEGREE N 2 0 1 1 2 1 3 4 2 2 5 10 2 3 7 20 2 4 9 35 2 5 11 56 3 0 1 1 3 1 3 5 3 2 5 15 3 3 7 35 3 4 9 70 3 5 11 126 5 0 1 1 5 1 3 7 5 2 5 28 5 3 7 84 5 4 9 210 5 5 11 462 10 0 1 1 10 1 3 12 10 2 5 78 10 3 7 364 10 4 9 1365 10 5 11 4368 gm_unit_rule_set_test01 gm_unit_rule_set determines the weights and abscissas of a Grundmann-Moeller quadrature rule for the M dimensional unit simplex, using a rule of in index RULE, which will have degree of exactness 2*RULE+1. Here we use M = 3 RULE = 2 DEGREE = 5 POINT W X Y Z 0 0.050794 0.125000 0.125000 0.125000 1 0.050794 0.375000 0.125000 0.125000 2 0.050794 0.625000 0.125000 0.125000 3 0.050794 0.125000 0.375000 0.125000 4 0.050794 0.375000 0.375000 0.125000 5 0.050794 0.125000 0.625000 0.125000 6 0.050794 0.125000 0.125000 0.375000 7 0.050794 0.375000 0.125000 0.375000 8 0.050794 0.125000 0.375000 0.375000 9 0.050794 0.125000 0.125000 0.625000 10 -0.096429 0.166667 0.166667 0.166667 11 -0.096429 0.500000 0.166667 0.166667 12 -0.096429 0.166667 0.500000 0.166667 13 -0.096429 0.166667 0.166667 0.500000 14 0.044444 0.250000 0.250000 0.250000 gm_unit_rule_set_test02 gm_unit_rule_set determines the weights and abscissas of a Grundmann-Moeller quadrature rule for the M dimensional unit simplex, using a rule of in index RULE, which will have degree of exactness 2*RULE+1. In this test, we compute various rules, and simply report the number of points, and the sum of weights. M RULE N WEIGHT SUM 2 0 1 0.5000000000000000 2 1 4 0.4999999999999999 2 2 10 0.5000000000000000 2 3 20 0.5000000000000003 2 4 35 0.4999999999999996 2 5 56 0.5000000000000016 3 0 1 0.1666666666666667 3 1 5 0.1666666666666667 3 2 15 0.1666666666666667 3 3 35 0.1666666666666671 3 4 70 0.1666666666666659 3 5 126 0.1666666666666679 5 0 1 0.0083333333333333 5 1 7 0.0083333333333333 5 2 28 0.0083333333333333 5 3 84 0.0083333333333333 5 4 210 0.0083333333333333 5 5 462 0.0083333333333331 10 0 1 0.0000002755731922 10 1 12 0.0000002755731922 10 2 78 0.0000002755731922 10 3 364 0.0000002755731922 10 4 1365 0.0000002755731922 10 5 4368 0.0000002755731922 gm_unit_rule_set_test03 gm_unit_rule_set determines the weights and abscissas of a Grundmann-Moeller quadrature rule for the M dimensional unit simplex, using a rule of index RULE, which will have degree of exactness 2*RULE+1. In this test, we write a rule to a file. Here we use M = 3 RULE = 2 DEGREE = 5 Wrote rule 2 to "gm2_3d_w.txt" and "gm2_3d_x.txt". gm_unit_rule_set_test04 gm_unit_rule_set determines the weights and abscissas of a Grundmann-Moeller quadrature rule for the M dimensional unit simplex, using a rule of index RULE, which will have degree of exactness 2*RULE+1. In this test, look at all the monomials up to some maximum degree, choose a few low order rules and determine the quadrature error for each. Here we use M = 5 Rule Order Quad_Error F(X) = X1^0 * X2^0 * X3^0 * X4^0 * X5^0 0 1 0.000000e+00 1 7 2.220446e-16 2 28 2.220446e-16 3 84 2.220446e-16 F(X) = X1^1 * X2^0 * X3^0 * X4^0 * X5^0 0 1 1.110223e-16 1 7 3.330669e-16 2 28 2.220446e-16 3 84 4.440892e-16 F(X) = X1^0 * X2^1 * X3^0 * X4^0 * X5^0 0 1 1.110223e-16 1 7 3.330669e-16 2 28 4.440892e-16 3 84 3.330669e-16 F(X) = X1^0 * X2^0 * X3^1 * X4^0 * X5^0 0 1 1.110223e-16 1 7 3.330669e-16 2 28 2.220446e-16 3 84 4.440892e-16 F(X) = X1^0 * X2^0 * X3^0 * X4^1 * X5^0 0 1 1.110223e-16 1 7 3.330669e-16 2 28 2.220446e-16 3 84 0.000000e+00 F(X) = X1^0 * X2^0 * X3^0 * X4^0 * X5^1 0 1 1.110223e-16 1 7 3.330669e-16 2 28 1.332268e-15 3 84 2.220446e-16 F(X) = X1^2 * X2^0 * X3^0 * X4^0 * X5^0 0 1 4.166667e-01 1 7 4.440892e-16 2 28 1.998401e-15 3 84 0.000000e+00 F(X) = X1^1 * X2^1 * X3^0 * X4^0 * X5^0 0 1 1.666667e-01 1 7 1.110223e-16 2 28 1.332268e-15 3 84 4.440892e-16 F(X) = X1^0 * X2^2 * X3^0 * X4^0 * X5^0 0 1 4.166667e-01 1 7 2.220446e-16 2 28 1.998401e-15 3 84 2.220446e-16 F(X) = X1^1 * X2^0 * X3^1 * X4^0 * X5^0 0 1 1.666667e-01 1 7 1.110223e-16 2 28 1.332268e-15 3 84 4.440892e-16 F(X) = X1^0 * X2^1 * X3^1 * X4^0 * X5^0 0 1 1.666667e-01 1 7 1.110223e-16 2 28 1.554312e-15 3 84 1.110223e-16 F(X) = X1^0 * X2^0 * X3^2 * X4^0 * X5^0 0 1 4.166667e-01 1 7 2.220446e-16 2 28 2.664535e-15 3 84 8.881784e-16 F(X) = X1^1 * X2^0 * X3^0 * X4^1 * X5^0 0 1 1.666667e-01 1 7 1.110223e-16 2 28 1.332268e-15 3 84 6.661338e-16 F(X) = X1^0 * X2^1 * X3^0 * X4^1 * X5^0 0 1 1.666667e-01 1 7 1.110223e-16 2 28 1.554312e-15 3 84 6.661338e-16 F(X) = X1^0 * X2^0 * X3^1 * X4^1 * X5^0 0 1 1.666667e-01 1 7 1.110223e-16 2 28 1.776357e-15 3 84 1.110223e-16 F(X) = X1^0 * X2^0 * X3^0 * X4^2 * X5^0 0 1 4.166667e-01 1 7 1.110223e-16 2 28 2.220446e-15 3 84 1.110223e-15 F(X) = X1^1 * X2^0 * X3^0 * X4^0 * X5^1 0 1 1.666667e-01 1 7 1.110223e-16 2 28 4.440892e-16 3 84 1.110223e-16 F(X) = X1^0 * X2^1 * X3^0 * X4^0 * X5^1 0 1 1.666667e-01 1 7 1.110223e-16 2 28 1.332268e-15 3 84 6.661338e-16 F(X) = X1^0 * X2^0 * X3^1 * X4^0 * X5^1 0 1 1.666667e-01 1 7 1.110223e-16 2 28 1.554312e-15 3 84 6.661338e-16 F(X) = X1^0 * X2^0 * X3^0 * X4^1 * X5^1 0 1 1.666667e-01 1 7 1.110223e-16 2 28 1.998401e-15 3 84 4.440892e-16 F(X) = X1^0 * X2^0 * X3^0 * X4^0 * X5^2 0 1 4.166667e-01 1 7 1.110223e-16 2 28 1.332268e-15 3 84 0.000000e+00 F(X) = X1^3 * X2^0 * X3^0 * X4^0 * X5^0 0 1 7.407407e-01 1 7 2.220446e-16 2 28 0.000000e+00 3 84 1.776357e-15 F(X) = X1^2 * X2^1 * X3^0 * X4^0 * X5^0 0 1 2.222222e-01 1 7 2.220446e-16 2 28 2.220446e-16 3 84 4.440892e-16 F(X) = X1^1 * X2^2 * X3^0 * X4^0 * X5^0 0 1 2.222222e-01 1 7 0.000000e+00 2 28 2.220446e-16 3 84 0.000000e+00 F(X) = X1^0 * X2^3 * X3^0 * X4^0 * X5^0 0 1 7.407407e-01 1 7 2.220446e-16 2 28 2.220446e-16 3 84 1.554312e-15 F(X) = X1^2 * X2^0 * X3^1 * X4^0 * X5^0 0 1 2.222222e-01 1 7 2.220446e-16 2 28 2.220446e-16 3 84 1.554312e-15 F(X) = X1^1 * X2^1 * X3^1 * X4^0 * X5^0 0 1 5.555556e-01 1 7 4.440892e-16 2 28 1.554312e-15 3 84 4.440892e-16 F(X) = X1^0 * X2^2 * X3^1 * X4^0 * X5^0 0 1 2.222222e-01 1 7 0.000000e+00 2 28 2.220446e-16 3 84 5.551115e-16 F(X) = X1^1 * X2^0 * X3^2 * X4^0 * X5^0 0 1 2.222222e-01 1 7 0.000000e+00 2 28 1.110223e-16 3 84 5.551115e-16 F(X) = X1^0 * X2^1 * X3^2 * X4^0 * X5^0 0 1 2.222222e-01 1 7 0.000000e+00 2 28 1.110223e-16 3 84 4.440892e-16 F(X) = X1^0 * X2^0 * X3^3 * X4^0 * X5^0 0 1 7.407407e-01 1 7 0.000000e+00 2 28 3.330669e-16 3 84 1.110223e-15 F(X) = X1^2 * X2^0 * X3^0 * X4^1 * X5^0 0 1 2.222222e-01 1 7 2.220446e-16 2 28 4.440892e-16 3 84 4.440892e-16 F(X) = X1^1 * X2^1 * X3^0 * X4^1 * X5^0 0 1 5.555556e-01 1 7 1.110223e-16 2 28 1.332268e-15 3 84 6.661338e-16 F(X) = X1^0 * X2^2 * X3^0 * X4^1 * X5^0 0 1 2.222222e-01 1 7 0.000000e+00 2 28 4.440892e-16 3 84 5.551115e-16 F(X) = X1^1 * X2^0 * X3^1 * X4^1 * X5^0 0 1 5.555556e-01 1 7 1.110223e-16 2 28 1.554312e-15 3 84 9.992007e-16 F(X) = X1^0 * X2^1 * X3^1 * X4^1 * X5^0 0 1 5.555556e-01 1 7 1.110223e-16 2 28 1.554312e-15 3 84 4.440892e-16 F(X) = X1^0 * X2^0 * X3^2 * X4^1 * X5^0 0 1 2.222222e-01 1 7 0.000000e+00 2 28 8.881784e-16 3 84 1.110223e-16 F(X) = X1^1 * X2^0 * X3^0 * X4^2 * X5^0 0 1 2.222222e-01 1 7 0.000000e+00 2 28 0.000000e+00 3 84 7.771561e-16 F(X) = X1^0 * X2^1 * X3^0 * X4^2 * X5^0 0 1 2.222222e-01 1 7 0.000000e+00 2 28 4.440892e-16 3 84 0.000000e+00 F(X) = X1^0 * X2^0 * X3^1 * X4^2 * X5^0 0 1 2.222222e-01 1 7 0.000000e+00 2 28 0.000000e+00 3 84 2.220446e-16 F(X) = X1^0 * X2^0 * X3^0 * X4^3 * X5^0 0 1 7.407407e-01 1 7 0.000000e+00 2 28 5.551115e-16 3 84 1.998401e-15 F(X) = X1^2 * X2^0 * X3^0 * X4^0 * X5^1 0 1 2.222222e-01 1 7 2.220446e-16 2 28 4.440892e-16 3 84 0.000000e+00 F(X) = X1^1 * X2^1 * X3^0 * X4^0 * X5^1 0 1 5.555556e-01 1 7 1.110223e-16 2 28 1.332268e-15 3 84 4.440892e-16 F(X) = X1^0 * X2^2 * X3^0 * X4^0 * X5^1 0 1 2.222222e-01 1 7 0.000000e+00 2 28 4.440892e-16 3 84 2.220446e-16 F(X) = X1^1 * X2^0 * X3^1 * X4^0 * X5^1 0 1 5.555556e-01 1 7 1.110223e-16 2 28 1.554312e-15 3 84 6.661338e-16 F(X) = X1^0 * X2^1 * X3^1 * X4^0 * X5^1 0 1 5.555556e-01 1 7 1.110223e-16 2 28 1.554312e-15 3 84 9.992007e-16 F(X) = X1^0 * X2^0 * X3^2 * X4^0 * X5^1 0 1 2.222222e-01 1 7 0.000000e+00 2 28 4.440892e-16 3 84 2.220446e-16 F(X) = X1^1 * X2^0 * X3^0 * X4^1 * X5^1 0 1 5.555556e-01 1 7 1.110223e-16 2 28 1.776357e-15 3 84 4.440892e-16 F(X) = X1^0 * X2^1 * X3^0 * X4^1 * X5^1 0 1 5.555556e-01 1 7 1.110223e-16 2 28 1.776357e-15 3 84 9.992007e-16 F(X) = X1^0 * X2^0 * X3^1 * X4^1 * X5^1 0 1 5.555556e-01 1 7 1.110223e-16 2 28 1.776357e-15 3 84 6.661338e-16 F(X) = X1^0 * X2^0 * X3^0 * X4^2 * X5^1 0 1 2.222222e-01 1 7 2.220446e-16 2 28 4.440892e-16 3 84 0.000000e+00 F(X) = X1^1 * X2^0 * X3^0 * X4^0 * X5^2 0 1 2.222222e-01 1 7 2.220446e-16 2 28 6.661338e-16 3 84 0.000000e+00 F(X) = X1^0 * X2^1 * X3^0 * X4^0 * X5^2 0 1 2.222222e-01 1 7 2.220446e-16 2 28 6.661338e-16 3 84 4.440892e-16 F(X) = X1^0 * X2^0 * X3^1 * X4^0 * X5^2 0 1 2.222222e-01 1 7 2.220446e-16 2 28 2.220446e-16 3 84 1.110223e-16 F(X) = X1^0 * X2^0 * X3^0 * X4^1 * X5^2 0 1 2.222222e-01 1 7 2.220446e-16 2 28 8.881784e-16 3 84 1.110223e-15 F(X) = X1^0 * X2^0 * X3^0 * X4^0 * X5^3 0 1 7.407407e-01 1 7 0.000000e+00 2 28 3.330669e-16 3 84 1.332268e-15 F(X) = X1^4 * X2^0 * X3^0 * X4^0 * X5^0 0 1 9.027778e-01 1 7 1.171875e-01 2 28 4.440892e-16 3 84 8.881784e-16 F(X) = X1^3 * X2^1 * X3^0 * X4^0 * X5^0 0 1 6.111111e-01 1 7 9.375000e-02 2 28 2.220446e-16 3 84 1.332268e-15 F(X) = X1^2 * X2^2 * X3^0 * X4^0 * X5^0 0 1 4.166667e-01 1 7 2.031250e-01 2 28 6.661338e-16 3 84 1.110223e-16 F(X) = X1^1 * X2^3 * X3^0 * X4^0 * X5^0 0 1 6.111111e-01 1 7 9.375000e-02 2 28 2.220446e-16 3 84 1.110223e-15 F(X) = X1^0 * X2^4 * X3^0 * X4^0 * X5^0 0 1 9.027778e-01 1 7 1.171875e-01 2 28 6.661338e-16 3 84 1.110223e-15 F(X) = X1^3 * X2^0 * X3^1 * X4^0 * X5^0 0 1 6.111111e-01 1 7 9.375000e-02 2 28 0.000000e+00 3 84 1.110223e-15 F(X) = X1^2 * X2^1 * X3^1 * X4^0 * X5^0 0 1 1.666667e-01 1 7 3.125000e-02 2 28 4.440892e-16 3 84 1.221245e-15 F(X) = X1^1 * X2^2 * X3^1 * X4^0 * X5^0 0 1 1.666667e-01 1 7 3.125000e-02 2 28 2.220446e-16 3 84 4.440892e-16 F(X) = X1^0 * X2^3 * X3^1 * X4^0 * X5^0 0 1 6.111111e-01 1 7 9.375000e-02 2 28 2.220446e-16 3 84 1.110223e-15 F(X) = X1^2 * X2^0 * X3^2 * X4^0 * X5^0 0 1 4.166667e-01 1 7 2.031250e-01 2 28 6.661338e-16 3 84 1.110223e-16 F(X) = X1^1 * X2^1 * X3^2 * X4^0 * X5^0 0 1 1.666667e-01 1 7 3.125000e-02 2 28 3.330669e-16 3 84 7.771561e-16 F(X) = X1^0 * X2^2 * X3^2 * X4^0 * X5^0 0 1 4.166667e-01 1 7 2.031250e-01 2 28 2.220446e-16 3 84 4.440892e-16 F(X) = X1^1 * X2^0 * X3^3 * X4^0 * X5^0 0 1 6.111111e-01 1 7 9.375000e-02 2 28 7.771561e-16 3 84 1.554312e-15 F(X) = X1^0 * X2^1 * X3^3 * X4^0 * X5^0 0 1 6.111111e-01 1 7 9.375000e-02 2 28 4.440892e-16 3 84 1.332268e-15 F(X) = X1^0 * X2^0 * X3^4 * X4^0 * X5^0 0 1 9.027778e-01 1 7 1.171875e-01 2 28 8.881784e-16 3 84 1.110223e-15 F(X) = X1^3 * X2^0 * X3^0 * X4^1 * X5^0 0 1 6.111111e-01 1 7 9.375000e-02 2 28 0.000000e+00 3 84 8.881784e-16 F(X) = X1^2 * X2^1 * X3^0 * X4^1 * X5^0 0 1 1.666667e-01 1 7 3.125000e-02 2 28 4.440892e-16 3 84 8.881784e-16 F(X) = X1^1 * X2^2 * X3^0 * X4^1 * X5^0 0 1 1.666667e-01 1 7 3.125000e-02 2 28 2.220446e-16 3 84 4.440892e-16 F(X) = X1^0 * X2^3 * X3^0 * X4^1 * X5^0 0 1 6.111111e-01 1 7 9.375000e-02 2 28 2.220446e-16 3 84 6.661338e-16 F(X) = X1^2 * X2^0 * X3^1 * X4^1 * X5^0 0 1 1.666667e-01 1 7 3.125000e-02 2 28 6.661338e-16 3 84 7.771561e-16 F(X) = X1^1 * X2^1 * X3^1 * X4^1 * X5^0 0 1 1.333333e+00 1 7 6.250000e-02 2 28 1.110223e-16 3 84 1.887379e-15 F(X) = X1^0 * X2^2 * X3^1 * X4^1 * X5^0 0 1 1.666667e-01 1 7 3.125000e-02 2 28 6.661338e-16 3 84 4.440892e-16 F(X) = X1^1 * X2^0 * X3^2 * X4^1 * X5^0 0 1 1.666667e-01 1 7 3.125000e-02 2 28 2.220446e-16 3 84 1.110223e-15 F(X) = X1^0 * X2^1 * X3^2 * X4^1 * X5^0 0 1 1.666667e-01 1 7 3.125000e-02 2 28 2.220446e-16 3 84 7.771561e-16 F(X) = X1^0 * X2^0 * X3^3 * X4^1 * X5^0 0 1 6.111111e-01 1 7 9.375000e-02 2 28 4.440892e-16 3 84 1.110223e-15 F(X) = X1^2 * X2^0 * X3^0 * X4^2 * X5^0 0 1 4.166667e-01 1 7 2.031250e-01 2 28 6.661338e-16 3 84 4.440892e-16 F(X) = X1^1 * X2^1 * X3^0 * X4^2 * X5^0 0 1 1.666667e-01 1 7 3.125000e-02 2 28 1.110223e-16 3 84 4.440892e-16 F(X) = X1^0 * X2^2 * X3^0 * X4^2 * X5^0 0 1 4.166667e-01 1 7 2.031250e-01 2 28 3.330669e-16 3 84 7.771561e-16 F(X) = X1^1 * X2^0 * X3^1 * X4^2 * X5^0 0 1 1.666667e-01 1 7 3.125000e-02 2 28 2.220446e-16 3 84 1.110223e-16 F(X) = X1^0 * X2^1 * X3^1 * X4^2 * X5^0 0 1 1.666667e-01 1 7 3.125000e-02 2 28 2.220446e-16 3 84 1.110223e-16 F(X) = X1^0 * X2^0 * X3^2 * X4^2 * X5^0 0 1 4.166667e-01 1 7 2.031250e-01 2 28 0.000000e+00 3 84 7.771561e-16 F(X) = X1^1 * X2^0 * X3^0 * X4^3 * X5^0 0 1 6.111111e-01 1 7 9.375000e-02 2 28 6.661338e-16 3 84 1.332268e-15 F(X) = X1^0 * X2^1 * X3^0 * X4^3 * X5^0 0 1 6.111111e-01 1 7 9.375000e-02 2 28 6.661338e-16 3 84 1.332268e-15 F(X) = X1^0 * X2^0 * X3^1 * X4^3 * X5^0 0 1 6.111111e-01 1 7 9.375000e-02 2 28 6.661338e-16 3 84 1.332268e-15 F(X) = X1^0 * X2^0 * X3^0 * X4^4 * X5^0 0 1 9.027778e-01 1 7 1.171875e-01 2 28 1.110223e-15 3 84 1.332268e-15 F(X) = X1^3 * X2^0 * X3^0 * X4^0 * X5^1 0 1 6.111111e-01 1 7 9.375000e-02 2 28 8.881784e-16 3 84 4.440892e-16 F(X) = X1^2 * X2^1 * X3^0 * X4^0 * X5^1 0 1 1.666667e-01 1 7 3.125000e-02 2 28 8.881784e-16 3 84 1.110223e-15 F(X) = X1^1 * X2^2 * X3^0 * X4^0 * X5^1 0 1 1.666667e-01 1 7 3.125000e-02 2 28 6.661338e-16 3 84 3.330669e-16 F(X) = X1^0 * X2^3 * X3^0 * X4^0 * X5^1 0 1 6.111111e-01 1 7 9.375000e-02 2 28 2.220446e-16 3 84 1.110223e-15 F(X) = X1^2 * X2^0 * X3^1 * X4^0 * X5^1 0 1 1.666667e-01 1 7 3.125000e-02 2 28 1.110223e-15 3 84 4.440892e-16 F(X) = X1^1 * X2^1 * X3^1 * X4^0 * X5^1 0 1 1.333333e+00 1 7 6.250000e-02 2 28 1.110223e-15 3 84 1.221245e-15 F(X) = X1^0 * X2^2 * X3^1 * X4^0 * X5^1 0 1 1.666667e-01 1 7 3.125000e-02 2 28 1.110223e-15 3 84 6.661338e-16 F(X) = X1^1 * X2^0 * X3^2 * X4^0 * X5^1 0 1 1.666667e-01 1 7 3.125000e-02 2 28 6.661338e-16 3 84 8.881784e-16 F(X) = X1^0 * X2^1 * X3^2 * X4^0 * X5^1 0 1 1.666667e-01 1 7 3.125000e-02 2 28 6.661338e-16 3 84 8.881784e-16 F(X) = X1^0 * X2^0 * X3^3 * X4^0 * X5^1 0 1 6.111111e-01 1 7 9.375000e-02 2 28 4.440892e-16 3 84 1.110223e-15 F(X) = X1^2 * X2^0 * X3^0 * X4^1 * X5^1 0 1 1.666667e-01 1 7 3.125000e-02 2 28 1.332268e-15 3 84 3.330669e-16 F(X) = X1^1 * X2^1 * X3^0 * X4^1 * X5^1 0 1 1.333333e+00 1 7 6.250000e-02 2 28 1.110223e-15 3 84 1.887379e-15 F(X) = X1^0 * X2^2 * X3^0 * X4^1 * X5^1 0 1 1.666667e-01 1 7 3.125000e-02 2 28 1.332268e-15 3 84 6.661338e-16 F(X) = X1^1 * X2^0 * X3^1 * X4^1 * X5^1 0 1 1.333333e+00 1 7 6.250000e-02 2 28 1.332268e-15 3 84 1.221245e-15 F(X) = X1^0 * X2^1 * X3^1 * X4^1 * X5^1 0 1 1.333333e+00 1 7 6.250000e-02 2 28 1.332268e-15 3 84 1.887379e-15 F(X) = X1^0 * X2^0 * X3^2 * X4^1 * X5^1 0 1 1.666667e-01 1 7 3.125000e-02 2 28 1.332268e-15 3 84 7.771561e-16 F(X) = X1^1 * X2^0 * X3^0 * X4^2 * X5^1 0 1 1.666667e-01 1 7 3.125000e-02 2 28 6.661338e-16 3 84 7.771561e-16 F(X) = X1^0 * X2^1 * X3^0 * X4^2 * X5^1 0 1 1.666667e-01 1 7 3.125000e-02 2 28 6.661338e-16 3 84 1.110223e-15 F(X) = X1^0 * X2^0 * X3^1 * X4^2 * X5^1 0 1 1.666667e-01 1 7 3.125000e-02 2 28 6.661338e-16 3 84 4.440892e-16 F(X) = X1^0 * X2^0 * X3^0 * X4^3 * X5^1 0 1 6.111111e-01 1 7 9.375000e-02 2 28 2.220446e-16 3 84 1.332268e-15 F(X) = X1^2 * X2^0 * X3^0 * X4^0 * X5^2 0 1 4.166667e-01 1 7 2.031250e-01 2 28 6.661338e-16 3 84 1.110223e-16 F(X) = X1^1 * X2^1 * X3^0 * X4^0 * X5^2 0 1 1.666667e-01 1 7 3.125000e-02 2 28 6.661338e-16 3 84 4.440892e-16 F(X) = X1^0 * X2^2 * X3^0 * X4^0 * X5^2 0 1 4.166667e-01 1 7 2.031250e-01 2 28 2.220446e-16 3 84 4.440892e-16 F(X) = X1^1 * X2^0 * X3^1 * X4^0 * X5^2 0 1 1.666667e-01 1 7 3.125000e-02 2 28 8.881784e-16 3 84 2.220446e-16 F(X) = X1^0 * X2^1 * X3^1 * X4^0 * X5^2 0 1 1.666667e-01 1 7 3.125000e-02 2 28 1.554312e-15 3 84 4.440892e-16 F(X) = X1^0 * X2^0 * X3^2 * X4^0 * X5^2 0 1 4.166667e-01 1 7 2.031250e-01 2 28 0.000000e+00 3 84 4.440892e-16 F(X) = X1^1 * X2^0 * X3^0 * X4^1 * X5^2 0 1 1.666667e-01 1 7 3.125000e-02 2 28 8.881784e-16 3 84 1.110223e-16 F(X) = X1^0 * X2^1 * X3^0 * X4^1 * X5^2 0 1 1.666667e-01 1 7 3.125000e-02 2 28 8.881784e-16 3 84 1.110223e-16 F(X) = X1^0 * X2^0 * X3^1 * X4^1 * X5^2 0 1 1.666667e-01 1 7 3.125000e-02 2 28 8.881784e-16 3 84 1.110223e-16 F(X) = X1^0 * X2^0 * X3^0 * X4^2 * X5^2 0 1 4.166667e-01 1 7 2.031250e-01 2 28 3.330669e-16 3 84 4.440892e-16 F(X) = X1^1 * X2^0 * X3^0 * X4^0 * X5^3 0 1 6.111111e-01 1 7 9.375000e-02 2 28 4.440892e-16 3 84 1.554312e-15 F(X) = X1^0 * X2^1 * X3^0 * X4^0 * X5^3 0 1 6.111111e-01 1 7 9.375000e-02 2 28 4.440892e-16 3 84 1.554312e-15 F(X) = X1^0 * X2^0 * X3^1 * X4^0 * X5^3 0 1 6.111111e-01 1 7 9.375000e-02 2 28 4.440892e-16 3 84 1.776357e-15 F(X) = X1^0 * X2^0 * X3^0 * X4^1 * X5^3 0 1 6.111111e-01 1 7 9.375000e-02 2 28 4.440892e-16 3 84 1.110223e-15 F(X) = X1^0 * X2^0 * X3^0 * X4^0 * X5^4 0 1 9.027778e-01 1 7 1.171875e-01 2 28 1.332268e-15 3 84 2.220446e-16 gm_unit_rule_set_test05 gm_unit_rule_set determines the weights and abscissas of a Grundmann-Moeller quadrature rule for the M dimensional unit simplex, using a rule of index RULE, which will have degree of exactness 2*RULE+1. In this test, look at all the monomials up to some maximum degree, choose a few low order rules and determine the quadrature error for each. Simplex volume = 0.166667 N 1 X Y Z X^2 XY XZ Y^2 YZ Z^2 1 0.166667 0.0416667 0.0416667 0.0416667 0.0104167 0.0104167 0.0104167 0.0104167 0.0104167 0.0104167 5 0.166667 0.0416667 0.0416667 0.0416667 0.0166667 0.00833333 0.00833333 0.0166667 0.00833333 0.0166667 15 0.166667 0.0416667 0.0416667 0.0416667 0.0166667 0.00833333 0.00833333 0.0166667 0.00833333 0.0166667 35 0.166667 0.0416667 0.0416667 0.0416667 0.0166667 0.00833333 0.00833333 0.0166667 0.00833333 0.0166667 70 0.166667 0.0416667 0.0416667 0.0416667 0.0166667 0.00833333 0.00833333 0.0166667 0.00833333 0.0166667 126 0.166667 0.0416667 0.0416667 0.0416667 0.0166667 0.00833333 0.00833333 0.0166667 0.00833333 0.0166667 simplex_unit_monomial_integral_test Python version: 3.6.9 Estimate monomial integrals using Monte Carlo over the interior of the unit simplex in M dimensions. Number of sample points used is 4192 We randomly choose the exponents. Ex Ey Ez MC-Estimate Exact Error 4 4 0 1.31416e-05 1.443e-05 1.3e-06 3 3 0 9.32405e-05 9.92063e-05 6e-06 1 3 4 3.72526e-06 3.6075e-06 1.2e-07 2 1 2 9.86929e-05 9.92063e-05 5.1e-07 0 2 0 0.0166201 0.0166667 4.7e-05 4 0 4 1.46711e-05 1.443e-05 2.4e-07 1 1 1 0.00138254 0.00138889 6.3e-06 2 3 4 6.14637e-07 6.01251e-07 1.3e-08 2 2 1 9.6163e-05 9.92063e-05 3e-06 3 2 0 0.000279597 0.000297619 1.8e-05 1 3 2 3.34061e-05 3.30688e-05 3.4e-07 0 0 1 0.0421315 0.0416667 0.00046 0 2 2 0.000801717 0.000793651 8.1e-06 4 2 2 2.23777e-06 2.405e-06 1.7e-07 2 2 0 0.00076643 0.000793651 2.7e-05 1 4 1 6.51404e-05 6.61376e-05 1e-06 3 4 3 1.35926e-07 1.3875e-07 2.8e-09 4 2 0 0.00012176 0.000132275 1.1e-05 3 3 1 9.37589e-06 9.92063e-06 5.4e-07 1 3 2 3.34061e-05 3.30688e-05 3.4e-07 simplex_unit_monomial_integral_test: Normal end of execution. simplex_unit_to_general_test01 simplex_unit_to_general maps points in the unit simplex to a general simplex. Here we consider a simplex in 2D, a triangle. The vertices of the general triangle are: 1.0000 1.0000 3.0000 1.0000 2.0000 5.0000 ( XSI ETA ) ( X Y ) 0.0000 0.0000 1.0000 1.0000 1.0000 0.0000 3.0000 1.0000 0.0000 1.0000 2.0000 5.0000 0.3047 0.1728 1.7821 1.6911 0.0078 0.5772 1.5928 3.3086 0.8299 0.0828 2.7426 1.3312 0.2582 0.2351 1.7515 1.9404 0.0113 0.3560 1.3786 2.4238 0.6110 0.1038 2.3258 1.4152 0.0380 0.0800 1.1560 1.3201 0.3505 0.3123 2.0133 2.2491 0.6970 0.0559 2.4499 1.2237 0.3002 0.0087 1.6092 1.0348 simplex_unit_to_general_test02 simplex_unit_to_general maps points in the unit simplex to a general simplex. Here we consider a simplex in 3D, a tetrahedron. The vertices of the general tetrahedron are: 1.0000 1.0000 1.0000 3.0000 1.0000 1.0000 1.0000 4.0000 1.0000 1.0000 1.0000 5.0000 ( XSI ETA ) ( X Y ) 0.0000 0.0000 0.0000 1.0000 1.0000 1.0000 1.0000 0.0000 0.0000 3.0000 1.0000 1.0000 0.0000 1.0000 0.0000 1.0000 4.0000 1.0000 0.0000 0.0000 1.0000 1.0000 1.0000 5.0000 0.0106 0.2082 0.7811 1.0211 1.6245 4.1243 0.0363 0.2514 0.3940 1.0727 1.7543 2.5761 0.1878 0.4534 0.1057 1.3756 2.3603 1.4229 0.0631 0.1537 0.5675 1.1262 1.4612 3.2701 0.0083 0.4130 0.4763 1.0165 2.2390 2.9054 0.1195 0.0365 0.0643 1.2390 1.1096 1.2573 0.4337 0.4363 0.0435 1.8674 2.3088 1.1738 0.4421 0.1702 0.2131 1.8841 1.5105 1.8523 0.2705 0.2487 0.1925 1.5410 1.7460 1.7700 0.0225 0.4460 0.0930 1.0450 2.3379 1.3721 simplex_unit_sample_test Python version: 3.6.9 simplex_unit_sample samples the unit simplex in M dimensions. Sample points in the unit simplex. Row: 0 1 2 Col 0 : 0.0522274 0.47831 0.259458 1 : 0.28464 0.0173307 0.24539 2 : 0.219488 0.2922 0.0196056 3 : 0.510084 0.278463 0.142854 4 : 0.202391 0.110584 0.569605 5 : 0.78824 0.0783614 0.0353674 6 : 0.104759 0.182642 0.389383 7 : 0.178674 0.142681 0.637389 8 : 0.58479 0.158827 0.208035 9 : 0.415267 0.331079 0.215351 simplex_unit_sample_test Normal end of execution. simplex_unit_volume_test Python version: 3.6.9 simplex_unit_volume returns the volume of the unit simplex in M dimensions. M Volume 1 1 2 0.5 3 0.166667 4 0.0416667 5 0.00833333 6 0.00138889 7 0.000198413 8 2.48016e-05 9 2.75573e-06 simplex_unit_volume_test Normal end of execution. simplex_gm_rule_test(): Normal end of execution. Tue Oct 19 17:23:06 2021