public class Root
extends java.lang.Object
| Modifier and Type | Method | Description |
|---|---|---|
static double |
bisection(Function f,
double x1,
double x2,
double tol) |
Implements the bisection method for finding the root of a function.
|
static double[][] |
cubic(double a,
double b,
double c,
double d) |
Solves for the roots of the cubic equation
ax3+bx2+cx+d=0.
|
static double[][] |
getJacobian(VectorFunction feqs,
int n,
double[] xx,
double tol) |
Computes the Jacobian using a finite difference approximation.
|
static double |
newton(Function f,
double x,
double tol) |
Implements Newton's method for finding the root of a function.
|
static double |
newton(Function f,
Function df,
double x,
double tol) |
Implements Newton's method for finding the root of a function.
|
static double |
newtonBisection(Function f,
double xleft,
double xright,
double tol,
int icmax) |
Implements Newton's method for finding the root but switches to the bisection method if the
the estimate is not between xleft and xright.
|
static double |
newtonMultivar(VectorFunction feqs,
double[] xx,
int max,
double tol) |
|
static double[][] |
polynomial(double[] c) |
Solves for the roots of the polynomial with the given coefficients c:
c[0] + c[1] * x + c[2] * x^2 + ....
|
static double[][] |
quadratic(double a,
double b,
double c) |
Solves for the complex roots of the quadratic equation
ax2+bx+c=0.
|
static double[] |
quadraticReal(double a,
double b,
double c) |
Solves for the real roots of the quadratic equation
ax2+bx+c=0.
|
public static double[] quadraticReal(double a,
double b,
double c)
a - double quadratic term coefficientb - double linear term coefficientc - double constant termpublic static double[][] quadratic(double a,
double b,
double c)
a - double quadratic term coefficientb - double linear term coefficientc - double constant termpublic static double[][] cubic(double a,
double b,
double c,
double d)
a - double cubic term coefficientb - double quadratic term coefficientc - double linear term coefficientd - double constant termpublic static double[][] polynomial(double[] c)
double - [] c coefficientspublic static double newton(Function f, double x, double tol)
f - Function the functionx - double guess the roottol - double computation tolerancepublic static double newton(Function f, Function df, double x, double tol)
f - Function the functiondf - Function the derivative of the functionx - double guess the roottol - double computation tolerancepublic static double bisection(Function f, double x1, double x2, double tol)
f - Function the functionx1 - double lowerx2 - double uppertol - double computation tolerancepublic static double newtonBisection(Function f, double xleft, double xright, double tol, int icmax)
xleft - doublexright - doubletol - double toleranceicmax - int number of trialspublic static double newtonMultivar(VectorFunction feqs, double[] xx, int max, double tol)
public static double[][] getJacobian(VectorFunction feqs, int n, double[] xx, double tol)
feqs - VectorFunction - the function containing n equationsn - int - number of equationsxx - double[] - the variable array at which the Jacobian is calculatedtol - double - the small change to find the derivatives