固有

2016-08-07 8 views
2

で賢明lpNorm列を計算し、私が固有にcolwise()lpNorm<1>を呼び出そうとすると、私はエラーを取得する:)固有

error: 'Eigen::DenseBase > >::ColwiseReturnType' has no member named 'lpNorm'

が代わりに規範()とsquaredNormは(細かいcolwiseそれらを呼び出して動作します。私はエラーを取得し、最後の行のコメントを解除した場合

#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 

を与えて正常に動作します。

誰かが助けることができますか?

答えて

1

Eigen < = 3.2.9のcolwiseでは実装されていません。あなたは、2つのオプションがあります。すべての列の上にEigen 3.3(ベータ版)

  • ループへ

    1. アップグレードをしてLPを1つずつ規範計算します。
  • +0

    私は考えていました。ありがとう。 –