当我尝试在本征中用lpNorm<1>
调用colwise()
时出现错误:
相反,norm()和squaredNorm()可以正常调用它们。
例
#include <Eigen/Dense>
#include <iostream>
using namespace std;
using namespace Eigen;
int main()
{
MatrixXf m(2,2), n(2,2);
m << 1,-2,
-3,4;
cout << "m.colwise().squaredNorm() = " << m.colwise().squaredNorm() << endl;
cout << "m.lpNorm<1>() = " << m.lpNorm<1>() << endl;
// cout << "m.colwise().lpNorm<1>() = " << m.colwise().lpNorm<1>() << endl;
}
可以很好地给予
m.colwise().squaredNorm() = 10 20
m.lpNorm<1>() = 10
如果取消注释最后一行,则会出现错误。
有人可以帮忙吗?
最佳答案
在Eigen colwise实现。您有两种选择: