Class quartic_complex (o2scl)

O2scl : Class List

template<class fp_t = double, class cx_t = std::complex<fp_t>>
class quartic_complex : public o2scl::quartic_real_coeff<double, std::complex<double>>

Solve a quartic polynomial with complex coefficients and complex roots [abstract base].

Subclassed by o2scl::poly_complex< fp_t, cx_t, coeff_vec_t, root_vec_t >, o2scl::quartic_complex_std< fp_t, cx_t >

Public Functions

inline virtual ~quartic_complex()
inline virtual int solve_r(const fp_t a4, const fp_t b4, const fp_t c4, const fp_t d4, const fp_t e4, fp_t &x1, fp_t &x2, fp_t &x3, fp_t &x4)

Solves the polynomial \( a_4 x^4 + b_4 x^3 + c_4 x^2 + d_4 x + e_4 = 0 \) giving the four solutions \( x=x_1 \) , \( x=x_2 \) , \( x=x_3 \) , and \( x=x_4 \) .

inline virtual int solve_rc(const fp_t a4, const fp_t b4, const fp_t c4, const fp_t d4, const fp_t e4, cx_t &x1, cx_t &x2, cx_t &x3, cx_t &x4)

Solves the polynomial \( a_4 x^4 + b_4 x^3 + c_4 x^2 + d_4 x + e_4 = 0 \) giving the four complex solutions \( x=x_1 \) , \( x=x_2 \) , \( x=x_3 \) , and \( x=x_4 \) .

virtual int solve_c(const cx_t a4, const cx_t b4, const cx_t c4, const cx_t d4, const cx_t e4, cx_t &x1, cx_t &x2, cx_t &x3, cx_t &x4) = 0

Solves the complex polynomial \( a_4 x^4 + b_4 x^3 + c_4 x^2 + d_4 x + e_4 = 0 \) giving the four complex solutions \( x=x_1 \) , \( x=x_2 \) , \( x=x_3 \) , and \( x=x_4 \) .

inline int test_complex_coeffs(fp_t &s1, fp_t &s2, fp_t &m1, fp_t &m2, size_t n = 9)

Test quartics with complex coefficients.

inline const char *type()

Return a string denoting the type (“quartic_complex”)