19 using namespace Eigen;
24 CDirectLinearSolverComplex::CDirectLinearSolverComplex()
48 REQUIRE(A,
"Operator is NULL!\n");
53 REQUIRE(op,
"Operator is not CDenseMatrixOperator<complex128_t, float64_t> type!\n");
64 LLT<MatrixXcd> llt(map_A);
68 if (llt.info()==NumericalIssue)
69 SG_WARNING(
"Matrix is not Hermitian positive definite!\n");
73 map_x=map_A.householderQr().solve(map_b.cast<
complex128_t>());
76 map_x=map_A.colPivHouseholderQr().solve(map_b.cast<
complex128_t>());
79 map_x=map_A.fullPivHouseholderQr().solve(map_b.cast<
complex128_t>());
82 map_x=map_A.jacobiSvd(ComputeThinU|ComputeThinV).solve(map_b.cast<
complex128_t>());