Package jahuwaldt.tools.math
Class Quadrature
- java.lang.Object
-
- jahuwaldt.tools.math.Quadrature
-
public class Quadrature extends java.lang.Object
A collection of methods for integrating a 1D function within a range:I=int_a^b{f(x) dx}.Modified by: Joseph A. Huwaldt
- Version:
- February 14, 2025
- Author:
- Joseph A. Huwaldt Date: June 8, 2009
-
-
Constructor Summary
Constructors Constructor Description Quadrature()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static doubleadaptLobatto(Evaluatable1D func, double a, double b, double tol)Returns the integral of the supplied function fromatobusing the adaptive Gauss-Lobatto method.
Reference: Gander, W., Gautschi, W., "Adaptive Quadrature - Revisited", ETH Zürich, Aug.static doublegaussLegendre_Wx1N10(Evaluatable1D func, double a, double b)Returns the integral of the supplied function fromatobusing Gauss-Legendre integration (W(x) = 1, N=10).static doublegaussLegendre_Wx1N20(Evaluatable1D func, double a, double b)Returns the integral of the supplied function fromatobusing Gauss-Legendre integration (W(x) = 1, N=20).static doublegaussLegendre_Wx1N40(Evaluatable1D func, double a, double b)Returns the integral of the supplied function fromatobusing Gauss-Legendre integration (W(x) = 1, N=40).static doublesimpsonsRule(Evaluatable1D func, double a, double b, double tol)Returns the integral of the supplied function fromatobusing Simpson's Rule.
-
-
-
Constructor Detail
-
Quadrature
public Quadrature()
-
-
Method Detail
-
simpsonsRule
public static double simpsonsRule(Evaluatable1D func, double a, double b, double tol) throws IntegratorException, RootException
Returns the integral of the supplied function fromatobusing Simpson's Rule. Reference: Numerical Recipes in C, pg. 139.- Parameters:
func- The function being integrated (the "derivative" method is never called).a- The lower integration limit (must be < b).b- The upper integration limit (must be > a).tol- The desired relative error.- Returns:
- The integral of the supplied function from
atob. - Throws:
IntegratorException- if to many iterations are attempted.RootException- thrown by the function itself.
-
gaussLegendre_Wx1N10
public static double gaussLegendre_Wx1N10(Evaluatable1D func, double a, double b) throws RootException
Returns the integral of the supplied function fromatobusing Gauss-Legendre integration (W(x) = 1, N=10). Reference: Numerical Recipes in C, pg. 148.- Parameters:
func- The function being integrated (the "derivative" function is never called).a- The lower integration limit (must be < b).b- The upper integration limit (must be > a).- Returns:
- The integral of the supplied function from
atob. - Throws:
RootException- may be thrown by the function itself.
-
gaussLegendre_Wx1N20
public static double gaussLegendre_Wx1N20(Evaluatable1D func, double a, double b) throws RootException
Returns the integral of the supplied function fromatobusing Gauss-Legendre integration (W(x) = 1, N=20). Reference: Numerical Recipes in C, pg. 148.- Parameters:
func- The function being integrated (the "derivative" function is never called).a- The lower integration limit (must be < b).b- The upper integration limit (must be > a).- Returns:
- The integral of the supplied function from
atob. - Throws:
RootException- may be thrown by the function itself.
-
gaussLegendre_Wx1N40
public static double gaussLegendre_Wx1N40(Evaluatable1D func, double a, double b) throws RootException
Returns the integral of the supplied function fromatobusing Gauss-Legendre integration (W(x) = 1, N=40). Reference: Numerical Recipes in C, pg. 148.- Parameters:
func- The function being integrated (the "derivative" function is never called).a- The lower integration limit (must be < b).b- The upper integration limit (must be > a).- Returns:
- The integral of the supplied function from
atob. - Throws:
RootException- may be thrown by the function itself.
-
adaptLobatto
public static double adaptLobatto(Evaluatable1D func, double a, double b, double tol) throws IntegratorException, RootException
Returns the integral of the supplied function fromatobusing the adaptive Gauss-Lobatto method.
Reference: Gander, W., Gautschi, W., "Adaptive Quadrature - Revisited", ETH Zürich, Aug. 1998.- Parameters:
func- The function being integrated (the "derivative" function is never called).a- The lower integration limit (must be < b).b- The upper integration limit (must be > a).tol- The desired relative error.- Returns:
- The integral of the supplied function from
atob. - Throws:
IntegratorException- if to many iterations are attempted.RootException- may be thrown by the function itself.
-
-