You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I tried to amend the current best approximate codes to my complex-valued matrices, I finally came to be confronted with Arnoldi.h. Eigen/Spectra is constructed to do the job with real-valued matrices, prior consideration was minimal to predefine the inequality, absolute value (and norm), and the convergence criteria. I changed in several combinations of the following several lines and finally met the barrier. Would you please let me know the convergence of Arnoldi iteration and caveats for how to handle the inequality signs of complex valued numbers. Thanks.
Four error message for Arnoldi.h: four lines were critical, two modified and accepted, two resisted.
Former two if (m_beta) < (m_near_0)) ---> if (std::abs(m_beta) < std::abs(m_near_0))
if (m_beta) < (beta_thresh)) ----> if (std::abs(m_beta) < std::abs(beta_thresh))
Latter two if (std::norm(m_beta) > Scalar(0.717) * m_op.norm(h)) did not work
while (count < 5 && std::abs(ortho_err) > m_eps * std::abs(m_beta)) did not work
The text was updated successfully, but these errors were encountered:
When I tried to amend the current best approximate codes to my complex-valued matrices, I finally came to be confronted with Arnoldi.h. Eigen/Spectra is constructed to do the job with real-valued matrices, prior consideration was minimal to predefine the inequality, absolute value (and norm), and the convergence criteria. I changed in several combinations of the following several lines and finally met the barrier. Would you please let me know the convergence of Arnoldi iteration and caveats for how to handle the inequality signs of complex valued numbers. Thanks.
Former two if (m_beta) < (m_near_0)) ---> if (std::abs(m_beta) < std::abs(m_near_0))
if (m_beta) < (beta_thresh)) ----> if (std::abs(m_beta) < std::abs(beta_thresh))
Latter two if (std::norm(m_beta) > Scalar(0.717) * m_op.norm(h)) did not work
while (count < 5 && std::abs(ortho_err) > m_eps * std::abs(m_beta)) did not work
The text was updated successfully, but these errors were encountered: