public final class Numeric extends Object
Constructor and Description |
---|
Numeric() |
Modifier and Type | Method and Description |
---|---|
static double |
adaptive(F1D func,
double a,
double b)
In adaptive quadrature we estimate the area
under a curve in the interval from a to b twice,
one using Q1 and once using Q2.
|
static double[][] |
differentiate(F1D func,
double[] x,
double[] dx)
Numerical differentiation in multiple dimensions.
|
static double[] |
differentiate(int N,
F1D func,
double a,
double b)
Numerical differentiation.
|
static double[] |
euler(double[] y,
F1D func,
double dt)
Uses the Euler method to solve an ODE.
|
static double |
gaussian4(int N,
F1D func,
double a,
double b)
Numerical integration using the Gaussian integration formula (4 points).
|
static double |
gaussian8(int N,
F1D func,
double a,
double b)
Numerical integration using the Gaussian integration formula (8 points).
|
static double[] |
leapFrog(double[] y,
F1D func,
double dt)
Uses the Leap-Frog method to solve an ODE.
|
static double[] |
metropolis(double[] list,
F1D func,
double dx)
The Metropolis algorithm.
|
static double |
richardson(int N,
F1D func,
double a,
double b)
Numerical integration using the Richardson extrapolation.
|
static double[] |
rungeKutta2(double[] y,
F1D func,
double dt)
Uses the 2nd order Runge-Kutta method to solve an ODE.
|
static double[] |
rungeKutta4(double[] y,
F1D func,
double dt)
Uses the 4th order Runge-Kutta method to solve an ODE.
|
static double |
simpson(int N,
F1D func,
double a,
double b)
Numerical integration using Simpson's rule.
|
static double[] |
solveCubic(double a,
double b,
double c,
double d)
Calculates the roots of the cubic equation, a must be different from 0 (or use quadratic equation solver).
|
static double[] |
solveLinear(double a,
double b)
Calculates the roots of the linear equation, a must be different from 0.
|
static double[] |
solveQuadratic(double a,
double b,
double c)
Calculates the roots of the quadratic equation, a must be different from 0 (or use linear equation solver).
|
static double[] |
solveQuartic(double a,
double b,
double c,
double d,
double e)
Calculates the roots of the quartics equation, a must be different from 0 (or use cubic equation solver).
|
static double |
trapezium(int N,
F1D func,
double a,
double b)
Numerical integration using the trapezium rule.
|
static double |
trapezium2D(int N,
F2D func,
double a1,
double b1,
double a2,
double b2)
Numerical integration using the trapezium rule.
|
public static double[] solveLinear(double a, double b)
public static double[] solveQuadratic(double a, double b, double c)
public static double[] solveCubic(double a, double b, double c, double d)
public static double[] solveQuartic(double a, double b, double c, double d, double e)
public static double[] euler(double[] y, F1D 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, F1D 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, F1D 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, F1D 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 trapezium(int N, F1D 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 trapezium2D(int N, F2D func, double a1, double b1, double a2, double b2)
N
- the number of strips to use.func
- a function.a1
- the first ordinate in X.b1
- the last ordinate in X.a2
- the first ordinate in Y.b2
- the last ordinate in Y.public static double simpson(int N, F1D 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, F1D 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 adaptive(F1D func, double a, double b)
F1D
- input functiona
- min Xb
- max Xpublic static double gaussian4(int N, F1D 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, F1D 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, F1D 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(F1D func, double[] x, double[] dx)
func
- a function.x
- coordinates at which to differentiate about.dx
- step size.public static double[] metropolis(double[] list, F1D 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.Jas4pp 1.5 © Java Analysis Studio for Particle Physics