eigen

    0熱度

    1回答

    我有一個Measurement對象有兩個Eigen::VectorXd成員 - 一個用於position和另一個velocity。 通過掃描將測量結果排列在數據集中 - 即在每個時間步將新的測量結果添加到數據集中。這些類型被定義爲: typedef std::shared_ptr<Measurement> MeasurementPtr; typedef std::vector<Measurem

    1熱度

    1回答

    我有(初始化的)張量input並且想要直接使用指針訪問數據。我使用 float *input_ptr = input.flat<float>().data(); 當我試圖訪問數據,例如,通過使用: input_ptr[0] 它會導致分段錯誤,但我不明白爲什麼。 根據該C++ API: 平() 返回的張量數據作爲本徵::張量數據類型的與指定的形狀。 這些方法允許您訪問您選擇的尺寸和大小的數據

    0熱度

    1回答

    我需要使用Eigen來計算像「A'* A」這樣的公式,其中A是m乘n矩陣。直觀的方式來做到這一點, result = A.transpose()*A; 但由於結果是對稱的,是有可能只計算結果的上下兩截?

    2熱度

    2回答

    我正在使用Eigen,我正在嘗試編寫一個函數來操作矩陣的行。我遵循guidelines in the docs但我沒有嘗試編譯(使用clang或g ++);我在我的智慧結束。實際上應該如何編寫將使用RowXpr的函數? 僅供參考,這裏是我到目前爲止已經試過: #include <iostream> #include <Eigen/Core> using namespace std; usi

    -2熱度

    1回答

    我在ubuntu 16.04 LTS中使用了帶有g ++ 5.4和CUDA 8.0的Eigen library version 3.3。 編寫代碼時發生了令人困惑的事情。 當我嘗試在一個結構中調整Eigen :: MatrixXd時發生崩潰 結構如下。 struct cudaCopy{ struct s_path_info *nodes_parents struct s_p

    0熱度

    1回答

    我有一個模板函數,它應該產生一個編譯時已知固定大小的矢量,取決於模板參數: template <int nSize> Eigen::Matrix<double, nSize, 1> myFunc() { switch(nSize){ case 2: return ExternalLibrary::generate_Vector_2d(); case 3: retu

    1熱度

    2回答

    因此,我使用Eigen for C++代碼塊來計算矩陣的特徵值。與此交易的代碼的特定部分如下: - EigenSolver<MatrixXd> b(B,false); cout<<" Eigen values are: \n "<<b.eigenvalues()<<"\n"; 我已經遇到的問題是是,我的矩陣B計算的特徵值之一是無處接近實際的特徵值,我發現上calculator.vhex.ne

    0熱度

    1回答

    我正在嘗試使用EIGEN庫。特別是我正在使用SVD。 我需要執行此操作的奇異值的計算之後: svd.singularValues()/svd.singularValues().row(1) 它是由一個標量跌的載體。 我的問題是: 1)爲什麼這種操作給我: main.cpp:149:56: error: no match for ‘operator/’ (operand types are ‘c

    1熱度

    2回答

    我需要計算Vector3f的log10。 我試過了: Eigen::Vector3f valsingn = svd.singularValues()/svd.singularValues()(0); valsingn = valsingn.log10(); 但它不起作用。 main.cpp:145:27: error: ‘Eigen::Vector3f {aka class Eigen::M

    1熱度

    1回答

    在Eigen中,我們可以比較兩個數組的明智之處。我們也可以使用broadcasting來爲矩陣添加一個(適當大小的)向量。但是,這兩者並不以明顯的方式組合,以允許按行/列方式進行比較操作。例如 #include <iostream> #include <Eigen/Core> using namespace std; using namespace Eigen; using vect_