我傳遞一個Python代碼C++哪裏找到Python表達式所示:選擇犰狳子矩陣具有非連續的索引
J11 = dS_dVa[array([pvpq]).T, pvpq].real
這裏,J11
和dS_dVa
是稀疏矩陣,pvpq
是陣列索引可以是任何生長順序(即1,2,5,7,9)
看我已經推斷下面的文檔here:
arma::Row<int> pvpq(calc->pqpv);
arma::sp_mat J11 = arma::real(dS_dVa.submat(pvpq, pvpq));
其中calc->pqpv
是std::vector<int>
類型。
但是GCC編譯器說:
engine.h:2436: error: no matching function for call to ‘arma::SpMat<std::complex<double> >::submat(arma::Row<int>&, arma::Row<int>&)’
arma::sp_mat J11 = arma::real(dS_dVa.submat(pvpq, pvpq));
^
我該如何解決這個問題?
它是否告訴我稀疏矩陣沒有submat
方法?
建議使它成爲麪糊 –