double CMT::MLR::evaluate( const pair<ArrayXXd, ArrayXXd>& data, const Preconditioner& preconditioner) const { return -logLikelihood(preconditioner(data.first, data.second)).mean() / log(2.) - preconditioner.logJacobian(data).mean() / log(2.); }
double CMT::MLR::evaluate( const MatrixXd& input, const MatrixXd& output, const Preconditioner& preconditioner) const { return -logLikelihood(preconditioner(input, output)).mean() / log(2.) - preconditioner.logJacobian(input, output).mean() / log(2.); }