/** @brief Negative log marginalLikelihood test */ TEST_F(TestCaseInfExact, NlZTest) { // Expected value const TestType factor11 = 1.172651245740942f; const TestType factor21 = 10.575660633423778f; const TestType factor31 = -11.512925464970227f; const TestType factor41 = 4.594692666023363f; const TestType nlZ1 = 4.830079080217857f; // Actual value const TestType factor12 = static_cast<TestType>(0.5f) * (*pY_M).dot(*pAlpha1); const TestType factor22 = pL1->matrixL().nestedExpression().diagonal().array().log().sum(); const TestType factor321 = static_cast<TestType>(N) * log(sigma_n); const TestType factor322 = - pInvSqrtD->array().log().sum(); const TestType factor42 = static_cast<TestType>(N) * 0.918938533204673f; TestType nlZ21, nlZ22; negativeLogMarginalLikelihood (logHyp, trainingData, nlZ21, VectorPtr(), 1); negativeLogMarginalLikelihood2(logHyp, trainingData, nlZ22, VectorPtr(), 1); // Test TEST_MACRO::COMPARE(factor11, factor12, __FILE__, __LINE__, EPS_SOLVER); // maxAbsDiff = 1.382e-5 TEST_MACRO::COMPARE(factor21, factor22, __FILE__, __LINE__); TEST_MACRO::COMPARE(factor321, factor322, __FILE__, __LINE__); TEST_MACRO::COMPARE(factor31, factor321, __FILE__, __LINE__); TEST_MACRO::COMPARE(factor31, factor322, __FILE__, __LINE__); TEST_MACRO::COMPARE(factor41, factor42, __FILE__, __LINE__); TEST_MACRO::COMPARE(nlZ21, nlZ22, __FILE__, __LINE__); TEST_MACRO::COMPARE(nlZ1, nlZ21, __FILE__, __LINE__); // 4.8300757 TEST_MACRO::COMPARE(nlZ1, nlZ22, __FILE__, __LINE__); // 4.8300714 }
VectorPtr RTPolySet::normal(const Vector &point) { (void) point; return VectorPtr(NULL); }