wujian16 / Cornell-MOE

A Python library for the state-of-the-art Bayesian optimization algorithms, with the core implemented in C++.
Other
261 stars 64 forks source link

KG unit tests fail #92

Open manuels opened 3 years ago

manuels commented 3 years ago

When running the C++ unit tests I get errors in the KG algorithm. Does that mean that the KG is not implemented correctly and you cannot use it with this library?

  $ [..] Cornell-MOE/build/lib/moe/tests/optimal_learning/python/cpp_unit_tests$ python cpp_unit_test_wrapper_test.py
  ok: FillRandomCovarianceHyperparameters passed
  ok: FillRandomDomainBounds passed
  ok: FillRandomGaussianProcess passed
  SUCCESS: test utils
  SUCCESS: linear algebra tests
  ok: Square Exponential  covariance pings passed
  ok: Matern nu=2.5  covariance pings passed
  ok: Square Exponential covariance hyperparameter gradient pings passed
  SUCCESS: covariance ping tests
  ok: GP Mean gradient pings passed
  ok: GP Mean gradient pings passed
  ok: GP AdditionalMean gradient pings passed
  ok: GP Variance gradient pings passed
  ok: GP Covariance gradient pings passed
  ok: GP Cholesky Variance gradient pings passed
  ok: GP Cholesky Variance Noise gradient pings passed
  ok: GP Inverse Cholesky Variance Noise gradient pings passed
  ok: GP Inverse Cholesky Covariance Noise gradient pings passed
  ok: EI with MC integration (1,0-EI) gradient pings passed
  ok: EI with MC integration (1,5-EI) gradient pings passed
  ok: EI with MC integration (3,2-EI) gradient pings passed
  ok: EI with MC integration (10,0-EI) gradient pings passed
  ok: GP functions passed
  SUCCESS: GP (mean, var, EI) tests
  point[0,0] = -6.566067109815776348E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 8.036763750623024394E-02, fcn_m[k] = 8.005040937420404568E-02
  analytic: 1.442277166031348035E+00
  finite  : 1.586140660130989921E-01
  diff    : 1.283663100018249015E+00
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 8.022475928303868242E-02, fcn_m[k] = 8.019303646347264447E-02
  analytic: 1.442277166031348035E+00
  finite  : 1.586140978302072180E-01
  diff    : 1.283663068201140733E+00
  ERROR PING FAILED on i_rows = 0, i_cols = 0, k = 0
  k=0, rate = 1.076450251339473849E-08, |2 - rate| = 1.999999989235497377E+00
  point[1,0] = -2.015137905254960060E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 8.009088757248086776E-02, fcn_m[k] = 8.032703913910069216E-02
  analytic: -3.092047184947672167E-01
  finite  : -1.180757833099120857E-01
  diff    : 1.911289351848551310E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 8.019708969333122495E-02, fcn_m[k] = 8.022070485149257468E-02
  analytic: -3.092047184947672167E-01
  finite  : -1.180757908067616851E-01
  diff    : 1.911289276880055454E-01
  ERROR PING FAILED on i_rows = 1, i_cols = 0, k = 0
  k=0, rate = 1.703478582789917869E-08, |2 - rate| = 1.999999982965214196E+00
  point[2,0] = 2.455794133711606264E+00
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 8.012411190445747899E-02, fcn_m[k] = 8.029380382577497310E-02
  analytic: -3.727919140904084050E-01
  finite  : -8.484596065875639470E-02
  diff    : 2.879459534316520242E-01
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 8.020041262253921333E-02, fcn_m[k] = 8.021738181247356492E-02
  analytic: -3.727919140904084050E-01
  finite  : -8.484594967157890744E-02
  diff    : 2.879459644188294698E-01
  ERROR PING FAILED on i_rows = 2, i_cols = 0, k = 0
  k=0, rate = -1.657140996545313420E-08, |2 - rate| = 2.000000016571410022E+00
  fail: on iteration 0
  point[0,0] = 2.609307458624243736E+00
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 4.347156523431767283E+00, fcn_m[k] = 4.346628306319801460E+00
  analytic: -4.246283655205558838E-01
  finite  : 2.641085559829405849E-01
  diff    : 6.887369215034964132E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 4.347020869857749048E+00, fcn_m[k] = 4.341077813949620889E+00
  analytic: -4.246283655205558838E-01
  finite  : 2.971527954057808429E+01
  diff    : 3.013990790609863879E+01
  ERROR PING FAILED on i_rows = 0, i_cols = 0, k = 0
  k=0, rate = -1.641088555899686829E+00, |2 - rate| = 3.641088555899687051E+00
  point[1,0] = 3.320897673256695271E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 4.347196259348766745E+00, fcn_m[k] = 4.346414547702908138E+00
  analytic: -3.584855955818852524E-01
  finite  : 3.908558229293032094E-01
  diff    : 7.493414185111884063E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 4.347028857007844138E+00, fcn_m[k] = 4.340986680899193040E+00
  analytic: -3.584855955818852524E-01
  finite  : 3.021088054325882055E+01
  diff    : 3.056936613884070653E+01
  ERROR PING FAILED on i_rows = 1, i_cols = 0, k = 0
  k=0, rate = -1.610606695532363908E+00, |2 - rate| = 3.610606695532363908E+00
  point[2,0] = -1.297573093324899673E-02
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 4.347402196025506704E+00, fcn_m[k] = 4.347486214491491197E+00
  analytic: 6.844314025313213978E-02
  finite  : -4.200923299224609136E-02
  diff    : 1.104523732453782381E-01
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 4.347622546643783892E+00, fcn_m[k] = 4.347059144711191259E+00
  analytic: 6.844314025313213978E-02
  finite  : 2.817009662963182670E+00
  diff    : 2.748566522710050641E+00
  ERROR PING FAILED on i_rows = 2, i_cols = 0, k = 0
  k=0, rate = -1.395931200707473563E+00, |2 - rate| = 3.395931200707473785E+00
  fail: on iteration 4
  point[0,0] = -1.331588760949671268E+00
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 8.005143153266546241E-01, fcn_m[k] = 7.997638281489383161E-01
  analytic: 9.964176626073523169E-01
  finite  : 3.752435888581953094E-01
  diff    : 6.211740737491570075E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 8.001758479347917952E-01, fcn_m[k] = 8.001007992131855540E-01
  analytic: 9.964176626073523169E-01
  finite  : 3.752436080312473443E-01
  diff    : 6.211740545761049725E-01
  ERROR PING FAILED on i_rows = 0, i_cols = 0, k = 0
  k=0, rate = 1.340485891241136825E-08, |2 - rate| = 1.999999986595140999E+00
  point[1,0] = 3.499799647834151983E+00
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 8.002030187916178150E-01, fcn_m[k] = 8.000737437411313824E-01
  analytic: 4.018134151719536251E-01
  finite  : 6.463752524322342874E-02
  diff    : 3.371758899287302103E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 8.001447804233257077E-01, fcn_m[k] = 8.001318529152176007E-01
  analytic: 4.018134151719536251E-01
  finite  : 6.463754054039887176E-02
  diff    : 3.371758746315547395E-01
  ERROR PING FAILED on i_rows = 1, i_cols = 0, k = 0
  k=0, rate = 1.970330392470675702E-08, |2 - rate| = 1.999999980296696123E+00
  point[2,0] = -1.377204284071922302E+00
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 8.009027800028806210E-01, fcn_m[k] = 7.993730055027671311E-01
  analytic: 1.578138911777556386E+00
  finite  : 7.648872500568292265E-01
  diff    : 8.132516617207271592E-01
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 8.002148005028744127E-01, fcn_m[k] = 8.000618230653960827E-01
  analytic: 1.578138911777556386E+00
  finite  : 7.648871873917338915E-01
  diff    : 8.132517243858224942E-01
  ERROR PING FAILED on i_rows = 2, i_cols = 0, k = 0
  k=0, rate = -3.346455388573371917E-08, |2 - rate| = 2.000000033464553795E+00
  fail: on iteration 8
  fail: KG with MC integration (1,0-KG) gradient pings failed with 9 errors
  point[0,0] = -6.566067109815776348E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.611460305848688712E+00, fcn_m[k] = 1.612207357416871378E+00
  analytic: -2.456933065916758197E-02
  finite  : -3.735257840913327465E-01
  diff    : 3.489564534321651923E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.611796768909628641E+00, fcn_m[k] = 1.611871474070285748E+00
  analytic: -2.456933065916758197E-02
  finite  : -3.735258032855759969E-01
  diff    : 3.489564726264083871E-01
  ERROR PING FAILED on i_rows = 0, i_cols = 0, k = 0
  k=0, rate = -2.388823473686210518E-08, |2 - rate| = 2.000000023888234946E+00
  point[1,0] = -2.015137905254960060E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.611951351560640511E+00, fcn_m[k] = 1.611716661693936903E+00
  analytic: 1.055466889260934550E-02
  finite  : 1.173449333518038484E-01
  diff    : 1.067902644591944977E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.611845857732119081E+00, fcn_m[k] = 1.611822388747687018E+00
  analytic: 1.055466889260934550E-02
  finite  : 1.173449221603247022E-01
  diff    : 1.067902532677153515E-01
  ERROR PING FAILED on i_rows = 1, i_cols = 0, k = 0
  k=0, rate = 4.551349239543699061E-08, |2 - rate| = 1.999999954486507692E+00
  point[2,0] = 2.455794133711606264E+00
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.611910305729466142E+00, fcn_m[k] = 1.611758008023219446E+00
  analytic: -1.055357147255651419E-02
  finite  : 7.614885312335623047E-02
  diff    : 8.670242459591274986E-02
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.611841739625252456E+00, fcn_m[k] = 1.611826509859533463E+00
  analytic: -1.055357147255651419E-02
  finite  : 7.614882859480782973E-02
  diff    : 8.670240006736434912E-02
  ERROR PING FAILED on i_rows = 2, i_cols = 0, k = 0
  k=0, rate = 1.228640926687559083E-07, |2 - rate| = 1.999999877135907322E+00
  fail: on iteration 0
  point[0,1] = -6.492123426869511604E-01
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.113137492645236426E+00, fcn_m[k] = 1.113839223664850220E+00
  analytic: -1.161649583733078833E-01
  finite  : -3.508655098068965694E-01
  diff    : 2.347005514335887000E-01
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.113451789401618264E+00, fcn_m[k] = 1.113521962555861888E+00
  analytic: -1.161649583733078833E-01
  finite  : -3.508657712181615373E-01
  diff    : 2.347008128448536679E-01
  ERROR PING FAILED on i_rows = 0, i_cols = 1, k = 0
  k=0, rate = -4.837202382330661541E-07, |2 - rate| = 2.000000483720238087E+00
  point[2,1] = -4.133226380217820406E+00
  i_rows = 2, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.113350178409930447E+00, fcn_m[k] = 1.113623562756768326E+00
  analytic: -1.934247279604313086E-01
  finite  : -1.366921734188940307E-01
  diff    : 5.673255454153727784E-02
  i_rows = 2, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.113473191885099522E+00, fcn_m[k] = 1.113500530320938431E+00
  analytic: -1.934247279604313086E-01
  finite  : -1.366921791948604858E-01
  diff    : 5.673254876557082271E-02
  ERROR PING FAILED on i_rows = 2, i_cols = 1, k = 0
  k=0, rate = 4.421571537917713324E-08, |2 - rate| = 1.999999955784284689E+00
  fail: on iteration 1
  point[0,0] = -3.102909356821328402E+00
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.125895632851547035E+00, fcn_m[k] = 1.129402343253750995E+00
  analytic: -6.728195615886066738E-01
  finite  : -1.753355201102173577E+00
  diff    : 1.080535639513566792E+00
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.127473633370218664E+00, fcn_m[k] = 1.127824304433817870E+00
  analytic: -6.728195615886066738E-01
  finite  : -1.753355317992330242E+00
  diff    : 1.080535756403723457E+00
  ERROR PING FAILED on i_rows = 0, i_cols = 0, k = 0
  k=0, rate = -4.698109475661172268E-08, |2 - rate| = 2.000000046981094570E+00
  point[1,0] = -7.103793742135167122E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.127842857234341967E+00, fcn_m[k] = 1.127455289391731785E+00
  analytic: 4.172139945565155328E-01
  finite  : 1.937839213050905340E-01
  diff    : 2.234300732514249987E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.127668348178726188E+00, fcn_m[k] = 1.127629591330518100E+00
  analytic: 4.172139945565155328E-01
  finite  : 1.937842410404613525E-01
  diff    : 2.234297535160541803E-01
  ERROR PING FAILED on i_rows = 1, i_cols = 0, k = 0
  k=0, rate = 6.214893302159836011E-07, |2 - rate| = 1.999999378510669779E+00
  point[2,0] = -1.127016230020672083E+00
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.130514684996263508E+00, fcn_m[k] = 1.124784367176408839E+00
  analytic: 3.229793452152936339E+00
  finite  : 2.865158909927650210E+00
  diff    : 3.646345422252861290E-01
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.127935490204065028E+00, fcn_m[k] = 1.127362458360645636E+00
  analytic: 3.229793452152936339E+00
  finite  : 2.865159217097273281E+00
  diff    : 3.646342350556630585E-01
  ERROR PING FAILED on i_rows = 2, i_cols = 0, k = 0
  k=0, rate = 3.658515940311764462E-07, |2 - rate| = 1.999999634148405869E+00
  fail: on iteration 3
  point[0,0] = -2.074112193658947945E+00
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.389338006621748889E+00, fcn_m[k] = 2.389303970250165943E+00
  analytic: 1.223844041604594535E-01
  finite  : 1.701818579147494626E-02
  diff    : 1.053662183689845072E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.389322720198572725E+00, fcn_m[k] = 2.389319316560877926E+00
  analytic: 1.223844041604594535E-01
  finite  : 1.701818847395803261E-02
  diff    : 1.053662156865014243E-01
  ERROR PING FAILED on i_rows = 0, i_cols = 0, k = 0
  k=0, rate = 1.105655717966518125E-08, |2 - rate| = 1.999999988943442775E+00
  point[1,0] = -4.934299169108271599E+00
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.389394475704491150E+00, fcn_m[k] = 2.389245970187336088E+00
  analytic: -2.443680094205913367E-01
  finite  : 7.425275857750619768E-02
  diff    : 3.186207679980975205E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.389328436005258460E+00, fcn_m[k] = 2.389313585444339694E+00
  analytic: -2.443680094205913367E-01
  finite  : 7.425280459400593336E-02
  diff    : 3.186208140145972978E-01
  ERROR PING FAILED on i_rows = 1, i_cols = 0, k = 0
  k=0, rate = -6.272256075639601858E-08, |2 - rate| = 2.000000062722560923E+00
  point[2,0] = 2.747045019641518593E+00
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.389321401196328409E+00, fcn_m[k] = 2.389320636144087295E+00
  analytic: 6.796952609708326043E-02
  finite  : 3.825261205570450900E-04
  diff    : 6.758699997652621583E-02
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.389321056934700760E+00, fcn_m[k] = 2.389320980429435526E+00
  analytic: 6.796952609708326043E-02
  finite  : 3.825263261694998866E-04
  diff    : 6.758699977091375821E-02
  ERROR PING FAILED on i_rows = 2, i_cols = 0, k = 0
  k=0, rate = 1.321206062665162136E-09, |2 - rate| = 1.999999998678793967E+00
  fail: on iteration 4
  point[1,0] = 3.429872062988579273E+00
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.897366892592877718E+00, fcn_m[k] = 2.897366751977561439E+00
  analytic: 1.527965983151411029E-03
  finite  : 7.030765813987535108E-05
  diff    : 1.457658325011535611E-03
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.897366834183991102E+00, fcn_m[k] = 2.897366820122168729E+00
  analytic: 1.527965983151411029E-03
  finite  : 7.030911186574768370E-05
  diff    : 1.457656871285663291E-03
  ERROR PING FAILED on i_rows = 1, i_cols = 0, k = 0
  k=0, rate = 4.331230635669002491E-07, |2 - rate| = 1.999999566876936363E+00
  fail: on iteration 5
  point[0,1] = -2.623947663232684135E-01
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 3.718823492435317402E+00, fcn_m[k] = 3.718728064585843818E+00
  analytic: 5.338849290985350771E-02
  finite  : 4.771392473679188229E-02
  diff    : 5.674568173061625420E-03
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 3.718780673387340752E+00, fcn_m[k] = 3.718771130610594611E+00
  analytic: 5.338849290985350771E-02
  finite  : 4.771388373070976213E-02
  diff    : 5.674609179143745574E-03
  ERROR PING FAILED on i_rows = 0, i_cols = 1, k = 0
  k=0, rate = -3.138327058722292298E-06, |2 - rate| = 2.000003138327058672E+00
  fail: on iteration 6
  point[0,1] = -3.880501356907188892E+00
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 6.145983733800781224E+00, fcn_m[k] = 6.145980999310419968E+00
  analytic: 6.112097844091411020E-02
  finite  : 1.367245180628068931E-03
  diff    : 5.975373326028603910E-02
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 6.145982502357759003E+00, fcn_m[k] = 6.145982228908787981E+00
  analytic: 6.112097844091411020E-02
  finite  : 1.367244855107642345E-03
  diff    : 5.975373358580646915E-02
  ERROR PING FAILED on i_rows = 0, i_cols = 1, k = 0
  k=0, rate = -2.365906181835367052E-09, |2 - rate| = 2.000000002365906138E+00
  point[1,1] = -3.629100550897419453E+00
  i_rows = 1, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 6.145983482309669732E+00, fcn_m[k] = 6.145981250260226680E+00
  analytic: 1.888260463602406403E-01
  finite  : 1.116024721525955268E-03
  diff    : 1.877100216387146969E-01
  i_rows = 1, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 6.145982477233004282E+00, fcn_m[k] = 6.145982254028128366E+00
  analytic: 1.888260463602406403E-01
  finite  : 1.116024379574785631E-03
  diff    : 1.877100219806658588E-01
  ERROR PING FAILED on i_rows = 1, i_cols = 1, k = 0
  k=0, rate = -7.911538301292728237E-10, |2 - rate| = 2.000000000791153809E+00
  point[2,1] = 2.194299295078963041E+00
  i_rows = 2, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 6.145981611733791539E+00, fcn_m[k] = 6.145983120040213521E+00
  analytic: 1.574790543756951142E-02
  finite  : -7.541532109912316758E-04
  diff    : 1.650205864856074331E-02
  i_rows = 2, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 6.145982290211267518E+00, fcn_m[k] = 6.145982441041906164E+00
  analytic: 1.574790543756951142E-02
  finite  : -7.541531932259887315E-04
  diff    : 1.650205863079549917E-02
  ERROR PING FAILED on i_rows = 2, i_cols = 1, k = 0
  k=0, rate = 4.675384533694437551E-10, |2 - rate| = 1.999999999532461548E+00
  fail: on iteration 7
  point[0,0] = -3.132991991005837917E+00
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 8.509538904420289596E-01, fcn_m[k] = 8.520217738600255331E-01
  analytic: -1.127183662941646958E+00
  finite  : -5.339417089983455877E-01
  diff    : 5.932419539433013700E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 8.514348785405261300E-01, fcn_m[k] = 8.515416669011897088E-01
  analytic: -1.127183662941646958E+00
  finite  : -5.339418033167676603E-01
  diff    : 5.932418596248792975E-01
  ERROR PING FAILED on i_rows = 0, i_cols = 0, k = 0
  k=0, rate = 6.904766803478717728E-08, |2 - rate| = 1.999999930952331972E+00
  point[1,0] = -4.309574591461569071E+00
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 8.513210632923808863E-01, fcn_m[k] = 8.516554065295988130E-01
  analytic: -2.567622596240285437E-01
  finite  : -1.671716186089075296E-01
  diff    : 8.959064101512101419E-02
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 8.514715595863496800E-01, fcn_m[k] = 8.515049939105736598E-01
  analytic: -2.567622596240285437E-01
  finite  : -1.671716211202888547E-01
  diff    : 8.959063850373968907E-02
  ERROR PING FAILED on i_rows = 1, i_cols = 0, k = 0
  k=0, rate = 1.217402907553904807E-08, |2 - rate| = 1.999999987825970882E+00
  point[2,0] = 2.547816745936870575E+00
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 8.515650934903119529E-01, fcn_m[k] = 8.514114679276402198E-01
  analytic: 2.382259655801955422E-01
  finite  : 7.681278133587501888E-02
  diff    : 1.614131842443205234E-01
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 8.514959584849910446E-01, fcn_m[k] = 8.514805959278912706E-01
  analytic: 2.382259655801955422E-01
  finite  : 7.681278549870773631E-02
  diff    : 1.614131800814878059E-01
  ERROR PING FAILED on i_rows = 2, i_cols = 0, k = 0
  k=0, rate = 1.120041901901826096E-08, |2 - rate| = 1.999999988799580963E+00
  fail: on iteration 9
  fail: KG with MC integration (2,0-KG) gradient pings failed with 19 errors
  point[0,0] = -6.566067109815776348E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.470712203215974068E+00, fcn_m[k] = 1.471655256406172452E+00
  analytic: -2.873349503062090290E-02
  finite  : -4.715265950991915922E-01
  diff    : 4.427931000685706997E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.471136918891263745E+00, fcn_m[k] = 1.471231224214419431E+00
  analytic: -2.873349503062090290E-02
  finite  : -4.715266157784800960E-01
  diff    : 4.427931207478592035E-01
  ERROR PING FAILED on i_rows = 0, i_cols = 0, k = 0
  k=0, rate = -2.028238623725350487E-08, |2 - rate| = 2.000000020282386437E+00
  point[1,0] = -2.015137905254960060E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.471382608209359955E+00, fcn_m[k] = 1.470985292983706838E+00
  analytic: 3.329158094813317818E-03
  finite  : 1.986576128265580832E-01
  diff    : 1.953284547317447606E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.471203939522924387E+00, fcn_m[k] = 1.471164207998468365E+00
  analytic: 3.329158094813317818E-03
  finite  : 1.986576222801291758E-01
  diff    : 1.953284641853158532E-01
  ERROR PING FAILED on i_rows = 1, i_cols = 0, k = 0
  k=0, rate = -2.101912734579673917E-08, |2 - rate| = 2.000000021019127328E+00
  point[2,0] = 2.455794133711606264E+00
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.471106875417790505E+00, fcn_m[k] = 1.471261511303960434E+00
  analytic: -6.299533741445030588E-02
  finite  : -7.731794308497316748E-02
  diff    : 1.432260567052286160E-02
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.471176344370603850E+00, fcn_m[k] = 1.471191808006081736E+00
  analytic: -6.299533741445030588E-02
  finite  : -7.731817738926620442E-02
  diff    : 1.432283997481589854E-02
  ERROR PING FAILED on i_rows = 2, i_cols = 0, k = 0
  k=0, rate = -7.104589177263388858E-06, |2 - rate| = 2.000007104589177409E+00
  fail: on iteration 0
  point[0,0] = -3.161517903208732605E+00
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 4.259351182377820955E+00, fcn_m[k] = 4.259314823702921693E+00
  analytic: 6.102361913009907157E-02
  finite  : 1.817933744963285206E-02
  diff    : 4.284428168046622298E-02
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 4.259334800614056782E+00, fcn_m[k] = 4.259331164745814746E+00
  analytic: 6.102361913009907157E-02
  finite  : 1.817934121013991405E-02
  diff    : 4.284427791995915752E-02
  ERROR PING FAILED on i_rows = 0, i_cols = 0, k = 0
  k=0, rate = 3.811868177887452173E-08, |2 - rate| = 1.999999961881318233E+00
  point[1,0] = -2.251867277082055807E+00
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 4.259370633997543010E+00, fcn_m[k] = 4.259295349024680100E+00
  analytic: -1.289860055700028062E-02
  finite  : 3.764248643145921142E-02
  diff    : 5.054108698845949377E-02
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 4.259336746813395358E+00, fcn_m[k] = 4.259329218315891730E+00
  analytic: -1.289860055700028062E-02
  finite  : 3.764248751806192894E-02
  diff    : 5.054108807506221129E-02
  ERROR PING FAILED on i_rows = 1, i_cols = 0, k = 0
  k=0, rate = -9.337067863498870053E-09, |2 - rate| = 2.000000009337068008E+00
  point[2,0] = -3.713357970118522644E+00
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 4.259576772822066815E+00, fcn_m[k] = 4.259088653004624803E+00
  analytic: 2.501114624148351173E-02
  finite  : 2.440599087210328921E-01
  diff    : 2.190487624795493804E-01
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 4.259357385758810288E+00, fcn_m[k] = 4.259308573798521458E+00
  analytic: 2.501114624148351173E-02
  finite  : 2.440598014436369256E-01
  diff    : 2.190486552021534139E-01
  ERROR PING FAILED on i_rows = 2, i_cols = 0, k = 0
  k=0, rate = 2.126923338084048037E-07, |2 - rate| = 1.999999787307666255E+00
  fail: on iteration 3
  point[0,0] = -3.568195172119885683E+00
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.025640352556689283E+00, fcn_m[k] = 2.025442335249893144E+00
  analytic: 1.213541439071285366E-01
  finite  : 9.900865339808032073E-02
  diff    : 2.234549050904821588E-02
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.025551361793233696E+00, fcn_m[k] = 2.025531560058721148E+00
  analytic: 1.213541439071285366E-01
  finite  : 9.900867256253031989E-02
  diff    : 2.234547134459821671E-02
  ERROR PING FAILED on i_rows = 0, i_cols = 0, k = 0
  k=0, rate = 3.724697137101582634E-07, |2 - rate| = 1.999999627530286261E+00
  point[1,0] = 2.447149646468460560E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.025846669980182924E+00, fcn_m[k] = 2.025234914717580992E+00
  analytic: 2.078784466205335635E-01
  finite  : 3.058776313009656245E-01
  diff    : 9.799918468043206099E-02
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.025572043232493957E+00, fcn_m[k] = 2.025510867588409702E+00
  analytic: 2.078784466205335635E-01
  finite  : 3.058782204213076894E-01
  diff    : 9.799977380077412592E-02
  ERROR PING FAILED on i_rows = 1, i_cols = 0, k = 0
  k=0, rate = -2.610745645997434797E-06, |2 - rate| = 2.000002610745645892E+00
  point[2,0] = -9.855964896269142628E-01
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.025611978732611451E+00, fcn_m[k] = 2.025470108369158417E+00
  analytic: -1.352983358820932236E-01
  finite  : 7.093518172651684661E-02
  diff    : 2.062335176086100841E-01
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.025548551453006052E+00, fcn_m[k] = 2.025534364391896602E+00
  analytic: -1.352983358820932236E-01
  finite  : 7.093530554725617499E-02
  diff    : 2.062336414293494125E-01
  ERROR PING FAILED on i_rows = 2, i_cols = 0, k = 0
  k=0, rate = -2.607464020278431113E-07, |2 - rate| = 2.000000260746402247E+00
  fail: on iteration 4
  fail: KG with MC integration (1,2-KG) gradient pings failed with 9 errors
  point[0,0] = -6.566067109815776348E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.379979156943236029E+00, fcn_m[k] = 1.380982403359616306E+00
  analytic: 5.017790406692736876E-02
  finite  : -5.016232081901379480E-01
  diff    : 5.518011122570652960E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.380430946891533672E+00, fcn_m[k] = 1.380531271537615012E+00
  analytic: 5.017790406692736876E-02
  finite  : -5.016232304067556047E-01
  diff    : 5.518011344736829527E-01
  ERROR PING FAILED on i_rows = 0, i_cols = 0, k = 0
  k=0, rate = -1.748556510088875317E-08, |2 - rate| = 2.000000017485564996E+00
  point[1,0] = -2.015137905254960060E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.380680627847452602E+00, fcn_m[k] = 1.380281328318738066E+00
  analytic: 3.247885664259070326E-02
  finite  : 1.996497643572679448E-01
  diff    : 1.671709077146772415E-01
  i_rows = 1, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.380501076171518182E+00, fcn_m[k] = 1.380461146216263479E+00
  analytic: 3.247885664259070326E-02
  finite  : 1.996497762735358616E-01
  diff    : 1.671709196309451584E-01
  ERROR PING FAILED on i_rows = 1, i_cols = 0, k = 0
  k=0, rate = -3.095735546939840993E-08, |2 - rate| = 2.000000030957355346E+00
  point[2,0] = 2.455794133711606264E+00
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.380412553956950950E+00, fcn_m[k] = 1.380549916852533476E+00
  analytic: 4.467815351427719545E-02
  finite  : -6.868144779127095811E-02
  diff    : 1.133596013055481466E-01
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.380474245598689587E+00, fcn_m[k] = 1.380487981935529351E+00
  analytic: 4.467815351427719545E-02
  finite  : -6.868168419867864971E-02
  diff    : 1.133598377129558521E-01
  ERROR PING FAILED on i_rows = 2, i_cols = 0, k = 0
  k=0, rate = -9.057047167199644774E-07, |2 - rate| = 2.000000905704716558E+00
  point[0,2] = -1.455339172389358282E+00
  i_rows = 0, i_cols = 2, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.380480337356064346E+00, fcn_m[k] = 1.380481886578969419E+00
  analytic: -2.170874131394939354E-03
  finite  : -7.746114525365187025E-04
  diff    : 1.396262678858420543E-03
  i_rows = 0, i_cols = 2, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.380481035071571050E+00, fcn_m[k] = 1.380481189993900459E+00
  analytic: -2.170874131394939354E-03
  finite  : -7.746116470475926169E-04
  diff    : 1.396262484347346629E-03
  ERROR PING FAILED on i_rows = 0, i_cols = 2, k = 0
  k=0, rate = 6.050085937088540479E-08, |2 - rate| = 1.999999939499140567E+00
  point[1,2] = -3.942338924389332533E+00
  i_rows = 1, i_cols = 2, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.380481412217412274E+00, fcn_m[k] = 1.380480810244108847E+00
  analytic: -1.114824132067576429E-03
  finite  : 3.009866517134416708E-04
  diff    : 1.415810783781018154E-03
  i_rows = 1, i_cols = 2, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.380481142624054636E+00, fcn_m[k] = 1.380481082426680661E+00
  analytic: -1.114824132067576429E-03
  finite  : 3.009868698715977074E-04
  diff    : 1.415811001939174191E-03
  ERROR PING FAILED on i_rows = 1, i_cols = 2, k = 0
  k=0, rate = -6.691916543231322333E-08, |2 - rate| = 2.000000066919165320E+00
  point[2,2] = -8.096843026578426361E-02
  i_rows = 2, i_cols = 2, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.380483103564303482E+00, fcn_m[k] = 1.380479119210766159E+00
  analytic: 2.612326068952256983E-03
  finite  : 1.992176768661478234E-03
  diff    : 6.201493002907787488E-04
  i_rows = 2, i_cols = 2, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.380481311744641726E+00, fcn_m[k] = 1.380480913309229063E+00
  analytic: 2.612326068952256983E-03
  finite  : 1.992177063314613458E-03
  diff    : 6.201490056376435245E-04
  ERROR PING FAILED on i_rows = 2, i_cols = 2, k = 0
  k=0, rate = 2.063475054406014394E-07, |2 - rate| = 1.999999793652494473E+00
  fail: on iteration 0
  point[0,0] = -9.803227591328322887E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 3.643680460925999842E+00, fcn_m[k] = 3.643069585403576838E+00
  analytic: 4.768169856089470304E-01
  finite  : 3.054377612115019569E-01
  diff    : 1.713792243974450735E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 3.643405502354589931E+00, fcn_m[k] = 3.643344414781765295E+00
  analytic: 4.768169856089470304E-01
  finite  : 3.054378641232150526E-01
  diff    : 1.713791214857319778E-01
  ERROR PING FAILED on i_rows = 0, i_cols = 0, k = 0
  k=0, rate = 2.607900852249993588E-07, |2 - rate| = 1.999999739209914695E+00
  point[0,1] = -3.449044760782271624E+00
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 3.643394971893799017E+00, fcn_m[k] = 3.643354752901338145E+00
  analytic: -4.019429042878423786E-02
  finite  : 2.010949623043822160E-02
  diff    : 6.030378665922245945E-02
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 3.643376967908410702E+00, fcn_m[k] = 3.643372946012599201E+00
  analytic: -4.019429042878423786E-02
  finite  : 2.010947905746382491E-02
  diff    : 6.030376948624806277E-02
  ERROR PING FAILED on i_rows = 0, i_cols = 1, k = 0
  k=0, rate = 1.236759661933999467E-07, |2 - rate| = 1.999999876324033865E+00
  point[1,1] = -4.547472111880779266E-01
  i_rows = 1, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 3.643370965497178648E+00, fcn_m[k] = 3.643378728692342250E+00
  analytic: 4.223964631894146227E-02
  finite  : -3.881597581800729641E-03
  diff    : 4.612124390074219538E-02
  i_rows = 1, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 3.643374568650506351E+00, fcn_m[k] = 3.643375344964447926E+00
  analytic: 4.223964631894146227E-02
  finite  : -3.881569707875770665E-03
  diff    : 4.612121602681723553E-02
  ERROR PING FAILED on i_rows = 1, i_cols = 1, k = 0
  k=0, rate = 2.624711398715721762E-07, |2 - rate| = 1.999999737528860067E+00
  point[2,1] = -8.293266966938972473E-01
  i_rows = 2, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 3.643515272041932818E+00, fcn_m[k] = 3.643234619542007557E+00
  analytic: -1.476814479534533167E-02
  finite  : 1.403262499626299897E-01
  diff    : 1.550943947579753179E-01
  i_rows = 2, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 3.643388990420779017E+00, fcn_m[k] = 3.643360925168121156E+00
  analytic: -1.476814479534533167E-02
  finite  : 1.403262632893186590E-01
  diff    : 1.550944080846639872E-01
  ERROR PING FAILED on i_rows = 2, i_cols = 1, k = 0
  k=0, rate = -3.731731962450690503E-08, |2 - rate| = 2.000000037317319457E+00
  fail: on iteration 1
  point[0,1] = 3.117637669201940298E+00
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.494981522888878978E+00, fcn_m[k] = 2.494989444213282059E+00
  analytic: -2.629163386757287987E-03
  finite  : -3.960662201541335047E-03
  diff    : 1.331498814784047059E-03
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.494985090117919579E+00, fcn_m[k] = 2.494985882250380538E+00
  analytic: -2.629163386757287987E-03
  finite  : -3.960662304783282156E-03
  diff    : 1.331498918025994169E-03
  ERROR PING FAILED on i_rows = 0, i_cols = 1, k = 0
  k=0, rate = -3.367438688171934177E-08, |2 - rate| = 2.000000033674386835E+00
  point[1,1] = 2.066291342489421368E+00
  i_rows = 1, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.494989797094675055E+00, fcn_m[k] = 2.494981164354926673E+00
  analytic: 7.583660501339572167E-03
  finite  : 4.316369874191514772E-03
  diff    : 3.267290627148057396E-03
  i_rows = 1, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.494985917793227426E+00, fcn_m[k] = 2.494985054518547241E+00
  analytic: 7.583660501339572167E-03
  finite  : 4.316373400916390449E-03
  diff    : 3.267287100423181719E-03
  ERROR PING FAILED on i_rows = 1, i_cols = 1, k = 0
  k=0, rate = 4.687792284488444511E-07, |2 - rate| = 1.999999531220771454E+00
  point[2,1] = -1.143851659726351500E+00
  i_rows = 2, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.494977857664533172E+00, fcn_m[k] = 2.494993112279399128E+00
  analytic: -6.000596365121307722E-03
  finite  : -7.627307432978853996E-03
  diff    : 1.626711067857546274E-03
  i_rows = 2, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.494984723467506882E+00, fcn_m[k] = 2.494986248929212280E+00
  analytic: -6.000596365121307722E-03
  finite  : -7.627308526992622462E-03
  diff    : 1.626712161871314739E-03
  ERROR PING FAILED on i_rows = 2, i_cols = 1, k = 0
  k=0, rate = -2.920764433355928323E-07, |2 - rate| = 2.000000292076443476E+00
  point[0,2] = -2.258169632405042648E+00
  i_rows = 0, i_cols = 2, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.494995961773764925E+00, fcn_m[k] = 2.494974995115617489E+00
  analytic: 1.247447541776905595E-02
  finite  : 1.048332907371945025E-02
  diff    : 1.991146344049605707E-03
  i_rows = 0, i_cols = 2, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.494986534466085093E+00, fcn_m[k] = 2.494984437800089161E+00
  analytic: 1.247447541776905595E-02
  finite  : 1.048332997963816009E-02
  diff    : 1.991145438130895867E-03
  ERROR PING FAILED on i_rows = 0, i_cols = 2, k = 0
  k=0, rate = 1.975925011772940322E-07, |2 - rate| = 1.999999802407498750E+00
  point[1,2] = -3.080937103368341923E-01
  i_rows = 1, i_cols = 2, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.494985893808809418E+00, fcn_m[k] = 2.494984990857243456E+00
  analytic: 6.750195515294329408E-03
  finite  : 4.514757829809919556E-04
  diff    : 6.298719732313337073E-03
  i_rows = 1, i_cols = 2, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.494985530920279970E+00, fcn_m[k] = 2.494985440623660455E+00
  analytic: 6.750195515294329408E-03
  finite  : 4.514830975744174861E-04
  diff    : 6.298712417719912193E-03
  ERROR PING FAILED on i_rows = 1, i_cols = 2, k = 0
  k=0, rate = 5.043389039587895936E-07, |2 - rate| = 1.999999495661096027E+00
  point[2,2] = 1.283911815844476223E+00
  i_rows = 2, i_cols = 2, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.494943252921536292E+00, fcn_m[k] = 2.495027691545391058E+00
  analytic: -3.425622633913905091E-02
  finite  : -4.221931192738746785E-02
  diff    : 7.963085588248416946E-03
  i_rows = 2, i_cols = 2, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.494981264137954291E+00, fcn_m[k] = 2.494989708003994888E+00
  analytic: -3.425622633913905091E-02
  finite  : -4.221933020299072081E-02
  diff    : 7.963103863851669906E-03
  ERROR PING FAILED on i_rows = 2, i_cols = 2, k = 0
  k=0, rate = -9.967222442266214761E-07, |2 - rate| = 2.000000996722244295E+00
  fail: on iteration 2
  point[0,2] = 3.846061388030648232E+00
  i_rows = 0, i_cols = 2, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.122049023607584406E+00, fcn_m[k] = 1.122049026604204247E+00
  analytic: -1.347470313845816825E-06
  finite  : -1.498309920578032120E-06
  diff    : 1.508396067322152948E-07
  i_rows = 0, i_cols = 2, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.122049024950596330E+00, fcn_m[k] = 1.122049025250257515E+00
  analytic: -1.347470313845816825E-06
  finite  : -1.498305923771816536E-06
  diff    : 1.508356099259997106E-07
  ERROR PING FAILED on i_rows = 0, i_cols = 2, k = 0
  k=0, rate = 1.150767970928912108E-05, |2 - rate| = 1.999988492320290634E+00
  point[1,2] = 4.949065521359443665E+00
  i_rows = 1, i_cols = 2, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 1.122049022466573343E+00, fcn_m[k] = 1.122049027721996994E+00
  analytic: 5.037432993695013802E-07
  finite  : -2.627711825907940829E-06
  diff    : 3.131455125277442421E-06
  i_rows = 1, i_cols = 2, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 1.122049024837539655E+00, fcn_m[k] = 1.122049025363084152E+00
  analytic: 5.037432993695013802E-07
  finite  : -2.627722484055978805E-06
  diff    : 3.131465783425480397E-06
  ERROR PING FAILED on i_rows = 1, i_cols = 2, k = 0
  k=0, rate = -1.478152110684925891E-06, |2 - rate| = 2.000001478152110490E+00
  fail: on iteration 3
  point[0,1] = -4.390483787283301353E+00
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.467795819220826026E+00, fcn_m[k] = 2.467758669929098758E+00
  analytic: 2.070645365638774243E-02
  finite  : 1.857464586362757297E-02
  diff    : 2.131807792760169462E-03
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.467779109706606189E+00, fcn_m[k] = 2.467775394777123932E+00
  analytic: 2.070645365638774243E-02
  finite  : 1.857464741132796096E-02
  diff    : 2.131806245059781474E-03
  ERROR PING FAILED on i_rows = 0, i_cols = 1, k = 0
  k=0, rate = 3.152995239271731046E-07, |2 - rate| = 1.999999684700476177E+00
  point[1,1] = -2.548752818256616592E-01
  i_rows = 1, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.467838503765761526E+00, fcn_m[k] = 2.467715289384200261E+00
  analytic: -3.351912620131074216E-02
  finite  : 6.160719078063253695E-02
  diff    : 9.512631698194327912E-02
  i_rows = 1, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.467783409528854666E+00, fcn_m[k] = 2.467771087994839796E+00
  analytic: -3.351912620131074216E-02
  finite  : 6.160767007435520581E-02
  diff    : 9.512679627566594798E-02
  ERROR PING FAILED on i_rows = 1, i_cols = 1, k = 0
  k=0, rate = -2.188186205248555366E-06, |2 - rate| = 2.000002188186205121E+00
  point[2,1] = -3.479980267584323883E+00
  i_rows = 2, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.467837955987877585E+00, fcn_m[k] = 2.467715879273225887E+00
  analytic: -1.456545060485495979E-01
  finite  : 6.103835732585555923E-02
  diff    : 2.066928633744051502E-01
  i_rows = 2, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.467783352902879201E+00, fcn_m[k] = 2.467771145041960157E+00
  analytic: -1.456545060485495979E-01
  finite  : 6.103930459509407380E-02
  diff    : 2.066938106436436717E-01
  ERROR PING FAILED on i_rows = 2, i_cols = 1, k = 0
  k=0, rate = -1.990358320792631022E-06, |2 - rate| = 2.000001990358320825E+00
  point[0,2] = -3.305262268986552954E+00
  i_rows = 0, i_cols = 2, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.467799073193784665E+00, fcn_m[k] = 2.467755425627123689E+00
  analytic: 1.228400400900487438E-01
  finite  : 2.182378333049036015E-02
  diff    : 1.010162567595583871E-01
  i_rows = 0, i_cols = 2, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.467779434668572858E+00, fcn_m[k] = 2.467775069911867902E+00
  analytic: 1.228400400900487438E-01
  finite  : 2.182378352473093169E-02
  diff    : 1.010162565653178190E-01
  ERROR PING FAILED on i_rows = 0, i_cols = 2, k = 0
  k=0, rate = 8.350894558766987563E-10, |2 - rate| = 1.999999999164910447E+00
  point[1,2] = -4.414518973790109158E+00
  i_rows = 1, i_cols = 2, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.467784046230828476E+00, fcn_m[k] = 2.467770455735225354E+00
  analytic: -2.140404970769496928E-01
  finite  : 6.795247801558663980E-03
  diff    : 2.208357448785083499E-01
  i_rows = 1, i_cols = 2, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.467777931831106386E+00, fcn_m[k] = 2.467776572780784328E+00
  analytic: -2.140404970769496928E-01
  finite  : 6.795251610307878436E-03
  diff    : 2.208357486872575826E-01
  ERROR PING FAILED on i_rows = 1, i_cols = 2, k = 0
  k=0, rate = -7.490267324343176408E-09, |2 - rate| = 2.000000007490267517E+00
  point[2,2] = 1.722038995940238237E+00
  i_rows = 2, i_cols = 2, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.467776606897052805E+00, fcn_m[k] = 2.467777899801679276E+00
  analytic: -1.871403888365063828E-01
  finite  : -6.464523132355283865E-04
  diff    : 1.864939365232708424E-01
  i_rows = 2, i_cols = 2, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.467777187684347062E+00, fcn_m[k] = 2.467777316974871571E+00
  analytic: -1.871403888365063828E-01
  finite  : -6.464526225436630471E-04
  diff    : 1.864939362139627077E-01
  ERROR PING FAILED on i_rows = 2, i_cols = 2, k = 0
  k=0, rate = 7.202959144629514208E-10, |2 - rate| = 1.999999999279704177E+00
  fail: on iteration 4
  point[0,0] = -4.239832609891891479E+00
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.419381847307465527E+00, fcn_m[k] = 2.419010319441567969E+00
  analytic: 3.989646904430925733E-01
  finite  : 1.857639329487172086E-01
  diff    : 2.132007574943753647E-01
  i_rows = 0, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.419214711294918718E+00, fcn_m[k] = 2.419177558478561973E+00
  analytic: 3.989646904430925733E-01
  finite  : 1.857640817841565428E-01
  diff    : 2.132006086589360305E-01
  ERROR PING FAILED on i_rows = 0, i_cols = 0, k = 0
  k=0, rate = 3.031810643870259111E-07, |2 - rate| = 1.999999696818935524E+00
  point[2,0] = -2.931803721003234386E-01
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.419327063920671428E+00, fcn_m[k] = 2.419065221700084756E+00
  analytic: 1.844120215351096048E-01
  finite  : 1.309211102933359738E-01
  diff    : 5.349091124177363099E-02
  i_rows = 2, i_cols = 0, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.419209227593685174E+00, fcn_m[k] = 2.419183043368512642E+00
  analytic: 1.844120215351096048E-01
  finite  : 1.309211258626740981E-01
  diff    : 5.349089567243550669E-02
  ERROR PING FAILED on i_rows = 2, i_cols = 0, k = 0
  k=0, rate = 1.264079908481277302E-07, |2 - rate| = 1.999999873592009259E+00
  fail: on iteration 6
  point[0,2] = -2.547215437516570091E-02
  i_rows = 0, i_cols = 2, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 3.409272136757308225E+00, fcn_m[k] = 3.409319791988089765E+00
  analytic: -2.648335821021746694E-02
  finite  : -2.382761539077014185E-02
  diff    : 2.655742819447325098E-03
  i_rows = 0, i_cols = 2, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 3.409293680583784791E+00, fcn_m[k] = 3.409298446105928804E+00
  analytic: -2.648335821021746694E-02
  finite  : -2.382761072006204378E-02
  diff    : 2.655747490155423163E-03
  ERROR PING FAILED on i_rows = 0, i_cols = 2, k = 0
  k=0, rate = -7.638017337216859778E-07, |2 - rate| = 2.000000763801733861E+00
  fail: on iteration 7
  point[0,1] = -1.684565609320998192E+00
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.476184945641099588E+00, fcn_m[k] = 2.475893760858190351E+00
  analytic: 3.792418042805653089E-01
  finite  : 1.455923914546347064E-01
  diff    : 2.336494128259306025E-01
  i_rows = 0, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.476053911951587860E+00, fcn_m[k] = 2.476024793491474085E+00
  analytic: 3.792418042805653089E-01
  finite  : 1.455923005688913308E-01
  diff    : 2.336495037116739781E-01
  ERROR PING FAILED on i_rows = 0, i_cols = 1, k = 0
  k=0, rate = -1.689333120041260711E-07, |2 - rate| = 2.000000168933311784E+00
  point[1,1] = -1.939695701003074646E-01
  i_rows = 1, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.476103739777022028E+00, fcn_m[k] = 2.475974900036223669E+00
  analytic: 1.038683067859694081E-01
  finite  : 6.441987039917934643E-02
  diff    : 3.944843638679006170E-02
  i_rows = 1, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.476045794375433040E+00, fcn_m[k] = 2.476032910400766784E+00
  analytic: 1.038683067859694081E-01
  finite  : 6.441987333128550153E-02
  diff    : 3.944843345468390661E-02
  ERROR PING FAILED on i_rows = 1, i_cols = 1, k = 0
  k=0, rate = 3.228005186534191008E-08, |2 - rate| = 1.999999967719948035E+00
  point[2,1] = -4.763620463199913502E+00
  i_rows = 2, i_cols = 1, k = 0, epsilon = 1.000000E-03
  fcn_p[k] = 2.475982346931549394E+00, fcn_m[k] = 2.476096410519500690E+00
  analytic: -2.420274435428019233E-01
  finite  : -5.703179397562912339E-02
  diff    : 1.849956495671727930E-01
  i_rows = 2, i_cols = 1, k = 0, epsilon = 1.000000E-04
  fcn_p[k] = 2.476033649794968650E+00, fcn_m[k] = 2.476045056157611057E+00
  analytic: -2.420274435428019233E-01
  finite  : -5.703181321217134364E-02
  diff    : 1.849956303306305727E-01
  ERROR PING FAILED on i_rows = 2, i_cols = 1, k = 0
  k=0, rate = 4.515957316234205832E-08, |2 - rate| = 1.999999954840426808E+00
  fail: on iteration 8
  fail: KG with MC integration (3,2-KG) gradient pings failed with 30 errors
  ok: Posterior Mean (1,0-PS) gradient pings passed
  fail: pinging KG failed with 67 errors
  fail: KG functions failed with 67 errors

  FAILURE: KG tests failed
  ok: Pinging sqexp covariance hyperparameters passed
  ok: Log Marginal Likelihood sqexp loglikehood hyperparameter gradient pings passed
  ok: Pinging GP functions passed
  SUCCESS: LogLikelihood ping tests