私はEigenのスパース行列を使用してC++で作業しています。通常の固有行列の場合と同じように、特定の行と列のインデックスに格納されているデータを読み取りたいと思います。
std::vector<Eigen::Triplet<double>> tripletList;
// TODO: populate triplet list with non-zero entries of matrix
Eigen::SparseMatrix<double> matrix(nRows, nCols);
matrix.setFromTriplets(tripletList.begin(), tripletList.end());
// TODO: set iRow and iCol to be valid indices.
// How to read the value at a specific row and column index?
// double value = matrix(iRow, iCol); // Compiler error
このタイプのインデックス作成操作を実行するにはどうすればよいですか?
このコードは私のために働きます
for (int i=0; i<matrix.rows(); ++i){
cout << " i,j=" << i << "," << j << " value=" << matrix.coeff(i,j) << std::endl;
}