我是Eigen的新手,想要感受一下佈局。我注意到每個矩陣都有一個sum()函數,它返回給定矩陣中所有係數的和。我對它是如何實現感興趣,因爲我想找到通過特徵矩陣循環的最佳方式。我進入源代碼並在「DenseBase.h」中找到以下界面: EIGEN_DEVICE_FUNC Scalar sum() const;
也許我誤解了Eigen的設計方式,但我認爲所有功能都是在其頭文件中定義的。我還查看了「Matrix.h」和「MatrixBase.h」,但無法找到實現。在哪個頭文件中定義?特徵源中的哪個是爲特定矩陣定義的sum()函數?
0
A
回答
2
sum()
功能來自Eigen::internal::scalar_sum_op<Scalar>()
在Redux.h中通過redux
調用。 scalar_sum_op在Functors.h中定義。之後,我失去了興趣。我發現了這兩種方法。首先是使用Visual Studio,右鍵點擊sum()
並選擇「轉到定義」,跟蹤直到我滿意爲止。第二個是使用grep搜索sum()
並再次跟蹤。
如果您通過Redux.h閱讀,您會感受到開發人員如何做到這一點。他們花費相當大的力氣進行矢量化和展開,以使它們快速工作。我會說通過Eigen矩陣循環的最佳方式是使用提供的接口來執行您想要的操作。我懷疑你有一個沒有被界面覆蓋的用例。
相關問題
- 1. 在特徵中將動態矩陣轉換爲固定矩陣
- 2. SciPy - 計算對稱矩陣中特定特徵值的特徵向量
- 3. 如何找出與矩陣的特定特徵值對應的特徵向量?
- 4. 定義將特定行爲添加到實現特定特徵的類的多個特徵的最佳實踐
- 5. 繪製矩陣的特徵值作爲矩陣元素的函數
- 6. 選擇矩陣矩陣的特定行(開窗函數)
- 7. 複數矩陣的Numpy特徵值/特徵向量似乎是錯誤的?
- 8. 從特徵矩陣中外化數據
- 9. 特徵矩陣乘法
- 10. 特徵對稱矩陣
- 11. 特徵矩陣const型
- 12. 與特徵向量矩陣
- 13. 如何使用特徵庫定義動態矩陣?
- 14. OpenCV中兩個矩陣的廣義特徵值
- 15. 四元精度特徵值,特徵向量和矩陣對數
- 16. 使用特徵矩陣作爲模板
- 17. Hessian矩陣的特徵向量和特徵值
- 18. 計算隨機矩陣的特徵值/特徵向量
- 19. 如何將特徵矩陣轉換爲圖像處理中的特徵向量?
- 20. 在特徵::矩陣中轉換一個dolfin ::矩陣
- 21. 特徵:找到一個三角矩陣
- 22. 特徵矩陣庫係數模運算
- 23. 數據庫特徵對比矩陣
- 24. 使用SUM和獨特的矩陣
- 25. 特徵構造函數中的未定義變量
- 26. 特徵矩陣指針陣列
- 27. 創建一個特定的矩陣
- 28. 如何使用特徵在函數中訪問/寫入矩陣?
- 29. 製作帶有特徵值的矩陣
- 30. 巨大矩陣的特徵值
對,我確認相關的一段代碼在'src/Core/Redux.h'中,但你絕對不想重現它,只需調用'mat.redux(...)'自己的仿函數,以防它已經被Eigen的API覆蓋。 – ggael