14 #include <Eigen/Dense>
16 using namespace shogun;
17 using namespace Eigen;
27 CRealDistance::init(l, r);
28 m_mahalanobis_matrix = m;
31 void CCustomMahalanobisDistance::init()
47 return "CustomMahalanobisDistance";
62 REQUIRE(avec.
vlen == bvec.
vlen,
"In CCustomMahalanobisDistance::compute the "
63 "feature vectors must have the same number of elements")
68 const VectorXd dvec = Map<const VectorXd>(avec, avec.
vlen) - Map<const VectorXd>(bvec, bvec.
vlen);
70 Map<const MatrixXd> M(m_mahalanobis_matrix.
matrix, m_mahalanobis_matrix.
num_rows,
73 return dvec.transpose()*M*dvec;