Public Member Functions | List of all members
o2scl::cubic_real_coeff_gsl Class Reference

Solve a cubic with real coefficients and complex roots (GSL) More...

#include <poly.h>

Inheritance diagram for o2scl::cubic_real_coeff_gsl:
o2scl::cubic_real_coeff o2scl::cubic_real

Public Member Functions

virtual int solve_rc (const double a3, const double b3, const double c3, const double d3, double &x1, std::complex< double > &x2, std::complex< double > &x3)
 Solves the polynomial $ a_3 x^3 + b_3 x^2 + c_3 x + d_3= 0 $ giving the real solution $ x=x_1 $ and two complex solutions $ x=x_2 $ and $ x=x_3 $ .
 
const char * type ()
 Return a string denoting the type ("cubic_real_coeff_gsl")
 
int gsl_poly_complex_solve_cubic2 (double a, double b, double c, gsl_complex *z0, gsl_complex *z1, gsl_complex *z2)
 An alternative to gsl_poly_complex_solve_cubic() More...
 
- Public Member Functions inherited from o2scl::cubic_real_coeff
virtual int solve_r (const double a3, const double b3, const double c3, const double d3, double &x1, double &x2, double &x3)
 Solves the polynomial $ a_3 x^3 + b_3 x^2 + c_3 x + d_3= 0 $ giving the three solutions $ x=x_1 $ , $ x=x_2 $ , and $ x=x_3 $ .
 
const char * type ()
 Return a string denoting the type ("cubic_real_coeff")
 
- Public Member Functions inherited from o2scl::cubic_real
const char * type ()
 Return a string denoting the type ("cubic_real")
 

Detailed Description

Definition at line 494 of file poly.h.

Member Function Documentation

◆ gsl_poly_complex_solve_cubic2()

int o2scl::cubic_real_coeff_gsl::gsl_poly_complex_solve_cubic2 ( double  a,
double  b,
double  c,
gsl_complex *  z0,
gsl_complex *  z1,
gsl_complex *  z2 
)

This is an alternative to the function gsl_poly_complex_solve_cubic() with some small corrections to ensure finite values for some cubics. See src/other/poly_ts.cpp for more.

Idea for Future:
I think the GSL function is now fixed, so we can fall back to the original GSL function here.

The documentation for this class was generated from the following file:

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).