/** * @brief Cross covariance matrix between the training and test data, Ks(X, Z) * @note It calls the protected general member function, * CovMaterniso::K(const Hyp, const MatrixConstPtr, const int) * which only depends on pair-wise absolute distances. * @param [in] logHyp The log hyperparameters * - logHyp(0) = \f$\log(l)\f$ * - logHyp(1) = \f$\log(\sigma_f)\f$ * @param [in] trainingData The training data * @param [in] testData The test data * @return An NxM matrix pointer, \f$\mathbf{K}_* = \mathbf{K}(\mathbf{X}, \mathbf{Z})\f$\n * N: The number of training data\n * M: The number of test data */ static MatrixPtr Ks(const Hyp &logHyp, const TrainingData<Scalar> &trainingData, const TestData<Scalar> &testData) { // K(r) return K(logHyp, trainingData.pAbsDistXXs(testData)); }