|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object JSci.maths.AbstractMath JSci.maths.NumericalMath
public final class NumericalMath
The numerical math library. This class cannot be subclassed or instantiated because all methods are static.
Method Summary | |
---|---|
static double |
bisection(Mapping func,
double a,
double b,
int maxIter,
double tol)
Finds a root using the bisection method. |
static double[] |
differentiate(int N,
Mapping func,
double a,
double b)
Numerical differentiation. |
static double[][] |
differentiate(MappingND func,
double[] x,
double[] dx)
Numerical differentiation in multiple dimensions. |
static double[] |
euler(double[] y,
Mapping func,
double dt)
Uses the Euler method to solve an ODE. |
static double |
falsePosition(Mapping func,
double a,
double b,
int maxIter,
double tol)
Finds a root using the false position method. |
static double |
gaussian4(int N,
Mapping func,
double a,
double b)
Numerical integration using the Gaussian integration formula (4 points). |
static double |
gaussian8(int N,
Mapping func,
double a,
double b)
Numerical integration using the Gaussian integration formula (8 points). |
static double[] |
leapFrog(double[] y,
Mapping func,
double dt)
Uses the Leap-Frog method to solve an ODE. |
static double[] |
metropolis(double[] list,
Mapping func,
double dx)
The Metropolis algorithm. |
static double |
newtonRaphson(RealFunction func,
double x,
int maxIter,
double tol)
Finds a root using the Newton-Raphson method. |
static double |
richardson(int N,
Mapping func,
double a,
double b)
Numerical integration using the Richardson extrapolation. |
static double[] |
rungeKutta2(double[] y,
Mapping func,
double dt)
Uses the 2nd order Runge-Kutta method to solve an ODE. |
static double[] |
rungeKutta2(double[] y,
RealFunction2D func,
double t0,
double dt)
Uses the 2nd order Runge-Kutta method to solve an ODE. |
static double[] |
rungeKutta4(double[] y,
Mapping func,
double dt)
Uses the 4th order Runge-Kutta method to solve an ODE. |
static double[] |
rungeKutta4(double[] y,
RealFunction2D func,
double t0,
double dt)
Uses the 4th order Runge-Kutta method to solve an ODE. |
static double[] |
rungeKuttaNystrom(double[] y,
double[] dy,
RealFunction3D func,
double t0,
double dt)
Uses the Runge-Kutta-Nystrom method to solve a 2nd order ODE. |
static double |
simpson(int N,
Mapping func,
double a,
double b)
Numerical integration using Simpson's rule. |
static double[] |
solveQuadratic(double a,
double b,
double c)
Calculates the roots of the quadratic equation ax2+bx+c=0. |
static double |
trapezium(int N,
Mapping func,
double a,
double b)
Numerical integration using the trapezium rule. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static double[] solveQuadratic(double a, double b, double c)
public static double bisection(Mapping func, double a, double b, int maxIter, double tol) throws MaximumIterationsExceededException
a
- lower bound.b
- upper bound.
MaximumIterationsExceededException
public static double falsePosition(Mapping func, double a, double b, int maxIter, double tol) throws MaximumIterationsExceededException
a
- lower bound.b
- upper bound.
MaximumIterationsExceededException
public static double newtonRaphson(RealFunction func, double x, int maxIter, double tol) throws MaximumIterationsExceededException
x
- initial guess.
MaximumIterationsExceededException
public static double[] euler(double[] y, Mapping func, double dt)
y
- an array to be filled with y values, set y[0] to initial condition.func
- dy/dt as a function of y.dt
- step size.
public static double[] leapFrog(double[] y, Mapping func, double dt)
y
- an array to be filled with y values, set y[0], y[1] to initial conditions.func
- dy/dt as a function of y.dt
- step size.
public static double[] rungeKutta2(double[] y, Mapping func, double dt)
y
- an array to be filled with y values, set y[0] to initial condition.func
- dy/dt as a function of y.dt
- step size.
public static double[] rungeKutta2(double[] y, RealFunction2D func, double t0, double dt)
y
- an array to be filled with y values, set y[0] to initial condition.func
- dy/dt as a function of y and t.t0
- initial time.dt
- step size.
public static double[] rungeKutta4(double[] y, Mapping func, double dt)
y
- an array to be filled with y values, set y[0] to initial condition.func
- dy/dt as a function of y.dt
- step size.
public static double[] rungeKutta4(double[] y, RealFunction2D func, double t0, double dt)
y
- an array to be filled with y values, set y[0] to initial condition.func
- dy/dt as a function of y and t.dt
- step size.
public static double[] rungeKuttaNystrom(double[] y, double[] dy, RealFunction3D func, double t0, double dt)
y
- an array to be filled with y values, set y[0] to initial condition.dy
- an array to be filled with dy/dt values, set dy[0] to initial condition.func
- y'' as a function of y, y' and t.t0
- initial time.dy0
- initial dy/dt.dt
- step size.
public static double trapezium(int N, Mapping func, double a, double b)
N
- the number of strips to use.func
- a function.a
- the first ordinate.b
- the last ordinate.public static double simpson(int N, Mapping func, double a, double b)
N
- the number of strip pairs to use.func
- a function.a
- the first ordinate.b
- the last ordinate.public static double richardson(int N, Mapping func, double a, double b)
N
- the number of strip pairs to use (lower value).func
- a function.a
- the first ordinate.b
- the last ordinate.public static double gaussian4(int N, Mapping func, double a, double b)
N
- the number of strips to use.func
- a function.a
- the first ordinate.b
- the last ordinate.public static double gaussian8(int N, Mapping func, double a, double b)
N
- the number of strips to use.func
- a function.a
- the first ordinate.b
- the last ordinate.public static double[] differentiate(int N, Mapping func, double a, double b)
N
- the number of points to use.func
- a function.a
- the first ordinate.b
- the last ordinate.public static double[][] differentiate(MappingND func, double[] x, double[] dx)
func
- a function.x
- coordinates at which to differentiate about.dx
- step size.
public static double[] metropolis(double[] list, Mapping func, double dx)
list
- an array to be filled with values distributed according to func, set list[0] to initial value.func
- distribution function.dx
- step size.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |