Package org.sunflow.math
Class Solvers
- java.lang.Object
-
- org.sunflow.math.Solvers
-
public final class Solvers extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Solvers()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static double
solveCubicForQuartic(double p, double q, double r)
Return only one root for the specified cubic equation.static double[]
solveQuadric(double a, double b, double c)
Solves the equation ax^2+bx+c=0.static double[]
solveQuartic(double a, double b, double c, double d, double e)
Solve a quartic equation of the form ax^4+bx^3+cx^2+cx^1+d=0.
-
-
-
Method Detail
-
solveQuadric
public static final double[] solveQuadric(double a, double b, double c)
Solves the equation ax^2+bx+c=0. Solutions are returned in a sorted array if they exist.- Parameters:
a
- coefficient of x^2b
- coefficient of x^1c
- coefficient of x^0- Returns:
- an array containing the two real roots, or
null
if no real solutions exist
-
solveQuartic
public static double[] solveQuartic(double a, double b, double c, double d, double e)
Solve a quartic equation of the form ax^4+bx^3+cx^2+cx^1+d=0. The roots are returned in a sorted array of doubles in increasing order.- Parameters:
a
- coefficient of x^4b
- coefficient of x^3c
- coefficient of x^2d
- coefficient of x^1e
- coefficient of x^0- Returns:
- a sorted array of roots, or
null
if no solutions exist
-
solveCubicForQuartic
private static final double solveCubicForQuartic(double p, double q, double r)
Return only one root for the specified cubic equation. This routine is only meant to be called by the quartic solver. It assumes the cubic is of the form: x^3+px^2+qx+r.- Parameters:
p
-q
-r
-- Returns:
-
-