【发布时间】:2021-10-17 17:38:57
【问题描述】:
由于我计划使用 pybind11 将 numpy 数组传递到我的 C++ 代码中,自然我想使用 Row Major 矩阵进行计算。我发现了堆栈上平方欧几里德距离的(一个线性)实现
typedef Eigen::MatrixXd Matrix;
void squared_dist(const Matrix& X1, const Matrix& X2, Matrix& D) {
D = ((-2 * X1.transpose() * X2).colwise() + X1.colwise().squaredNorm().transpose()).rowwise() + X2.colwise().squaredNorm();
}
但这要求 X1、X2 和 D 是默认的列主矩阵。我将如何为行主要矩阵实现类似的单行?
【问题讨论】:
标签: c++ eigen euclidean-distance