// Computing residuals in high precision void printResidual(result_type y1, result_type y2, Real aa, Real bb, Real cc) { auto a=static_cast<long double>(aa); auto b=static_cast<long double>(bb); auto c=static_cast<long double>(cc); auto x1=std::complex<long double>(static_cast<long double>(y1.real()),static_cast<long double>(y1.imag())); auto x2=std::complex<long double>(static_cast<long double>(y2.real()),static_cast<long double>(y2.imag())); std::cout<<"Residuals: "<< a*x1*x1+b*x1+c<<", "<< a*x2*x2+b*x2+c<<std::endl<<std::endl; }
Gaussian(const result_type& mu_=result_type::Zero(), const matrix_type& sigma_=matrix_type::Identity(), const std::random_device::result_type seed=std::random_device()(), const int size_=n) : base_type(Eigen::hjoin(mu_.real(), mu_.imag()), 0.5*Eigen::quadjoin(sigma_.real(), sigma_.imag(), -sigma_.imag(), sigma_.real()), seed, 2*size_), mu(mu_), sigma(sigma_), size(size_) { }