public class Polynomial
extends java.lang.Object
Polynomial parabola = new Polynomial(new double[]{2,3,4});
double[] roots = parabola.calcRoots();
or simply
double[] roots = Polynomial.calcRoots(2,3,4);
Currently this only works for polynomials of degree 2 and 3.Modifier and Type | Field and Description |
---|---|
double[] |
coeff |
Constructor and Description |
---|
Polynomial(double[] pars)
creates a polynomal
|
Modifier and Type | Method and Description |
---|---|
double[] |
calcRoots()
Find the roots of the polynomial.
|
static double[] |
calcRoots(double[] parameters)
Find the roots of the polynomial specified by the parameters.
|
static double[] |
calcRoots(double a,
double b,
double c)
Find the roots of a second degree polynomial.
|
static double[] |
calcRoots(double a,
double b,
double c,
double d)
Find the roots of a third degree polynomial.
|
Polynomial |
clone()
returns a copy of the polynomial p
|
Polynomial |
compose(Polynomial b) |
Polynomial |
differentiate() |
boolean |
dominates(Polynomial p) |
boolean |
equal(Polynomial b) |
double |
evaluate(int x) |
static Polynomial |
gcd(Polynomial a,
Polynomial b) |
int |
getDeg() |
boolean |
isZeroPolynomial()
returns TRUE if this polynomial is a zero polynomial
|
Polynomial |
leadingTerm() |
static void |
main(java.lang.String[] args) |
Polynomial |
makeMonic() |
Polynomial |
minus(Polynomial b) |
int |
numberNegativeRoots() |
int |
numberPositiveRoots() |
Polynomial |
plus(Polynomial b) |
static java.lang.Double[] |
solveCubic(double[] c) |
java.lang.Double |
solveFirstDegree() |
static double |
solveHighDegree(double[] a) |
static java.lang.Double[] |
solveQuadric(double[] c) |
static java.lang.Double[] |
solveQuartic(double[] c) |
java.lang.Double[] |
solveSecondDegree() |
static double[] |
solveThirdDegree(double[] parameters)
Solves cubic equation.
|
java.util.List<Polynomial> |
squareFreeFact() |
Polynomial |
times(Polynomial b) |
Polynomial |
toMonic() |
java.lang.String |
toString() |
public Polynomial(double[] pars)
pars
- public Polynomial clone()
clone
in class java.lang.Object
public boolean isZeroPolynomial()
public boolean dominates(Polynomial p)
public Polynomial leadingTerm()
public int getDeg()
public Polynomial plus(Polynomial b)
public Polynomial minus(Polynomial b)
public Polynomial times(Polynomial b)
public Polynomial compose(Polynomial b)
public boolean equal(Polynomial b)
public double evaluate(int x)
public Polynomial toMonic()
public Polynomial differentiate()
public java.lang.String toString()
toString
in class java.lang.Object
public double[] calcRoots()
public static double[] calcRoots(double[] parameters)
parameters
- an array representing the coefficents of the polynomialpublic static double[] calcRoots(double a, double b, double c)
a
- coefficient of the squared termb
- coefficient of the linear termc
- coefficient of the constantpublic static double[] calcRoots(double a, double b, double c, double d)
a
- coefficient of the cubed termb
- coefficient of the squared termc
- coefficient of the linear termd
- coefficient of the constant termpublic java.lang.Double solveFirstDegree()
public java.lang.Double[] solveSecondDegree()
public static double[] solveThirdDegree(double[] parameters)
public static java.lang.Double[] solveQuartic(double[] c)
public static java.lang.Double[] solveCubic(double[] c)
public static java.lang.Double[] solveQuadric(double[] c)
public java.util.List<Polynomial> squareFreeFact()
public static Polynomial gcd(Polynomial a, Polynomial b)
public Polynomial makeMonic()
public int numberPositiveRoots()
public int numberNegativeRoots()
public static double solveHighDegree(double[] a)
public static void main(java.lang.String[] args)