QuadGK.jl
这个包为Julia提供了使用自适应高斯-克朗罗德求积法进行一维数值积分的支持。该代码最初是Julia基础库的一部分。它支持任意数值类型的积分,包括任意精度(BigFloat),甚至支持任意赋范向量空间的积分(例如矩阵值被积函数)。
该包提供了三个基本函数:quadgk、gauss和kronrod。quadgk执行积分运算,gauss计算在区间[a, b]上进行积分的高斯求积点和权重,而kronrod计算在[-1, 1]区间上进行积分的克朗罗德点、权重以及嵌入的高斯求积权重。典型用法如下:
using QuadGK
integral, err = quadgk(x -> exp(-x^2), 0, 1, rtol=1e-8)
这段代码计算了从x=0到x=1的exp(-x²)的积分,相对误差为10⁻⁸,返回近似积分值integral = 0.746824132812427和误差估计err = 7.887024366937112e-13(实际上比要求的误差更小:由于被积函数光滑,收敛非常快)。
更多信息,请参阅文档。