0

以下代码工作正常:

auto bcd_svd_solver = Eigen::BDCSVD<Eigen::MatrixXcd>(X, Eigen::ComputeFullU | Eigen::ComputeFullV);

MatrixXcd U = bcd_svd_solver.matrixU();
VectorXd s = bcd_svd_solver.singularValues();
MatrixXcd V = bcd_svd_solver.matrixV();

具有X类型Eigen::MatrixXcd(复杂矩阵)。

但是,如果我使用-DEIGEN_USE_LAPACKE选项(激活 MKL LAPACKE),则会出现以下错误:

** On entry to DGESVD, parameter number  6 had an illegal value

根据https://software.intel.com/en-us/mkl-developer-reference-c-gesvd,参数 6 是要分解的矩阵(来自内部数据X)。

我在这里做错了什么还是本征错误?

4

1 回答 1

0

我建议以详细模式切换 MKL。设置/导出 MKL_VERBOSE=1 并显示输出

于 2019-06-26T07:55:00.093 回答