64wdm(
const Eigen::MatrixXd& x,
66 Eigen::VectorXd weights = Eigen::VectorXd(),
67 bool remove_missing =
true,
68 std::vector<int> seeds = std::vector<int>())
72 throw std::runtime_error(
"x must have at least 2 columns.");
74 Eigen::MatrixXd ms = Eigen::MatrixXd::Identity(d, d);
75 for (
size_t i = 0; i < d; i++) {
76 for (
size_t j = i + 1; j < d; j++) {
77 ms(i, j) =
wdm(utils::convert_vec(x.col(i)),
78 utils::convert_vec(x.col(j)),
80 utils::convert_vec(weights),
83 if (methods::is_chatterjee(method)) {
84 ms(j, i) =
wdm(utils::convert_vec(x.col(j)),
85 utils::convert_vec(x.col(i)),
87 utils::convert_vec(weights),