21 using namespace Eigen;
26 CRationalApproximationCGMJob::CRationalApproximationCGMJob()
44 m_linear_solver=linear_solver;
47 m_operator=linear_operator;
54 m_const_multiplier=const_multiplier;
57 void CRationalApproximationCGMJob::init()
61 m_const_multiplier=0.0;
69 SG_ADD(&m_vector,
"trace_sample",
72 SG_ADD(&m_weights,
"complex_shifts",
75 SG_ADD(&m_weights,
"complex_weights",
78 SG_ADD(&m_const_multiplier,
"constant_multiplier",
79 "Constant multiplier to be multiplied with the final solution",
MS_NOT_AVAILABLE);
93 REQUIRE(m_operator,
"Operator is not set!\n");
100 "Number of shifts and weights are not equal!\n");
104 m_operator, m_vector, m_shifts, m_weights);
116 Map<VectorXd> map_vector(m_vector.
vector, m_vector.
vlen);
117 float64_t result=map_vector.dot(map_agg);
119 result*=m_const_multiplier;
133 #endif // HAVE_EIGEN3