У меня есть фиксированная разреженная матрица, которую я настроил перед моими вычислениями:
Eigen::SparseMatrix<double, Eigen::ColMajor> A;
std::vector<Eigen::Triplet<double>> coefficients{
{0, 0}//, {,},{,},{,}
};
A.setFromTriplets(coefficients.begin(), coefficients.end());
A.makeCompressed();
Теперь мне нужно обновить ее фактическими записями.К сожалению, просматривая записи с:
for(...) A.coeffRef(i,j) = new_val(i,j);
Я получаю бинарный поиск вместо эффективного доступа с постоянным временем.
Я мог бы использовать valuePtr()
, но это кажется немного "Hacky».