【问题标题】:How to import matrix market files with eigen library in c++如何在 C++ 中使用 eigen 库导入矩阵市场文件
【发布时间】:2019-08-23 11:48:18
【问题描述】:

我是 C++ 新手,习惯了 MATLAB。不幸的是,我的矩阵大小对于 MATLAB 来说太大了,所以我想在 C++ 中尝试一下。 我找到了 eigen library 3.3.7 来进行矩阵操作。为此,我需要将矩阵市场文件导入 Visual Studio 2019。我了解 C++ 的一些基础知识,并尝试使用 loadMarket 导入我的文件。在尝试编译它之后,我在 MarketIO.h 文件中发现了 30 个错误。

这是我正在使用的文件。 https://eigen.tuxfamily.org/dox/unsupported/MarketIO_8h_source.html

#include <Eigen/Sparse>
#include <unsupported/Eigen/src/SparseExtra/MarketIO.h>

int main(){
    typedef Eigen::SparseMatrix<float, Eigen::RowMajor>SMatrixXf;
    SMatrixXf A;
    Eigen::loadMarket(A, "B.mtx");
}

【问题讨论】:

  • 而错误是..???
  • 我看不出代码有什么问题。需要确切的错误消息以获得帮助。
  • 有 35 个错误。例如:C2676 binary '
  • 为什么这个问题被关闭了?问题是明确的、正确的和具体的。给出了解决问题的有效且有用的答案。遇到同样困难的未来读者将很高兴找到解决方案。我看不出有任何理由结束这个问题。我显然投票决定重新开放。

标签: c++ sparse-matrix eigen file-import


【解决方案1】:

您绝不能直接包含来自unsupported/Eigen/src/...(或来自Eigen/src/...)的文件。只需包含相应的父标题:

#include <unsupported/Eigen/SparseExtra>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多