以下代码工作正常:
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
)。
我在这里做错了什么还是本征错误?