Утверждение не удалось в Eigen, C ++ - PullRequest
0 голосов
/ 13 июня 2018

В настоящее время я работаю над фрагментом кода, и мне нужно решить систему линейной алгебры (A x = B), используя Eigen.Я проверил, что размер матриц правильный.После выполнения этого кода:

SparseQR<SparseMatrix<double>, COLAMDOrdering<int>> ΜΥsolver;
m_LeftMatrix.makeCompressed();
ΜΥsolver.compute(m_LeftMatrix);

if (ΜΥsolver.info() != Success) {
    cout << "!!! decomposition failed !!!\n";
    return;
}

SparseMatrix<double> tmp_v_x(SIZE, 1);

tmp_v_x = ΜΥsolver.solve(m_RightMatrix);
if (MYsolver.info() != Success) {
    cout << "!!! solving failed !!!\n";
    return;
}

я получаю следующее сообщение об ошибке (7 раз):

Assertion failed: rows == this->rows() && cols == this->cols() && "DenseBase::resize() does not actually allow to resize.", file c:\users\Nikos\downloads\eigen\eigen\src\core\densebase.h, line 257  

И следующее всплывающее окно 3 раза!

enter image description here

Кто-нибудь знает, что случилось !?Я конечно не изменяю размер моих векторов.Почему это происходит?

...