eigen

    -1熱度

    1回答

    我試圖將SCNNode的convertTransform轉換爲Eigen,但我顯然不知道幕後會發生什麼。 let targetNodeTransform = targetNode?.convertTransform(transform, from: nil) 我使用Eigen,所以我認爲變換的逆將是相同的。這似乎並非如此,那麼當從世界座標空間轉到對象座標空間時,convertTransform

    0熱度

    1回答

    我想在C++中使用Eigen進行矩陣處理。 它看起來像我可以選擇float或double類型的實數, 如Eigen :: Matrix4f或Eigen :: Matrix4d。 在正常的C++代碼中,我認爲double比float更受歡迎。 但是,在Eigen的文檔中,float似乎比double更頻繁使用。 有沒有什麼特別的理由? 我知道這是非常不成熟的問題,但我需要幫助...... 先謝謝您。

    5熱度

    1回答

    上下文:我使用本徵人工神經網絡,其中典型的尺寸是每層的周圍1000個節點。因此,大部分操作是將大小爲(1000,1000)的矩陣M與大小爲1000的矢量或一批B矢量相乘,其表示爲大小爲Bx1000的矩陣。 訓練神經網絡之後,我使用修剪 - 這是一種常見的壓縮技術,該技術與稀疏矩陣(在10和50%之間的非空參數密度)結束。 目標:我想用稀疏矩陣壓縮的目的,其次爲性能優化,但它是不是主要目標 問題:

    0熱度

    1回答

    矩陣我想問一下是否有人知道這是爲什麼不工作: 例如,讓 SparseMatrix<int> A 和 SparseMatrix<std::complex<float> > B 我想做下面的數學計算: B = i * A 作爲代碼: std::complex<float> c; c=1.0i; B=A.cast<std::complex<float> >()*c; 或等效的: B=A.

    0熱度

    1回答

    我想將一列特徵陣列存儲在std::list或std::vector中。 我的數組有不同的類型,有的Array<Scalar, 1, Dynamic>,有的Array<Scalar, Dynamic, Dynamic>,所以我不確定什麼模板參數給std::list。 思路: 鑄一切Dynamic並存儲爲std::list<Array<Scalar, Dynamic, Dynamic>>,但這種感覺就

    0熱度

    1回答

    我瀏覽過的本徵教程它說 「注:BLAS用戶擔心性能,表情如c。 noalias() - = 2 * a.adjoint()* b;被完全優化並觸發一個類gemm函數調用。「 但是如何計算像H.transpose()* H,因爲它的結果是一個對稱矩陣,所以它應該只需要一半的時間作爲正常的A * B,但在我的測試中,H.transpose()* H花費同時H.transpose()* B.特徵對這種情

    0熱度

    1回答

    比方說,我有4個矩陣是常數,1個矩陣是可變的: Eigen::MatrixXf M,N,O,P; // Fixed Eigen::MatrixXf Q; // Value changes 而且我有希望評估的表達式: auto myExpression = M*N*O*P*Q; 如果我要做到以下幾點: for (int i = 0; i<5; ++i) { Q = MatrixXf::Random(

    1熱度

    2回答

    我正在使用Boost.Python封裝一個C++庫。其中的一些功能返回Eigen::MatrixXd對象(a dynamically sized double-precision matrix class)。在Python方面,我只需要訪問矩陣的維數,這很容易,並用Eigen的重載operator()()方法檢索一些矩陣元素。不幸的是有4種這樣的重載方法,一個必須手動選擇是正確的,即給予Boost

    0熱度

    1回答

    假設我有一個稀疏矩陣,除了沿着對角線(固定大小)的塊。 Eigen::SparseMatrix<float> lhs; LHS是大約2%的非稀疏,也可以是非常大的。那麼,讓我們說我有一個向量: Eigen::MatrixXf rhs = Eigen::MatrixXf::Random(SomeSz, 1); 就目前而言,我們假設它是密集。 我想有效地計算: result.noalias() = l

    2熱度

    1回答

    我有一些關於Eigen並行化的問題。 據我瞭解,Eigen處理其內部並行化,但我想激活多線程。我剛剛開始用G ++編譯,使用標誌「-fopenmp」並運行OMP_NUM_THREADS = 4 ./exec的可執行文件。 僅運行用C代碼的某些部分++代碼我使用: #pragma omp parallel { } 看着我的系統監視器,我可以看到,有時我用了一個多線程的,但大多數時間它不是」噸