January 13th, 2016, 7:53 pm
I have built a small automagic framework (random generation of parameters in C++ <random>, store values in Boost uBLAS matrices) to test Genz algorithm versus Goursat PDE. Conclusion:1. The C code for Genz gives the same results as Goursat (da's good).2. In release mode Goursat is between 14 and 30 times faster than Genz. The code for Goursat is ~ 10 lines.3. We can speed up Genz by loop parallelization.The generated report is like this:** Trial #0 Rectangle: [-6,4.4499] X [-6,0.0920059]Correlation: -0.923946Subdivisions NX, NY: 5608,5661Elapsed time Goursat PDE: 1.00002sElapsed time Genz West: 30.7706sLinfinity and L2 norms: 4.82373e-05, 4.18413e-05Goursat : 0.5366490122Genz West: 0.5366490098Current max error: 4.823728345e-05** Trial #1Rectangle: [-6,0.689325182] X [-6,-3.559694106]Correlation: -0.626499745Subdivisions NX, NY: 5262,5117Elapsed time Goursat PDE: 0.8300166sElapsed time Genz West: 15.150303sLinfinity and L2 norms: 1.144792956e-09, 4.463956166e-10Goursat : 2.971815024e-06Genz West: 2.97181765e-06Current max error: 4.823728345e-05** Trial #2Rectangle: [-6,-5.589745361] X [-6,3.929944493]Correlation: -0.3239965339Subdivisions NX, NY: 5409,5795Elapsed time Goursat PDE: 0.9400188sElapsed time Genz West: 17.1903438sLinfinity and L2 norms: 1.118498265e-06, 2.085454818e-06Goursat : 1.023675424e-08Genz West: 1.12030373e-08Current max error: 4.823728345e-05 /// ...** Trial #101Rectangle: [-6,5.667568808] X [-6,5.982663765]Correlation: -0.4486942594Subdivisions NX, NY: 5831,5023Elapsed time Goursat PDE: 1.2300246sElapsed time Genz West: 17.8803576sLinfinity and L2 norms: 0.0001616173889, 0.0001230238909Goursat : 0.9999999908Genz West: 0.9999999917Current max error: 0.0001616173889Final max error: 0.0001616173889[0:4.823728345e-05] , [1:1.144792956e-09] , [2:1.118498265e-06] , [3:2.395796051e-05] , [4:5.866559865e-06] , [5:0.0001072721908] , [6:1.063495919e-06] , [7:1.698521372e-05] , [8:2.804686176e-07] , [9:9.137599408e-05] , [10:3.904865893e-07] , [11:5.409969692e-05] , [12:0.0001383533517] , [13:0.0001206261733] , [14:8.516059047e-06] , [15:8.474615985e-05] , [16:1.284307582e-05] , [17:6.824058984e-05] , [18:5.971917145e-06] , [19:0.000146584181] , [20:8.238167043e-13] , [21:4.211089936e-09] , [22:8.61330245e-06] , [23:0.00015917265] , [24:7.581637051e-10] , [25:2.426752722e-13] , [26:0.0001363983426] , [27:5.613169928e-06] , [28:5.581172838e-06] , [29:1.934609148e-10] , [30:1.133181074e-05] , [31:1.413290172e-05] , [32:2.005320913e-05] , [33:8.433679815e-05] , [34:8.284459694e-06] , [35:7.627997376e-05] , [36:8.259011483e-05] , [37:8.05159357e-06] , [38:3.194159839e-06] , [39:8.451641854e-06] , [40:7.159648002e-07] , [41:6.840784597e-05] , [42:1.000952339e-05] , [43:5.808672152e-06] , [44:8.240898005e-10] , [45:0.0001282703168] , [46:2.16618588e-06] , [47:1.500479385e-06] , [48:1.97626663e-05] , [49:1.547923114e-05] , [50:5.910753463e-08] , [51:3.43831961e-05] , [52:8.380697574e-06] , [53:5.638146842e-06] , [54:0.0001348624906] , [55:3.641252259e-06] , [56:1.710369016e-05] , [57:5.637045892e-07] , [58:2.262943273e-06] , [59:4.049110916e-06] , [60:5.865316449e-06] , [61:1.560741375e-06] , [62:0.0001148683087] , [63:1.927912459e-06] , [64:4.476014156e-09] , [65:7.417168372e-06] , [66:1.456790645e-07] , [67:5.024356035e-06] , [68:9.343238457e-06] , [69:0.0001289501649] , [70:3.368413986e-06] , [71:4.981258397e-06] , [72:6.041018273e-06] , [73:8.318213256e-05] , [74:6.761006932e-05] , [75:8.515063427e-06] , [76:3.823544647e-06] , [77:1.335054308e-06] , [78:7.757811545e-21] , [79:4.028731501e-14] , [80:5.928517055e-06] , [81:0.0001305634464] , [82:5.298276209e-06] , [83:1.497368312e-05] , [84:0.0001054954045] , [85:2.582948462e-09] , [86:1.598449682e-255] , [87:1.425704641e-07] , [88:2.685411137e-06] , [89:4.609355473e-22] , [90:3.382135114e-06] , [91:1.572435288e-08] , [92:4.410223196e-14] , [93:5.311261604e-06] , [94:3.667685203e-06] , [95:8.620246384e-06] , [96:1.592048428e-05] , [97:7.201309276e-87] , [98:9.904806466e-05] , [99:8.031648708e-16] , [100:5.203155049e-06] , [101:0.0001616173889] ,
Last edited by
Cuchulainn on January 12th, 2016, 11:00 pm, edited 1 time in total.